@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-1.woff2) format("woff2");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:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-0.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.woff2) format("woff2");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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/font-2.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/font-3.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-5.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-4.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-6.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-7.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-6.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-7.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-6.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-7.woff2) format("woff2");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;--bg:#111916;--panel:#19221c;--gold:#cba36b;--gold-light:#e1c28d;--text:#dfddcb;--muted:#929987;--line:#4b4c36;--red:#b05745;--teal:#6faaa0;font-family:DM Sans,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#0a100d;overscroll-behavior:none}body{display:flex;justify-content:center;overflow:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 50% 30%,#24352b70,transparent 70%),repeating-linear-gradient(90deg,transparent 0 79px,#c9a26905 79px 80px),repeating-linear-gradient(0deg,transparent 0 79px,#c9a26905 79px 80px);pointer-events:none}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;background:none;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}.icon{width:24px;height:24px;flex-shrink:0;display:inline-block;vertical-align:middle}h1,h2,h3,p{margin:0}#app{position:relative;width:100%;max-width:480px;height:100dvh;overflow:hidden;background:var(--bg);isolation:isolate;box-shadow:0 0 90px #0007}#world{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%;image-rendering:auto}body[data-mode=title] #world{top:22%;height:54%;bottom:auto;mask-image:linear-gradient(180deg,transparent,black 14%,black 76%,transparent)}.world-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#1019139c 0%,transparent 23%,transparent 49%,#111916cc 71%,#111916 93%),radial-gradient(ellipse at center,transparent 35%,#0d171c80 100%);z-index:1}body[data-mode=game] .world-vignette{background:radial-gradient(ellipse at center,transparent 25%,#0b161366 85%),linear-gradient(180deg,#0d171688,transparent 25%,transparent 55%,#0e1719de 83%)}#title-screen{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;padding:calc(27px + env(safe-area-inset-top)) 27px calc(18px + env(safe-area-inset-bottom))}#title-screen button{pointer-events:auto}.title-header{text-align:center}.edition{font-size:8px;letter-spacing:3px;color:var(--muted);font-weight:500}.title-crest{width:39px;height:39px;color:var(--gold);margin:20px auto 13px;position:relative}.title-crest:before,.title-crest:after{content:"";position:absolute;top:18px;height:1px;width:48px;background:linear-gradient(90deg,transparent,var(--gold))}.title-crest:before{left:-64px}.title-crest:after{right:-64px;transform:rotate(180deg)}.title-crest .icon{width:36px;height:36px;stroke-width:1}h1{font-family:Cinzel,Georgia,serif;font-weight:500;font-size:clamp(27px,8.6vw,43px);letter-spacing:1px;line-height:1.12;color:#e0c497;text-shadow:0 2px 20px #cbb27622}h1 span{display:block;font-family:DM Sans,system-ui,sans-serif;font-size:10px;letter-spacing:8px;padding-left:8px;color:var(--gold);margin-top:12px}.title-rule{display:flex;align-items:center;gap:9px;margin-top:20px}.title-rule span{color:#afb19b;font-size:7px;letter-spacing:1.2px;white-space:nowrap}.title-rule i{height:1px;flex:1;background:#576047}.title-caption{position:absolute;top:67%;width:calc(100% - 54px);text-align:center}.title-caption>span{font-size:10px;letter-spacing:2.2px;color:var(--gold-light)}.title-caption p{font-family:Cormorant Garamond,Georgia,serif;font-size:18px;color:#d5d4bb;font-style:italic;margin-top:7px}.title-actions{display:grid;gap:9px}.primary,.secondary{width:100%;min-height:51px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:500;letter-spacing:.25px;border:1px solid var(--gold);border-radius:3px}.primary{background:linear-gradient(120deg,#d2b27a,#b18c51);color:#172018;box-shadow:0 3px 15px #0003,inset 0 1px #eacfa599}.primary .icon{width:20px;height:20px}.primary .icon:last-child{margin-left:auto}.primary .icon:first-child{margin-right:auto}.primary{padding:0 18px}.secondary{border-color:#55583b;background:#1b251e99;color:#c6c6ad}.secondary .icon{width:18px;height:18px}.title-links{display:flex;justify-content:center;align-items:center;gap:22px;font-size:11px;color:#a0a58e;padding:3px 0}.title-links button{min-height:35px}.title-links>span{color:var(--gold);font-size:9px}.title-foot{display:flex;justify-content:space-between;margin-top:6px;font-size:6.5px;letter-spacing:1px;color:#7a836f;white-space:nowrap}#game-ui{position:absolute;inset:0;z-index:3}#gesture-zone{position:absolute;inset:0 0 176px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.dungeon-header{position:absolute;top:0;left:0;right:0;padding:calc(24px + env(safe-area-inset-top)) 20px 20px;display:flex;justify-content:space-between;pointer-events:none;background:linear-gradient(#111916c9,transparent)}.eyebrow{display:block;color:var(--gold);font-size:8px;letter-spacing:1.7px;text-transform:uppercase;line-height:1.6}.floor-heading h2{font-family:Cormorant Garamond,Georgia,serif;font-size:27px;line-height:1.25;font-weight:500;color:#e4dcc2;margin-top:3px}.compass{display:grid;grid-template-columns:1fr 1fr;color:var(--gold);gap:0 7px;pointer-events:auto}.compass>span{font-family:Cinzel,Georgia,serif;font-size:20px;padding-top:2px}.compass .icon{width:29px;height:29px}.compass small{grid-column:1/-1;font-size:8px;letter-spacing:1px;color:#a6ae95;text-align:center}.crosshair{position:absolute;top:43%;left:50%;width:4px;height:4px;border:1px solid #e0dbc09c;transform:rotate(45deg);pointer-events:none}.target-info{position:absolute;top:calc(104px + env(safe-area-inset-top));left:50%;transform:translate(-50%);min-width:180px;text-align:center;pointer-events:none;background:#18201cd9;padding:9px 16px 7px;border:1px solid #7d6a4459;border-radius:3px}.target-info span{font-family:Cormorant Garamond,Georgia,serif;font-size:19px}.target-info small{font-size:8px;color:#b2ac90}.enemy-meter{margin:5px 0 0;height:3px;background:#414d34}.enemy-meter i{display:block;height:100%;background:#b35e45;transition:width .15s}.target-info.charging{border-color:#ba6149;background:#3a221ee6}.target-info.charging small{color:#edab7b;font-size:9px;letter-spacing:1px}.game-bottom{position:absolute;bottom:0;left:0;right:0;padding:0 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0c1714ed 42%,#111c16)}.world-caption{display:flex;justify-content:space-between;gap:10px;padding:0 3px 8px;color:#b4bba3;font-size:10px}.world-caption>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#rank-label{color:var(--gold);font-size:8px;letter-spacing:1px;white-space:nowrap}.event-line{color:#c2c3aa;font-size:11px;line-height:1.5;min-height:31px;max-height:48px;overflow:hidden;padding:8px 10px;border-top:1px solid #82826240;background:#0d15144d;border-radius:2px;margin-bottom:10px}.event-line.good{color:#bbd2a4}.event-line.hurt,.history .hurt{color:#dc9a7c}.event-line.story{font-family:Cormorant Garamond,Georgia,serif;font-size:14px;color:#d9c293}.event-line.warn{color:#d8ab72}.status-bar{position:relative;display:flex;gap:19px;border:1px solid #70745957;padding:12px 12px 19px;border-radius:3px;background:#1c2b2399;touch-action:none;user-select:none;-webkit-user-select:none}.vital{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.vital>.icon{width:17px;height:17px;color:#bf6b53}.vital>div{flex:1}.spirit>.icon{color:#83b7a9}.vital-label{display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#abb29b;letter-spacing:.9px}.vital-label b{font-size:10px;color:#ded8bd;font-weight:400;letter-spacing:0}.meter{height:4px;background:#344132;margin-top:6px}.meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#793e32,#c77b5e);transition:width .18s}.spirit .meter i{background:linear-gradient(90deg,#3a776f,#8ab5a3)}.strafe-hint{position:absolute;bottom:4px;left:0;right:0;text-align:center;color:#808c72;font-size:6px;letter-spacing:1.5px}.low-health{border-color:#a85a47}.thumb-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 77px;align-items:center;gap:7px;padding-top:10px}.thumb-button{position:relative;height:59px;border:1px solid #66704d70;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(145deg,#243025,#17231c);color:#baa578}.thumb-button>.icon{width:22px;height:22px}.thumb-button>span{font-size:8px;color:#bcbfa6}.count{position:absolute;top:5px;right:5px;font-size:8px;color:#d2c7a7;font-weight:400}.action-button{border:1px solid #bca371;background:linear-gradient(145deg,#bca273,#9b7d4d);border-radius:50%;color:#142016;width:77px;height:77px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 0 0 4px #a9955630,inset 0 1px 1px #f1dbaa80}.action-button .icon{width:25px;height:25px}.action-button>span:last-child{font-size:8px;font-weight:600}.action-button.interact{background:linear-gradient(145deg,#c4b98a,#a49965)}.optional-controls{margin:0 0 12px auto;display:grid;grid-template-columns:repeat(3,45px);width:max-content;gap:5px}.optional-controls button{border:1px solid #a28b5d8a;border-radius:3px;background:#1f2e24df;height:42px;font-size:21px;color:#d1c59e}#damage-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse,transparent 30%,#94331a75)}#damage-flash.flash{animation:hurt .38s ease-out}@keyframes hurt{0%{opacity:1}to{opacity:0}}.overlay{position:absolute;inset:0;z-index:10;background:#050d09b3;display:flex;align-items:flex-end;backdrop-filter:blur(3px)}.sheet{display:flex;flex-direction:column;width:100%;max-height:calc(100% - 38px - env(safe-area-inset-top));background:linear-gradient(140deg,#202a21,#16221b);border:1px solid #746342;border-bottom:0;border-radius:9px 9px 0 0;box-shadow:0 -8px 80px #0006;position:relative;animation:sheet-in .15s ease-out}.sheet:before{content:"";position:absolute;inset:6px 7px 0;border:1px solid #b89f6224;border-bottom:0;border-radius:5px 5px 0 0;pointer-events:none}@keyframes sheet-in{0%{transform:translateY(15px);opacity:.7}to{transform:translateY(0);opacity:1}}.sheet-header{text-align:center;padding:23px 24px 9px;flex-shrink:0}.sheet-header .eyebrow{font-size:7px;letter-spacing:1.5px}.sheet-header h2{font-family:Cormorant Garamond,Georgia,serif;font-size:29px;font-weight:500;line-height:1.15;margin:8px 0 5px;color:#e2d5b2}.ornament{font-size:10px;letter-spacing:3px;color:#ad8f5966}.sheet-body{padding:5px 24px 16px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7b774b transparent;position:relative;min-height:0}.sheet-body>p,.sheet-body article>p{font-size:12px;line-height:1.8;color:#bac1a9;margin-bottom:15px}.sheet-body p:last-child{margin-bottom:0}.sheet-body p.lead{font-family:Cormorant Garamond,Georgia,serif;font-size:21px;font-style:italic;text-align:center;color:#ded5b9;line-height:1.4;margin-bottom:20px}.sheet-footer{padding:12px 24px calc(15px + env(safe-area-inset-bottom));background:linear-gradient(#18241be6,#15201a);border-top:1px solid #83805a30;display:grid;gap:8px;flex-shrink:0;position:relative}.sheet-return{color:#a5ae94;font-size:11px;min-height:34px}.sheet-return>.icon{width:16px;height:16px;margin-right:3px}.sheet-tabs{display:flex;justify-content:space-between;margin:0 -7px 2px}.sheet-tabs button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:8px;color:#909b81;min-width:46px;min-height:42px}.sheet-tabs .icon{width:20px;height:20px}.sheet-tabs button.active{color:var(--gold-light)}.dialogue-emblem,.large-emblem{text-align:center;color:var(--gold);margin:7px 0 18px}.dialogue-emblem .icon{width:34px;height:34px;stroke-width:1}.large-emblem .icon{width:51px;height:51px;stroke-width:.9}.large-emblem.red{color:#c96d52}.quest-card{border:1px solid #7f774649;border-left:2px solid #b9a16b;padding:13px 15px;background:#a9955610;margin:17px 0 6px}.quest-card>span{font-size:7px;color:var(--gold);letter-spacing:2px}.quest-card>p{font-size:11px;line-height:1.7;color:#d3d0b4;margin-top:7px}.notice{font-size:11px;line-height:1.7;color:#c6bf98;background:#ae925d12;border:1px solid #93865a45;padding:13px;margin:14px 0;border-radius:3px}.field-label{font-size:8px;letter-spacing:1.4px;color:var(--gold);display:flex;justify-content:space-between;margin:20px 0 9px}.field-label span{color:#8f9a80;letter-spacing:0;font-size:9px}input[type=text],input:not([type]),#seed-input{width:100%;border:1px solid #6f765049;color:#dacfaa;background:#101b15;padding:13px;border-radius:3px;font-size:15px}.difficulty{border:0;padding:0;margin:22px 0 0}.difficulty legend{font-size:8px;color:var(--gold);letter-spacing:1.5px;padding:0;margin-bottom:12px}.difficulty label{display:flex;align-items:center;gap:13px;padding:12px 9px;border:1px solid #5360447d;border-radius:3px;margin-top:7px}.difficulty input{accent-color:var(--gold);width:16px;height:16px}.difficulty b{font-size:12px;font-weight:500;color:#ded9c1}.difficulty small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.phone-outline{width:146px;border:1px solid #788567;border-radius:16px;padding:12px 10px 8px;margin:5px auto 22px;display:flex;flex-direction:column;align-items:center;gap:10px;background:#13251c}.phone-outline>div:not(.gesture-bar){display:flex;justify-content:space-between;align-items:center;width:100%}.phone-outline>span{color:#c8b587;font-size:24px;text-align:center}.phone-outline span small{display:block;font-size:6px;letter-spacing:1px;color:#879a79}.phone-outline>div>span{font-size:25px;color:#c8b587;text-align:center}.phone-outline .icon{width:44px;height:44px;color:#b6aa86;stroke-width:.9}.gesture-bar{width:100%;font-size:6px;color:#95b8a1;letter-spacing:1px;padding:8px;border:1px solid #586e526b;text-align:center}.stat-grid,.victory-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:15px 0;border-bottom:1px solid #92915a33;gap:8px;text-align:center;margin-bottom:17px}.stat-grid b,.victory-stats b{display:block;font-family:Cinzel,Georgia,serif;font-size:21px;color:#d5bd8d;font-weight:400}.stat-grid span,.victory-stats span{display:block;font-size:6px;letter-spacing:1.4px;color:#8a9981;margin-top:5px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button{display:flex;flex-direction:column;align-items:flex-start;background:#33402a3d;border:1px solid #6b745040;padding:17px 15px;border-radius:3px;text-align:left;gap:8px}.menu-grid .icon{color:var(--gold);width:26px;height:26px}.menu-grid b{font-size:12px;font-weight:400;color:#d1d0b4}.menu-grid small{font-size:9px;color:#94a084}.text-button{font-size:10px;color:#a4b295;display:flex;gap:8px;align-items:center;justify-content:center;width:100%;min-height:43px;margin-top:12px}.text-button .icon{width:16px;height:16px}.section-label{font-size:8px;letter-spacing:1.4px;color:var(--gold);font-weight:500;margin:23px 0 12px}.item-list{display:grid;gap:9px}.item-card{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #5a694848;border-radius:3px;background:#24332645;padding:14px 12px;width:100%}.item-card.selected{border-color:#a28b555e;background:#a9954e14}.item-icon{color:#c8b080;background:#111e155c;border:1px solid #7c794239;width:40px;height:44px;display:grid;place-items:center;flex-shrink:0}.item-icon .icon{width:24px;height:24px}.item-card>div:nth-child(2){flex:1}.item-card h3{font-family:Cormorant Garamond,Georgia,serif;font-size:19px;font-weight:500;color:#ded3af;margin-bottom:5px}.item-card p{font-size:10px;color:#a7b294;line-height:1.7}.item-meta{font-size:7px;color:#c0aa78;letter-spacing:.6px;display:block;margin-top:8px}.item-card>.icon{width:16px;height:16px;color:var(--gold)}.price{font-size:11px;color:#d1b780;font-weight:400;white-space:nowrap}.provision-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.provision-row>button,.provision-row>div{border:1px solid #5d704446;background:#23372345;border-radius:3px;padding:14px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.provision-row .icon{color:var(--gold);width:22px;height:22px}.provision-row b{font-size:10px;font-weight:400;color:#ccd0ad}.provision-row small{font-size:7px;color:#93a181}.seal-row{display:flex;gap:8px;margin:20px 0 15px;flex-wrap:wrap}.seal-row span{font-size:8px;color:#727e65;border:1px solid #43543b;border-radius:3px;padding:7px}.seal-row .icon{width:13px;height:13px}.seal-row .obtained{color:#d4b978;border-color:#9d874658;background:#ad943515}.muted{font-size:10px!important;color:#88987e!important;line-height:1.8!important;margin-top:15px}.centered{text-align:center}.map-wrap{border:1px solid #6a765246;background:#13241b;margin:8px 0 13px;padding:8px}.map-wrap canvas{width:100%;height:auto;display:block;image-rendering:pixelated}.map-legend{display:flex;justify-content:center;gap:16px;font-size:8px;color:#afbc9a}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:6px;height:6px;background:#caa369}.map-legend .legend-player{background:#eed092;clip-path:polygon(50% 0,100% 100%,0 100%)}.map-legend .legend-enemy{border-radius:50%;background:#bd644d}.map-legend .legend-stairs{background:#bbd4ba}.map-progress{display:flex;justify-content:space-between;font-size:8px;color:#889c7a;margin-top:17px}.journal-entry{border-bottom:1px solid #6475423d;padding:20px 0 7px}.journal-entry h3{font-family:Cormorant Garamond,Georgia,serif;font-size:23px;color:#d7cba8;font-weight:400;margin:4px 0 10px}.journal-entry .eyebrow{font-size:7px;color:#839777}.history p{font-size:9px;color:#93a481;padding:7px 0;line-height:1.7;display:flex;gap:12px}.history small{color:#657857;min-width:18px}.settings-list{margin:4px 0 16px}.setting{display:flex;align-items:center;position:relative;padding:17px 0;gap:12px;border-bottom:1px solid #64784b3b}.setting>span{flex:1}.setting b{font-size:12px;font-weight:500;color:#cbd2b3}.setting small{display:block;font-size:9px;line-height:1.6;color:#84977a;margin-top:5px}.setting input{position:absolute;right:0;width:40px;height:28px;opacity:0;cursor:pointer;z-index:2}.setting i{display:block;width:37px;height:22px;border:1px solid #61764b;border-radius:15px;background:#243b25;position:relative;flex-shrink:0}.setting i:after{content:"";position:absolute;left:4px;top:4px;width:12px;height:12px;border-radius:50%;background:#869d69;transition:.15s}.setting input:checked+i{border-color:#b1a371;background:#786b39}.setting input:checked+i:after{left:19px;background:#e2cc91}.setting input:focus-visible+i{outline:2px solid var(--gold);outline-offset:3px}.setting select{background:#273823;border:1px solid #67794a;border-radius:3px;padding:8px;color:#c2cda7;font-size:11px}.save-actions{display:flex;gap:8px}.save-actions .secondary{font-size:10px;min-height:43px;gap:7px}.help-entry{padding:14px 0 11px;border-bottom:1px solid #6071493d}.help-entry h3{font-family:Cormorant Garamond,Georgia,serif;font-size:23px;color:#d5c9a3;font-weight:500;margin-bottom:8px}.help-entry p{font-size:11px!important}.ending-options{display:grid;gap:12px;margin-top:20px}.ending-options button{display:flex;gap:14px;align-items:center;padding:16px 13px;background:#aa975016;border:1px solid #9f96585e;border-radius:4px;text-align:left}.ending-options button>.icon{color:#c9b77e;width:25px;height:25px}.ending-options button>.icon:last-child{width:14px;height:14px}.ending-options h3{font-family:Cormorant Garamond,Georgia,serif;font-size:21px;font-weight:500;color:#dfd0a7;margin-bottom:6px}.ending-options p{font-size:10px;line-height:1.7;color:#a7b595}blockquote{margin:22px 0;padding-left:15px;border-left:1px solid var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:19px;font-style:italic;color:#dac79b;line-height:1.7}.victory-stats{margin:22px 0 8px;border-top:1px solid #939e6140}.toast{position:absolute;z-index:20;bottom:calc(190px + env(safe-area-inset-bottom));left:20px;right:20px;border:1px solid #a093595e;background:#1b2919f0;border-radius:4px;padding:12px 15px;color:#d4d1ac;text-align:center;font-size:11px;line-height:1.6;pointer-events:none}.render-error{margin:40vh 24px 0;font-size:12px;line-height:1.7;text-align:center;color:#d6cba7}@media(max-height:730px){#title-screen{padding-top:calc(18px + env(safe-area-inset-top))}.title-crest{margin:10px auto}.title-rule{margin-top:13px}.title-caption{top:63%}.title-actions{gap:7px}.title-foot{margin-top:0}.title-links{padding:0}.title-header h1{font-size:31px}.title-crest .icon,.title-crest{width:28px;height:28px}body[data-mode=title] #world{top:23%;height:50%}.sheet-header{padding-top:18px}.sheet-footer{padding-top:9px}.sheet-body{padding-left:20px;padding-right:20px}}@media(max-height:590px){.edition{font-size:6px}.title-crest{display:none}h1{margin-top:16px}.title-caption{display:none}.title-foot{font-size:5px}.title-links{display:none}.primary,.secondary{min-height:42px}body[data-mode=title] #world{top:18%;height:65%}.sheet-header h2{font-size:24px}.dungeon-header{padding-top:12px}.floor-heading h2{font-size:22px}.thumb-controls{padding-top:6px}.status-bar{padding-top:7px}.game-bottom{padding-bottom:6px}.sheet{max-height:calc(100% - 10px)}}@media(min-width:481px){#app{border-left:1px solid #84966421;border-right:1px solid #84966421}h1{font-size:41px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pixelify-latin-ext.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pixelify-latin.woff2) format("woff2");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:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/pixelify-latin-ext.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/pixelify-latin.woff2) format("woff2");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:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/pixelify-latin-ext.woff2) format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/pixelify-latin.woff2) format("woff2");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}#app{max-width:none;--header-height:32px;--hud-height:112px;--pixel:"Pixelify Sans","DM Sans",monospace}body[data-mode=game] #world{top:var(--header-height);bottom:var(--hud-height);height:auto;border:2px solid #4d5749;border-top-color:#161b16;border-bottom-color:#89927a;overflow:hidden}body[data-mode=game] #world canvas{image-rendering:pixelated}body[data-mode=game] .world-vignette{top:var(--header-height);bottom:var(--hud-height);background:radial-gradient(ellipse,transparent 40%,#10171325 100%)}#gesture-zone{inset:var(--header-height) 0 var(--hud-height)}.crosshair{top:calc(var(--header-height) + (100% - var(--header-height) - var(--hud-height)) / 2);width:5px;height:5px;border-color:#dedac89c}.dungeon-header{padding:calc(4px + env(safe-area-inset-top)) 7px 4px;display:grid;grid-template-columns:1fr auto;gap:0 5px;color:#e4dac0;background:linear-gradient(#354237,#222a23);border-bottom:2px solid #0a0d09;box-shadow:inset 0 1px #879478}.floor-heading{display:flex;gap:7px;align-items:center;min-width:0}.floor-heading h2{font:16px/1 var(--pixel);color:#e8debe;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}#floor-number{font:12px/18px var(--pixel);color:#cfb578;background:#11180f;min-width:22px;height:20px;border:1px solid #778164;text-align:center;flex-shrink:0}.compass{grid-template-columns:auto auto auto;gap:5px;align-items:center;padding:0;min-height:20px}.compass>span{font:15px/1 var(--pixel);padding:0}.compass .icon{width:16px;height:16px}.compass small{grid-column:auto;font:9px/1 monospace;letter-spacing:0;color:#bec8ae}.target-info{position:static;transform:none;grid-column:1/-1;margin-top:4px;padding:4px 6px;min-width:0;min-height:23px;display:flex;align-items:center;gap:8px;text-align:left;background:#121a14;border:1px solid #6a624b;border-radius:0}.target-info span{font:13px/1 var(--pixel);text-transform:uppercase;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.target-info small{font:11px/1 var(--pixel);color:#ddd1b1;white-space:nowrap}.enemy-meter{width:55px;height:5px;margin:0;flex-shrink:0;background:#4b3329}.enemy-meter i{background:#bf5b41}.target-info.charging small{font:12px/1 var(--pixel);letter-spacing:0}.game-bottom{padding:3px 5px calc(5px + env(safe-area-inset-bottom));color:#ded6b9;background:linear-gradient(#334032,#20291f);border-top:1px solid #8b9479;box-shadow:inset 0 -1px #10180e}.world-caption{display:none}.event-line{font:12px/18px var(--pixel);white-space:nowrap;text-overflow:ellipsis;min-height:18px;max-height:18px;padding:0 4px;margin:0 0 3px;border:0;border-radius:0;color:#d2d4b9;background:#10160e}.event-line.story{font:12px/18px var(--pixel)}.status-bar{min-height:34px;display:grid;grid-template-columns:1fr 1fr 94px;gap:8px;padding:4px 5px;border:1px solid #0c110b;border-radius:0;background:#151f16;box-shadow:inset 1px 1px #677356}.vital{gap:0}.vital>div{width:100%}.vital-label{font:12px/15px var(--pixel);letter-spacing:0;color:#c88768}.spirit .vital-label{color:#88bcb5}.vital-label b{font:14px/15px var(--pixel);color:#e7dfc3}.meter{height:5px;margin-top:2px;background:#362a23}.meter i{background:#be7150;position:relative}.spirit .meter{background:#1f3c3c}.spirit .meter i{background:#7aa9a9}.meter i:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 7px,#0b110e90 7px 8px)}.status-bar.low-health{border-color:#b86749;box-shadow:inset 1px 1px #8b4937}.status-bar.low-health .health .vital-label b{color:#ffc196}.hud-resources{display:grid;grid-template-columns:1fr 1fr;gap:0 6px;align-items:center;font:12px/12px var(--pixel);color:#d0c79d}.hud-resources>span{display:flex;align-items:center;gap:3px}.hud-resources .icon{width:11px;height:11px}.hud-resources b{font-weight:400}#rank-label{font:12px/12px var(--pixel);letter-spacing:0;color:#d0c79d}.thumb-controls{grid-template-columns:repeat(5,minmax(0,1fr)) 72px;gap:4px;padding-top:4px}.thumb-button,.action-button{min-height:44px;height:44px;border-radius:0;border:1px solid #10160c;box-shadow:inset 1px 1px #81916e,inset -1px -1px #070c06;background:linear-gradient(#43543b,#293723);gap:2px;color:#d1c49b}.thumb-button>.icon{width:18px;height:18px}.thumb-button>span{font:11px/12px var(--pixel);color:#e3ddbd}.count{top:3px;right:4px;font:10px/1 var(--pixel)}.action-button{width:72px;padding:2px;overflow:hidden;background:linear-gradient(#ba995d,#8b6c3d);color:#101b0b;box-shadow:inset 1px 1px #e0c998,inset -1px -1px #372b14}.action-button .icon{width:20px;height:20px}.action-button>span:last-child{font:11px/12px var(--pixel);font-weight:500;letter-spacing:0;white-space:nowrap}.action-button.interact{background:linear-gradient(#c8b881,#9c8d56)}.optional-controls{position:absolute;bottom:calc(100% + 7px);right:8px;margin:0;grid-template-columns:repeat(3,38px);gap:3px}.optional-controls button{height:38px;background:#223223e8;border-radius:0}#damage-flash{top:var(--header-height);bottom:var(--hud-height)}.overlay{background:#080e09c4;backdrop-filter:none;align-items:center;padding:12px}.sheet{max-height:calc(100% - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:2px solid #869274;border-radius:0;background:linear-gradient(135deg,#283526,#19271b);box-shadow:0 0 0 2px #11190e,inset 1px 1px #c1c6a3;animation:none}.sheet:before{display:none}.sheet-header{padding:10px 13px;text-align:left;background:linear-gradient(#5b372c,#3e271f);border-bottom:2px solid #16160e;box-shadow:inset 0 1px #a27851}.sheet-header h2{font:24px/1.1 var(--pixel);color:#eee0ba;margin:4px 0 0}.sheet-header .eyebrow{font:9px/1.3 monospace;letter-spacing:.3px;color:#c0b092}.sheet-body{padding:10px 13px 13px}.sheet-body>p,.sheet-body article>p{line-height:1.6;margin-bottom:11px}.sheet-body p.lead{font:15px/1.4 var(--pixel);text-align:left;margin-bottom:12px;color:#dcd4ad}.sheet-footer{padding:7px 12px;border-top:2px solid #10180d;background:#283523;gap:5px}.sheet-return{min-height:38px;font:15px/1 var(--pixel);color:#d6d6b0;background:#1a2618;border:1px solid #5b6d44}.sheet-tabs{margin:0 0 3px;gap:4px}.sheet-tabs button{flex:1;min-width:0;min-height:41px;border:1px solid #4e6142;background:#1b2b19;font:10px/1 var(--pixel);gap:3px}.sheet-tabs .icon{width:17px;height:17px}.sheet-tabs button.active{color:#f2db99;border-color:#b4a671;background:#4d4828}.dialogue-emblem{display:none}.large-emblem{margin:7px 0 14px}.large-emblem .icon{width:35px;height:35px}.primary,.secondary{min-height:44px;border-radius:0;border-width:1px;font:16px/1 var(--pixel)}.primary{box-shadow:inset 1px 1px #ead9a2,inset -1px -2px #5e4824}.secondary{box-shadow:inset 1px 1px #5a6f44,inset -1px -1px #091109}.stat-grid,.victory-stats{padding:8px 0;margin-bottom:10px}.stat-grid b,.victory-stats b{font:23px/1 var(--pixel)}.stat-grid span,.victory-stats span{font:9px/1 var(--pixel);letter-spacing:.5px;margin-top:4px}.menu-grid{gap:7px}.menu-grid button{flex-direction:row;align-items:center;height:55px;padding:10px;gap:10px;border:1px solid #6c7b54;box-shadow:inset 1px 1px #536947,inset -1px -1px #101b0e;border-radius:0;background:#30472b}.menu-grid b{font:17px/1 var(--pixel)}.menu-grid .icon{width:24px;height:24px;color:#d7c393}.text-button{min-height:37px;font:14px/1 var(--pixel);margin-top:10px}.section-label{font:12px/1 var(--pixel);letter-spacing:.5px;margin:15px 0 9px}.item-list{gap:6px}.item-card{padding:10px;gap:10px;background:#1a2a1a;border-radius:0}.item-card.selected{border-color:#b7ab70;background:#494b28}.item-card h3{font:19px/1.1 var(--pixel);margin-bottom:4px}.item-card p{font-size:10px;line-height:1.4}.item-icon{width:34px;height:37px}.item-meta{font:10px/1.3 var(--pixel);margin-top:5px;letter-spacing:0}.price{font:15px/1 var(--pixel)}.provision-row>button,.provision-row>div{border-radius:0;padding:10px 5px;gap:6px}.provision-row b{font:13px/1 var(--pixel)}.provision-row small{font-size:8px}.quest-card{padding:8px 10px;margin:10px 0 5px}.quest-card>span{font:10px/1 var(--pixel);letter-spacing:.5px}.quest-card>p{margin-top:5px;line-height:1.5}.notice{padding:10px;margin:10px 0}.field-label{margin:12px 0 8px}.difficulty{margin:16px 0 0}.difficulty label{padding:10px;border-radius:0}.difficulty b{font:16px/1 var(--pixel)}.setting{padding:12px 0}.setting b{font:16px/1 var(--pixel)}.setting small{margin-top:4px}.setting select{border-radius:0}.help-entry{padding:10px 0}.help-entry h3,.journal-entry h3{font:21px/1.1 var(--pixel)}.journal-entry{padding:14px 0 5px}.history p{padding:4px 0}.muted{margin-top:10px;line-height:1.55!important}.ending-options button{border-radius:0}.ending-options h3{font:21px/1.1 var(--pixel)}blockquote{font:18px/1.5 var(--pixel)}.control-reference p{display:flex;gap:14px;align-items:center;font:14px/1.2 var(--pixel);margin:0;padding:10px 0;border-bottom:1px solid #536743}.control-reference b{width:68px;flex-shrink:0;color:#d7bd85}.sheet{max-width:540px}.overlay{justify-content:center}.room-guide{margin-top:12px;border-top:1px solid #617052}.room-guide summary{min-height:44px;padding:13px 0;cursor:pointer;font:15px/1 var(--pixel)}.room-guide article{padding:8px 0;border-top:1px solid #45563f}.room-guide b{font:17px/1.2 var(--pixel)}.room-guide p{font-size:11px;line-height:1.5;margin:4px 0 0}.episode-list{border:0;padding:0;margin:4px 0 14px}.episode-list legend{font:12px/1.4 var(--pixel);color:#b6bd9e;margin-bottom:8px}.episode-card{display:flex;align-items:center;gap:10px;border:1px solid #5c6e50;padding:12px;margin:7px 0;cursor:pointer;background:#243121}.episode-card:has(input:checked){border-color:#d5bd7b;background:#3a4630}.episode-card b,.episode-card small,.episode-card em{display:block}.episode-card b{font:21px/1.1 var(--pixel);color:#ecdfb7}.episode-card small{font-size:11px;line-height:1.4;margin-top:5px}.episode-card em{font:12px/1.2 var(--pixel);color:#b6c398;margin-top:6px}.dialogue-options{display:grid;gap:8px;margin-top:14px}.dialogue-options button{min-height:48px;text-align:left;justify-content:flex-start;font-size:16px;line-height:1.2}body[data-mode=cinematic] #world{inset:0;height:auto;mask-image:none;border:0}body[data-mode=cinematic] #game-ui,body[data-mode=cinematic] .world-vignette{visibility:hidden}.cinematic-overlay{background:transparent;backdrop-filter:none;align-items:flex-end}.cinematic-sheet{width:100%;max-width:650px;margin-top:auto;max-height:48%;background:#17231eee;border:2px solid #a29266}.cinematic-sheet .sheet-header{padding:10px 16px 4px}.cinematic-sheet .sheet-header h2{font-size:24px}.cinematic-sheet .sheet-body{padding:2px 16px 12px}.cinematic-sheet .scene-speaker{font:19px/1.3 var(--pixel);color:#e1c184;margin:0 0 5px}.cinematic-sheet .scene-text{font-size:13px;line-height:1.6;color:#e1e2c7}.cinematic-sheet .sheet-footer{padding:8px 16px calc(8px + env(safe-area-inset-bottom))}.setting input[type=range]{display:block;width:130px;height:44px;position:static;opacity:1;accent-color:#bfb477}@media(max-height:590px){.cinematic-sheet{max-height:56%}.cinematic-sheet .sheet-header h2{font-size:19px}.cinematic-sheet .scene-text{font-size:11px;line-height:1.45}.cinematic-sheet .sheet-footer{gap:3px}.cinematic-sheet .sheet-return{min-height:28px}}@media(min-width:600px){.title-header,.title-actions{width:min(100%,440px);align-self:center}.title-caption{left:50%;transform:translate(-50%);width:440px}.title-actions{gap:9px}}@media(min-width:900px){.game-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr) 360px;gap:8px;align-items:center;padding:6px 10px calc(6px + env(safe-area-inset-bottom))}.event-line{margin:0}.status-bar{min-height:44px}.thumb-controls{padding:0}}.toast{bottom:calc(var(--hud-height) + 10px);border-radius:0;padding:8px 12px;background:#1a2917f2;font:14px/1.4 var(--pixel)}@media(max-width:340px){.thumb-controls{grid-template-columns:repeat(5,minmax(0,1fr)) 64px;gap:3px}.action-button{width:64px}.hud-resources{font-size:11px}.status-bar{gap:6px;grid-template-columns:1fr 1fr 83px}.floor-heading h2{font-size:14px}.compass small{display:none}.item-card{padding:8px}.menu-grid button{gap:7px}.menu-grid b{font-size:16px}}
