:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#f2ead9;background:#081713;font-synthesis:none;--ink:#f2ead9;--muted:#aab9ae;--gold:#e2bf7b;--gold-soft:#ad905c;--wine:#a94f59;--line:rgba(226,191,123,.22);--surface:#10231d;--serif:'Songti SC','STSong','Noto Serif CJK SC','Source Han Serif SC',Georgia,serif}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100svh;background:radial-gradient(circle at 50% -30%,#315142 0,#081713 56%)}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E")}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.shell{width:min(1160px,100%);min-height:100svh;margin:auto;display:flex;flex-direction:column;border-inline:1px solid rgba(226,191,123,.13);background:linear-gradient(150deg,rgba(27,52,41,.85),rgba(7,23,18,.96) 38%,rgba(7,20,17,.98));box-shadow:0 0 110px #0008}.brand{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px clamp(20px,5vw,62px);border-bottom:1px solid var(--line);color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.24em}.brand a{text-decoration:none;white-space:nowrap}.brand b{color:var(--ink)}.brand span{color:#90a293;font-size:9px;letter-spacing:.18em;text-align:right}main{flex:1;width:100%;padding:clamp(30px,5vw,68px) clamp(20px,5vw,62px) 80px}footer{display:flex;justify-content:space-between;gap:24px;padding:22px clamp(20px,5vw,62px);border-top:1px solid var(--line);color:#8da396;font-size:11px;line-height:1.5}footer a{color:var(--gold);font-weight:800;letter-spacing:.1em;text-decoration:none;white-space:nowrap}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600}h1{font-size:clamp(70px,11vw,142px);line-height:.98;letter-spacing:-.08em}h2{font-size:clamp(39px,6vw,68px);line-height:1.13;letter-spacing:-.06em}h3{font-size:clamp(22px,3vw,32px);line-height:1.25}p{line-height:1.7}.eyebrow,.small-label{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}.eyebrow::before{content:'';width:30px;height:1px;background:var(--gold)}.lede{color:var(--ink);font-family:var(--serif);font-size:clamp(20px,2.5vw,27px);line-height:1.55}.muted{color:var(--muted);font-size:14px}.small{font-size:12px}.page{animation:arrive .38s ease-out both}.page>h2{max-width:840px;margin:0 0 24px}.intro{color:var(--muted);max-width:680px;margin:-10px 0 30px}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(18px,4vw,60px);min-height:500px;padding-bottom:50px;border-bottom:1px solid var(--line)}.hero h1{margin:0 0 26px;text-shadow:0 12px 32px #0004}.hero .muted{margin-top:15px;max-width:470px}.hero .actions{margin-top:35px}.hero-art{position:relative;min-height:430px;display:grid;place-items:center;isolation:isolate}.hero-art::before{content:'';position:absolute;width:min(100%,440px);aspect-ratio:1;border:1px solid rgba(226,191,123,.18);border-radius:50%;box-shadow:0 0 0 30px rgba(226,191,123,.025),0 0 100px #a94f5933}.hero-art svg{position:relative;z-index:1;width:min(100%,480px);filter:drop-shadow(0 25px 30px #0006)}.art-caption{position:absolute;z-index:2;bottom:15px;color:var(--gold-soft);font-size:10px;letter-spacing:.22em;text-transform:uppercase}.home-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin-top:34px}.home-note{padding:27px 30px;border-left:2px solid var(--wine);background:#a94f5914}.home-note b{display:block;margin-bottom:8px;font-family:var(--serif);font-size:20px}.home-note p{color:var(--muted);font-size:14px}.home-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px}.text-link{color:var(--gold);font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link:hover{color:#f9daa1}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:27px 0 0}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:12px 22px;border:1px solid rgba(226,191,123,.46);border-radius:3px;background:transparent;color:var(--ink);font-size:14px;font-weight:800;line-height:1.3;text-align:center;text-decoration:none;transition:border-color .18s,background .18s,color .18s,transform .18s}.btn:hover{border-color:var(--gold);background:#e2bf7b16;transform:translateY(-2px)}.btn.primary{background:var(--gold);border-color:var(--gold);color:#14231c}.btn.primary:hover{background:#f1d49b}.btn.accent{background:var(--wine);border-color:var(--wine);color:#fff8eb}.btn.accent:hover{background:#c36870}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.small{min-height:38px;padding:7px 12px;font-size:12px}.action-primary{min-width:190px}
.panel{margin:20px 0;padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:4px;background:linear-gradient(145deg,rgba(31,55,44,.88),rgba(15,36,28,.86));box-shadow:0 18px 45px #0002}.panel.dark{background:linear-gradient(145deg,#213c30,#122b22);border-color:rgba(226,191,123,.38)}.panel.warn{background:linear-gradient(145deg,#4a222a,#281c21);border-color:#a94f5988}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}.panel-heading b{font-family:var(--serif);font-size:22px;font-weight:600}.panel-heading span{color:var(--muted);font-size:12px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);align-items:start;gap:clamp(20px,4vw,42px)}.content-grid>*{min-width:0}.form-panel{max-width:680px}.form-panel label{display:block;margin-bottom:18px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.12em}.field{display:block;width:100%;min-height:52px;margin:10px 0 0;padding:12px 15px;border:1px solid rgba(226,191,123,.35);border-radius:3px;background:#081b15;color:var(--ink);outline:none}.field::placeholder{color:#768c7e}.field:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e2bf7b22}.field option{color:var(--ink);background:#10231d}input[type='checkbox']{width:20px;height:20px;accent-color:var(--gold)}
.invite-panel{position:relative;overflow:hidden}.invite-panel::after{content:'T W';position:absolute;top:14px;right:20px;color:#e2bf7b13;font-family:var(--serif);font-size:88px;pointer-events:none}.code{color:var(--gold);font-family:Georgia,serif;font-size:clamp(42px,6vw,64px);letter-spacing:.18em;font-weight:500;line-height:1.2}.linkcopy{max-width:100%;overflow-wrap:anywhere;color:var(--muted);font-size:12px}.invite-qr{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:22px;margin-top:22px}.qr{width:122px;height:122px;padding:8px;background:#f2ead9;border:1px solid var(--gold);image-rendering:pixelated}.row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row>*{min-width:0}.row strong{display:inline-block;font-size:15px;overflow-wrap:anywhere}.row-status{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-align:right}.row-status.ready{color:var(--gold)}.tag{display:inline-block;margin-left:6px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.setting{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;color:var(--ink);font-size:14px}.setting .field{width:min(270px,60%);margin:0}.setting+.setting{border-top:1px solid var(--line)}.rule-note{margin-top:18px;color:var(--muted);font-size:12px}.rules{background:#0b1c17;box-shadow:none}.rules summary{color:var(--gold);cursor:pointer;font-size:14px;font-weight:800}.rules ol{color:var(--muted);padding-left:20px;margin:18px 0 0;font-size:13px}.rules li{padding-left:4px;margin:8px 0;line-height:1.65}
.invite-panel::after{display:none}.row{flex-wrap:wrap}.row-status{white-space:nowrap}
.round-progress{display:flex;gap:7px;margin:2px 0 28px}.round-progress span{height:3px;flex:1;background:#637b6944}.round-progress span.done{background:var(--gold-soft)}.round-progress span.current{background:var(--gold);box-shadow:0 0 14px #e2bf7b88}.timer-stage{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 30px;margin:24px 0;border:1px solid rgba(226,191,123,.32);background:radial-gradient(circle at 90% 20%,#e2bf7b12,transparent 50%),#10251d}.timer-label{color:var(--gold);font-size:11px;letter-spacing:.15em;font-weight:800}.timer{color:var(--gold);font-family:Georgia,serif;font-size:clamp(78px,13vw,140px);font-weight:400;letter-spacing:-.07em;line-height:1;font-variant-numeric:tabular-nums}.timer-unit{color:var(--muted);font-size:13px}.seat-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:99px;color:var(--ink);font-size:12px;font-weight:700;overflow-wrap:anywhere}
.target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.target{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:78px;padding:15px 19px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);text-align:left;transition:border-color .18s,background .18s,transform .18s}.target:hover:not(:disabled){border-color:var(--gold);background:#1a3529;transform:translateY(-2px)}.target b{font-family:var(--serif);font-size:21px;font-weight:600;overflow-wrap:anywhere}.target small{max-width:110px;color:var(--muted);font-size:11px;line-height:1.4;text-align:right}.target.selected{border-color:var(--gold);background:#43392a;box-shadow:inset 0 0 0 1px var(--gold),0 0 30px #e2bf7b17;animation:choose .25s ease-out}.target.selected small{color:var(--gold)}.target:disabled{opacity:.45;cursor:not-allowed}.target:disabled:hover{transform:none}.choice-note{margin:0 0 18px;color:var(--muted);font-size:12px}.choice-action{display:flex;justify-content:flex-end;margin:20px 0 0}.choice-action .btn{min-width:min(100%,290px)}.status-panel{max-width:760px}.status-panel b{color:var(--gold);font-family:var(--serif);font-size:24px;font-weight:600}.status-panel p{margin-top:10px}
.relations{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin:18px 0 26px}.relation{display:contents}.relation span{min-width:0;padding:12px 14px;border:1px solid var(--line);background:#0c1d17;font-size:14px;overflow-wrap:anywhere}.relation i{display:grid;place-items:center;min-width:42px;color:var(--gold);font-style:normal;font-size:22px}.relation.mutual span{border-color:var(--gold-soft);background:#352f25}.relation.mutual i{color:#f5d69d}.pair{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;margin:9px 0;border-left:2px solid var(--gold);background:#e2bf7b13;font-family:var(--serif);font-size:18px;overflow-wrap:anywhere}.pair small{color:var(--gold);white-space:nowrap}.incident{color:#ffbbc0;font-family:var(--serif);font-size:clamp(26px,4vw,42px);line-height:1.35;white-space:pre-line}.score-table .row strong{color:var(--gold);font-family:Georgia,serif;font-size:24px}.score-table small{color:var(--muted);font-size:11px}.winner-panel{position:relative;overflow:hidden;min-height:210px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at right top,#e2bf7b25,transparent 42%),linear-gradient(130deg,#334331,#17281f)}.winner-panel::after{content:'✦';position:absolute;top:-35px;right:28px;color:#e2bf7b26;font-size:180px;line-height:1}.winner-panel h2{position:relative;z-index:1;margin:10px 0 0;color:#f6e2b6;overflow-wrap:anywhere}.standing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:16px 0;border-bottom:1px solid var(--line)}.standing:last-of-type{border-bottom:0}.standing strong{min-width:0;font-family:var(--serif);font-size:22px;overflow-wrap:anywhere}.standing b{color:var(--gold);font-family:Georgia,serif;font-size:23px}.standing small{grid-column:1/-1;color:var(--muted)}.score-detail{padding:0 0 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.55}.export{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:13px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.demo-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);text-align:left}.demo-card:hover,.demo-card.selected{border-color:var(--gold);background:#27382c}.demo-card b{font-family:var(--serif);font-size:19px;font-weight:600}.demo-card small{color:var(--gold-soft);font-size:11px}.demo-result{margin-top:28px}.demo-round{padding:18px 0;border-top:1px solid var(--line)}.demo-round h3{margin-bottom:10px}.demo-round p{color:var(--muted);font-size:13px}.demo-round p+p{margin-top:5px}.error{max-width:680px;margin:20px 0;padding:14px 16px;border:1px solid #d07779;background:#5b252b;color:#ffe5df;font-size:13px}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes choose{from{transform:scale(.985)}to{transform:scale(1)}}
@media(max-width:760px){.brand span{display:none}.hero{grid-template-columns:1fr;gap:0;min-height:0;padding-bottom:34px}.hero-art{grid-row:1;min-height:260px;margin:-18px auto 12px;width:min(100%,360px)}.hero-art svg{width:min(100%,310px)}.art-caption{bottom:-3px}.hero h1{font-size:clamp(70px,18vw,110px)}.home-bottom,.content-grid{grid-template-columns:1fr}.home-links{justify-content:flex-start}.content-grid{gap:0}.target-grid{grid-template-columns:1fr}}
@media(max-width:480px){main{padding:30px 18px 56px}.brand,footer{padding-inline:18px}.brand{font-size:10px}footer{display:block}footer span{display:block;margin-top:8px}h2{font-size:39px}.hero-art{min-height:230px}.hero-art svg{width:280px}.hero .actions .btn{flex:1}.home-note{padding:22px}.actions{gap:9px}.actions .btn{min-width:0}.code{font-size:clamp(37px,10vw,52px)}.row{align-items:flex-start}.row-status{flex-wrap:wrap}.setting{align-items:flex-start;flex-direction:column}.setting .field{width:100%}.timer-stage{padding:19px 21px}.timer{font-size:85px}.choice-action .btn{width:100%}.relations{gap:5px;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.relation span{padding:10px 8px;font-size:12px}.relation i{min-width:26px;font-size:16px}.grid2{grid-template-columns:1fr}}
@media(max-width:360px){.target{align-items:flex-start;flex-direction:column;gap:5px}.target small{max-width:none;text-align:left}.target b{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
