:root{color-scheme:dark;--gold:#e5bc74;--ink:#0c1723;--cyan:#76e9f6}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070d14;color:#f4ead7;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #b18a4c;background:linear-gradient(#253445,#132333);border-radius:8px;padding:14px 20px;min-height:48px;touch-action:manipulation}button:hover{border-color:#ffe0a1}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#game{position:relative;height:100dvh;width:min(100vw,66.6667dvh);min-width:300px;max-width:820px;margin:auto;overflow:hidden;background:#101a25;isolation:isolate}#scene{position:absolute;width:100%;height:100%;object-fit:fill;inset:0}#vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 65px #0006}#toolbar{position:absolute;top:0;left:0;right:0;padding:max(10px,env(safe-area-inset-top)) 12px 10px;display:flex;align-items:center;gap:8px;background:linear-gradient(#030a13c9,transparent);z-index:6}#chapter{font-size:12px;letter-spacing:1.7px;flex:1;text-shadow:0 2px 4px #000}#toolbar button{min-height:40px;width:40px;padding:6px;background:#101d2bcb;border-color:#b18a4c80;border-radius:50%;font-size:19px}#hud{position:absolute;top:64px;left:50%;transform:translateX(-50%);background:#0b1725e8;border:1px solid #ac8b56;border-radius:9px;padding:9px 20px;text-align:center;white-space:nowrap;font-size:16px}#toast{position:absolute;z-index:12;top:118px;left:5%;width:90%;background:#10283ced;border:1px solid var(--gold);border-radius:10px;padding:14px;text-align:center;font-size:16px;animation:toastIn .25s ease}#targets{position:absolute;inset:0;pointer-events:none}#targets button{position:absolute;pointer-events:auto;background:transparent;border:0;border-radius:12px;padding:0;color:transparent;min-height:42px}#targets button:focus-visible{outline:3px solid var(--cyan)}#dialog{position:absolute;z-index:10;bottom:14px;left:3%;width:94%;padding:15px 20px 8px;background:linear-gradient(130deg,#0b1827f5,#121b2aec);border:1px solid var(--gold);border-radius:5px;box-shadow:0 0 0 3px #101b2980,0 5px 24px #0006;max-height:55%;overflow:auto}#speaker{font-family:Georgia,serif;font-size:clamp(19px,3dvh,28px);color:var(--gold);border-bottom:1px solid #b9955450;padding-bottom:7px}#speaker:empty{display:none}#line{font-family:Georgia,'Times New Roman',serif;font-size:clamp(17px,2.65dvh,25px);line-height:1.45;min-height:2.9em;margin:12px 0 6px;white-space:pre-wrap}#next{display:block;margin-left:auto;min-height:40px;background:none;border:none;font-size:13px;color:#dbc79f;padding:7px 0}#next span{padding-left:12px}#choices{position:absolute;z-index:11;bottom:max(22px,env(safe-area-inset-bottom));left:6%;width:88%;display:grid;gap:10px}#choices button{background:linear-gradient(120deg,#152a3ef5,#0f1d2ff5);box-shadow:0 5px 18px #0006;text-align:center;font-size:16px}#choices:not(:empty)~#fade{pointer-events:none}#controls{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:5%;width:90%;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:11}#controls button{font-size:34px;width:82px;height:64px;padding:0;border-color:var(--gold);background:#102337ed;user-select:none}#controls span{font-size:13px;max-width:145px;text-align:center;text-shadow:0 2px 4px black}#fade{position:absolute;inset:0;z-index:30;background:black;opacity:0;pointer-events:none}.overlay{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#07111edc,#07111af5);padding:25px}.card{max-width:420px;width:100%;text-align:center}.card small{display:block;font-size:12px;letter-spacing:1.5px;color:#c4b596;line-height:1.6}.card h1{font:clamp(40px,7dvh,66px)/1.02 Georgia,serif;letter-spacing:3px;margin:30px 0}.card h1 em{color:var(--gold);font-style:normal}.card h2{font:36px Georgia,serif;color:var(--gold)}.card p{line-height:1.65;color:#ddd2bd}.card button{display:block;width:100%;margin:12px 0}.card button.secondary{background:transparent;border-color:#776a53}.card small:last-child{letter-spacing:0;margin-top:20px}.rule{width:80px;height:1px;background:var(--gold);margin:24px auto}#gift{position:absolute;inset:0;z-index:21;background:linear-gradient(#102236f5,#08131ffb);padding:66px 20px 25px;overflow:auto}#gift h2{font:32px Georgia,serif;color:var(--gold);margin:0 0 8px}#gift>p{font-size:15px;color:#c5cbd2;line-height:1.6}.papers{display:grid;gap:15px}.paper{background:#eee3cd;color:#263244;border-radius:3px;padding:18px;box-shadow:0 9px 18px #0004}.paper h3{margin:0 0 12px;font:24px Georgia,serif}.paper p{word-break:break-word;line-height:1.5}.paper canvas{width:100%;height:auto;border-radius:2px;background:#ccc}.paper button,.paper a{display:inline-block;font-size:14px;margin:5px 5px 0 0;background:#173148;color:#f6efdf;text-decoration:none;border-radius:5px;padding:11px 13px;border:0;min-height:42px}.paper .code{font-size:32px;font-family:monospace;letter-spacing:3px}.paper .pending{font-size:16px;letter-spacing:0}.paper a{line-height:20px}#giftRefresh{width:100%;margin-top:18px}.error{color:#ffc6b3!important}@keyframes toastIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-aspect-ratio:2/3){#game{width:100vw;height:100dvh}#dialog{bottom:18px}#line{font-size:18px}}@media(min-width:800px){#game{box-shadow:0 0 100px #000}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important}}
@keyframes unfoldPaper{from{opacity:0;transform:translateY(35px) rotateX(20deg)}to{opacity:1;transform:none}}.paper{animation:unfoldPaper .65s ease both}.paper:nth-child(2){animation-delay:.13s}.paper:nth-child(3){animation-delay:.26s}
