:root{color-scheme:light;--green:#173f36;--deep:#103128;--paper:#fffaf0;--gold:#e6bf7e;--ink:#173e32;--muted:#c4d0be;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#e8e6dd;color:var(--paper)}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,summary:focus-visible{outline:3px solid #dfa455;outline-offset:3px}img{display:block;max-width:100%}h1,h2,p,figure{margin:0}.app-shell{max-width:430px;min-height:100svh;margin:auto;background:var(--green);box-shadow:0 0 50px #12352d22}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:8px 18px;background:#173f36f7;border-bottom:1px solid #e6bf7e26;gap:8px}.brand{font-size:17px;font-weight:650;letter-spacing:.04em}.small-brand{font-size:13px;color:#d9e2d2;flex:1}.topbar button{min-height:44px;border:0;border-radius:5px;color:var(--paper);background:transparent;font-size:14px;padding:10px 8px}.topbar .album-link{border:1px solid #8c9f7b;padding:9px 13px;color:#ead9b4}.topbar .back-button{padding-left:0}.screen{padding:27px 22px 24px}.eyebrow{font-size:12px;line-height:1.7;color:var(--gold);letter-spacing:.1em}h1{font:700 31px/1.4 "Songti SC","STSong","SimSun",serif;letter-spacing:.02em;margin-top:12px}h2{font-size:18px;line-height:1.6}.lead{font-size:16px;line-height:1.8;color:#d8e1d1;margin-top:13px}.body-copy{font-size:16px;line-height:1.9;color:#dce4d5;margin:19px 0}.cover{display:flex;align-items:center;gap:15px;padding:9px 17px 9px 9px;background:var(--paper);color:var(--ink);border-radius:8px;margin:23px 0 21px;overflow:hidden}.cover img{width:47%;height:218px;object-fit:cover;object-position:center top;background:white}.cover>span{font:25px/1.7 serif;letter-spacing:.04em}.chat{border-top:1px solid #c8aa6b66;border-bottom:1px solid #c8aa6b66;padding:16px 0}.chat p{display:flex;align-items:baseline;gap:10px;font-size:16px;line-height:1.8;margin-top:9px}.chat p:first-child{margin:0}.chat b{font-size:12px;color:var(--gold);flex:none;font-weight:500}.mission{display:flex;gap:14px;align-items:center;border-top:1px solid #bb9d6344;border-bottom:1px solid #bb9d6344;padding:18px 0;margin:24px 0}.mission>span{display:grid;place-items:center;flex:none;width:34px;height:42px;border:1px solid var(--gold);border-radius:4px;font:25px/1 Georgia,serif;color:var(--gold);transform:rotate(-7deg)}.mission small{display:block;color:#c1d0bb;font-size:12px;margin-bottom:6px}.mission strong{font-size:18px;line-height:1.5}.primary{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:52px;padding:13px 17px;border:1px solid #efcb91;border-radius:6px;background:var(--gold);color:var(--ink);font-size:17px;font-weight:650;box-shadow:0 3px 0 #9e7b49;line-height:1.5}.primary>span{font-size:24px;line-height:1}.quiet{display:block;min-height:48px;border:0;background:transparent;color:#dbe4d4;font-size:14px;width:100%;padding:12px 8px;margin-top:13px}.micro{font-size:12px;line-height:1.85;color:#bbcbb4;margin-top:15px}.centered{text-align:center}.section-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}.game h1{font-size:26px;margin-top:8px}.count-stamp{text-align:center;border:1px solid var(--gold);border-radius:4px;padding:6px 7px;color:var(--gold);font-size:11px;line-height:1.5;flex:none}.count-stamp b{font-size:18px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:6px 4px;padding:13px 0;border-top:1px solid #c0a36e55;border-bottom:1px solid #c0a36e55;font-size:13px;line-height:1.7;color:#e6d6b5;margin-top:19px}.rules strong{grid-column:1/-1;font-size:14px;color:var(--gold);font-weight:500}.spatial-help{margin:7px 0 13px}.spatial-help summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;color:#d1dcc8;cursor:pointer;list-style:none}.spatial-help summary::-webkit-details-marker{display:none}.spatial-help summary span{color:var(--gold);font-size:20px}.spatial-help p{font-size:16px;line-height:1.85;padding-bottom:15px}.nine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 8px;scroll-margin-top:75px}.guest{position:relative;min-width:0;padding:5px 4px 9px;background:var(--paper);color:var(--ink);border:1px solid #c3ad81;border-radius:6px;box-shadow:0 3px 0 #0c2e23;display:flex;flex-direction:column;align-items:center}.portrait{display:block;width:100%;height:81px;background:white;overflow:hidden;border-radius:3px}.portrait img{width:100%;height:auto}.portrait.zoomed img{transform:scale(1.5);transform-origin:center top}.cell{position:absolute;z-index:1;top:7px;left:7px;background:#fffaf0dd;color:#766140;padding:2px;font:9px/1.2 Georgia,serif}.guest strong{font-size:16px;line-height:1.5;white-space:nowrap;letter-spacing:-.025em;margin-top:5px}.short-claim{font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;margin-top:4px;color:#4a5c4b}.guest-note{font-size:10px;line-height:1.7;color:#74603a;margin-top:6px}.guest.selected{outline:2px solid var(--gold);outline-offset:1px}.guest.in-scope:after{content:'▦';position:absolute;inset:0;border:3px dashed #bb812e;border-radius:5px;background:#f5d58624;color:#75551b;display:flex;align-items:flex-start;justify-content:flex-end;font-size:19px;pointer-events:none}.scope-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px;padding:6px 9px;background:#0d3028;color:#e9d5a9;font-size:12px;line-height:1.6}.scope-banner button{min-width:44px;min-height:44px;color:var(--gold);border:1px solid #927949;background:transparent;border-radius:4px;font-size:12px}.reading-row{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;color:#c6d4bd}.text-button{min-height:44px;min-width:76px;padding:9px 12px;background:transparent;color:var(--gold);border:1px solid #93a17c;border-radius:4px;font-size:13px}.hint-box{margin-top:17px;background:#f3ead5;color:var(--ink);padding:16px;border-radius:6px}.hint-box strong{font-size:12px;color:#70582f}.hint-box p{font-size:16px;line-height:1.9;margin-top:8px}.feedback{padding:13px 14px;background:#f5e3c6;color:#59401f;border:1px solid #dab57e;border-radius:5px;font-size:15px;line-height:1.8;margin-top:16px}.submit-bar{position:relative;z-index:10;margin:23px -22px -24px;padding:14px 22px calc(17px + env(safe-area-inset-bottom));background:#12372eef;border-top:1px solid #bd9f6577;box-shadow:0 -8px 24px #12372e55}.submit-bar>div{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:11px}.submit-bar strong{font-size:14px;color:#eed6a5;flex:none}.submit-bar div>span{font-size:12px;color:#c4d2b9;line-height:1.6;text-align:right;overflow-wrap:anywhere}.submit-bar .primary{font-size:16px;justify-content:center}footer{display:flex;justify-content:space-between;gap:8px;margin:0 22px;padding:20px 0 24px;border-top:1px solid #c0a36e33;font-size:9px;color:#adc0a2;letter-spacing:.1em}.storage-banner{padding:13px 18px;background:#f3e2bf;color:#544329;font-size:14px;line-height:1.8}.storage-banner button{min-height:44px;padding:8px 13px;border:1px solid #8b744e;border-radius:4px;background:transparent;color:#514026;font-size:13px;margin-top:8px}.reveal-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:24px}.reveal-pair figure{background:var(--paper);border:1px solid #cbb17d;border-radius:6px;padding:7px;color:var(--ink);min-width:0}.reveal-pair img{height:165px;width:100%;object-fit:cover;object-position:center top;background:white}.reveal-pair figcaption{text-align:center;font-size:17px;line-height:1.7;padding:10px 0}.reveal-pair strong{display:block;font-size:12px;color:#74582a;margin-top:4px;font-weight:500}.key-rule{font:24px/1.65 serif;color:var(--gold);text-align:center;padding:20px 0;border-top:1px solid #b99a6055;border-bottom:1px solid #b99a6055;margin-top:25px}.explanation{margin-top:27px}.explanation h2{font-size:17px;color:#ead6ae}.explanation ol{list-style:none;counter-reset:reason;padding:0;margin:16px 0 0}.explanation li{position:relative;padding-left:29px;margin-top:15px;font-size:16px;line-height:1.85;color:#dce5d4}.explanation li:before{counter-increment:reason;content:counter(reason);position:absolute;left:0;top:5px;width:20px;height:20px;border:1px solid #8f9c7b;border-radius:50%;text-align:center;font-size:11px;line-height:19px;color:var(--gold)}.ending{margin:26px 0;padding:20px 17px;background:var(--deep);border-top:1px solid #ae8b51;border-bottom:1px solid #ae8b51}.ending small{font-size:11px;color:var(--gold);letter-spacing:.08em}.ending p{font-size:16px;line-height:1.9;margin-top:17px;color:#f0e6ce}.ending b{font-size:12px;color:var(--gold);font-weight:500}.saved-label,.saving{font-size:14px;line-height:1.8;color:#e8d4aa;padding:12px 0 18px}.save-failure{padding:16px;background:#f4e7ce;color:var(--ink);border-radius:6px}.save-failure strong{font-size:16px;line-height:1.8}.save-failure p{font-size:14px;line-height:1.8;margin:10px 0 17px}.collect-card{width:83%;margin:25px auto;background:var(--paper);color:var(--ink);border:5px double #b79960;border-radius:8px;padding:16px 15px 20px;box-shadow:0 5px 0 #0a2d22}.collect-card>small{display:block;font-size:10px;letter-spacing:.12em;color:#7a653f;padding-bottom:12px;border-bottom:1px solid #deceb0}.collect-card img{width:100%;height:248px;object-fit:cover;object-position:center top;background:white;margin-top:14px}.collect-card figcaption{text-align:center;margin-top:16px}.stars{color:#ad7b24;font-size:23px;letter-spacing:.07em;white-space:nowrap}.stars i{font-style:normal;color:#b0ad98}.collect-card h2{font:25px/1.5 serif;margin-top:8px}.collect-card p{font-size:13px;line-height:1.8;color:#66705b;margin-top:5px}.album-count{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:23px 0}.album-count strong{font:32px/1.3 Georgia,serif;color:var(--gold)}.album-count>span{font-size:12px;color:#c8d3be}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}.collection-item{min-width:0;background:var(--paper);color:var(--ink);border:1px solid #bda77c;border-radius:6px;padding:6px 5px 11px;text-align:center}.collection-item strong{display:block;font-size:14px;line-height:1.7;white-space:nowrap;letter-spacing:-.025em;margin-top:6px}.collection-item>span:last-child{font-size:11px;color:#5b6b52;line-height:1.8;display:block;margin-top:3px}.collection-item .stars{font-size:14px;letter-spacing:.02em}.collection-item.unlit{background:#c4cfb9;border-color:#a6b497}.collection-item.unlit .portrait{filter:grayscale(1);opacity:.55}.local-note{padding:16px;background:#0f3028;border-left:2px solid var(--gold);margin-top:25px}.local-note strong{font-size:14px;color:#e5d3aa}.local-note p{font-size:13px;line-height:1.8;color:#c5d2ba;margin-top:6px}.toast{position:fixed;z-index:50;left:50%;bottom:18px;transform:translateX(-50%);width:calc(100% - 36px);max-width:390px;border:1px solid #cfb27d;border-radius:6px;padding:14px 16px;background:#fff4d9;color:var(--ink);font-size:15px;line-height:1.7;box-shadow:0 5px 20px #0d2d2366;pointer-events:none}dialog{width:calc(100% - 28px);max-width:390px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #bda16b;border-radius:12px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 20px 70px #06271e66}dialog::backdrop{background:#06271ed6}.dialog-head{position:sticky;top:0;z-index:1;background:#fffaf0f7;display:flex;justify-content:space-between;align-items:center;gap:9px;padding:9px 11px 7px 20px;border-bottom:1px solid #ddceb1;font-size:12px;color:#647356}.close{display:grid;place-items:center;flex:none;width:44px;height:44px;background:transparent;border:0;border-radius:50%;color:var(--ink);font-size:28px;line-height:1}.dialog-body{padding:21px 21px 23px}.dialog-body h2{font:24px/1.5 serif}.dialog-body blockquote{font:650 23px/1.75 serif;padding:21px 0;margin:18px 0;border-top:1px solid #dacbae;border-bottom:1px solid #dacbae}.dialog-body .micro{color:#667459}.scope-button{min-height:44px;width:100%;border:1px solid #a9b496;border-radius:4px;background:#eeeedf;color:var(--ink);font-size:14px;padding:10px}.note-title{font-size:13px;color:#68775a;margin:23px 0 10px}.note-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.note-options button{min-height:44px;background:transparent;border:1px solid #b5bda5;border-radius:4px;color:var(--ink);font-size:14px;padding:8px 4px}.note-options button[aria-pressed=true]{background:#e8c789;border-color:#c6a366}.dialog-body>.primary{margin-top:21px}.dialog-body .quiet.dark{color:var(--ink)}.inventory-list{margin-top:22px}.inventory-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #d9ceb4;padding:10px 0;min-height:64px;font-size:15px}.inventory-list button{min-height:44px;border:1px solid #9eab8a;border-radius:4px;padding:9px 11px;color:var(--ink);background:#efeedf;font-size:13px}.inventory-list .micro{margin:0}.merge-art{margin:20px auto;width:68%;text-align:center;background:white;border:1px solid #ceb685;padding:9px 9px 15px;border-radius:5px}.merge-art img{height:166px;width:100%;object-fit:cover;object-position:center top}.merge-art .stars{display:block;margin-top:12px;font-size:21px}.cost-box{padding:15px;background:#eeebdc;border-radius:5px;font-size:16px;line-height:1.85}.cost-box small{display:block;font-size:12px;color:#667458;margin-top:8px}@media(max-width:350px){.screen{padding:23px 16px 22px}.topbar{padding:8px 14px}.brand{font-size:16px}.small-brand{font-size:12px}h1{font-size:29px}.game h1{font-size:24px}.cover{padding-right:12px;gap:11px}.cover img{height:195px}.cover>span{font-size:22px}.mission strong{font-size:16px}.rules{font-size:12px}.rules strong{font-size:13px}.nine-grid{gap:8px 7px}.portrait{height:70px}.guest strong{font-size:14px}.guest-note{font-size:9px}.collection-item strong{font-size:14px}.collection-item .stars{font-size:13px}.collection-item{padding-left:4px;padding-right:4px}.submit-bar{margin-left:-16px;margin-right:-16px;margin-bottom:-22px;padding-left:16px;padding-right:16px}.submit-bar .primary{font-size:16px}.reveal-pair{gap:10px}.reveal-pair img{height:150px}.reveal-pair figcaption{font-size:15px}.collect-card{width:87%;padding:14px 12px 18px}.collect-card img{height:225px}dialog{width:calc(100% - 24px)}.dialog-body{padding:19px 18px 22px}.dialog-body blockquote{font-size:22px}.dialog-body h2{font-size:23px}footer{margin-left:16px;margin-right:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.play-clock{margin:17px 0 0;padding:12px 13px;border:1px solid #8d9c7755;border-radius:6px;background:#103128;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.play-clock>div{display:flex;flex-direction:column;gap:5px}.play-clock [data-clock-kind]{font-size:11px;color:#c5d2bc}.play-clock strong{font-size:22px;font-variant-numeric:tabular-nums;color:var(--gold)}.play-clock [data-clock-counts]{font-size:12px;color:#dce4d4}.play-clock small{width:100%;font-size:12px;line-height:1.7;color:#eed3a0}.play-clock small:empty{display:none}.dialog-clock{padding:12px 18px 0;color:#665331;font-size:12px}.dialog-clock strong{font-variant-numeric:tabular-nums;margin-left:6px}.hint-tabs{display:flex;gap:9px}.hint-tabs button{min-height:44px;padding:8px 13px;border:1px solid #96805c;border-radius:4px;background:transparent;color:#58452b;font-size:13px}.hint-tabs [aria-pressed=true]{background:#173f36;color:#fffaf0}.score-card{background:#fff6e3;color:var(--ink);border:1px solid #cbb17d;border-radius:7px;padding:18px 17px;margin-top:22px}.score-card .eyebrow{color:#7d653a}.score-card h2{margin-top:9px}.score-card>strong,.replay-score>strong{display:block;font-size:30px;font-variant-numeric:tabular-nums;margin-top:10px}.score-card>span,.replay-score>span{display:block;font-size:14px;line-height:1.9;margin-top:7px}.score-card .micro{color:#6a7058}.score-card summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.replay-score{margin-top:15px;padding-top:13px;border-top:1px solid #c7b891}.replay-score h3{font-size:14px;margin:0}.replay-score>strong{font-size:24px}.restart-board{font-size:12px;margin-top:16px}
.onsite-chatter{padding:13px 14px;margin:18px 0;background:#e9e6d8;border-radius:5px}.onsite-chatter small{display:block;font-size:11px;color:#75684d}.onsite-chatter p{font-size:16px;line-height:1.8;color:#485643;margin-top:7px}.chat p.narration,.ending p.narration{font-size:13px;color:#c0cdb7;font-style:italic;line-height:1.8}
