*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#162b39;color:#fff0d1;font-family:'Segoe UI',sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit}button:hover{filter:brightness(1.1)}button:focus-visible,input:focus-visible{outline:3px solid #ffe5a9;outline-offset:5px}button:active{transform:translateY(2px)}[hidden]{display:none!important}#stage{position:absolute;inset:0;margin:auto;overflow:hidden;container-type:inline-size}#world{position:absolute;inset:0;image-rendering:pixelated}.frame{image-rendering:pixelated;border:18px solid transparent;border-image:url('assets/v2/panel.png') 5 stretch;background:#294239f5;filter:drop-shadow(0 5px 9px #142c3755)}#loading{position:absolute;inset:0;background:#203b40;z-index:100;display:grid;place-content:center;text-align:center}h1,h2{font-family:Georgia,serif;font-weight:400}.eyebrow{font-size:clamp(11px,.78cqw,15px);letter-spacing:.15em;font-weight:600;color:#e9cb99}#loading h2{font-size:35px}#topbar{position:absolute;left:2.8%;right:2.8%;top:3.2%;display:flex;justify-content:space-between;align-items:center;z-index:20;pointer-events:none}#locationName{background:#173b3ed9;border:1px solid #b1d4bc6b;padding:10px 15px;font-size:clamp(11px,.9cqw,17px);letter-spacing:.17em;box-shadow:0 3px 0 #1b34325c}#topbar button{pointer-events:auto;background:#234241ed;border:1px solid #d3bb8c;width:clamp(34px,3cqw,53px);height:clamp(34px,3cqw,53px);margin-left:10px;font-size:23px;box-shadow:0 3px 0 #162f33}#menu{position:absolute;inset:0;background:linear-gradient(90deg,#123838ec,#183d39bf 36%,#1c46312a 62%,transparent 80%)}.menu-card{position:absolute;left:6.8%;top:19%;width:56%;max-width:900px}.menu-card h1{font-size:clamp(38px,4.8cqw,88px);line-height:1.05;margin:23px 0 22px;letter-spacing:-.03em;text-shadow:0 3px #244740}.menu-card h1 em{color:#ffc8c9;font-weight:400}.menu-card h1 span{font-size:.75em}.menu-card>p{color:#d4e5cb;font-size:clamp(15px,1.1cqw,21px);line-height:1.7;margin:0 0 26px}.menu-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.primary,.secondary{border:2px solid #f7dca8;border-radius:3px;padding:12px 22px;box-shadow:0 4px 0 #724d41;font-size:clamp(15px,1cqw,20px);font-weight:600;background:#f4cb88;color:#493e3c}.secondary{background:#405953;color:#fff0cf;border-color:#9ba98a;box-shadow:0 3px 0 #1e3837}.quiet,.text-button{background:none;border:0;padding:10px 2px;color:#e6d3b2;font-size:clamp(13px,.92cqw,17px)}.menu-note{margin-top:23px;font-size:clamp(9px,.7cqw,13px);letter-spacing:.14em;color:#b5d1b7}.menu-joke{position:absolute;bottom:2.5%;left:6.8%;font-size:clamp(10px,.77cqw,14px);color:#c0d2bb}.credits{position:absolute;right:3%;bottom:2.5%}.chapter-label{position:absolute;right:7%;bottom:16%;text-align:right;text-shadow:0 3px 9px #19392f}.chapter-label span{font-size:12px;letter-spacing:.25em}.chapter-label p{font:italic clamp(24px,2.3cqw,42px)/1.35 Georgia;margin:12px 0;color:#fff2cc}.quest{position:absolute;left:2.8%;top:12.2%;width:clamp(270px,25cqw,405px);padding:2px 9px 7px;color:#f8ecd2}.quest h2{font-size:clamp(18px,1.42cqw,27px);margin:8px 0 8px}.quest p{color:#eee1c4;font-size:clamp(12px,.88cqw,16px);line-height:1.5;margin:0 0 13px}.quest .eyebrow{font-size:clamp(10px,.7cqw,13px)}#chapterDots{display:flex;gap:8px}#chapterDots i{height:4px;flex:1;background:#53473e}#chapterDots i.done{background:#f5ce81}.controls{position:absolute;bottom:3.2%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#203e40e8;border:1px solid #98b299;padding:10px 15px;font-size:clamp(10px,.78cqw,15px);color:#dae4cd}.controls span{margin:0 10px;color:#83a896}kbd{font:600 .95em 'Segoe UI';display:inline-block;padding:3px 5px;background:#365954;border:1px solid #9db59b;border-bottom-width:2px;border-radius:3px;color:#fff2d2}#inventory{position:absolute;bottom:3.2%;right:2.8%;display:flex;gap:7px}.slot{background:#324e43;border:2px solid #cdb68b;box-shadow:0 3px #263d34;width:46px;height:46px;padding:4px}.slot canvas{width:32px;height:32px;image-rendering:pixelated}#interact{position:absolute;transform:translate(-50%,-100%);background:#244540f5;border:2px solid #e8c994;box-shadow:0 3px #1a373c;padding:7px 12px;white-space:nowrap;font-size:14px;pointer-events:none}#interact kbd{background:#f0cb8d;color:#3f4337;margin-right:10px}#toast{position:absolute;top:12%;left:50%;transform:translate(-50%,-15px);opacity:0;z-index:55;background:#34554af5;border:2px solid #edd19f;box-shadow:0 4px #243e3b;padding:13px 25px;font-size:clamp(14px,1cqw,19px);transition:.35s;pointer-events:none}#toast.visible{opacity:1;transform:translate(-50%,0)}#areaTitle{position:absolute;top:40%;left:0;width:100%;text-align:center;pointer-events:none;text-shadow:0 2px 12px #203b39;z-index:10}#areaTitle span{font-size:14px;letter-spacing:.15em}#areaTitle h2{font-size:clamp(30px,3.3cqw,60px);margin:10px 0}#dialog{position:absolute;left:17%;right:17%;bottom:6.5%;display:flex;gap:20px;padding:6px 15px 3px;z-index:35;min-height:140px}#portrait{width:82px;height:82px;image-rendering:pixelated;flex-shrink:0;align-self:center}.dialog-body{flex:1}#speaker{color:#ffe1aa}#dialogText{font-size:clamp(17px,1.2cqw,23px);line-height:1.55;margin:7px 0 7px;min-height:2.4em}.dialog-bottom{display:flex;align-items:center;justify-content:space-between}.dialog-bottom small{font-size:11px;color:#bcae91}.text-button{padding:3px 0 3px 15px;color:#fbd79d}.veil{position:absolute;inset:0;background:#122b3ab5;display:grid;place-items:center;z-index:60;backdrop-filter:blur(3px)}.panel{width:min(780px,70%);padding:15px 25px 22px;max-height:84%;overflow:auto}.panel h2{font-size:clamp(25px,2.2cqw,37px);margin:10px 0 16px}.panel p{font-size:clamp(14px,1cqw,18px);line-height:1.6;color:#f0e4cb}.panel .stack{display:flex;flex-direction:column;gap:12px;margin:20px 0 0}.panel .row{display:flex;gap:13px;flex-wrap:wrap}.panel label{display:block;margin:23px 0}.panel input{width:100%;accent-color:#f7c783;margin-top:12px}.choice{display:flex;align-items:center;text-align:left;gap:15px}.choice canvas{width:52px;height:52px;image-rendering:pixelated;flex-shrink:0}.choice strong{display:block;font-size:16px}.choice small{display:block;font-size:13px;line-height:1.4;margin-top:5px;color:#d6ddc8}.journal{width:min(980px,79%)}.journal h3{font-size:17px;color:#f4c990;margin:23px 0 10px}.journal p{margin:7px 0}.journal .clue{padding:10px 14px;border-left:2px solid #b9b38b;background:#303c3638;font-size:14px}.journal .nav{display:flex;gap:9px;margin-bottom:15px}.journal .nav button{font-size:13px;padding:8px 11px}.recipe-order{min-height:42px;background:#293e383d;border:1px solid #b3aa8766;padding:12px;margin:15px 0;color:#f8d39a}.veil .primary{margin-top:12px}#fishing{position:absolute;bottom:7%;left:25%;right:25%;padding:8px 22px 16px;z-index:30;text-align:center}#fishing h2{font-size:25px;margin:8px}#fishing p{font-size:15px;color:#f4e3c5;margin:10px 0}#fishTrack{height:32px;background:#273a43;position:relative;border:2px solid #b8ab8b;margin:18px 0}#fishZone{position:absolute;top:0;bottom:0;width:29%;background:#8ac1a780;border-left:2px solid #bde7b3;border-right:2px solid #bde7b3}#fishCursor{position:absolute;top:-5px;bottom:-5px;width:5px;background:#ffe1a1;box-shadow:0 0 10px #f7ca77}.fishing-meters{display:flex;gap:20px;text-align:left}.fishing-meters label{font-size:12px;flex:1}progress{width:100%;height:9px;accent-color:#dbb77c}#fishAction{margin:16px 12px 0 0}#bossHud{position:absolute;bottom:12%;left:3%;width:27%;padding:10px 17px}#bossHud h2{font-size:25px;margin:10px 0}#bossHint{font-size:14px;line-height:1.5}#transition{position:absolute;inset:0;background:#172d3b;z-index:90;display:grid;place-items:center;opacity:0;transition:opacity .6s}#transition.on{opacity:1}#transition p{font:italic clamp(25px,2.4cqw,44px) Georgia;color:#ffe1af;text-align:center}#ending{position:absolute;inset:0;z-index:25;text-align:center;padding-top:34%;background:linear-gradient(transparent 43%,#18313bd9 78%)}#ending h2{font-size:clamp(27px,2.8cqw,50px);margin:13px 0}#ending p{font-size:clamp(14px,1cqw,19px);color:#e1d1b9;margin:14px 0 21px}#ending button{margin:0 8px}#roomCaption{position:absolute;bottom:4%;left:0;width:100%;text-align:center;font:italic 21px Georgia;text-shadow:0 3px 7px #193341}#roomCaption span{display:block;margin-top:8px;font:12px 'Segoe UI';letter-spacing:.15em}
@media(max-height:800px){.menu-card{top:16%}.menu-card h1{margin:16px 0}.menu-card>p{margin-bottom:18px}.menu-actions{gap:8px}.menu-note{margin-top:17px}.frame{border-width:14px}#dialog{left:15%;right:15%;gap:15px;padding:3px 10px;bottom:7%}#portrait{width:64px;height:64px}.panel{padding:10px 20px 15px}#ending{padding-top:32%}#ending p{margin-bottom:16px}.quest{padding:2px 7px}.controls{font-size:10px}}
@media(prefers-reduced-motion:reduce){#toast,#transition{transition:none}}
