:root{--cream: #F2E8CF;--paper: #FBF4E4;--ink: #3B2E25;--ink2: #6B5747;--terra: #CB8067;--sage: #85A88A;--deep: #426C58;--butter: #F3D38B;--sky: #91C9CE;--rose: #DBA6A8;--wood: #7E6048;--shadow: 0 6px 24px rgba(59, 46, 37, .18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#cbeafa;color:var(--ink);font-family:Nunito,system-ui,sans-serif}#app canvas{display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;z-index:5}#ui>*{pointer-events:auto}.hidden{display:none!important}button{font:inherit;cursor:pointer}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}#loading{background:linear-gradient(180deg,#a9daf5,#cbeafa 55%,#e6f6fd);transition:opacity .9s ease;z-index:10}.logo-img{display:block;width:min(440px,78vw);height:auto;filter:drop-shadow(0 10px 22px rgba(40,80,110,.25));user-select:none;-webkit-user-drag:none}#loading .logo-img{width:min(400px,74vw);animation:rise .9s ease both}#loading.fadeout{opacity:0;pointer-events:none}.logo{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(38px,7vw,76px);letter-spacing:-.01em;color:var(--ink);line-height:1;text-align:center}.logo .small{font-style:italic;font-weight:400;font-size:.55em;color:var(--terra)}#loading .bar{width:min(300px,64vw);height:8px;border-radius:8px;background:#ffffffa6;box-shadow:inset 0 0 0 1px #3c648226;overflow:hidden}#loading .bar i{display:block;height:100%;width:0;background:var(--terra);border-radius:6px;transition:width .4s ease}#loading .status{font-family:Fraunces,serif;font-style:italic;color:var(--ink2);font-size:17px}#menu{pointer-events:none;justify-content:center;align-items:center;padding:24px 16px}.menu-card{pointer-events:auto;display:flex;flex-direction:column;gap:14px;align-items:center;animation:rise .9s ease both}.menu-card .logo-img{width:min(460px,82vw,52vh)}.menu-btns{display:flex;flex-direction:column;gap:10px;align-items:center}.menu-card .logo{text-align:left;font-size:clamp(36px,5.4vw,62px)}.menu-card .sub{margin:4px 0 12px;font-family:Fraunces,serif;font-style:italic;font-size:18px;color:var(--ink2)}.menu-card button{min-width:220px;padding:12px 22px;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:14px;transition:transform .15s ease,background .2s}.menu-card button:hover:not(:disabled){transform:translateY(-2px);background:var(--terra);border-color:var(--terra)}.menu-card button.ghost{background:#fbf4e4e0;color:var(--ink)}.menu-card button:disabled{opacity:.35;cursor:default}.menu-card .foot{margin:10px 0 0;font-size:13px;color:var(--ink2)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes riseC{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}#hud{position:fixed;inset:0;pointer-events:none}#hud>*{pointer-events:auto}.counter{position:absolute;left:max(16px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px;padding:8px 16px 8px 10px;border-radius:999px;background:#fbf4e4e0;box-shadow:var(--shadow);font-weight:800;letter-spacing:.1em;font-size:13px}.counter .ic{width:26px;height:26px;color:var(--ink);display:inline-flex}.counter b{font-size:16px;letter-spacing:.02em;color:var(--terra)}.counter.bump{animation:bump .7s ease}@keyframes bump{30%{transform:scale(1.18)}to{transform:none}}.boxpill{position:absolute;left:max(16px,env(safe-area-inset-left));top:calc(max(14px,env(safe-area-inset-top)) + 48px);display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fbf4e4e0;box-shadow:var(--shadow);font-weight:800;letter-spacing:.1em;font-size:11px;color:var(--ink2)}.boxpill .slots{display:flex;gap:5px}.boxpill .slots i{width:16px;height:16px;border-radius:50%;border:2px dashed rgba(59,46,37,.3);background:transparent;transition:all .3s}.boxpill .slots i.on{border:2px solid rgba(59,46,37,.35)}.boxpill em{display:none;font-style:normal;color:var(--terra)}.boxpill.full em{display:inline}.boxpill.bump{animation:bump .7s ease}.tools{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));display:flex;gap:8px}.tools button{width:44px;height:44px;padding:9px;border-radius:50%;border:0;background:#fbf4e4e0;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s}.tools button:hover{transform:translateY(-2px)}.tools button.off .w{opacity:0}.tools svg,.counter svg{width:100%;height:100%}#prompt{position:fixed;left:50%;bottom:calc(110px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:10px;align-items:center;padding:9px 18px 9px 9px;border-radius:999px;background:#3b2e25db;color:var(--paper);font-weight:700;box-shadow:var(--shadow);animation:riseC .25s ease both;white-space:nowrap}#prompt.soft{padding:9px 18px;background:#fbf4e4e6;color:var(--ink2);font-style:italic;font-weight:600}kbd{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--paper);color:var(--ink);font-family:Nunito;font-weight:800}#dialog{position:fixed;left:50%;bottom:max(26px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(680px,calc(100vw - 32px));padding:18px 24px 36px;border-radius:20px;background:#fbf4e4f2;box-shadow:var(--shadow);border:2px solid rgba(59,46,37,.12);animation:riseC .3s ease both;cursor:pointer}#dialog .who{font-family:Fraunces,serif;font-weight:600;color:var(--terra);font-size:17px;margin-bottom:4px}#dialog .txt{font-size:18px;line-height:1.45;min-height:52px}#dialog .next{position:absolute;right:16px;bottom:10px;color:var(--ink2);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.02em;animation:blink 1.4s ease infinite}#dialog .next .k{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;background:#3b2e25;color:#fbf4e4;font-size:13px;font-weight:800;box-shadow:0 2px #00000040}@media (pointer: coarse){#dialog .next .k{display:none}#dialog .next .lbl:after{content:" ▸"}}@keyframes blink{50%{opacity:.2}}#toast{position:fixed;left:50%;top:72px;transform:translate(-50%) translateY(-8px);max-width:min(560px,calc(100vw - 32px));padding:12px 20px;border-radius:14px;background:#fbf4e4f0;box-shadow:var(--shadow);font-family:Fraunces,serif;font-style:italic;font-size:17px;text-align:center;opacity:0;transition:opacity .4s,transform .4s}#toast.show{opacity:1;transform:translate(-50%)}#hint{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%);padding:8px 16px;border-radius:999px;background:#3b2e25b3;color:var(--paper);font-size:13px;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}#banner{position:fixed;left:50%;top:24%;transform:translate(-50%);text-align:center;opacity:0;transition:opacity 1.1s ease;pointer-events:none}#banner.show{opacity:1}#banner small{font-family:Fraunces,serif;font-style:italic;font-size:18px;color:var(--paper);text-shadow:0 2px 10px rgba(59,46,37,.45)}#banner div{font-family:Fraunces,serif;font-weight:600;font-size:clamp(34px,6vw,58px);color:var(--paper);text-shadow:0 3px 18px rgba(59,46,37,.5)}#rescued{position:fixed;right:max(16px,env(safe-area-inset-right));top:74px;display:flex;gap:12px;align-items:center;max-width:min(380px,calc(100vw - 32px));padding:14px 18px;border-radius:18px;background:#fbf4e4f2;box-shadow:var(--shadow);opacity:0;transform:translate(20px);transition:all .5s ease}#rescued.show{opacity:1;transform:none}#rescued .ic{width:44px;height:44px;flex:none;filter:drop-shadow(0 2px 0 rgba(59,46,37,.25))}#rescued b{font-family:Fraunces,serif;font-size:18px}#rescued p{margin:2px 0 0;font-size:14px;color:var(--ink2)}.panel{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#3b2e2547;backdrop-filter:blur(3px);padding:16px;z-index:8}.paper{position:relative;width:min(860px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:26px 30px;border-radius:22px;background:var(--paper);box-shadow:var(--shadow);background-image:radial-gradient(rgba(126,96,72,.06) 1px,transparent 1px);background-size:7px 7px;animation:rise .3s ease both}.paper.small{width:min(420px,100%);display:flex;flex-direction:column;gap:10px}.paper h2{font-family:Fraunces,serif;font-weight:600;font-size:30px;margin:0 0 12px}.paper h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin:14px 0 8px}.paper .close{position:absolute;right:14px;top:12px;width:38px;height:38px;border-radius:50%;border:0;background:#3b2e2514;font-size:24px;color:var(--ink)}.cols{display:grid;grid-template-columns:1.15fr 1fr;gap:26px}@media (max-width: 680px){.cols{grid-template-columns:1fr;gap:6px}.paper{padding:22px 18px}}.paper ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}#jcats{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}#jcats li{display:grid;grid-template-columns:26px 1fr;align-items:center;column-gap:8px}#jcats li small{grid-column:2;font-size:12px;color:var(--ink2);line-height:1.3}#jcats .sw{width:22px;height:22px;border-radius:50%;background:#3b2e251f;border:2px solid rgba(59,46,37,.2)}#jcats .unk{opacity:.45}#jregions .unk{color:var(--ink2);opacity:.5}.hints li{font-family:Fraunces,serif;font-style:italic;color:var(--ink2);line-height:1.4}.map-paper{width:min(620px,100%);text-align:center}#mapc{width:min(520px,100%);height:auto;aspect-ratio:1}.legend{font-family:Fraunces,serif;font-style:italic;color:var(--ink2);margin:6px 0 0}.settings{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.settings label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700}.settings label.row{justify-content:flex-start;font-weight:500}.settings select,.settings input[type=range]{width:52%;accent-color:var(--terra)}.settings select{padding:6px 10px;border-radius:10px;border:2px solid rgba(59,46,37,.2);background:#fff;font:inherit}.paper.small button{padding:11px 18px;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px}.paper.small button.ghost{background:transparent;color:var(--ink)}#mobile{display:none;position:fixed;inset:0;pointer-events:none}body.touch.playing #mobile{display:block}#joy{position:fixed;width:110px;height:110px;margin:-55px 0 0 -55px;left:90px;top:calc(100vh - 120px);border-radius:50%;border:2px solid rgba(251,244,228,.7);background:#3b2e251f;opacity:.55;transition:opacity .2s;pointer-events:none}#joy.on{opacity:1}#joy i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fbf4e4e6;box-shadow:var(--shadow)}#bjump,#bact{position:fixed;pointer-events:auto;border-radius:50%;border:0;box-shadow:var(--shadow);font-weight:800;color:var(--ink);text-transform:lowercase;touch-action:none}#bjump{right:max(24px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));width:78px;height:78px;background:#fbf4e4e0}#bact{right:max(112px,calc(env(safe-area-inset-right) + 100px));bottom:max(58px,env(safe-area-inset-bottom));width:68px;height:68px;background:var(--butter)}body.touch #prompt kbd{display:none}body.touch #hint{white-space:normal;text-align:center;border-radius:14px;bottom:calc(150px + env(safe-area-inset-bottom));width:min(320px,calc(100vw - 32px))}#fade{position:fixed;inset:0;background:var(--paper);opacity:0;pointer-events:none;z-index:9}#endtxt{position:fixed;left:50%;bottom:18%;transform:translate(-50%);width:min(720px,calc(100vw - 32px));text-align:center;font-family:Fraunces,serif;font-style:italic;font-size:clamp(20px,3vw,30px);color:var(--paper);text-shadow:0 2px 16px rgba(59,46,37,.6);opacity:0;transition:opacity 2.4s ease;pointer-events:none}#endtxt.show{opacity:1}#endtitle{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;animation:rise 2.5s ease both;pointer-events:none;text-align:center;padding:16px}#endtitle h1{margin:0;font-family:Fraunces,serif;font-weight:600;font-size:clamp(24px,4.4vw,46px);color:var(--paper);text-shadow:0 3px 20px rgba(59,46,37,.55)}#endtitle h2{margin:0 0 18px;font-family:Nunito;font-weight:800;letter-spacing:.3em;font-size:clamp(13px,1.8vw,18px);color:var(--paper);text-shadow:0 2px 12px rgba(59,46,37,.6)}#endtitle button{pointer-events:auto;padding:12px 24px;border-radius:999px;border:0;background:var(--paper);color:var(--ink);font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow)}#fps{position:fixed;left:16px;bottom:12px;font-size:12px;color:var(--ink2);background:#fbf4e4b3;padding:3px 8px;border-radius:6px}@media (max-width: 560px){.counter .lbl{display:none}.tools button{width:40px;height:40px}#menu{align-items:center;justify-content:center}}.padfocus{outline:3px solid var(--terra, #C2614F)!important;outline-offset:3px}.padhelp{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--ink2);max-width:360px}#padst{color:var(--ink2);font-weight:400}body.editing #hud,body.editing #prompt,body.editing #toast,body.editing #hint,body.editing #banner,body.editing #mobile{display:none!important}#ui>#looked{position:fixed;inset:0;pointer-events:none;display:flex;align-items:center;padding:18px;z-index:8}#looked .lookcard{pointer-events:auto;width:min(400px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;padding:22px 22px 16px;border-radius:22px;background:var(--paper);box-shadow:var(--shadow);background-image:radial-gradient(rgba(126,96,72,.06) 1px,transparent 1px);background-size:7px 7px;animation:rise .3s ease both}#looked h2{font-family:Fraunces,serif;font-weight:600;font-size:28px;margin:0 0 10px}#looked .lookrows{overflow:auto;display:flex;flex-direction:column;gap:12px;padding:2px 4px 6px 2px}#looked .lkrow{display:flex;flex-direction:column;gap:6px}#looked .lkl{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}#looked .lkv{display:flex;flex-wrap:wrap;gap:7px}#looked .sw{width:30px;height:30px;border-radius:50%;border:2px solid rgba(59,46,37,.22);background:var(--c);padding:0;position:relative;transition:transform .12s ease}#looked .sw:hover{transform:scale(1.1)}#looked .sw.on{border-color:var(--ink);box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}#looked .sw.orig:after{content:"";position:absolute;inset:9px;border-radius:50%;border:2px solid rgba(255,255,255,.85)}#looked .chip{padding:7px 12px;border-radius:999px;border:2px solid rgba(59,46,37,.25);background:#fff;color:var(--ink);font-weight:700;font-size:13px}#looked .chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}#looked .lookbtns{display:flex;gap:10px;margin-top:12px}#looked .lookbtns button{flex:1;padding:11px 14px;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:12px}#looked .lookbtns button.ghost{background:transparent;color:var(--ink)}#looked .lookhint{margin:8px 0 0;font-size:12px;color:var(--ink2);text-align:center}@media (max-width: 720px){#ui>#looked{align-items:flex-end;padding:10px}#looked .lookcard{width:100%;max-height:54vh;padding:16px 16px 12px}#looked h2{font-size:22px;margin-bottom:6px}#looked .sw{width:28px;height:28px}}.paper.small.setpaper{width:min(880px,100%);padding:28px 32px;gap:6px}.setcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:34px;align-items:start}.setcol{display:flex;flex-direction:column;gap:12px;min-width:0}.setbtns{display:flex;flex-direction:column;gap:10px;margin-top:6px}.setcol .settings{gap:14px;margin-bottom:4px}.howto{padding-left:30px;border-left:2px dashed rgba(59,46,37,.16)}.howto h3{margin:2px 0}.howto h3+ul{margin-bottom:8px}.paper ul.keys{gap:7px}.keys li{display:grid;grid-template-columns:148px 1fr;gap:10px;align-items:center;font-size:14px;line-height:1.3}.keys li>span{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:12px;color:var(--ink2)}.keys li>span.txt{font-weight:700;color:var(--ink);font-size:13px}.keys kbd{width:auto;min-width:26px;height:26px;padding:0 6px;background:#fff;border:1.5px solid rgba(59,46,37,.25);box-shadow:0 2px #3b2e252e;font-size:12px}.keys kbd.w{min-width:46px}.keys kbd.pad{border-radius:50%;width:26px;color:#fff;border:0}.keys kbd.pad.a{background:#4e9a5a}.keys kbd.pad.b{background:#c8553d}.keys kbd.pad.y{background:#d9a93b}@media (max-width: 760px){.setcols{grid-template-columns:1fr;gap:18px}.howto{padding-left:0;border-left:0;border-top:2px dashed rgba(59,46,37,.16);padding-top:14px}.keys li{grid-template-columns:120px 1fr}}.keys li{grid-template-columns:150px 1fr;font-size:13.5px}.keys li>em{font-style:normal;color:var(--ink)}.paper ul.keys{gap:5px}.keys kbd{font-family:Nunito,system-ui,sans-serif;height:23px;min-width:23px;font-weight:800}.keys kbd.pad{width:23px}.setpaper h2{margin-bottom:14px}.howto h3{font-size:12px}.padrow span{display:flex;flex-direction:column}.padrow small{display:block;font-size:12px;margin-top:2px}.paper.small.setpaper{width:min(1180px,100%)}.setcols{grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1fr);gap:26px}.howto{padding-left:24px}.keys li{grid-template-columns:118px 1fr}@media (max-width: 1100px){.setcols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.setcols .howto:last-child{grid-column:2}}@media (max-width: 760px){.setcols{grid-template-columns:1fr}.setcols .howto:last-child{grid-column:auto}}.tools button[data-a=refresh]:hover svg{transform:rotate(-35deg)}.tools button[data-a=refresh] svg{transition:transform .25s ease}.keys.icons li{grid-template-columns:40px 1fr}.keys .ico{display:inline-flex;width:30px;height:30px;padding:6px;border-radius:50%;background:#fff;border:1.5px solid rgba(59,46,37,.2);color:var(--ink)}.keys .ico svg{width:100%;height:100%}
