:root{--ink:#2b2118;--paper:#f6ecd9;--paper2:#efe0c4;--accent:#e0703a;--good:#4f9d57;--bad:#d2493a}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;background:#1b1512;margin:0;font-family:Fredoka,system-ui,sans-serif;overflow:hidden}#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}button{background:var(--paper);color:var(--ink);cursor:pointer;border:0;border-radius:12px;padding:10px 16px;font-family:inherit;font-size:16px;font-weight:600;box-shadow:0 3px #b9a27c,0 6px 16px #00000040}button:active{transform:translateY(2px);box-shadow:0 1px #b9a27c}button.primary{background:var(--accent);color:#fff;box-shadow:0 3px #9d4520,0 6px 16px #0000004d}button:disabled{opacity:.45;cursor:default}#top{pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(640px,100% - 32px);display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}#lvl{white-space:nowrap;background:#f6ecd9eb;border-radius:999px;padding:6px 16px;font-weight:600;box-shadow:0 4px 14px #00000040}#lvlnum{color:var(--accent);margin-right:8px}#dawnbar{color:#f6ecd9;text-shadow:0 2px 6px #0009;align-items:center;gap:8px;width:100%;max-width:420px;font-size:20px;display:flex}#dawntrack{background:linear-gradient(90deg,#243058,#5b4d86 55%,#f0a35a);border-radius:99px;flex:1;height:14px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff40,0 3px 10px #00000059}#dawnfill{background:#ffffff59;width:0;position:absolute;top:0;bottom:0;left:0}#dawnticks{display:flex;position:absolute;inset:0}#dawnticks i{border-right:1px solid #ffffff59;flex:1}#dawnticks i:last-child{border-right:0}#predict{color:#f6ecd9;text-align:center;background:#2b2118d1;border-radius:10px;min-height:28px;padding:5px 14px;font-size:15px}#predict.bad b{color:#ff9a84}#predict.good b{color:#9fe0a4}#hint{background:#f6ecd9f0;border-radius:12px;max-width:360px;padding:10px 14px;font-size:15px;line-height:1.35;position:absolute;bottom:96px;left:16px;box-shadow:0 4px 14px #0000004d}#hint:empty{display:none}#tray{gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.item{background:var(--paper);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:92px;height:70px;font-size:13px;font-weight:600;display:flex;position:relative;box-shadow:0 3px #b9a27c,0 6px 16px #0000004d}.item .ico{font-size:28px;line-height:1}.item .n{background:var(--accent);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:14px;display:flex;position:absolute;top:-6px;right:-6px}.item.sel{outline:3px solid var(--accent);transform:translateY(-4px)}.item.empty{opacity:.4}#controls{gap:8px;display:flex;position:absolute;bottom:16px;right:16px}#banner{text-align:center;background:#f6ecd9f7;border-radius:20px;min-width:300px;max-width:calc(100% - 32px);padding:22px 30px;display:none;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000073}#banner.show{display:block}#bannerTitle{font-size:32px;font-weight:700}#bannerSub{opacity:.85;margin:6px 0 14px;font-size:16px}#bannerBtns{justify-content:center;gap:10px;display:flex}#levels{gap:6px;display:flex;position:absolute;top:16px;left:16px}#levels b{cursor:pointer;background:#f6ecd9d9;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}#levels b.cur{background:var(--accent);color:#fff}#levels b.done:after{content:"✓";color:var(--good);margin-left:1px;font-size:10px}#title{background:radial-gradient(#140e0a59,#140e0abf);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#title.hide{display:none}.tcard{text-align:center;color:#f6ecd9;max-width:560px;padding:16px}.tcard h1{letter-spacing:1px;text-shadow:0 4px #9d4520,0 10px 30px #0009;color:#ffd9a8;margin:0 0 8px;font-size:clamp(44px,9vw,76px)}.tsub{text-transform:uppercase;letter-spacing:3px;opacity:.8;font-size:13px}.tcard p{text-shadow:0 2px 8px #000000b3;font-size:18px;line-height:1.45}.tcard button{padding:12px 40px;font-size:22px}.tfoot{opacity:.7;margin-top:18px;font-size:13px}#cursor{pointer-events:none;z-index:10;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M6 3l20 12-9 2 5 10-4 2-5-10-7 6z' fill='white' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0/contain no-repeat;width:34px;height:34px;display:none;position:fixed}#cursor.on{display:block}#cursor.click{transform:scale(.8)}@media (width<=700px){.item{width:72px;height:60px;font-size:11px}.item .ico{font-size:22px}#controls{bottom:88px;right:50%;transform:translate(50%)}#tray{bottom:12px}#hint{max-width:none;font-size:13px;bottom:150px;left:16px;right:16px}#levels{top:auto;bottom:200px}button{padding:8px 12px;font-size:14px}#top{top:8px}}#caption{color:#fff3e0;white-space:nowrap;pointer-events:none;opacity:0;z-index:9;background:#140e0ad1;border-radius:14px;padding:10px 22px;font-size:26px;font-weight:600;position:fixed;top:66%;left:50%;transform:translate(-50%)}.tcard{max-width:760px}body.capture #hint{display:none}#bLang{z-index:5;padding:7px 12px;font-size:14px;position:absolute;top:14px;right:16px}#title{z-index:3}body.capture #bLang{display:none}html[lang=ja] body{font-family:Fredoka,Noto Sans CJK JP,Hiragino Sans,Yu Gothic,sans-serif}#bLook{background:#fff3d6}#bLook.pulse{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 3px #b9a27c,0 0 #ffd25a00}50%{box-shadow:0 3px #b9a27c,0 0 0 8px #ffd25a8c}}#toast{color:var(--ink);text-align:center;opacity:0;pointer-events:none;z-index:8;background:#f6ecd9f7;border-radius:14px;max-width:calc(100% - 32px);padding:12px 22px;font-size:17px;transition:opacity .25s,transform .25s;position:fixed;top:22%;left:50%;transform:translate(-50%,-10px);box-shadow:0 8px 30px #0006}#toast.show{opacity:1;transform:translate(-50%)}#toast b{color:var(--accent);font-size:22px}body.looking #tray,body.looking #bUndo,body.looking #bReset,body.looking #bStart,body.looking #hint,body.looking #predict{opacity:.25;pointer-events:none}#levels{flex-wrap:wrap;max-width:250px}#levels b{width:26px;height:26px;font-size:12px}#tray,#bRot{display:none}body.bookSel #bRot{background:#ffe3b8;display:inline-block}@media (width<=700px) and (orientation:portrait){#controls{flex-wrap:wrap;justify-content:center;gap:6px;bottom:10px;left:8px;right:8px;transform:none}#controls button{white-space:nowrap;padding:8px 10px;font-size:13px}#levels{justify-content:center;max-width:none;inset:auto 8px 108px}#levels b{width:28px;height:28px}#hint{padding:8px 10px;font-size:12.5px;bottom:178px;left:10px;right:10px}#predict{font-size:13px}#lvl{font-size:15px}#bLang{display:none;top:auto;bottom:212px;right:10px}.tcard p{font-size:15px}#cursor{display:none!important}}
