
:root{--bg:#f4f2ea;--ink:#293a34;--green:#4f6958;--accent:#d7e5ac;--muted:#7c8378}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 'Microsoft YaHei',sans-serif}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:9px;background:var(--green);color:white;padding:15px 22px;transition:transform .2s}button:hover{transform:translateY(-2px)}button:disabled{opacity:.6;cursor:wait}input{min-width:0;border:1px solid #d4d8c9;border-radius:8px;background:#fcfcf6;padding:13px 16px;color:var(--ink)}input:focus{outline:2px solid #91a176}button:focus-visible,a:focus-visible{outline:3px solid #b69b43;outline-offset:4px}header{max-width:1280px;margin:auto;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd3}.logo{text-decoration:none;font-weight:bold;font-size:22px;color:inherit}.logo span{font-size:32px;color:var(--green);vertical-align:middle;margin-right:8px}.tiny,.eyebrow{font-size:11px;letter-spacing:3px;color:var(--muted)}.quiet{background:transparent;color:var(--green);padding:8px 0;border-radius:0}main{max-width:1120px;margin:auto;padding:65px 40px 24px}#lobby{position:relative;min-height:600px}h1{font:500 clamp(50px,6.8vw,86px)/1.25 'KaiTi','STKaiti',serif;letter-spacing:3px;margin:23px 0}h1>span{color:var(--green);position:relative}h1>span:after{content:'';position:absolute;background:var(--accent);bottom:3px;height:13px;left:0;right:0;z-index:-1}h1 i{font-style:normal;font-size:48px;display:inline-block;color:#8e9e66;transform:translate(20px,-30px)}.intro{color:var(--muted);line-height:2}.entry{width:340px;margin-top:26px}.entry label,form label{display:block;font-size:12px;margin-bottom:8px}.entry input{width:100%}.entry button{display:flex;width:100%;justify-content:space-between;margin-top:12px}.entry p{font-size:11px;text-align:center;color:var(--muted)}.orbit{position:absolute;right:0;top:50px;width:450px;height:440px;border:1px dashed #c4ccba;border-radius:50%;transform:rotate(-8deg)}.word{position:absolute;width:156px;height:160px;background:#fcfcf7;box-shadow:0 10px 35px #33452b0b;border:1px solid #dddccd;display:grid;place-content:center;text-align:center;border-radius:16px;font:32px 'KaiTi',serif;transform:rotate(8deg)}.w1{top:15px;left:10px}.w2{top:90px;right:-12px;transform:rotate(20deg);background:#ebe9df}.w3{bottom:10px;left:105px;background:var(--accent);z-index:2;transform:rotate(0deg)}.w3 span{display:block;font:11px/2 sans-serif;margin-top:12px;color:var(--green)}.orbCaption{position:absolute;bottom:-65px;width:100%;text-align:center;color:var(--muted);font-size:12px;letter-spacing:2px}.line{position:absolute;width:180px;height:210px;left:140px;top:110px;border-left:1px solid #aeb99e;border-bottom:1px solid #aeb99e;border-radius:0 0 0 100px}.footnote{display:flex;gap:28px;justify-content:center;margin:38px 0 15px;color:var(--muted);font-size:11px}.footnote i{font-style:normal}footer{display:flex;justify-content:space-between;max-width:1184px;margin:0 auto;padding:25px 24px;border-top:1px solid #dedfd3;font-size:11px;color:var(--muted)}#game{max-width:760px;margin:auto;min-height:600px}.game-top{display:flex;justify-content:space-between;align-items:center}.players{display:flex;justify-content:center;gap:60px;margin:30px 0}.player{text-align:center;font-size:12px}.avatar{width:48px;height:48px;border-radius:50%;background:#e5e9d7;display:grid;place-items:center;margin:auto auto 8px;font-size:22px}.player:last-child .avatar{background:#eaddcd}.player small{display:block;color:var(--muted)}.round{text-align:center}.round>span{font-size:11px;letter-spacing:3px;color:var(--muted)}h2{font:500 35px/1.5 'KaiTi',serif;margin:12px 0}.round p{color:var(--muted);font-size:13px}.reveal{display:flex;justify-content:center;align-items:center;gap:20px;margin:30px 0}.card{min-width:130px;max-width:45%;padding:26px 18px;text-align:center;background:#e9eddd;border-radius:15px;overflow-wrap:anywhere;font:26px 'KaiTi',serif}.card:last-child{background:#efe4d7}.reveal.win .card{background:var(--accent)}form{max-width:570px;margin:35px auto}.inputRow{display:flex;gap:10px}.inputRow input{flex:1;width:0}form small{display:block;margin-top:10px;color:var(--muted);font-size:11px}#next{display:block;margin:22px auto}#inviteBox{text-align:center;padding:20px;background:#eceee3;border-radius:12px}#inviteBox input{width:100%;font-size:12px}#timeline{margin:35px 0;border-top:1px solid #ddd;padding-top:20px}.history{display:flex;gap:15px;padding:10px 0;font-size:13px;overflow-wrap:anywhere}.history span{color:var(--muted);min-width:55px}#notice{color:#98633b;text-align:center;font-size:13px;min-height:24px}dialog{border:1px solid #d5dacb;border-radius:18px;background:var(--bg);color:var(--ink);padding:30px;max-width:480px;width:90%}dialog::backdrop{background:#24382a66}dialog small{color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){header{padding:18px 22px}.tiny{display:none}main{padding:36px 24px 16px}.orbit{position:relative;top:0;margin:55px auto 70px;width:290px;height:270px;right:auto}.word{width:112px;height:112px;font-size:26px}.w1{top:0;left:0}.w2{top:55px;right:-5px}.w3{left:65px;bottom:0}.orbCaption{bottom:-45px;font-size:10px}.line{height:140px;width:110px;left:85px;top:65px}.entry{width:100%;max-width:380px}h1{font-size:54px}h1 i{font-size:30px}.footnote{gap:9px;font-size:9px}.game-top{gap:12px}.eyebrow{letter-spacing:1px}.inputRow{flex-direction:column}.inputRow input{width:100%}.players{gap:42px}footer{font-size:10px;gap:20px}.card{min-width:100px;font-size:23px}.reveal{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

