/* A quiet, warm reading room. All scene coordinates share one aspect ratio. */
:root{color-scheme:light;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#433d35;background:#ebe8df}
body{background:#ebe8df;overflow:hidden}button,textarea{font:inherit}button{transition:background .2s,color .2s}button:focus-visible,a:focus-visible{outline:2px solid #247b8a;outline-offset:4px}button:disabled{cursor:wait;opacity:.55}
.app-shell{max-width:1800px;height:100dvh;padding:18px;gap:0}
.topbar{background:#faf8f2;border:1px solid #ddd8cb;color:#433d35;padding:16px 22px;border-radius:18px 18px 0 0;gap:20px}.brand{color:#353f3d;letter-spacing:.04em}.brand-mark{background:#287f91}.topic{color:#504d44;font-size:14px}.topic-label{color:#918779}.round-label{color:#68776e;background:#edf0e8;border:0;font-size:12px}.eyebrow{font-family:Arial,sans-serif;letter-spacing:.16em;font-size:10px;color:#8c8b76}
.debate-layout{grid-template-columns:minmax(0,1.35fr) minmax(380px,1fr);grid-template-rows:minmax(0,1fr);border:1px solid #ddd8cb;border-top:0;border-radius:0 0 18px 18px;background:#eee7d8}
.roundtable-scene{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;background:radial-gradient(ellipse at 50% 35%,#faf2df 0,#e9ddc8 65%,#d4c5ac 100%);box-shadow:none;overflow:hidden}.roundtable-scene:before{inset:8% 12% 15%;border:1px solid #c5b79666;border-radius:48% 48% 8px 8px;background:linear-gradient(90deg,transparent 49.8%,#bfb08c22 50%,transparent 50.2%);z-index:0}.scene-stage{position:relative;width:100%;aspect-ratio:1.12;flex:none;max-height:100%;container-type:inline-size}
.scene-heading{display:block!important;position:absolute;top:2%;left:7%;z-index:7}.scene-heading h1{font-family:"Songti SC","SimSun",serif;font-size:clamp(22px,3vw,38px);font-weight:500;letter-spacing:.08em;margin:10px 0}.scene-heading p:last-child{font-size:12px;color:#8e806a;letter-spacing:.12em}.scene-heading .eyebrow{font-size:9px;color:#948164}
.table-art{left:50%;top:43%;bottom:auto;width:80%;z-index:3;filter:drop-shadow(0 18px 12px #71533526);transform:translateX(-50%)}
.seat{z-index:2;color:#443a2e}.seat-a{top:30%;left:10%;width:24%}.seat-b{top:30%;right:9%;width:24%}.seat-c{top:22%;left:50%;width:21%;transform:translateX(-50%)}.seat-c:hover,.seat-c:focus-visible{transform:translate(-50%,-3px)}.character{filter:drop-shadow(0 6px 4px #60462c20)}.seat.is-speaking .character{transform:none;filter:drop-shadow(0 0 5px #fff8d6)}.avatar{display:none}.seat-card{top:2%;bottom:auto;min-width:0;padding:5px 10px;border:1px solid #d6c6ab;background:#fffaf0ed;border-radius:6px;box-shadow:0 3px 8px #60462c0d;transform:translate(-50%,-100%)}.seat-c .seat-card{top:2%;bottom:auto}.seat-card strong{font-size:12px;color:#514935}.seat-card small,.seat-card em{display:none}.seat-status{top:25%;left:50%;font-size:10px;padding:4px 7px;box-shadow:none;z-index:5}.seat-status:before{display:none}.seat.is-speaking .seat-status{animation:none;background:#7f8a66}.seat.is-thinking .seat-status{background:#487f88}
.user-seat,.user-seat.is-ready{z-index:4;left:81%;bottom:0%;width:24%;padding:0;border:0;background:none;box-shadow:none;transform:translateX(-50%);color:#55453c}.user-seat:hover{transform:translate(-50%,-3px)}.user-seat .character-frame{width:100%}.user-seat .character{transform:scaleX(-1)}.user-info{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:150px;max-width:28cqw;padding:6px;background:#fff8edec;border:1px solid #d9c5b5;border-radius:6px}.user-seat strong{color:#806154;font-size:12px}.user-seat small{color:#957f70;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-seat .seat-status{display:none}.is-observer .user-seat{display:none}
.host-panel{top:auto;right:auto;bottom:1%;left:5%;width:55%;padding:0;gap:0;background:none;border:0;box-shadow:none;backdrop-filter:none;align-items:center;z-index:6}.host-panel img{width:34%;height:auto;filter:drop-shadow(0 8px 3px #61564415)}.host-copy{padding:12px 14px;border-radius:14px 14px 14px 2px;background:#fffdf5e8;border:1px solid #dbd4bf;box-shadow:0 6px 16px #6a58400a}.host-copy .eyebrow{color:#347584;font-size:10px;letter-spacing:.03em}.host-copy p:last-child{font-size:12px;line-height:1.7;color:#68614f}
.seat-legend{bottom:17px;right:20px;padding:0;background:none;font-size:10px;color:#93836b}.scene-controls{bottom:14px;left:20px}.scene-controls button{background:transparent;border:0;color:#82745e;font-size:10px;padding:4px}.focus-on .seat.is-speaking,.focus-on .seat-a.is-speaking,.focus-on .seat-b.is-speaking{transform:none}.focus-on .seat-c.is-speaking{transform:translateX(-50%)}
.debate-panel{background:#fcfbf7;border-left:1px solid #ddd8cb;min-height:0}.panel-header{padding:18px 22px 12px;border:0;flex-shrink:0}.panel-header h2{font-family:"Songti SC","SimSun",serif;font-weight:500;color:#443f35;font-size:23px}.panel-header .eyebrow{color:#99917e;font-size:9px}.panel-actions{display:flex;gap:12px}.panel-actions button{border:0;background:none;color:#8c8577;font-size:10px}.mode-badge{background:#eaf0eb;color:#62796b;font-size:11px;padding:6px 10px}
.round-steps{padding:8px 22px 14px;border-bottom:1px solid #eee9df;flex-shrink:0}.round-step{display:flex;gap:6px;font-size:11px}.round-step b{width:20px;height:20px;font-size:10px;background:#efede5}.round-step.is-current{color:#44796f}.round-step.is-current b,.round-step.is-complete b{background:#708873}.round-steps i{background:#e3e5da}
.round-guide{margin:12px 20px 0;padding:10px 12px;gap:4px;background:#eff2eb;border:0;border-radius:8px;box-shadow:none;flex-shrink:0}.round-guide .guide-step,.round-guide[data-round] .guide-step{background:none;color:#66765b;padding:0;font-size:10px;letter-spacing:.06em}.guide-step:before{display:none!important}.round-guide .guide-text{font-size:12px;color:#5c6755;line-height:1.6}.guide-tips,.round-note{display:none!important}
.conversation{padding:16px 20px;gap:12px;min-height:70px}.message{box-shadow:none;border:1px solid #eee8dc;border-left:3px solid #b7b298;border-radius:8px;background:#fffefa;padding:12px 14px}.message-name{color:#646050;font-size:12px}.message p{color:#625e52;font-size:13px;line-height:1.85;white-space:pre-wrap}.message-host{background:#f0f3ee;border:0;padding:10px 13px}.message-host .message-name{color:#43818a}.message-host .message-name:before{content:'看山 / ';font-weight:400;color:#8fa9a5}.message-user{background:#f3eee9;box-shadow:none;border-left-color:#ba9180}.message-user .message-name,.message-user p{color:#84675c}.citation{font-size:10px;color:#8b9076}.message-top{flex-wrap:wrap;gap:5px}
.composer{padding:10px 20px 12px;border-top:1px solid #eee9df;flex-shrink:0}.composer textarea{min-height:58px;height:65px;resize:none;border-color:#dcdccd;background:#fffefa;font-size:12px;padding:10px 12px;line-height:1.7;outline-color:#7d9685}.composer-actions span{font-size:10px;color:#928d7f}.primary-action{background:#708773;padding:7px 14px;font-size:12px}.next-round{background:#536e60;font-size:12px;padding:11px;margin:0 20px 16px;flex-shrink:0}.next-round:disabled{background:#e9ebe4;color:#969d90;cursor:default}.mention-picker{border:0;background:none;padding:0;margin-bottom:8px;gap:5px}.mention-picker-label{font-size:10px;color:#92917e}.mention-picker-label:before{display:none}.mention-chip{font-size:10px;padding:4px 8px;border-color:#dedfd2;color:#65715a;background:#fafbf5}.mention-chip b{display:none}
.evidence-drawer{background:#fcfbf7}.toast{background:#526758;border:0;box-shadow:0 5px 15px #34473220;font-size:12px}.toast-stack{top:85px;right:30px}.onboarding{background:radial-gradient(ellipse at 30% 20%,#faf5e8,#e1d7c1);border-color:#d9cfbb;border-radius:18px;min-height:0;flex:1}.onboarding-card{background:#fffcf3d9;border-color:#e3dbc9;box-shadow:0 20px 60px #695a3310}.onboarding-card h1{font-family:"Songti SC","SimSun",serif;font-weight:500;color:#4c5949}.onboarding-card .eyebrow,.onboarding-card>p:not(.eyebrow){color:#8c8b75}.onboarding-primary{background:#607c65}.onboarding-primary:hover{background:#4e6953}.mode-option{border-color:#dedbc9;color:#65735b}.mode-option:hover{border-color:#71846b}.mode-option span{color:#8b8877}
@media(max-width:1050px){.debate-layout{grid-template-columns:minmax(0,1fr) minmax(350px,1fr)}.roundtable-scene{min-height:0}.host-copy{padding:8px}.host-copy p:last-child{font-size:10px}.seat-card strong{font-size:10px}.scene-heading h1{font-size:26px}.panel-header{padding:14px 16px}.panel-actions{gap:5px}.scene-stage{max-height:none}.scene-heading{top:0}.seat-legend{font-size:9px}}
@media(max-width:760px){.app-shell{padding:0;height:100dvh}.topbar{border-radius:0;gap:8px;padding:10px 14px}.topic{font-size:11px}.debate-layout{grid-template-columns:1fr;grid-template-rows:minmax(170px,32dvh) minmax(0,1fr);border-radius:0}.roundtable-scene{min-height:0}.scene-stage{width:330px;max-height:none;transform:scale(.73);flex-shrink:0}.scene-heading{display:none!important}.host-copy p:last-child{font-size:11px}.scene-controls,.seat-legend{display:none}.debate-panel{min-height:0;border-top:1px solid #ddd8cb;border-left:0}.panel-header{padding:8px 14px}.panel-header h2{font-size:18px;margin:0}.panel-header .eyebrow{display:none}.round-steps{padding:5px 14px 8px}.round-guide{margin:7px 12px 0;padding:7px 10px}.round-guide .guide-step{display:none}.conversation{padding:10px 12px;gap:8px}.composer{padding:8px 12px}.next-round{margin:0 12px 10px;padding:9px}.composer textarea{height:54px;min-height:54px}.onboarding{border-radius:0}.mode-options{grid-template-columns:1fr}.onboarding-card{padding:24px}.onboarding-card h1{font-size:27px}}
@media(max-height:700px) and (min-width:761px){.app-shell{padding:10px}.topbar{padding:10px 18px}.panel-header{padding:10px 18px}.round-guide{margin-top:8px;padding:7px 10px}.round-steps{padding-top:4px;padding-bottom:8px}.composer textarea{height:52px;min-height:52px}.scene-stage{width:min(100%,68vh)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.scene-stage{width:min(100%,76vh);max-height:none}.seat-status{top:47%;left:10%;transform:translateX(-50%)}.seat.is-speaking .seat-status{animation:none}.host-panel{bottom:7%}.user-seat,.user-seat.is-ready{bottom:5%}.message-host .message-name:before{content:none}.scene-controls{bottom:9px}.seat-legend{bottom:12px}
@media(max-width:760px){.scene-stage{width:330px}.host-panel{bottom:5%}.seat-status{font-size:9px}}

.host-copy p:last-child{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

