:root{color:#273b34;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f3f1eb;font-family:system-ui,sans-serif}*{box-sizing:border-box}body,h1,h2,p{margin:0}h2{font-size:.8rem;font-weight:600}.game-screen{min-width:1000px;max-width:1440px;margin:0 auto;padding:20px 28px}.game-header,.phase,.timer-caption,.workspace-heading,.panel-heading{justify-content:space-between;align-items:center;display:flex}.game-header{margin-bottom:18px}.build-identifier{color:#5b6b63;margin-top:4px;font-size:.65rem;font-weight:400;display:block}h1{letter-spacing:-.04em;font-size:2rem}.game-header p{color:#5b6b63;font-size:.8rem}.prototype-note{border:1px solid #c8cfc5;border-radius:4px;padding:6px 10px}.round-bar{background:#e9ede4;border:1px solid #c4cec1;border-radius:6px;align-items:center;gap:32px;margin-bottom:14px;padding:12px 16px;display:flex}.phase{gap:16px;font-size:.85rem}.phase strong{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.timer{flex:1}.timer-caption{color:#52634f;margin-bottom:5px;font-size:.7rem}progress{background:#ccd6c6;border:0;border-radius:4px;width:100%;height:8px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#ccd6c6}progress::-webkit-progress-value{background:#6b875a}progress::-moz-progress-bar{background:#6b875a}.game-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px;display:grid}.game-board{background:#dbe4d4;border:1px solid #b5c3af;border-radius:8px;grid-template-rows:minmax(155px,1fr) auto minmax(155px,1fr);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"nouns verbs""sentence sentence""modifiers structural";gap:12px;min-height:min(560px,100vh - 182px);padding:14px;display:grid;position:relative}.nouns{grid-area:nouns}.verbs{grid-area:verbs}.modifiers{grid-area:modifiers}.structural{grid-area:structural}.tile-region{min-width:0;padding:8px}.tile-region h2{color:#4b5f45;margin-bottom:12px}.tile-pool,.construction-line{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:7px 6px;display:flex}.tile{color:#2f3027;white-space:nowrap;background:#fffae9;border:1px solid #c5bc9f;border-radius:2px;flex:none;padding:4px 8px;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.15;display:inline-block;box-shadow:0 2px 1px #34472b26}.sentence-workspace{background:#f6f5eb;border:1px solid #b3bea9;border-radius:5px;grid-area:sentence;min-width:0;height:210px;padding:14px 16px}.workspace-heading{margin-bottom:10px}.workspace-heading button{color:#67715f;background:#e8e9df;border:1px solid #b9bbae;border-radius:3px;padding:4px 9px;font:600 .65rem system-ui,sans-serif}.construction-line{border:1px dashed #aab59e;min-height:66px;max-height:66px;padding:6px;overflow-y:auto}.result-area{margin-top:12px}.result-area h2{color:#5b6953;font-size:.7rem}.result-text{min-height:29px;max-height:29px;margin-top:6px;font:1.15rem/1.35 Georgia,Times New Roman,serif;overflow:auto}.workspace-note{color:#66715e;margin-top:12px;font-size:.65rem}.sidebar{flex-direction:column;gap:14px;display:flex}.side-panel{background:#fafaf4;border:1px solid #ccd1c4;border-radius:6px;padding:14px}.panel-heading{margin-bottom:14px}.panel-heading span{color:#6c7465;font-size:.65rem}table{border-collapse:collapse;width:100%;font-size:.8rem}th{color:#687361;font-size:.65rem;font-weight:500}th,td{text-align:left;border-bottom:1px solid #e0e3d9;padding:9px 0}th:last-child,td:last-child{text-align:right}.chat-panel{flex-direction:column;flex:1;display:flex}.chat-placeholder{color:#72796b;flex:1;font-size:.8rem;line-height:1.6}.chat-panel input{background:#f0f1e9;border:1px solid #d0d4c9;border-radius:3px;width:100%;margin-top:20px;padding:9px;font:.75rem system-ui,sans-serif}.chat-panel input::placeholder{color:#737a6d;opacity:1}.physical-board{flex-shrink:0;display:block}.layout-pending{visibility:hidden}.physical-board .tile{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.tile.operator-tile{color:#294755;background:#dbe6ee;border-color:#8a9fab}.tile.copy-source{outline-offset:2px;outline:2px solid #648087}.construction-line .tile{position:relative}.tile.dragging{cursor:grabbing;pointer-events:none;-webkit-user-select:none;user-select:none}.drag-slot{visibility:hidden;flex:none}.insertion-marker{z-index:2147483647;pointer-events:none;background:#294e9b;width:3px;display:none;position:fixed}.construction-line.drop-target{background:#e8efdd;border-color:#587044}.construction-line:empty:before{content:"Drag tiles here";color:#6b7563;pointer-events:none;font-size:.8rem}.result-text:empty:before{content:"Your tile text will appear here.";color:#72796b;font:.8rem system-ui,sans-serif}.clear-sentence:not(:disabled){cursor:pointer;color:#273b34}.clear-sentence:focus-visible{outline-offset:2px;outline:2px solid #294e9b}.sentence-actions{gap:8px;display:flex}.workspace-heading .submit-sentence{color:#fff;cursor:pointer;background:#375a42;padding:5px 12px}.workspace-heading .submit-sentence:disabled{color:#53614e;cursor:default;background:#d3dacf}.local-player.submitted{background:#e0ecd9;font-weight:600}.player-ready{font-size:.65rem;font-weight:400;display:block}.build-controls{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:.75rem;display:flex}.restart-build,.chat-form button{color:#273b34;cursor:pointer;background:#e8e9df;border:1px solid #b9bbae;border-radius:3px;padding:6px}.chat-messages{overflow-wrap:anywhere;flex:1;height:160px;font-size:.75rem;overflow-y:auto}.chat-messages p{margin-bottom:8px}.chat-form{align-items:center;gap:4px;margin-top:10px;display:flex}.chat-panel .chat-form input{min-width:0;margin:0}.physical-board.build-closed .tile{cursor:default}@media (height<=760px){.game-screen{padding-top:12px;padding-bottom:12px}.game-header{margin-bottom:12px}.tile-region h2{margin-bottom:8px}.game-board{gap:8px;padding:10px}}[hidden]{display:none!important}.phase-content{background:#fafaf4;border:1px solid #b5c3af;border-radius:8px;min-height:500px;padding:22px}.phase-content>p{margin:12px 0;font-size:.85rem}.phase-content h2{font-size:1.2rem}.ballot-choice{cursor:pointer;border:1px solid #ccd1c4;align-items:center;gap:14px;margin:12px 0;padding:20px 12px;font:1.2rem Georgia,serif;display:flex}.phase-content button,.advance-build{color:#fff;cursor:pointer;background:#375a42;border:1px solid #375a42;border-radius:3px;padding:8px 12px}.result-card{border-bottom:1px solid #ccd1c4;padding:12px 0}.result-card h3{margin:0 0 5px;font-size:.9rem}.result-card p{margin:5px 0}.result-card small{color:#52634f}.player-roster .submitted{background:#e0ecd9}
