@font-face{font-family:Fredoka;src:url(fonts/fredoka-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;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:Fredoka;src:url(fonts/fredoka-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;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:Fredoka;src:url(fonts/fredoka-latin-ext-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;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:Fredoka;src:url(fonts/fredoka-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;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:"Noto Serif";src:url(fonts/noto-serif-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;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:"Noto Serif";src:url(fonts/noto-serif-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;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{--teal:#3fa7a3;--teal-d:#2b7f7d;--orange:#f29b52;--orange-d:#d9773a;--cream:#f6ead2;--cream-d:#e6d3ae;--brown:#4a3326;--brown-m:#7a5236;--amber:#f2b84b;--brick:#a8503a;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#2a1d14;font-family:Fredoka,system-ui,sans-serif;color:var(--brown);user-select:none;-webkit-user-select:none;touch-action:none}#app canvas{display:block;touch-action:none}button{font:inherit;color:inherit;cursor:pointer}.btn{background:var(--orange);color:#fff;border:3px solid var(--brown);border-radius:16px;padding:10px 18px;font-weight:700;font-size:17px;box-shadow:0 4px 0 var(--brown);text-shadow:0 2px 0 rgba(74,51,38,.35);transition:transform .06s,box-shadow .06s}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--brown)}.btn.teal{background:var(--teal)}.btn.cream{background:var(--cream);color:var(--brown);text-shadow:none}.btn.small{padding:6px 12px;font-size:15px;border-radius:12px;box-shadow:0 3px 0 var(--brown)}.btn:focus-visible,.round:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.hidden{display:none!important}#title{position:fixed;inset:0;z-index:50;background:#2a1d14 center/cover no-repeat;display:flex;align-items:center;justify-content:flex-end;padding:24px max(16px,4vw)}#title .card{width:min(430px,100%);background:#f6ead2f0;border:4px solid #2b7f7d;border-radius:28px;padding:26px 26px 18px;box-shadow:0 10px 40px #00000059;text-align:center}#title h1{margin:0;font-size:clamp(46px,7vw,68px);line-height:1;font-weight:700;color:var(--brown);letter-spacing:.01em}#title h1 span{color:var(--orange-d)}#title .sub{margin:10px 0 18px;font-size:19px;font-weight:500;color:var(--brown-m);line-height:1.3}#title .play{width:100%;font-size:26px;padding:14px;border-radius:20px;background:var(--teal)}#title .fine{font-size:13px;color:var(--brown-m);margin-top:12px;line-height:1.4}#title .fine a{color:var(--orange-d)}@media (max-width:720px){#title{justify-content:center;align-items:flex-end;padding-bottom:calc(24px + var(--safe-b))}#title .card{padding:18px}}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}#top{position:absolute;top:calc(10px + var(--safe-t));left:10px;right:10px;display:flex;gap:8px;align-items:flex-start;pointer-events:none}#top>*{pointer-events:auto}.pill{background:var(--cream);border:3px solid var(--brown);border-radius:999px;padding:4px 12px 4px 8px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px;box-shadow:0 3px 0 var(--brown);white-space:nowrap}#lantern{gap:2px;padding:4px 10px}#lantern .fl{display:flex;flex-direction:column;align-items:center;width:40px;opacity:.35;transition:opacity .8s,transform .8s}#lantern .fl svg{width:20px;height:26px}#lantern .fl small{font-size:10px;font-weight:600;color:var(--brown-m);height:12px;opacity:0;transition:opacity .8s}#lantern .fl.l1{opacity:.8}#lantern .fl.l2{opacity:1;transform:scale(1.12)}#lantern .fl.l1 small,#lantern .fl.l2 small{opacity:1}#lantern .fl.l2 svg{filter:drop-shadow(0 0 5px #ffbf4a)}.spacer{flex:1}.round{width:46px;height:46px;border-radius:50%;background:var(--cream);border:3px solid var(--brown);box-shadow:0 3px 0 var(--brown);display:grid;place-items:center;font-size:20px;padding:0}#quest{position:absolute;top:calc(68px + var(--safe-t));left:50%;transform:translate(-50%);min-width:min(420px,92vw);max-width:92vw;background:var(--cream);border:3px solid var(--brown);border-radius:18px;box-shadow:0 4px 0 var(--brown);padding:8px 14px;display:flex;gap:10px;align-items:center;transition:transform .3s,opacity .3s}#quest .qi{width:34px;height:34px;border-radius:50%;background:var(--teal);border:3px solid var(--brown);display:grid;place-items:center;color:#fff;font-weight:700;flex:none}#quest b{display:block;font-size:16px}#quest span{font-size:13px;color:var(--brown-m);font-weight:500}#quest .count{margin-left:auto;font-weight:700;background:var(--cream-d);border-radius:999px;padding:2px 10px;border:2px solid var(--brown);font-size:14px}#quest.pulse{animation:qp .6s}@keyframes qp{0%{transform:translate(-50%) scale(1)}40%{transform:translate(-50%) scale(1.05)}to{transform:translate(-50%) scale(1)}}#dock{position:absolute;bottom:calc(12px + var(--safe-b));left:50%;transform:translate(-50%);display:flex;gap:10px}.dk{width:70px;height:68px;border-radius:18px;border:3px solid var(--brown);box-shadow:0 4px 0 var(--brown);background:var(--teal);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:12px;text-shadow:0 1px 0 rgba(0,0,0,.25);padding:0}.dk i{font-style:normal;font-size:24px;line-height:1.1}.dk.on{background:var(--orange)}.dk.brown{background:#8a5a3a}#bubble{position:absolute;transform:translate(-50%,-100%);display:flex;gap:6px;pointer-events:auto}#bubble:after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-8px;border:8px solid transparent;border-top-color:var(--brown)}#tag{position:absolute;transform:translate(-50%);background:#4a3326d9;color:var(--cream);font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;pointer-events:none;white-space:nowrap}#lute{position:absolute;left:50%;bottom:calc(100px + var(--safe-b));transform:translate(-50%);width:min(520px,94vw);background:var(--cream);border:3px solid var(--brown);border-radius:20px;box-shadow:0 4px 0 var(--brown);padding:10px 14px 12px}#lute .row{display:flex;align-items:center;gap:12px}#lute .lbl{font-size:13px;color:var(--brown-m);font-weight:600}#lute .state{font-weight:700;font-size:16px;min-width:110px;text-align:right}#lute canvas{width:100%;height:46px;display:block;margin:6px 0}#lute .hold{flex:1;font-size:18px}#lute .prog{height:10px;border-radius:99px;background:var(--cream-d);border:2px solid var(--brown);overflow:hidden;margin-top:8px}#lute .prog i{display:block;height:100%;width:0;background:var(--teal)}#brushpad{position:absolute;left:50%;bottom:calc(100px + var(--safe-b));transform:translate(-50%);background:var(--cream);border:3px solid var(--brown);border-radius:20px;box-shadow:0 4px 0 var(--brown);padding:12px 18px;text-align:center;width:min(360px,92vw)}#brushpad .pad{width:130px;height:130px;margin:8px auto 4px;border-radius:50%;border:3px dashed var(--brown-m);display:grid;place-items:center;font-size:44px;background:radial-gradient(circle,#fff6e0,#ead6ad);touch-action:none;position:relative}#brushpad .ring{position:absolute;inset:-7px;border-radius:50%}#talk{position:absolute;left:50%;bottom:calc(100px + var(--safe-b));transform:translate(-50%);width:min(560px,94vw);background:var(--cream);border:3px solid var(--brown);border-radius:20px;box-shadow:0 5px 0 var(--brown);padding:14px 16px 12px;display:flex;gap:12px}#talk img{width:64px;height:64px;border-radius:14px;border:3px solid var(--brown);background:#f2d9a6;object-fit:cover;flex:none}#talk .who{font-weight:700;font-size:15px}#talk p{margin:4px 0 10px;font-size:16px;line-height:1.38;font-weight:500}#talk .row{display:flex;align-items:center;gap:8px}#talk .row .n{margin:0 auto;font-size:13px;color:var(--brown-m)}.veil{position:fixed;inset:0;background:#2a1d1473;z-index:30;display:grid;place-items:center;padding:16px}.card{background:var(--cream);border:4px solid var(--brown);border-radius:24px;box-shadow:0 6px 0 var(--brown);padding:18px 20px;max-width:560px;width:100%;max-height:86vh;overflow:auto}.card h2{margin:0 0 4px;font-size:22px}.chip{display:inline-block;font-size:12px;font-weight:700;border:2px solid var(--brown);border-radius:999px;padding:2px 10px;margin:2px 4px 8px 0;background:#e8f4ef}.chip.later{background:#fbe2c8}.chip.asoka{background:#e9e0d0}.chip.canon{background:#d9efe6}.chip.earlier{background:#e6e6f2}.card p{font-size:16px;line-height:1.45;font-weight:500;margin:6px 0}.card .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.opts{display:grid;gap:8px;margin-top:8px}.opts .btn{text-align:left}.opts .btn.no{background:#c7b79a;color:var(--brown);text-shadow:none}.passage{max-width:640px;background:#fbf4e4}.passage .seg{margin:0 0 12px}.passage .pli{font-family:"Noto Serif",Georgia,serif;font-size:18px;line-height:1.5;color:#3a2a1e}.passage .en{font-family:"Noto Serif",Georgia,serif;font-size:16px;line-height:1.5;color:#6b5236}.passage .ref{font-size:13px;color:var(--brown-m);border-top:2px dashed var(--cream-d);padding-top:8px;margin-top:6px}.passage a{color:var(--orange-d)}.mapcard{max-width:960px;padding:12px}.mapwrap{position:relative;border-radius:16px;overflow:hidden;border:3px solid var(--brown)}.mapwrap img{display:block;width:100%}.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.pin b{background:var(--cream);border:2px solid var(--brown);border-radius:999px;padding:1px 9px;font-size:13px;white-space:nowrap;box-shadow:0 2px 0 var(--brown)}.pin i{width:16px;height:16px;border-radius:50%;border:3px solid var(--brown);background:var(--orange);margin-top:2px}.pin.dim b{opacity:.7}.pin.dim i{background:#c7b79a}#fade{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,#fff7e0,#f2c97a 55%,#c98a3b);transition:opacity 1.4s}#fade.dark{background:#0d0906}#fade.on{opacity:1}#fade .t{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(28px,5vw,46px);font-weight:700;color:var(--brown);letter-spacing:.06em;opacity:.85}#toast{position:absolute;left:50%;top:calc(130px + var(--safe-t));transform:translate(-50%);background:#4a3326eb;color:var(--cream);padding:8px 16px;border-radius:999px;font-weight:600;font-size:15px;opacity:0;transition:opacity .4s;pointer-events:none;max-width:90vw;text-align:center}#toast.on{opacity:1}#boot{position:fixed;inset:0;display:grid;place-items:center;background:#2a1d14;font:600 20px Fredoka,system-ui;color:#f6ead2;z-index:100;transition:opacity .4s}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:560px){#clock{display:none}.dk{width:58px;height:58px}.dk i{font-size:20px}#lantern .fl{width:30px}#lantern .fl small{display:none}#quest b{font-size:14px}}
