@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2) format("woff2"),url(./im-fell-english-sc-latin-400-normal-DPW2r_p4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-ext-400-normal-DN8azYTI.woff2) format("woff2"),url(./alegreya-cyrillic-ext-400-normal-Cj1kF6KR.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-400-normal-72Io3whm.woff2) format("woff2"),url(./alegreya-cyrillic-400-normal-VT77nruV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-greek-ext-400-normal-ueNFnE5s.woff2) format("woff2"),url(./alegreya-greek-ext-400-normal-UcF-MPys.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-greek-400-normal-BI7tMDVB.woff2) format("woff2"),url(./alegreya-greek-400-normal-BTnTTGc4.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-vietnamese-400-normal-D8CgJdBg.woff2) format("woff2"),url(./alegreya-vietnamese-400-normal-D-Jsyxvv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-latin-ext-400-normal-BJ1luULk.woff2) format("woff2"),url(./alegreya-latin-ext-400-normal-I24-Fo_X.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-latin-400-normal-BLlBRtDv.woff2) format("woff2"),url(./alegreya-latin-400-normal-BuQWlRPA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-ext-400-italic-CJ53xJ73.woff2) format("woff2"),url(./alegreya-cyrillic-ext-400-italic-281qz-PX.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-400-italic-CzOFVsaV.woff2) format("woff2"),url(./alegreya-cyrillic-400-italic-DSxbt1-2.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-greek-ext-400-italic-BqZ1xVE4.woff2) format("woff2"),url(./alegreya-greek-ext-400-italic-EKR1I7m6.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-greek-400-italic-DpcfyKEk.woff2) format("woff2"),url(./alegreya-greek-400-italic-D9g29fJh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-vietnamese-400-italic-CJsk7YCA.woff2) format("woff2"),url(./alegreya-vietnamese-400-italic-DD2hiUnx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-latin-ext-400-italic-Cf8WgXZg.woff2) format("woff2"),url(./alegreya-latin-ext-400-italic-BQgzjtbe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-latin-400-italic-BXpar-rJ.woff2) format("woff2"),url(./alegreya-latin-400-italic-CJvUQvZT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-cyrillic-ext-700-normal-Dx8o6fqX.woff2) format("woff2"),url(./alegreya-cyrillic-ext-700-normal-A6q6xEOT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-cyrillic-700-normal-Bftrb-m-.woff2) format("woff2"),url(./alegreya-cyrillic-700-normal-_o_NBoYw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-greek-ext-700-normal-DzPShcR4.woff2) format("woff2"),url(./alegreya-greek-ext-700-normal-DQPzd-kK.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-greek-700-normal-ByoPpMZf.woff2) format("woff2"),url(./alegreya-greek-700-normal-mWQ2Ne64.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-vietnamese-700-normal-CvM8am9u.woff2) format("woff2"),url(./alegreya-vietnamese-700-normal-CdvEC7Dz.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-latin-ext-700-normal-CEFih5UF.woff2) format("woff2"),url(./alegreya-latin-ext-700-normal-B6bzkdlx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(./alegreya-latin-700-normal-Vpz_43wJ.woff2) format("woff2"),url(./alegreya-latin-700-normal-BS7r-qZs.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--ink: #0d0b09;--stone-1: #14110e;--stone-2: #1d1814;--stone-3: #2a231d;--leather: #231a14;--leather-2: #2e221a;--wood: #4a3222;--wood-light: #7a5636;--parch: #d9c6a0;--parch-light: #e9dcbc;--parch-dark: #b49d73;--cream: #efe4c8;--bone: #ece3d0;--bone-dim: #cfc3a8;--ink-text: #2a1d12;--ink-soft: #4b3a2a;--blood: #7d1717;--blood-bright: #a82424;--gold: #b8954a;--gold-deep: #7d6128;--gold-dim: #8f7540;--moss: #5f7a3a;--tear: #8fb0cc;--ok: #7e9a4c;--warn: #c99a3b;--bad: #b13a2c;--text: #e6dac0;--text-dim: #a8987c;--line: rgba(184, 149, 74, .28);--font-title: "IM Fell English SC", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body: "Alegreya", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono: "Alegreya", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius: 6px 9px 5px 10px / 9px 5px 10px 6px;--shadow: 0 10px 28px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .6);--fs: 16px;--grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--blotches: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='b'><feTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='4' seed='7'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.03  0 0 0 0 0.02  0 0 0 0.9 -0.25'/></filter><rect width='100%' height='100%' filter='url(%23b)'/></svg>")}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background-color:var(--stone-1);background-image:radial-gradient(ellipse at 50% 35%,rgba(70,48,30,.35),transparent 65%),radial-gradient(ellipse at 50% 120%,rgba(0,0,0,.8),transparent 60%),var(--blotches),var(--grain),repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 2px,transparent 2px 58px),repeating-linear-gradient(90deg,rgba(0,0,0,.16) 0 2px,transparent 2px 112px);background-attachment:fixed;color:var(--text);font-family:var(--font-body);font-size:var(--fs);line-height:1.45;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px 40px #000000d9;z-index:50}h1,h2,h3,h4{font-family:var(--font-title);font-weight:400;letter-spacing:.02em;margin:0}a{color:var(--gold)}button{font:inherit;color:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:lining-nums tabular-nums}.muted{color:var(--text-dim)}.small{font-size:.85em}:focus-visible{outline:2px dashed var(--gold);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{max-width:1680px;margin:0 auto;padding:14px 16px 28px}.journal{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(320px,1.15fr) minmax(280px,1fr);grid-template-areas:"left center right" "bottom bottom bottom";gap:14px;align-items:start}.col{display:flex;flex-direction:column;gap:14px;min-width:0}.col--left{grid-area:left}.col--center{grid-area:center}.col--right{grid-area:right}.col--bottom{grid-area:bottom}.header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:10px 18px;margin-bottom:14px;background:linear-gradient(180deg,#4a32228c,#231a14cc),var(--grain);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 1px #ffe6b414}.header__brand{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.title{font-size:2rem;color:var(--parch-light);text-shadow:0 2px 0 #000,0 0 18px rgba(184,149,74,.25);line-height:1}.header__empty{margin:0;color:var(--text-dim);font-style:italic}.header__tools{margin-left:auto;display:flex;gap:8px}.runinfo{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0}.runinfo div{min-width:0}.runinfo dt{font-family:var(--font-title);font-size:.78rem;color:var(--gold);letter-spacing:.08em}.runinfo dd{margin:0;font-size:1.05rem;color:var(--cream)}.runinfo__curses dd{color:#d9a0a0}.tainted{color:#c98b8b}.runstatus--dead{color:#e07a6b}.runstatus--won{color:var(--gold)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(180deg,var(--leather-2),var(--leather));border:1px solid var(--line);border-radius:5px 7px 5px 6px;color:var(--parch-light);cursor:pointer;font-family:var(--font-title);box-shadow:0 2px #000}.btn:hover{border-color:var(--gold)}.btn:active{transform:translateY(1px);box-shadow:none}.btn--tiny{margin-left:auto;padding:1px 8px;font-size:.75rem}.conn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:4px 12px 4px 10px;border-radius:999px 40px;background:#00000073;border:1px solid rgba(255,255,255,.07);max-width:460px}.conn__dot{grid-row:span 2;width:13px;height:13px;border-radius:50%;border:2px solid rgba(0,0,0,.6)}.conn__label{font-family:var(--font-title);letter-spacing:.06em;font-size:.95rem}.conn__detail{font-size:.75rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn--ok .conn__dot{background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pulse 2.4s ease-in-out infinite}.conn--ok .conn__label{color:#b9d48a}.conn--warn .conn__dot{background:var(--warn)}.conn--warn .conn__label{color:#e8c27a}.conn--bad .conn__dot{background:var(--bad)}.conn--bad .conn__label{color:#f0a090}@keyframes pulse{50%{box-shadow:0 0 2px var(--ok)}}.panel{position:relative;padding:12px 14px 14px;background:linear-gradient(180deg,rgba(255,220,160,.035),transparent 40%),var(--grain),var(--leather);border:1px solid rgba(184,149,74,.22);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 0 30px #0000008c;min-width:0}.panel:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(184,149,74,.16);border-radius:inherit;pointer-events:none}.panel__title{display:flex;align-items:center;gap:8px;font-size:1.25rem;color:var(--parch);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.footnote{margin:10px 0 0;font-size:.75rem;color:var(--text-dim);font-style:italic}.health__title{display:flex;align-items:center;gap:6px;font-family:var(--font-title);color:var(--parch)}.hearts{display:flex;flex-wrap:wrap;gap:3px;margin:6px 0 4px;min-height:22px}.heart{width:20px;height:18px;position:relative;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'><path d='M10 17.2C9 16.3 1.2 11.4 1 6 .9 2.8 3.1 1 5.5 1c1.9.1 3.4 1.4 4.5 3 1-1.7 2.6-3 4.6-3 2.5.1 4.6 2.1 4.4 5.2C18.2 11.4 11 16.4 10 17.2z'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'><path d='M10 17.2C9 16.3 1.2 11.4 1 6 .9 2.8 3.1 1 5.5 1c1.9.1 3.4 1.4 4.5 3 1-1.7 2.6-3 4.6-3 2.5.1 4.6 2.1 4.4 5.2C18.2 11.4 11 16.4 10 17.2z'/></svg>") center / contain no-repeat;background:#3a2a22}.heart--red{--c: var(--blood-bright)}.heart--soul{--c: #7f97b8}.heart--black{--c: #3d3540}.heart--bone{--c: var(--bone-dim)}.heart--broken{--c: #5b4a3e;opacity:.7}.heart--fill2{background:var(--c)}.heart--fill1{background:linear-gradient(90deg,var(--c) 50%,#3a2a22 50%)}.heart--fill0{background:#3a2a22}.health__extra{font-size:.8rem;color:var(--text-dim)}.resources{display:flex;gap:16px;margin:8px 0 10px;font-size:1.1rem}.resources span{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:lining-nums tabular-nums}.golden{color:var(--gold);font-style:normal;margin-left:2px}.stats{list-style:none;margin:0;padding:0;display:grid;gap:6px}.stat{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:4px 8px 6px 5px;background:linear-gradient(90deg,#d9c6a017,#d9c6a005);border:1px solid rgba(217,198,160,.08);transition:background .6s ease,border-color .6s ease}.stat__icon{color:var(--bone);display:grid;place-items:center}.stat__label{font-family:var(--font-title);color:var(--parch);font-size:1rem}.stat__value{font-size:1.35rem;color:var(--cream)}.stat__delta{position:absolute;right:8px;top:-10px;font-family:var(--font-mono);font-weight:700;font-size:.9rem;padding:0 6px;border-radius:6px;background:var(--ink);animation:delta 3.4s ease forwards}.stat__delta.up{color:#a8d06a}.stat__delta.down{color:#f08272}.stat--up{background:linear-gradient(90deg,#7e9a4c38,#d9c6a005);border-color:#7e9a4c66}.stat--down{background:linear-gradient(90deg,#b13a2c38,#d9c6a005);border-color:#b13a2c66}@keyframes delta{0%{opacity:0;transform:translateY(6px) scale(.9)}12%{opacity:1;transform:translateY(0) scale(1.08)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.forms{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{display:inline-block;padding:1px 8px;border-radius:10px 4px;font-size:.78rem;background:#2a1d1226;border:1px solid rgba(42,29,18,.35);color:inherit}.chip--gold{border-color:var(--gold-dim);color:var(--gold);background:#b8954a1a}.card .chip--gold{color:var(--gold-deep)}.chip--blood{border-color:var(--blood);background:#7d171733;color:#f0b8b0}.card .chip--blood{color:var(--blood);background:#7d17171f}.chip--small{font-size:.7rem}.card{position:relative;color:var(--ink-text);background:radial-gradient(ellipse at 50% 40%,rgba(255,246,220,.55),transparent 70%),var(--grain),var(--parch);border-radius:8px 14px 9px 12px/12px 8px 14px 9px;padding:18px 20px 16px;box-shadow:inset 0 0 0 2px #5a3c1e59,inset 0 0 50px #6e461e8c,inset 0 0 8px #3c1e0ab3,0 14px 30px #000000a6;cursor:pointer}.card:before{content:"";position:absolute;inset:8px;border:1.5px solid rgba(60,35,15,.45);border-radius:5px 10px 6px 9px;pointer-events:none}.card a{color:var(--blood)}.card--empty{cursor:default;min-height:220px;display:grid;place-items:center;text-align:center;font-style:italic;color:var(--ink-soft)}.card__ribbon{position:absolute;top:-11px;left:50%;transform:translate(-50%) rotate(-1deg);padding:2px 16px;font-family:var(--font-title);font-size:.85rem;letter-spacing:.1em;color:var(--cream);background:var(--blood);border-radius:3px;box-shadow:0 3px 6px #00000080;white-space:nowrap}.card__ribbon--picked,.card__ribbon--last{background:#4f6a2c}.card__tags{position:absolute;top:16px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.card__body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.card__art{margin-top:6px;padding:10px;border-radius:50%;background:radial-gradient(circle,#fffae6cc,#fffae600 70%)}.card__name{font-size:2rem;line-height:1.05;color:var(--ink-text)}.card__meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;font-size:.85rem}.card__type{color:var(--ink-soft)}.card .muted{color:#6b5840}.card__quote{margin:2px 0 0;font-style:italic;font-size:1.1rem;color:var(--ink-soft)}.card__desc{margin:4px 0 0;max-width:46ch}.card__section{width:100%;text-align:left;margin-top:6px;padding-top:8px;border-top:1px dashed rgba(60,35,15,.35)}.card__section h4{font-size:.95rem;letter-spacing:.08em;color:var(--blood);margin-bottom:4px}.card__effects,.syn-list{margin:0;padding-left:1.1em;font-size:.92rem}.card__effects li::marker,.syn-list li::marker{content:"✦ ";color:var(--gold-deep)}.card__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.card__source{margin:8px 0 0;font-size:.72rem;color:#6b5840}.quality{display:inline-flex;align-items:center;gap:0}.quality__num{margin-left:6px;font-family:var(--font-title);color:var(--gold-deep)}.dist{color:var(--text-dim);font-size:.9rem}.item-img{image-rendering:pixelated;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.45))}.card .item-img{filter:drop-shadow(0 4px 3px rgba(60,30,10,.5))}.card-rise{animation:rise .55s cubic-bezier(.2,.9,.25,1.15) both}.card-flip{animation:flip .5s cubic-bezier(.3,.8,.3,1) both;transform-origin:50% 50%}@keyframes rise{0%{opacity:0;transform:translateY(60px) rotate(2deg)}to{opacity:1;transform:none}}@keyframes flip{0%{opacity:0;transform:perspective(900px) rotateY(-75deg) scale(.96)}60%{opacity:1}to{transform:perspective(900px) rotateY(0) scale(1)}}.roomlist{list-style:none;margin:0;padding:0;display:grid;gap:5px}.roomrow button{width:100%;display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:10px;padding:4px 10px 4px 6px;text-align:left;background:#d9c6a00d;border:1px solid rgba(217,198,160,.1);border-radius:6px 10px 6px 8px;cursor:pointer;transition:background .25s,border-color .25s}.roomrow button:hover{border-color:var(--gold-dim)}.roomrow--nearest button{background:#b8954a29;border-color:var(--gold)}.roomrow--pinned button{box-shadow:inset 3px 0 0 var(--blood-bright)}.roomrow__name{font-family:var(--font-title);font-size:1.05rem;color:var(--cream);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roomrow__dist{color:var(--text-dim)}.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.tiles--special{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.tile{position:relative;width:100%;min-height:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px 6px;color:var(--ink-text);background:var(--grain),var(--parch-dark);border:none;border-radius:5px 9px 6px 8px;box-shadow:inset 0 0 14px #502d0f99,0 4px 8px #00000080;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.tile:hover{transform:translateY(-3px) rotate(-.6deg);box-shadow:inset 0 0 14px #502d0f99,0 8px 14px #0009,0 0 0 2px var(--gold)}.tile__name{font-size:.72rem;line-height:1.1;text-align:center;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile__q{position:absolute;top:3px;left:5px;font-family:var(--font-title);font-size:.7rem;color:var(--ink-soft)}.tile--q4{background:var(--grain),linear-gradient(160deg,#e3c77d,var(--parch-dark) 60%)}.tile--q4 .tile__q,.tile--q3 .tile__q{color:var(--blood)}.tile--q0{filter:saturate(.6) brightness(.9)}.tile__count{position:absolute;top:2px;right:6px;font-weight:700;font-size:.8rem;color:var(--blood)}.tile__badge{position:absolute;bottom:-7px;padding:0 6px;font-size:.62rem;font-family:var(--font-title);color:var(--cream);background:var(--wood);border-radius:3px}.tile--fresh{animation:fresh 1.2s ease 2}.tile--unknown{cursor:default}@keyframes fresh{50%{box-shadow:inset 0 0 14px #502d0f99,0 0 0 3px var(--gold),0 0 24px var(--gold)}}.synergies{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:340px;overflow:auto}.synergy{padding:8px 10px;background:#d9c6a00f;border-left:3px solid var(--gold-dim);border-radius:2px 8px 8px 2px;font-size:.9rem}.synergy p{margin:3px 0 0}.synergy__pair{font-family:var(--font-title);color:var(--parch-light);font-size:1.02rem}.plus{color:var(--gold)}.seg{margin-left:auto;display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.seg button{background:transparent;border:none;padding:1px 10px;font-size:.8rem;cursor:pointer;color:var(--text-dim)}.seg button.on{background:#b8954a33;color:var(--parch-light)}.hist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 18px;max-height:210px;overflow:auto}.hist__entry{display:grid;grid-template-columns:52px 1fr;column-gap:8px;padding:3px 0 3px 8px;border-left:2px solid rgba(184,149,74,.25);font-size:.9rem;animation:ink .6s ease both}.hist__time{color:var(--text-dim);grid-row:span 2}.hist__type{font-family:var(--font-title);font-size:.8rem;letter-spacing:.08em;color:var(--gold)}.hist__item{color:var(--cream);font-weight:700}.hist--item_picked{border-left-color:var(--ok)}.hist--item_picked .hist__type{color:#b9d48a}.hist--discovered{border-left-color:var(--gold)}.hist--discovered .hist__type{color:var(--parch-light)}.card__ribbon--unknown{background:var(--wood)}.hist--run_lost{border-left-color:var(--bad)}.hist--run_lost .hist__type{color:#f0a090}.hist--floor_changed .hist__type{color:var(--parch-light)}@keyframes ink{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.map svg{display:block;margin:0 auto;width:100%;max-height:190px}.map{padding:10px;background:var(--grain),var(--parch);border-radius:6px 10px 7px 9px;box-shadow:inset 0 0 30px #6e461e99}.room rect{fill:#2a1d1214;stroke:var(--ink-soft);stroke-width:1.6}.room--seen rect{stroke-dasharray:3 2.5;fill:transparent;opacity:.7}.room--visited rect{fill:#2a1d1238}.room--current rect{fill:var(--blood);stroke:var(--ink-text)}.room .room__cut{fill:var(--parch);stroke:none}.room__glyph{font-size:13px;fill:var(--ink-text);font-family:var(--font-body)}.room--current .room__glyph{fill:var(--cream)}.map--hidden{min-height:150px;display:grid;place-items:center;text-align:center;color:var(--ink-soft);font-style:italic}.map--hidden p{margin:0}.map__q{font-family:var(--font-title);font-size:4rem;line-height:1;color:var(--ink-soft)}.map__legend{display:flex;gap:14px;margin-top:6px;color:var(--text-dim)}.lg{display:inline-block;width:11px;height:11px;margin-right:4px;vertical-align:-1px;border:1.5px solid var(--parch)}.lg--current{background:var(--blood)}.lg--visited{background:#d9c6a066}.lg--seen{border-style:dashed}.modal{border:none;padding:0;background:transparent;max-width:min(560px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 40px);overflow:visible}.modal::backdrop{background:#050302bf;backdrop-filter:blur(2px)}.card--modal{cursor:default;max-height:calc(100vh - 60px);overflow:auto;animation:rise .35s ease both}.modal__close{position:absolute;top:10px;right:14px;z-index:2;background:none;border:none;font-size:2rem;line-height:1;color:var(--ink-soft);cursor:pointer}.phone{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.phone__title{margin:0;font-family:var(--font-title);font-weight:400}.phone__steps{margin:0;padding-left:1.3em}.phone__qr{align-self:center;width:min(260px,70vw);line-height:0;border-radius:6px;overflow:hidden;box-shadow:0 4px 14px #00000080}.phone__qr svg{width:100%;height:auto;display:block}.phone__url{margin:0;font-size:.8rem;word-break:break-all;user-select:all}.phone__warn{margin:0;color:#a3301f;font-weight:600}.btn--support{text-decoration:none;color:#f2c6b8}.btn--support:hover{color:#ffd9cc}.welcome__support{margin-top:4px}.support__options{display:flex;flex-wrap:wrap;gap:10px}.support__options .btn,.support__options .btn:hover{color:var(--parch-light)}.support__options .btn{text-decoration:none;font-size:1.05rem;padding:8px 16px}.btn--primary{background:linear-gradient(180deg,#9a2020,#7d1717);border-color:#a82424}.btn:disabled{opacity:.55;cursor:default}.spawn-popup{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:12px;padding:10px 14px;text-align:left;border:none;color:var(--ink-text);background:var(--grain),var(--parch);border-radius:8px 12px 8px 10px;box-shadow:inset 0 0 26px #6e461e8c,0 10px 30px #000000b3;cursor:pointer}.spawn-popup__text{display:flex;flex-direction:column;min-width:0}.spawn-popup__label{font-family:var(--font-title);font-size:.75rem;color:var(--blood);letter-spacing:.1em}.spawn-popup strong{font-family:var(--font-title);font-size:1.2rem;font-weight:400}.welcome{max-width:860px;margin:0 auto 14px}.welcome__lead{margin:0 0 10px}.welcome__steps{margin:0;padding-left:1.4em;display:grid;gap:8px}.welcome__step::marker{color:var(--gold);font-family:var(--font-title)}.welcome__step--done{color:var(--text-dim)}.welcome__ok{color:#b9d48a;font-family:var(--font-title)}.welcome__note{margin:12px 0 0;font-size:.9rem;color:var(--text-dim)}.welcome__links{margin:10px 0 0}code{font-family:var(--font-mono);color:var(--parch)}.app--monitor{max-width:none;padding:10px 14px}html.monitor{--fs: 18px}.app--monitor .journal{grid-template-columns:minmax(280px,.8fr) minmax(400px,1.25fr) minmax(320px,1fr);gap:12px}.app--monitor .card__name{font-size:2.6rem}.app--monitor .stat__value{font-size:1.7rem}.app--monitor .stat__label{font-size:1.15rem}.app--monitor .card .item-img{width:140px;height:140px}.app--monitor{height:100vh;display:flex;flex-direction:column}.app--monitor .header{flex:0 0 auto}.journal--monitor{flex:1 1 auto;min-height:0;grid-template-areas:"left center right";grid-template-rows:100%;align-items:stretch}.journal--monitor .col{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--wood) transparent}.journal--monitor .col--center .panel--featured{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.journal--monitor .col--center .panel--featured .card{flex:1 1 auto;overflow:auto;padding-top:34px}.journal--monitor .card__ribbon{top:10px}.journal--monitor .col--center .panel--room,.journal--monitor .col--center .panel--history{flex:0 0 auto}.app--monitor .hist{max-height:19vh;grid-template-columns:1fr 1fr}.app--monitor .synergies{max-height:none}.app--monitor .map svg{max-height:220px}@media(max-width:1180px){.journal{grid-template-columns:minmax(240px,.9fr) minmax(300px,1.1fr);grid-template-areas:"center center" "left right" "bottom bottom"}}@media(max-width:760px){.app{padding:10px 12px calc(84px + env(safe-area-inset-bottom))}.header{padding:10px 12px;gap:8px}.title{font-size:1.5rem}.header__tools{margin-left:0}.header__tools .btn:last-child{display:none}.runinfo{gap:2px 14px}.runinfo dd{font-size:.95rem}.conn{max-width:100%}.mobile{display:flex;flex-direction:column;gap:12px}.card__name{font-size:1.6rem}.tiles{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.hist{max-height:none;grid-template-columns:1fr}.synergies{max-height:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--grain),var(--leather);border-top:1px solid var(--line);box-shadow:0 -8px 20px #0009}.tabbar button{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:none;font-size:.7rem;color:var(--text-dim);font-family:var(--font-title);cursor:pointer}.tabbar button.on{color:var(--parch-light)}.tabbar button.on svg{color:var(--gold)}}
