@charset "UTF-8";
:root{--ink:#214d40;--ink-dark:#183b32;--paper:#fbf8ee;--ground:#eee9dd;--line:#dedccb;--muted:#686f60;--red:#af4f36;--gold:#967032;--soft-green:#e8eee5;--soft-red:#f8eae0;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--ground);font-family:var(--sans);color:var(--ink-dark);font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cf9151;outline-offset:3px}button{border:0;background:none}a{color:var(--ink)}svg{display:inline-block;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}button,select{min-height:44px}button:hover:not(:disabled){filter:brightness(.96)}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:600}.workspace-header{height:84px;padding:0 34px;border-bottom:1px solid #d6d5c5;display:flex;align-items:center;justify-content:space-between;background:#f4f1e8;gap:20px}.brand{display:flex;gap:12px;align-items:center}.brand-seal{height:42px;width:42px;display:grid;place-items:center;border:1px solid var(--ink);font:26px var(--serif);border-radius:6px}.brand h1{font:600 24px var(--serif);letter-spacing:2px}.brand p{font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:1px}.header-actions{display:flex;gap:10px}.ghost-button{border:1px solid #cccdbb;border-radius:7px;padding:0 16px;background:#faf8f1;font-size:12px}.role-nav{display:flex;gap:4px;padding:15px 34px 0;align-items:center}.role-button{padding:0 22px;border-radius:7px;font-weight:600;white-space:nowrap}.role-button.active{background:var(--ink);color:var(--paper)}.role-nav .annotation{margin-left:auto;font-size:11px;color:var(--muted)}.workspace{display:grid;grid-template-columns:225px minmax(420px,1fr) 300px;gap:26px;max-width:1440px;margin:24px auto;padding:0 34px 40px}.sidebar{border-right:1px solid #d5d4c5;padding-right:16px}.sidebar-heading{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin:8px 0 15px}.screen-link{width:100%;text-align:left;display:flex;gap:10px;align-items:center;border-radius:6px;font-size:12px;padding:7px 11px;min-height:39px;margin-bottom:3px}.screen-link .num{font-size:10px;color:#868b78;font-variant-numeric:tabular-nums;min-width:19px}.screen-link.active{background:#dce6dc;color:var(--ink);font-weight:600}.side-note{font-size:11px;line-height:1.85;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:19px}.preview-column{min-width:0;display:flex;align-items:center;flex-direction:column}.preview-caption{width:390px;display:flex;justify-content:space-between;margin-bottom:13px;font-size:11px;color:var(--muted)}.preview-caption b{font-size:13px;color:var(--ink)}.phone{width:390px;height:810px;border:7px solid var(--ink-dark);border-radius:37px;background:var(--paper);overflow:hidden;box-shadow:0 24px 45px -30px #163c325c;position:relative;display:flex;flex-direction:column}.statusbar{height:33px;flex-shrink:0;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:10px;font-weight:600}.native-nav{height:47px;flex-shrink:0;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:50px 1fr 76px;align-items:center;padding:0 12px;border-bottom:1px solid #729274}.native-nav h2{text-align:center;font-size:16px;font-weight:500;letter-spacing:1px}.nav-back{min-height:36px;width:35px;padding:4px}.capsule{display:flex;align-items:center;justify-content:space-between;width:69px;height:27px;border:1px solid #ffffff36;border-radius:24px;padding:0 9px;font-size:12px}.capsule span:last-child{border-left:1px solid #ffffff36;padding-left:8px;font-size:14px}.phone-scroll{overflow:auto;flex:1;scrollbar-width:thin}.phone-content{padding:24px 21px 28px}.phone-content h2{font:600 26px/1.4 var(--serif);margin-top:8px}.intro{font-size:12px;line-height:1.8;color:var(--muted);margin-top:9px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px}.section-heading h3{font:600 19px var(--serif)}.section-heading span{font-size:11px;color:var(--muted)}.paper-box{border:1px solid var(--line);background:#fffdf5;border-radius:12px;padding:16px;margin-top:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-start{display:flex;align-items:center;gap:12px}.stack{display:flex;flex-direction:column;gap:5px}.primary,.secondary,.danger{width:100%;border-radius:9px;min-height:48px;font-size:14px;font-weight:600;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--ink);color:var(--paper)}.secondary{background:#fffdf5;border:1px solid #c8ceba;color:var(--ink)}.danger{border:1px solid #d1a998;color:var(--red);background:#fff8f2}.button-row{display:flex;gap:9px;margin-top:16px}.button-row>*{flex:1}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:40px;padding:3px}.action-space{margin-top:22px}.tag{font-size:10px;line-height:1.5;padding:4px 8px;background:var(--soft-green);color:var(--ink);border-radius:5px;white-space:nowrap}.tag.gold{background:#f4ecd8;color:#805b26}.tag.red{background:var(--soft-red);color:var(--red)}.notice{padding:12px 13px;background:#eeefe3;border-left:3px solid #8c9c76;border-radius:0 7px 7px 0;color:#59624e;font-size:11px;line-height:1.85;margin-top:16px}.notice.warn{border-color:var(--red);background:#f8ede3;color:#8b4e37}.icon-button{width:44px;min-height:44px;display:grid;place-items:center;border-radius:7px}.avatar{width:39px;height:39px;display:grid;place-items:center;background:#e4e8d9;color:#385b42;font:19px var(--serif);border-radius:50%;flex-shrink:0;border:1px solid #d1d8c2}.avatar.alt{background:#f1e6d3;color:#94654a}.money{font:600 29px/1.15 var(--serif);color:var(--gold);font-variant-numeric:tabular-nums}.coin-inline{display:inline-flex;gap:6px;align-items:center;color:var(--gold);font-weight:600}.balance-label{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.hero-illustration{height:174px;background:#e5eade;border-radius:12px;margin:20px 0;overflow:hidden;position:relative}.hero-illustration svg{width:100%;height:100%}.hero-copy{position:absolute;top:24px;left:21px}.hero-copy h3{font:600 25px/1.5 var(--serif)}.hero-copy p{font-size:11px;color:#647b58;margin-top:10px}.room-card{display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fffdf5;text-align:left;margin:12px 0}.room-card h3{font:600 20px var(--serif);margin:0 0 7px}.room-card .row{margin-top:13px;font-size:11px;color:var(--muted)}.room-card .row:first-child{margin:0}.room-card .room-line{font-size:11px;color:var(--muted);margin-top:9px}.tabbar{height:65px;flex-shrink:0;display:flex;background:#fdfaf2;border-top:1px solid var(--line);padding:5px 8px 10px}.tabbar button{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:10px;color:#858a77}.tabbar button.active{color:var(--ink)}.bottom-actions{flex-shrink:0;padding:13px 20px 19px;border-top:1px solid var(--line);background:#faf8ef;display:flex;gap:10px}.bottom-actions .secondary{flex:0 0 87px}.bottom-actions .primary{flex:1}.login-art{height:255px;margin:-24px -21px 23px;background:var(--ink);position:relative;overflow:hidden;color:var(--paper)}.login-art>svg{width:100%;height:100%}.login-art .login-title{position:absolute;left:27px;top:44px}.login-title .seal{border:1px solid #d5c895;padding:8px;display:inline-block;font:15px var(--serif);color:#e4d7ab;margin-bottom:18px}.login-title h2{font:600 36px/1.35 var(--serif);letter-spacing:5px;color:var(--paper)}.login-title p{font-size:12px;color:#ced5bd;margin-top:16px}.check-line{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.9;margin:18px 0}.check-line input{accent-color:var(--ink);margin-top:4px;width:16px;height:16px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:20px 0}.metrics>div{text-align:center;border-right:1px solid var(--line)}.metrics>div:last-child{border-right:0}.metrics b{font:600 24px var(--serif);font-variant-numeric:tabular-nums}.metrics span{display:block;color:var(--muted);font-size:10px;margin-top:7px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 0;border-bottom:1px solid #e7e6d9;font-size:12px;line-height:1.6}.detail-row:last-child{border-bottom:0}.detail-row>span{color:var(--muted)}.detail-row b{font-weight:500;text-align:right;max-width:65%}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:20px 0}.person{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:10px}.person .avatar{width:45px;height:45px}.big-center{text-align:center;margin:27px 0}.big-center h3{font:600 29px var(--serif);margin:15px 0 9px}.big-center p{font-size:12px;line-height:1.9;color:var(--muted)}.count-large{font:600 59px var(--serif);line-height:1.2;letter-spacing:-1px}.count-large small{font:18px var(--sans);color:var(--muted);margin-left:8px}.progress-track{height:5px;background:#dde3d4;border-radius:4px;overflow:hidden;margin-top:17px}.progress-track div{height:100%;background:#719262}.rule-step{display:flex;gap:13px;margin:19px 0}.rule-num{font:18px var(--serif);color:var(--gold);width:27px;flex-shrink:0}.rule-step h3{font-size:14px;margin-bottom:7px}.rule-step p{font-size:12px;line-height:1.9;color:var(--muted)}.game-top{background:var(--ink);color:#fcf8e9;margin:-24px -21px 0;padding:20px 21px 23px}.game-top .eyebrow{color:#b6c4a5}.game-top .room-name{font:600 22px var(--serif);margin-top:6px}.game-top .timer{font-size:31px;font-variant-numeric:tabular-nums;letter-spacing:1px;font-weight:600;line-height:1.2}.game-top .sub{font-size:10px;opacity:.72;margin-top:7px}.game-score{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.game-score .money{font-size:28px}.game-score .tiny{margin-top:5px}.hand-label{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.hand-label h3{font:600 21px var(--serif)}.hand-label span{font-size:10px;color:var(--muted)}.poem-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 12px;border:1px solid #dddccb;background:#fffdf5;border-radius:9px;margin-bottom:10px;min-height:63px;position:relative}.poem-card .slot{font-size:11px;font-variant-numeric:tabular-nums;color:#8a876d;align-self:flex-start;margin-top:4px}.poem-card .verse{font:600 20px/1.45 var(--serif);letter-spacing:2px;flex:1;min-width:0}.poem-card .mark{width:20px;height:20px;border:1px solid #c7cdb9;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.poem-card.selected{background:#eaf0e5;border:1.5px solid #426c50;padding:12.5px 11.5px}.poem-card.selected .mark{background:var(--ink);color:#fff;border-color:var(--ink)}.poem-card .meta{display:block;font:10px var(--sans);color:var(--muted);letter-spacing:0;margin-top:5px}.poem-card.hidden-card .verse{font-size:16px;font-weight:400;color:#7b816e;letter-spacing:1px}.visibility-bar{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:11px 0 18px;gap:6px}.visibility-bar button{font-size:11px;min-height:36px;border:1px solid #d5d8c6;border-radius:6px;padding:0 9px}.prop-shortcuts{display:flex;justify-content:space-around;background:#f0edde;border-radius:9px;padding:10px 5px;margin-top:15px}.prop-shortcuts button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;min-width:80px}.prop-shortcuts small{font-size:9px;color:var(--muted)}.game-footer-links{display:flex;justify-content:space-between;margin-top:14px}.game-footer-links button{font-size:11px;min-height:34px;color:var(--muted);padding:0}.input-label{display:block;font-size:12px;font-weight:600;margin:20px 0 9px}.input-field{height:48px;width:100%;background:#fffdf5;border:1px solid #cfd3bf;border-radius:8px;padding:0 13px;color:var(--ink-dark);outline-offset:2px}.exchange-columns{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;margin-top:14px;gap:2px}.exchange-verse{background:#f0f1e6;border:1px solid #d5d9c2;border-radius:9px;padding:14px 10px;text-align:center;min-height:145px}.exchange-verse .who{font-size:10px;color:var(--muted);display:block;margin-bottom:15px}.exchange-verse strong{font:600 19px/1.8 var(--serif);display:block}.exchange-verse .tiny{margin-top:10px;color:var(--muted)}.exchange-arrow{color:var(--gold);text-align:center}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-choice{border:1px solid #d4d8c4;border-radius:8px;min-height:56px;background:#fffdf5;font-size:12px}.slot-choice.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.slot-choice small{font-size:9px;display:block;margin-top:5px;opacity:.7}.receipt-number{font-size:10px;color:var(--muted);letter-spacing:1px;margin:15px 0}.pending-ring{width:74px;height:74px;display:grid;place-items:center;border:1px solid #c8d4be;border-radius:50%;margin:7px auto;background:#eaf0e2;color:var(--ink)}.success-seal{width:75px;height:75px;display:grid;place-items:center;border:1px solid #d8b08b;border-radius:50%;margin:0 auto;color:var(--red);background:#fbecdc;font:38px var(--serif)}.full-poem{text-align:center;padding:23px 10px;background:#fffdf5;border:1px solid var(--line);border-radius:12px;margin-top:20px}.full-poem h3{font:600 26px var(--serif)}.full-poem .author{font-size:10px;color:var(--muted);margin:9px 0 19px}.full-poem p{font:20px/2 var(--serif);letter-spacing:3px}.reward{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.reward strong{font:600 31px var(--serif);color:var(--gold)}.prop-card{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.prop-emblem{width:52px;height:62px;border:1px solid #d2bf8a;background:#f4ebd4;color:var(--gold);border-radius:8px;display:grid;place-items:center;flex-shrink:0}.prop-copy{flex:1}.prop-copy h3{font:600 19px var(--serif)}.prop-copy p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:7px}.prop-copy .row{margin-top:9px;font-size:11px}.prop-copy button{min-height:33px;padding:0 11px;font-size:11px;background:var(--ink);color:var(--paper);border-radius:5px}.rank-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.rank-row.me{background:#e9efe3;margin:0 -11px;padding:14px 11px;border-radius:7px}.rank-num{width:22px;color:var(--gold);font:18px var(--serif)}.rank-row .stack{flex:1;font-size:13px}.rank-row .earned{font:600 22px var(--serif);color:var(--gold)}.record-card{border:1px solid var(--line);border-radius:9px;padding:16px;margin-top:14px}.record-card h3{font:600 19px var(--serif)}.record-card p{margin-top:6px}.record-card .row{margin-top:13px}.profile-heading{display:flex;gap:15px;align-items:center;margin:9px 0 20px}.profile-heading .avatar{width:66px;height:66px;font-size:27px}.profile-heading h2{margin:0;font-size:25px}.menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:57px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.menu-item .row-start{flex:1}.transaction{border-bottom:1px solid var(--line);padding:14px 0;display:flex;gap:12px;align-items:center}.transaction>div{flex:1}.transaction b{font-weight:500;font-size:12px}.transaction .positive{color:var(--gold);font-weight:600}.transaction .negative{color:var(--red);font-weight:600}.annotation-panel{padding:12px 0;font-size:12px}.annotation-panel .panel-label{font-size:10px;color:var(--gold);letter-spacing:1.5px;margin-bottom:14px}.annotation-panel h2{font:600 24px/1.5 var(--serif);margin-bottom:15px}.annotation-panel p{font-size:12px;line-height:1.95;color:var(--muted)}.design-item{border-top:1px solid #d5d5c5;padding-top:16px;margin-top:20px}.design-item h3{font-size:12px;margin-bottom:9px}.design-item ul{padding-left:17px;margin:0;color:var(--muted);font-size:11px;line-height:2.1}.path{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:10px;margin-top:13px;color:var(--ink)}.path span{background:#e1e8db;padding:5px 8px;border-radius:4px}.annotation-panel .ghost-button{width:100%;margin-top:13px}.demo-note{margin-top:15px;padding:11px;background:#e7e4d7;border-radius:7px;font-size:10px;line-height:1.8;color:#747965}.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);padding:14px 22px;background:var(--ink-dark);color:var(--paper);font-size:12px;border-radius:8px;box-shadow:0 4px 20px #0002;max-width:90%;z-index:50;text-align:center;line-height:1.8}.mobile-select{display:none}.board{padding:32px;max-width:1660px;margin:auto}.board-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:10px 0 32px;padding-bottom:22px;border-bottom:1px solid #cecfbd}.board-intro h2{font:600 37px var(--serif);margin:10px 0}.board-intro p{font-size:12px;line-height:1.9;color:var(--muted);max-width:720px}.board-group{margin:42px 0}.board-group>h2{font:600 27px var(--serif);margin-bottom:23px}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:35px 22px;align-items:start}.board-screen{display:flex;align-items:center;flex-direction:column;min-width:0}.board-screen .phone{width:100%;max-width:390px;height:815px;box-shadow:none;border-width:4px;border-radius:25px;pointer-events:none}.board-screen .phone-content{padding:22px 19px}.board-label{width:100%;max-width:390px;margin-bottom:12px;min-height:54px}.board-label h3{font-size:13px;margin-bottom:6px}.board-label p{font-size:10px;line-height:1.7;color:var(--muted)}.board-wide{margin-bottom:32px}.board-wide .gm,.board-wide .wall{width:100%;min-width:0}.wide-workspace{grid-template-columns:200px minmax(0,1fr);max-width:1650px}.wide-preview{min-width:0}.wide-preview .preview-caption{width:100%}.gm{background:#f9f8f2;min-height:720px;border:1px solid #d4d7c7;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.gm-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;background:var(--ink);color:var(--paper);gap:16px}.gm-bar strong{font:600 21px var(--serif)}.gm-bar span{font-size:11px;color:#c6d2b9}.gm-body{padding:25px 28px;flex:1}.gm-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.gm-title h2{font:600 28px var(--serif)}.gm-title p{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.8}.gm-title .primary{width:auto;min-height:42px;font-size:12px;padding:10px 15px}.gm-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.gm-summary>div{padding:17px 0;border-top:2px solid #a9b899}.gm-summary b{display:block;font:600 30px var(--serif);margin-top:8px}.gm-summary span{font-size:11px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{color:var(--muted);font-weight:500;background:#eaeedf;padding:14px 12px}td{border-bottom:1px solid var(--line);padding:17px 12px;line-height:1.8}td button{font-size:11px;color:var(--ink);border:1px solid #c8d0ba;border-radius:5px;padding:0 9px;min-height:32px;white-space:nowrap}.gm-stepper{display:flex;gap:16px;padding:0 0 20px;border-bottom:1px solid var(--line);margin-bottom:22px;color:var(--muted);font-size:12px}.gm-stepper .active{color:var(--ink);font-weight:600}.gm-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:25px}.gm-section h3{font:600 20px var(--serif);margin-bottom:14px}.gm-section .input-label{margin-top:17px}.poem-option{border:1px solid #d1d6c2;border-radius:9px;padding:15px;background:#fffdf5;display:flex;gap:12px;margin-bottom:10px;align-items:start}.poem-option input{accent-color:var(--ink);width:17px;height:17px;margin-top:3px}.poem-option h4{font:600 18px var(--serif);margin:0 0 8px}.poem-option p{font:13px/1.9 var(--serif);color:var(--muted)}.poem-option .tag{margin-left:auto}.gm-foot{border-top:1px solid var(--line);padding:16px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f0f1e6}.gm-foot p{font-size:11px;color:var(--muted);line-height:1.8}.gm-foot .primary,.gm-foot .secondary{width:auto;min-width:120px;font-size:12px;min-height:42px}.gm-foot .button-row{margin:0}.gm-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.setting{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:12px;align-items:center}.setting input,.setting select{height:39px;width:110px;border:1px solid #ccd3ba;border-radius:5px;background:#fffdf5;padding:0 8px}.setting b{font-weight:500}.qr-placeholder{height:164px;width:164px;margin:20px auto;border:1px dashed #abb897;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--muted);font-size:10px;background:repeating-linear-gradient(45deg,#f3f4e9,#f3f4e9 6px,#ebeee0 6px,#ebeee0 12px)}.gm-note{margin-top:18px;font-size:11px;line-height:1.9;color:var(--muted)}.wall{background:#193d33;color:#f4eed9;min-height:650px;border-radius:13px;overflow:hidden;padding:27px 29px;position:relative;border:1px solid #67805d}.wall-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #6a825a66;padding-bottom:22px;gap:20px}.wall-header h2{font:600 29px var(--serif);letter-spacing:3px}.wall-header p{color:#b9c5a8;font-size:11px;margin-top:9px}.wall-header .tag{background:#405a40;color:#ece8cb}.wall-layout{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:24px;margin-top:26px}.wall-section{border:1px solid #76896266;border-radius:9px;padding:22px;background:#21483a}.wall-section h3{font:600 20px var(--serif);color:#dac898;margin-bottom:21px}.wall .detail-row{border-color:#72825b4d;font-size:11px}.wall .detail-row span{color:#b0bf9e}.wall .detail-row b{color:#ece9d4}.wall-main{text-align:center;padding:22px 0}.wall-main .eyebrow{color:#b3c2a0}.wall-main h3{font:600 31px/1.5 var(--serif);margin:20px 0;color:#f4edd9}.wall-main .wall-timer{font-size:76px;font-weight:600;letter-spacing:3px;font-variant-numeric:tabular-nums;color:#dfcc9d;margin:17px 0}.wall-main p{font-size:11px;line-height:2;color:#bac7a8}.wall .rank-row{border-color:#71845a66;padding:13px 0}.wall .rank-num{color:#d1b77b}.wall .rank-row .earned{color:#e6cf91}.wall .rank-row .tiny{color:#b4c39f}.wall-footer{margin-top:23px;border-top:1px solid #6a825a66;padding-top:18px;font-size:11px;color:#b7c5a4;display:flex;justify-content:space-between;gap:16px}.wall .people-grid{grid-template-columns:repeat(3,1fr)}.wall .avatar{background:#49624b;border-color:#7b8e69;color:#e3e8cb}.wall .person{color:#c9d3b5}.wall .qr-placeholder{background:repeating-linear-gradient(45deg,#244939,#244939 6px,#284d3d 6px,#284d3d 12px);color:#c5cfaf}.mini-log{font-size:11px;line-height:1.9;color:#b4c2a0;padding:13px 0;border-top:1px solid #71845a66}.close-board{position:sticky;top:16px;z-index:20;background:var(--ink);color:var(--paper);border-radius:7px;min-height:44px;padding:0 17px;float:right}.modal-backdrop{position:fixed;inset:0;background:#19332980;z-index:30;display:grid;place-items:center;padding:22px}.modal{background:var(--paper);padding:27px;border-radius:13px;width:100%;max-width:510px;max-height:85vh;overflow:auto}.modal h2{font:600 25px var(--serif);margin-bottom:14px}.modal p{font-size:12px;line-height:2;color:var(--muted)}.modal .primary{margin-top:23px}.reconnect-indicator{font-size:11px;line-height:1.9;border:1px solid #d8a68b;border-radius:8px;background:#f6e9de;padding:13px;margin-bottom:16px;color:#8b4e36}.device-footnote{font-size:10px;color:var(--muted);margin-top:15px;text-align:center;line-height:1.8}.pill-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:20px 0 6px}.pill-tabs button{font-size:12px;padding:0 15px}.pill-tabs .active{border-bottom:2px solid var(--ink);font-weight:600}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fffdf5}.quantity button{width:43px;font-size:22px}.quantity span{min-width:35px;text-align:center}.selected-prop{border:1px solid var(--line);padding:13px 12px;border-radius:8px;text-align:left;min-height:67px;background:#fffdf5}.selected-prop.active{background:#e7eddf;border-color:var(--ink)}.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.selected-prop span{display:block;font-size:12px}.selected-prop small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.confirm-bar{font-size:11px;color:var(--muted);margin:15px 0;line-height:1.9}.safety-list{padding-left:18px;font-size:11px;line-height:2;color:var(--muted)}
@media(min-width:1500px){.workspace{gap:42px}.phone{height:830px}}
@media(max-width:1150px){.workspace{grid-template-columns:175px minmax(400px,1fr);padding:0 22px;gap:20px}.annotation-panel{grid-column:2;width:390px;margin:auto}.role-nav{padding-left:22px;padding-right:22px}.wide-workspace{grid-template-columns:165px minmax(0,1fr)}.gm-columns{grid-template-columns:1fr}.wall-layout{gap:13px}.wall-section{padding:15px}.wall-main .wall-timer{font-size:50px}.wall-main h3{font-size:24px}}
@media(max-width:740px){.workspace-header{height:auto;padding:17px 16px;align-items:start}.brand h1{font-size:21px}.brand p{font-size:9px}.brand-seal{width:36px;height:36px}.header-actions{gap:5px}.header-actions .ghost-button{padding:0 10px;font-size:10px;min-height:37px}.header-actions .reset-button{display:none}.role-nav{padding:13px 12px 0;gap:0;justify-content:space-between}.role-button{padding:0 12px;font-size:12px;min-height:40px}.role-nav .annotation{display:none}.workspace{display:block;padding:0 10px;margin-top:17px}.sidebar{display:none}.mobile-select{display:block;width:100%;max-width:390px;margin:0 auto 14px;background:#f9f7ed;border:1px solid #c8ceba;border-radius:7px;padding:0 12px;color:var(--ink)}.phone{width:100%;max-width:390px;border-width:4px;border-radius:24px;height:790px}.preview-caption{width:100%;max-width:390px;font-size:10px;padding:0 5px}.annotation-panel{width:100%;max-width:390px;padding:24px 9px}.phone-content{padding:23px 18px}.poem-card .verse{font-size:19px}.wide-workspace .preview-caption{max-width:none}.gm{border-radius:8px;min-height:0}.gm-bar{padding:15px;font-size:11px}.gm-bar strong{font-size:17px}.gm-body{padding:18px 14px}.gm-title{align-items:start}.gm-title h2{font-size:24px}.gm-summary{grid-template-columns:1fr 1fr}.gm-rules-grid{grid-template-columns:1fr}.gm-stepper{gap:9px;font-size:10px;flex-wrap:wrap}.gm table{min-width:620px}.table-scroll{overflow:auto}.gm-foot{padding:15px;flex-wrap:wrap}.gm-foot .button-row{width:100%}.wall{padding:18px 14px}.wall-header{align-items:start}.wall-header h2{font-size:23px}.wall-header .tag{font-size:9px}.wall-layout{grid-template-columns:1fr}.wall .people-grid{grid-template-columns:repeat(6,1fr)}.wall-footer{font-size:10px;flex-wrap:wrap}.board{padding:22px 12px}.board-intro{display:block}.board-intro h2{font-size:28px}.board-grid{grid-template-columns:1fr}.board-screen .phone{max-width:390px}.board-group>h2{font-size:24px}.board-label{padding:0 5px}.close-board{top:7px;font-size:11px}.board-wide .gm table{min-width:620px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:350px){.role-nav{flex-wrap:wrap;justify-content:center}.role-button{flex:0 0 50%;padding:0 5px;text-align:center}}

/* 国风活动设计：深松绿、暖宣纸、朱砂与细金线 */
:root{--ink:#214c3f;--ink-dark:#16372f;--paper:#f8f1de;--ground:#eae4d7;--line:#d9c9a8;--muted:#776f5d;--gold:#a07b3a;--red:#a64d35;--soft-green:#e9ead8}
body{background:radial-gradient(circle at 18% 0%,#f7f1e4 0,transparent 38%),var(--ground)}
.workspace-header{background:#f2ecdf;border-bottom-color:#d6c6a5}
.brand-seal{border-color:#aa8751;color:var(--ink);border-radius:2px;font-size:27px}
.brand h1,.preview-caption b{color:var(--ink-dark)}
.role-button.active{background:#214c3f;border-radius:3px;box-shadow:inset 0 0 0 1px #c0aa77}
.screen-link.active{background:#e8dfc9;border-radius:3px}
.phone{border-color:#16392f;background:var(--paper);box-shadow:0 28px 55px -22px #2d291c73,0 0 0 1px #ad986f}
.statusbar,.native-nav{background:#204b3d}
.statusbar{color:#f7eac9}
.native-nav{border-bottom:1px solid #d5c39350}
.native-nav h2{font-family:var(--serif);font-weight:600;letter-spacing:2px}
.phone-scroll{background:radial-gradient(circle at 5% 20%,#f9f2df 0,transparent 28%),linear-gradient(180deg,#fbf6e9,#f3ebd9)}
.phone-content{padding:23px 21px 32px}
.phone-content>.eyebrow{color:#9b7b44;letter-spacing:2.2px}
.phone-content>h2{color:#264738;font-size:27px;letter-spacing:.7px}
.intro{color:#8a765b}
.hero-illustration{height:212px;margin:19px -7px 20px;background:#1e4638;border-radius:5px;border:4px solid #d5bd84;box-shadow:0 8px 20px #35372824,inset 0 0 0 2px #f6e6b5}
.hero-illustration .scene-art{width:100%;height:100%;display:block;object-fit:cover;object-position:center 72%;opacity:.96}
.hero-illustration:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#122e29e8 0%,#16392dc2 48%,#1431250c 100%);pointer-events:none}
.hero-copy{z-index:1;top:32px;left:21px;right:18px;color:#fff2d9;text-shadow:0 2px 6px #16352baa}
.hero-copy h3{font:600 28px/1.42 var(--serif);letter-spacing:2px}
.hero-copy p{color:#f5eacb;margin-top:22px;font-size:11px;line-height:1.5;max-width:170px}
.login-art{height:324px;background:#1b4135;margin:-23px -21px 23px}
.login-art .scene-art{height:100%;width:100%;object-fit:cover;object-position:center 32%;display:block}
.login-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0e322660 0%,transparent 40%,#0e322688 100%);pointer-events:none}
.login-art .login-title{top:auto;bottom:20px;left:25px;z-index:1;text-shadow:0 2px 7px #173528a8}
.login-title .seal{background:#173b30b8;color:#fbf0d4;border:1px solid #e3ca8d;margin-bottom:8px;padding:5px 9px}
.login-title h2{font-size:28px;letter-spacing:3px}
.login-title p{margin-top:7px;color:#f3e5c4}
.paper-box,.room-card,.record-card{background:#fffcf1;border-color:#d8c7a7;border-radius:5px;box-shadow:0 4px 11px #7d65320b}
.room-card{padding:16px 17px 18px;position:relative;overflow:hidden}
.room-card:before{content:"❖";position:absolute;right:16px;top:15px;color:#c5ac78;font-size:17px}
.room-card h3,.section-heading h3{color:#27503f}
.room-card .tag{margin-right:19px}
.tag{border-radius:3px;background:#e9e6d0;color:#557157}
.tag.gold{background:#f7ead1;color:#916a32}
.primary{background:#204c3e;color:#fff2d7;border:1px solid #bda46c;border-radius:5px;box-shadow:inset 0 0 0 2px #214c3e,0 4px 8px #1e463125;letter-spacing:.5px}
.secondary{border-color:#c5b186;background:#fffaf0;border-radius:5px}
.notice{border-color:#d8c7a7;background:#f4edd9}
.section-heading{border-bottom:1px solid #d8c8a8;padding-bottom:7px}
.game-top{background:#214a3a;border-bottom:4px solid #b6995b}
.game-top:after{content:"❖";position:absolute;right:24px;top:126px;color:#c3ad77;opacity:.65;font-size:21px}
.game-score{background:#f2e7cc;border:1px solid #d9c59b;border-radius:4px;padding:12px 14px;margin-top:15px}
.hand-label h3{color:#254b3c}
.poem-card{border-color:#d3be93;background:#fffaf0;border-radius:4px;min-height:73px;box-shadow:0 2px 0 #e5d6b5;padding:12px 13px}
.poem-card.selected{background:#eaf0df;border-color:#718966;box-shadow:inset 0 0 0 1px #8ca276}
.poem-card .slot{font:16px var(--serif);color:#a47738}
.poem-card .verse{color:#243f33}
.poem-card .meta{letter-spacing:0}
.prop-shortcuts button,.prop-emblem{border-color:#d3bc8e;background:#f7efd9;border-radius:4px}
.tabbar{background:#fff9e9;border-top:1px solid #d5c49e}
.tabbar button.active{color:#1f4b3d}
.rank-row.me{background:#eee9d2}
.rank-row .earned,.money{color:#ac6638}
.avatar{overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#e7dabc;border:1px solid #bca87d}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:740px){.hero-illustration{height:195px}.login-art{margin:-23px -18px 23px}}
