:root{--ink:#e9eff5;--muted:#8ea6ba;--bg:#0a1522;--panel:#0e1e33;--field:#0a1a2e;--line:#96bad829;--accent:#7dd8c6;--accent-ink:#06231d;--coral:#ff9b78;--gold:#e6c07d}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 70% 0,#17476e 0,#0000 32rem),#010b18;margin:0;font-family:PingFang SC,Microsoft YaHei,sans-serif}body:has(.admin){background:var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,430px);min-height:100dvh;padding:0 12px calc(45px + env(safe-area-inset-bottom));background:linear-gradient(#08314ff0,#010b18 31%,#03152b);margin:auto;font-size:12px;line-height:1.5}@media (min-width:431px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.app-shell>header{justify-content:space-between;align-items:center;gap:6px;height:41px;display:flex}.brand{color:var(--ink);white-space:nowrap;background:0 0;border:0;align-items:baseline;gap:4px;font-family:Georgia,serif;font-size:17px;font-weight:700;display:flex}.brand span{font-family:PingFang SC,sans-serif;font-size:12px;font-weight:600}.header-actions{align-items:center;gap:4px;display:flex}.language-switch{border:1px solid var(--line);min-height:25px;color:var(--ink);background:0 0;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.language-switch:hover{border-color:var(--accent)}.share,.next{border:1px solid var(--line);min-height:25px;color:var(--accent);white-space:nowrap;background:0 0;border-radius:4px;padding:2px 7px;font-size:11px;transition:border-color .15s}.share:hover,.next:hover{border-color:#7dd8c673}.notice{z-index:6;color:#c9e8df;background:#0c2436;border:1px solid #7dd8c659;border-radius:5px;justify-content:space-between;gap:8px;width:min(100% - 24px,406px);padding:6px 8px;font-size:12px;display:flex;position:fixed;top:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.notice button{color:inherit;background:0 0;border:0;font-size:18px}.play{height:calc(100dvh - 86px - env(safe-area-inset-bottom));flex-direction:column;display:flex}html.keyboard-open,html.keyboard-open body{overflow:hidden}.keyboard-open .app-shell{top:var(--vv-top,0px);height:var(--vvh);min-height:0;padding-bottom:38px;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.keyboard-open .play{height:calc(100% - 41px);min-height:0}.keyboard-open .hero{max-height:30%}.keyboard-open .hint-float{max-height:20%;overflow-y:auto}.keyboard-open nav{height:38px;padding-bottom:0;position:absolute;bottom:0}.hero{border:1px solid var(--line);background:radial-gradient(circle at 85% 14%,#ffe7a3 0 7%,#0000 7.3%),radial-gradient(at 85% 18%,#497fa8 0,#0000 30%),linear-gradient(150deg,#0d426d,#052747);border-radius:5px;flex-direction:column;flex:0 auto;min-height:0;max-height:30dvh;padding:9px 10px 10px;display:flex;position:relative;overflow:hidden}.hero>*{z-index:1;position:relative}.hero:after{content:"🐢";z-index:0;pointer-events:none;opacity:.25;font-size:47px;position:absolute;bottom:-7px;right:9px;transform:rotate(-9deg)}.hero p{color:var(--accent);letter-spacing:.4px;margin:0 0 3px;font-size:10px}.hero h1{margin:0 0 5px;font-size:16px;font-weight:700;line-height:1.3}.story{overscroll-behavior:contain;color:#dce8f2;flex:0 auto;max-width:400px;min-height:0;font-size:12px;line-height:1.62;overflow-y:auto}.story::-webkit-scrollbar{width:4px}.story::-webkit-scrollbar-thumb{background:#dce8f259;border-radius:2px}.chat{overscroll-behavior:contain;flex-direction:column;flex:1;gap:7px;min-height:0;padding:7px 0 6px;display:flex;overflow-y:auto}.chat::-webkit-scrollbar{width:4px}.chat::-webkit-scrollbar-thumb{background:#96bad840;border-radius:2px}.host-intro,.jev-reply{color:var(--muted);align-items:flex-start;gap:6px;font-size:12px;display:flex}.avatar{background:#10486d;border:1px solid #89f1e559;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:15px;display:grid}.host-intro p{border:1px solid var(--line);background:var(--panel);border-radius:2px 6px 6px;max-width:260px;margin:0;padding:6px 8px;line-height:1.55}.bubble{border-radius:6px 6px 2px;max-width:86%;padding:7px 8px;font-size:12px;line-height:1.55}.user{color:var(--accent-ink);background:var(--accent);align-self:flex-end;font-weight:500}.jev-reply>em{font-style:normal}.reply-head{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.reply-head b{font-size:12px}.reply-head small{color:var(--muted);font-size:10px}.reply-body p{margin:6px 0 0;line-height:1.6}.verdict{border:1px solid;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600}.verdict.是{color:#ffb391;background:#ff9b7814;border-color:#ff9b7873}.verdict.否{color:#8fe0d0;background:#7dd8c614;border-color:#7dd8c673}.verdict.无关{color:#a9c8ec;background:#a9c8ec14;border-color:#a9c8ec66}.verdict.无法确定{color:#cabdef;background:#cabdef14;border-color:#cabdef66}.verdict.Yes{color:#ffb391;background:#ff9b7814;border-color:#ff9b7873}.verdict.No{color:#8fe0d0;background:#7dd8c614;border-color:#7dd8c673}.verdict.Irrelevant{color:#a9c8ec;background:#a9c8ec14;border-color:#a9c8ec66}.verdict.Uncertain{color:#cabdef;background:#cabdef14;border-color:#cabdef66}.answer{color:#f0dcb0;background:#e6c07d0f;border:1px solid #e6c07d59;border-radius:5px;padding:8px 9px;font-size:12px;line-height:1.65}.answer b{color:var(--gold)}.answer p{margin:6px 0 0}.hint-float{background:#7dd8c60f;border:1px solid #7dd8c64d;border-radius:5px;flex:none;margin-top:4px;padding:7px 8px}.hint-float-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.hint-float-head b{color:var(--accent);font-size:11px}.hint-arrows{gap:6px;display:flex}.hint-arrows button{border:1px solid var(--line);color:var(--accent);background:0 0;border-radius:4px;padding:0 6px;font-size:13px;line-height:1.4}.hint-arrows button:disabled{opacity:.3;cursor:default}.hint-float p{color:#d6efe8;margin:4px 0 0;line-height:1.5}.ask{border:1px solid var(--line);background:var(--panel);border-radius:5px;flex:none;gap:4px;margin-top:4px;padding:3px;display:flex}.ask:focus-within{border-color:#7dd8c680}.ask input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0 6px;font-size:12px}.ask input::placeholder{color:#63809a}.ask button{background:var(--accent);min-height:26px;color:var(--accent-ink);border:0;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:600}.ask button:disabled{opacity:.55}.actions{flex:none;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px;display:grid}.actions button{border:1px solid #0000;border-radius:4px;min-height:27px;padding:3px 5px;font-size:11px;font-weight:700}.actions button:first-child{color:#e6c07d;background:0 0;border-color:#e6c07d73}.actions button:nth-child(2){color:#a9c8ec;background:0 0;border-color:#a9c8ec73}.actions button:last-child{color:#ff9b78;background:0 0;border-color:#ff9b7873}.actions button:disabled{opacity:1;cursor:default}.modal{z-index:5;background:#020911b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:min(100%,300px);padding:16px}.modal-card p{margin:0 0 14px;font-size:13px;line-height:1.6}.modal-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-actions button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;padding:6px;font-weight:600}.modal-actions .confirm{background:var(--coral);color:#33150c;border:0}.solve-panel{background:var(--panel);border:1px solid #ff9b784d;border-radius:5px;flex-direction:column;flex:1;min-height:0;margin-top:5px;display:flex}.solve-top{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.solve-top b{color:var(--coral);font-size:12px}.solve-top button{border:1px solid var(--line);min-height:24px;color:var(--accent);background:0 0;border-radius:4px;padding:2px 6px;font-size:11px}.solve-top button:hover{border-color:#7dd8c673}.model-choice{color:var(--accent);flex:none;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.model-choice input{width:18px;height:18px;accent-color:var(--accent);margin:0}.solve-thread{overscroll-behavior:contain;flex-direction:column;flex:1;gap:7px;min-height:0;padding:8px;display:flex;overflow-y:auto}.solve-thread::-webkit-scrollbar{width:4px}.solve-thread::-webkit-scrollbar-thumb{background:#96bad840;border-radius:2px}.solve-intro{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.solve-failed{color:#e0a9a0;font-size:12px;line-height:1.6}.solve-judging{color:var(--muted);font-size:12px}.outcome{border:1px solid;border-radius:5px;gap:3px;margin-top:8px;padding:8px 9px;display:grid}.outcome b{font-size:13px}.outcome span{opacity:.75;font-size:10px}.outcome p{margin:3px 0 0;font-size:12px}.outcome.破解成功{color:#8ce0c4;background:#8ce0c40f;border-color:#8ce0c459}.outcome.接近真相{color:#ecc784;background:#ecc7840f;border-color:#ecc78459}.outcome.还没猜对{color:#e0a9a0;background:#e0a9a00d;border-color:#e0a9a059}.outcome.无法确定{color:#cabdef;background:#cabdef0d;border-color:#cabdef59}.outcome.Solved{color:#8ce0c4;background:#8ce0c40f;border-color:#8ce0c459}.outcome.Close{color:#ecc784;background:#ecc7840f;border-color:#ecc78459}.outcome.Not-yet{color:#e0a9a0;background:#e0a9a00d;border-color:#e0a9a059}.outcome.Uncertain{color:#cabdef;background:#cabdef0d;border-color:#cabdef59}.library,.creator{padding-top:12px}.library h1,.creator h1{margin:0 0 4px;font-size:17px}.library>p,.creator>p{color:var(--muted);margin:0 0 11px;font-size:11px;line-height:1.5}.soup-row{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);text-align:left;border-radius:5px;margin-bottom:6px;padding:9px;transition:border-color .15s;display:block}.soup-row:hover{border-color:#7dd8c666}.soup-row span{margin-bottom:3px;font-size:12px;font-weight:600;display:block}.soup-row small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.5;display:block;overflow:hidden}.soup-state{color:var(--gold);vertical-align:middle;border:1px solid #e6c07d66;border-radius:4px;margin-left:6px;padding:1px 4px;font-size:10px;font-style:normal;display:inline-block}.soup-state.solved{color:var(--accent);border-color:#7dd8c673}.progress-page{padding-top:12px}.progress-page h1{margin:0 0 11px;font-size:17px}.progress-numbers{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.progress-numbers div{background:var(--panel);justify-items:center;gap:2px;padding:9px 2px;display:grid}.progress-numbers strong{color:var(--accent);font-size:19px;line-height:1.1}.progress-numbers span{color:var(--muted);font-size:10px}.progress-caption{color:var(--muted);margin:14px 0 22px;font-size:13px}.progress-empty{color:var(--muted);font-size:11px;line-height:1.6}.progress-list{padding-bottom:18px}.creator form{gap:10px;display:grid}.creator label{color:var(--muted);gap:4px;font-size:11px;display:grid}.creator input,.creator textarea{border:1px solid var(--line);resize:vertical;background:var(--field);width:100%;color:var(--ink);border-radius:5px;outline:none;font-size:12px;line-height:1.55}.creator input{height:31px;padding:0 8px}.creator textarea{padding:8px}.creator input:focus,.creator textarea:focus{border-color:#7dd8c680}.creator textarea{min-height:64px}.creator form button{background:var(--accent);min-height:34px;color:var(--accent-ink);border:0;border-radius:5px;margin-top:5px;padding:6px;font-weight:600}nav{z-index:2;width:min(100%,430px);height:calc(38px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1522f7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button,nav a{color:var(--muted);background:0 0;border:0;font-size:12px}nav a{color:var(--accent);place-items:center;text-decoration:none;display:grid}nav button.active{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent);font-weight:600}.admin{width:min(100% - 40px,900px);color:var(--ink);margin:0 auto;padding:56px 0}.admin>header{gap:12px;height:auto}.admin h1{margin:0 0 6px;font-size:26px}.admin>p{color:var(--muted)}.admin-tabs{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.admin-tabs button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--muted);cursor:pointer;border-radius:6px;padding:7px 12px}.admin-tabs button.active{border-color:var(--accent);color:var(--accent)}.admin article footer button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:5px;padding:10px 14px;font-weight:600}.admin-message{color:#c9e8df;background:#7dd8c612;border:1px solid #7dd8c64d;border-radius:5px;padding:9px 12px}.admin article{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:12px 0;padding:18px 20px}.admin article header{justify-content:space-between;height:auto;display:flex}.admin article header span{color:var(--muted);font-size:13px}.admin article h2{color:var(--accent);margin:14px 0 4px;font-size:13px}.admin article p{white-space:pre-wrap;margin:0;line-height:1.7}.admin article footer{gap:8px;margin-top:18px;display:flex}.admin .reject{color:var(--gold);background:0 0;border:1px solid #e6c07d66}.admin .delete{color:#e0a9a0;background:0 0;border:1px solid #e0a9a066}@media (max-width:520px){.admin article footer{flex-direction:column}.admin article header{flex-direction:column;align-items:flex-start;gap:5px}}
