:root{--paper:#f5efdf;--paper-deep:#e8dcc2;--ivory:#fffaf0;--ink:#17221d;--muted:#657068;--green:#173e32;--green-2:#2e5a47;--forest:#0f2f27;--burgundy:#7a2831;--petrol:#20525a;--brass:#a8833d;--brass-light:#d3b66f;--wood:#5a3827;--line:#35312233;--shadow:0 20px 55px #2d26181f}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:var(--paper);min-height:100vh;color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #a8833d80}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif}a{color:inherit}.paper-grain{pointer-events:none;opacity:.42;mix-blend-mode:multiply;background-image:radial-gradient(circle at 20% 15%,#70582e14 0 1px,#0000 1.5px),radial-gradient(circle at 80% 65%,#70582e0f 0 1px,#0000 1.5px);background-size:19px 19px,27px 27px;position:fixed;inset:0}.eyebrow,.section-label,.kicker{color:var(--brass);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:800;line-height:1.4;display:block}.brand{align-items:center;gap:.8rem;display:flex}.brand strong{letter-spacing:.025em;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;display:block}.seal{border:2px solid var(--brass);background:var(--green);width:48px;height:48px;color:var(--brass-light);box-shadow:inset 0 0 0 4px var(--green), inset 0 0 0 5px #d3b66f80;border-radius:50%;flex:none;place-items:center;display:inline-grid}.seal span{letter-spacing:.08em;font-family:Georgia,serif;font-size:.78rem;font-weight:800}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:43px;padding:.72rem 1rem;font-size:.85rem;font-weight:750;line-height:1.2;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #173e3229}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--green);color:#fffaf0;border-color:var(--green)}.button-secondary{color:var(--forest);background:#f1e5c9;border-color:#5a382740}.button-danger{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}.button-ghost{color:var(--green);background:0 0;border-color:#173e3240}.button-row{flex-wrap:wrap;gap:.65rem;display:flex}.button-stack{gap:.6rem;display:grid}.muted{color:var(--muted)}.landing{background:linear-gradient(180deg, #143a30 0 570px, var(--paper) 570px 100%);min-height:100vh;position:relative;overflow:hidden}.landing:before{content:"";border:1px solid #d3b66f21;border-radius:50%;width:820px;height:820px;position:absolute;top:-520px;right:-140px;box-shadow:0 0 0 70px #d3b66f06,0 0 0 140px #d3b66f05}.landing-header{z-index:2;color:#fff;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:1.5rem 3rem;display:flex;position:relative}.landing-header .eyebrow{color:var(--brass-light)}.era-badge{color:#f5e8cb;border:1px solid #d3b66f80;border-radius:999px;padding:.5rem .9rem;font-family:Georgia,serif;font-size:.82rem}.hero{z-index:1;color:#fff;grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);align-items:center;gap:4rem;max-width:1280px;min-height:430px;margin:0 auto;padding:4rem 3rem 3rem;display:grid;position:relative}.hero-copy{max-width:660px}.hero .kicker{color:var(--brass-light);margin-bottom:1.25rem}.hero h1{letter-spacing:-.035em;margin-bottom:1.25rem;font-size:clamp(2.65rem,5vw,5rem);font-weight:500;line-height:.98}.hero p{color:#fffaf0c2;max-width:620px;font-family:Georgia,serif;font-size:1.05rem;line-height:1.75}.hero-rule{max-width:350px;color:var(--brass-light);align-items:center;gap:1rem;margin-top:1.8rem;display:flex}.hero-rule span{background:#d3b66f73;flex:1;height:1px}.hero-rule i{letter-spacing:.12em;font-family:Georgia,serif;font-size:.8rem}.hemicycle{filter:drop-shadow(0 22px 28px #0003);flex-direction:column;justify-content:flex-end;align-items:center;height:330px;display:flex;position:relative}.hemicycle:before{content:"";aspect-ratio:1.5;border:1px solid #d3b66f73;border-bottom-color:#d3b66f26;border-radius:50% 50% 10px 10px;width:92%;position:absolute;bottom:0}.hemicycle-dais{z-index:3;background:#0f2f27;border:1px solid #d3b66f80;border-radius:55% 55% 8px 8px;place-items:center;width:112px;height:74px;display:grid;position:absolute;top:47px}.hemicycle-dais .seal{width:42px;height:42px}.hemicycle-row{justify-content:center;gap:10px;display:flex;position:absolute}.hemicycle-row i{background:#d3b66f24;border:1px solid #d3b66f8c;border-radius:50% 50% 3px 3px;width:18px;height:13px;display:block}.hemicycle-row.row-0{gap:15px;top:135px}.hemicycle-row.row-1{gap:18px;top:177px}.hemicycle-row.row-2{gap:19px;top:222px}.hemicycle-row.row-3{gap:17px;top:269px}.login-grid{z-index:3;grid-template-columns:1.12fr .88fr;gap:1.3rem;max-width:1100px;margin:-1.5rem auto 0;padding:0 2.5rem;display:grid;position:relative}.login-card{min-height:340px;box-shadow:var(--shadow);background:#fffaf0fa;border:1px solid #5a38272e;border-radius:4px;padding:2.4rem;position:relative;overflow:hidden}.login-card:after{content:"";pointer-events:none;border:1px solid #a8833d2e;position:absolute;inset:10px}.login-card h2{margin:.45rem 0 .8rem;font-size:2rem;font-weight:500}.login-card>p{max-width:560px;color:var(--muted);line-height:1.65}.card-number{color:#a8833d17;font-family:Georgia,serif;font-size:9rem;line-height:1;position:absolute;top:-30px;right:18px}.login-card form{z-index:1;grid-template-columns:1fr 1fr auto;align-items:end;gap:.8rem;margin-top:1.5rem;display:grid;position:relative}.login-card label,.teacher-section label,.action-block label,.create-game-form label{color:var(--green);letter-spacing:.04em;gap:.42rem;font-size:.76rem;font-weight:750;display:grid}input,select{width:100%;min-height:43px;color:var(--ink);background:#fffdf6f2;border:1px solid #5a382747;border-radius:6px;padding:.68rem .8rem}.form-error{color:var(--burgundy);grid-column:1/-1;margin:0;font-size:.82rem}.teacher-card{background:#e9deca}.teacher-card .button{z-index:2;margin-top:1.3rem;position:relative}.teacher-card small{z-index:1;color:var(--muted);margin-top:.75rem;display:block;position:relative}.landing-footer{color:#6e6a5c;justify-content:center;gap:2.5rem;max-width:1100px;margin:0 auto;padding:2rem 2.5rem 3rem;font-family:Georgia,serif;font-size:.83rem;display:flex}.landing-footer span:before{content:"◆";color:var(--brass);vertical-align:.12rem;margin-right:.55rem;font-size:.52rem}.app-shell{background:linear-gradient(90deg,#5a382706 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#f8f2e5,#eee3cd);min-height:100vh}.app-header{z-index:40;color:#fff;border-bottom:3px solid var(--brass);background:#13382efa;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;height:78px;padding:0 2rem;display:grid;position:sticky;top:0;box-shadow:0 8px 30px #0c221c26}.app-header .seal{width:42px;height:42px}.app-header .eyebrow{color:var(--brass-light);font-size:.58rem}.app-header nav{justify-content:center;align-self:stretch;display:flex}.app-header nav button{color:#ffffffb3;cursor:pointer;background:0 0;border:0;padding:0 1rem;font-size:.82rem;font-weight:700;position:relative}.app-header nav button:after{content:"";background:0 0;height:3px;position:absolute;bottom:0;left:1rem;right:1rem}.app-header nav button.active{color:#fff}.app-header nav button.active:after{background:var(--brass-light)}.account-menu{align-items:center;gap:.8rem;font-size:.78rem;display:flex}.account-menu span{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.account-menu button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:.4rem .75rem}.mobile-nav{display:none}.utility-bar{border-bottom:1px solid var(--line);max-width:1480px;min-height:54px;color:var(--muted);justify-content:space-between;align-items:center;margin:0 auto;padding:.55rem 2rem;font-size:.75rem;display:flex}.utility-bar>div{align-items:center;gap:.75rem;display:flex}.utility-bar .button{min-height:34px;padding:.45rem .72rem}.app-content{max-width:1480px;margin:0 auto;padding:1.4rem 2rem 5rem}.dashboard-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:1.25rem;display:grid}.toast{z-index:100;max-width:min(560px,100vw - 2rem);box-shadow:var(--shadow);color:var(--green);background:#fff9ec;border:1px solid #a8833d59;border-radius:8px;padding:.85rem 1.1rem;font-size:.86rem;position:fixed;top:92px;left:50%;transform:translate(-50%)}.toast-error{color:var(--burgundy);border-color:#7a283173}.state-changed .board{animation:2.2s changedGlow}@keyframes changedGlow{0%,to{box-shadow:0 12px 40px #2d26181a}20%{box-shadow:0 0 0 4px #a8833d66,0 18px 50px #2d261829}}.board{background:#fffaf0eb;border:1px solid #5a38272e;border-radius:7px;overflow:hidden;box-shadow:0 12px 40px #2d26181a}.state-banner{color:#fff;background:radial-gradient(circle at 78% -40%, #d3b66f38, transparent 50%), var(--green);border-bottom:4px solid var(--brass);justify-content:space-between;align-items:center;min-height:132px;padding:1.8rem 2rem;display:flex}.state-banner .eyebrow{color:var(--brass-light)}.state-banner h1{margin:.4rem 0 0;font-size:clamp(1.75rem,3vw,2.8rem);font-weight:500}.turn-medallion{text-align:center;background:#08271f8c;border:1px solid #d3b66fbf;border-radius:50%;place-content:center;width:82px;height:82px;display:grid;box-shadow:inset 0 0 0 5px #0f2f27b3}.turn-medallion span,.turn-medallion small{color:#ddc991;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem}.turn-medallion strong{font-family:Georgia,serif;font-size:2rem;line-height:1}.status-ribbon{min-height:43px;color:var(--green);letter-spacing:.04em;text-align:center;background:#e7d8ba;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.72rem;font-weight:750;display:grid}.status-ribbon span:first-child{text-align:left;padding-left:2rem}.status-ribbon span:last-child{text-align:right;padding-right:2rem}.status-ribbon b{color:var(--burgundy);border-left:1px solid #5a38272e;border-right:1px solid #5a38272e;padding:.45rem 1rem;font-family:Georgia,serif;font-weight:500}.indicator-board{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.indicator{border-right:1px solid var(--line);background:#fffdf7b3;min-height:108px;padding:1rem .8rem .8rem;position:relative}.indicator:last-child{border-right:0}.indicator>div:first-child{justify-content:space-between;align-items:start;gap:.4rem;display:flex}.indicator span{color:#5f675f;max-width:105px;min-height:28px;font-size:.66rem;font-weight:750;line-height:1.25}.indicator strong{color:var(--green);font-family:Georgia,serif;font-size:1.5rem;font-weight:500;line-height:1}.indicator-crisi strong{color:var(--burgundy)}.scale{gap:3px;height:7px;margin-top:.8rem;display:flex}.scale i{background:#d9d2c2;border-radius:1px;flex:1}.scale i.filled{background:var(--petrol)}.indicator-lavoro .scale i.filled,.indicator-chiesa .scale i.filled{background:var(--brass)}.indicator-ordine .scale i.filled{background:var(--green-2)}.indicator-liberta .scale i.filled{background:#41668b}.indicator-crisi .scale i.filled{background:var(--burgundy)}.stepper{gap:.3rem;display:flex;position:absolute;bottom:.55rem;right:.75rem}.stepper button{border:1px solid var(--line);width:24px;height:24px;color:var(--green);cursor:pointer;background:#fff;border-radius:4px}.office-grid{background:#ece2cd6b;grid-template-columns:repeat(3,1fr);gap:.8rem;padding:1.2rem;display:grid}.office-card{border:1px solid #5a38272e;border-top:3px solid var(--brass);background:#fffdf7;border-radius:4px;align-content:start;gap:.45rem;min-height:112px;padding:1.1rem;display:grid}.office-card.government{border-top-color:var(--petrol)}.office-card.inquiry-office{border-top-color:var(--burgundy)}.office-label{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.62rem;font-weight:800}.office-card strong{font-family:Georgia,serif;font-size:1.12rem;font-weight:500}.office-card small{color:var(--muted);font-size:.7rem}.vote-result,.waiting-document,.inquiry-result{background:#f8f0dd;border:1px solid #a8833d4d;border-radius:4px;margin:0 1.2rem 1.2rem;padding:1.2rem 1.35rem}.vote-result{grid-template-columns:auto auto 1fr;align-items:center;gap:1rem;display:grid}.vote-result>strong{color:var(--green);font-family:Georgia,serif;font-size:1.8rem}.vote-result p{color:var(--muted);margin:0;font-size:.82rem}.stamp{border:2px solid var(--green);width:fit-content;color:var(--green);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;justify-content:center;align-items:center;padding:.25rem .48rem;font-family:Georgia,serif;font-size:.62rem;font-weight:800;display:inline-flex;transform:rotate(-2deg)}.stamp.burgundy{border-color:var(--burgundy);color:var(--burgundy)}.tally{justify-content:flex-end;gap:1.5rem;display:flex}.tally span{color:var(--muted);text-align:center;font-size:.72rem}.tally b{color:var(--ink);font-family:Georgia,serif;font-size:1.5rem;display:block}.waiting-document{align-content:center;min-height:130px;padding-left:120px;display:grid;position:relative;overflow:hidden}.waiting-document strong{font-family:Georgia,serif;font-size:1.2rem}.waiting-document p{color:var(--muted);margin:.35rem 0 0;font-size:.78rem}.document-lines{background:repeating-linear-gradient(#0000 0 11px,#5a382729 11px 12px),#fffdf5;border:1px solid #5a38274d;width:70px;height:88px;position:absolute;top:20px;left:28px;transform:rotate(-4deg);box-shadow:8px 7px #5a382714}.inquiry-result h3{margin:.8rem 0 .45rem}.inquiry-result p{margin:0;font-family:Georgia,serif;line-height:1.6}.law-document{border:1px solid #5a382738;border-left:5px solid var(--petrol);background:linear-gradient(135deg,#fffdf6,#f4ead7);border-radius:3px;margin:0 1.2rem 1.2rem;padding:1.35rem;box-shadow:0 8px 20px #2d26180f}.law-document h3{margin:.45rem 0;font-size:1.3rem;font-weight:500}.law-document>p{color:var(--muted);margin-bottom:.75rem;font-family:Georgia,serif;font-size:.88rem;line-height:1.55}.effects{flex-wrap:wrap;gap:.4rem;display:flex}.effects span{border-radius:999px;padding:.3rem .58rem;font-size:.68rem;font-weight:750}.effects .positive{color:var(--green);background:#2e5a471f}.effects .negative{color:var(--burgundy);background:#7a28311a}.speech-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#20525a0b;grid-template-columns:1fr auto;gap:1rem;padding:1.4rem 1.5rem;display:grid}.speech-section h2,.recent-history h2{margin:.25rem 0 0;font-size:1.25rem;font-weight:500}.current-speaker{border-left:3px solid var(--brass);align-self:start;min-width:170px;padding-left:.8rem}.current-speaker span{color:var(--muted);text-transform:uppercase;font-size:.62rem;display:block}.current-speaker strong{font-family:Georgia,serif}.speech-queue{counter-reset:queue;flex-wrap:wrap;grid-column:1/-1;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.speech-queue li{counter-increment:queue;color:var(--green);background:#fff;border:1px solid #20525a33;border-radius:999px;padding:.4rem .65rem;font-size:.72rem}.speech-queue li:not(.empty):before{content:counter(queue) ".";color:var(--brass);margin-right:.35rem;font-weight:800}.speech-queue li.empty{color:var(--muted);font-style:italic}.recent-history{padding:1.5rem}.section-heading{margin-bottom:.8rem}.recent-history>article{border-top:1px solid var(--line);grid-template-columns:75px 1fr;gap:1rem;padding:.78rem 0;display:grid}.recent-history time{color:var(--brass);text-transform:uppercase;font-size:.68rem;font-weight:800}.recent-history strong{font-family:Georgia,serif;font-weight:600}.recent-history p{color:var(--muted);margin:.22rem 0 0;font-size:.78rem;line-height:1.5}.action-panel,.teacher-quick{border:1px solid #5a382733;border-top:4px solid var(--brass);background:#fffaf0f7;border-radius:6px;gap:.85rem;padding:1.35rem;display:grid;position:sticky;top:95px;box-shadow:0 12px 32px #2d26181a}.action-panel h2,.teacher-quick h2{margin:-.25rem 0 0;font-size:1.5rem;font-weight:500}.action-panel>p,.teacher-quick p{color:var(--muted);font-size:.82rem;line-height:1.6}.action-block{gap:.7rem;display:grid}.action-panel .button{width:100%}.action-panel .button-row .button{flex:1;width:auto}.vote-buttons{grid-template-columns:1fr 1fr 1fr;gap:.45rem;display:grid}.vote-buttons .button{padding:.7rem .35rem;font-size:.72rem}.law-choice{gap:1rem;display:grid}.law-choice>p{color:var(--muted);font-size:.8rem;line-height:1.5}.law-choice .law-document{margin:0 0 .55rem;padding:.9rem}.law-choice .law-document h3{font-size:1rem}.power-action,.extraordinary-action{background:#f3ead5;border:1px dashed #a8833d73;border-radius:4px;padding:1rem}.power-action>strong{font-family:Georgia,serif}.power-action p,.extraordinary-action p{color:var(--muted);margin:.4rem 0 .75rem;font-size:.78rem;line-height:1.55}.extraordinary-action{background:#7a28310b;border-color:#7a283159}.student-sticky{z-index:30;box-shadow:var(--shadow);background:#fffaf0f7;border:1px solid #5a382733;border-radius:10px;gap:.6rem;padding:.65rem;display:flex;position:fixed;bottom:1rem;right:1rem}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.person-card{background:#fffaf0f0;border:1px solid #5a38272e;border-radius:5px;padding:1.35rem;position:relative;overflow:hidden;box-shadow:0 10px 28px #2d261812}.person-card.absent{opacity:.62;filter:grayscale(.4)}.portrait-medallion,.student-avatar{float:left;border:2px solid var(--brass);background:var(--green);width:58px;height:58px;color:var(--brass-light);border-radius:50%;place-items:center;margin:0 .9rem .6rem 0;font-family:Georgia,serif;font-size:1.05rem;display:grid}.person-heading span{color:var(--brass);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.person-heading h2{margin:.2rem 0;font-size:1.45rem;font-weight:500}.person-heading p,.person-card>p{color:var(--muted);font-family:Georgia,serif;font-size:.8rem;line-height:1.55}.person-card>p{clear:both;padding-top:.6rem}.person-card dl{grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0;display:grid}.person-card dl div{border-top:1px solid var(--line);padding-top:.5rem}.person-card dt{color:var(--brass);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:800}.person-card dd{color:var(--ink);margin:.28rem 0 0;font-size:.74rem;line-height:1.45}.private-dossier{background:#7a28310a;border:1px dashed #7a28315c;margin:1rem -.2rem 0;padding:1rem}.private-dossier h3{color:var(--burgundy);margin:.7rem 0 .35rem;font-size:1.15rem}.private-dossier p,.private-dossier li{color:#554b48;font-size:.75rem;line-height:1.5}.private-dossier ul{padding-left:1.1rem}.private-dossier>strong{font-family:Georgia,serif;font-size:.85rem}.person-card footer{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.62rem;display:flex}.page-title{border-bottom:1px solid var(--line);margin-bottom:1.5rem;padding-bottom:1.2rem}.page-title.split{justify-content:space-between;align-items:end;gap:2rem;display:flex}.page-title h1{letter-spacing:-.025em;margin:.35rem 0 .4rem;font-size:clamp(2rem,4vw,3.4rem);font-weight:500}.page-title p{max-width:720px;color:var(--muted);margin:0;line-height:1.6}.history-ledger,.rules-page,.teacher-section{background:#fffaf0cc;border:1px solid #5a382726;border-radius:6px;max-width:1180px;margin:0 auto;padding:1.4rem;box-shadow:0 12px 35px #2d26180f}.history-ledger details{border:1px solid var(--line);background:#fffdf7cc;border-radius:4px;margin-bottom:.8rem}.history-ledger summary{cursor:pointer;background:#e8dcc273;justify-content:space-between;padding:1rem 1.2rem;list-style:none;display:flex}.history-ledger summary span{font-family:Georgia,serif;font-size:1.1rem}.history-ledger summary small{color:var(--muted)}.history-ledger details>article{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:1rem;padding:1rem 1.2rem;display:grid}.history-type{color:var(--brass);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:800}.history-ledger article h3{margin-bottom:.3rem;font-size:1rem}.history-ledger article p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.rule-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.rule-grid article{border:1px solid var(--line);background:#fffcf5;min-height:170px;padding:1.4rem;position:relative;overflow:hidden}.rule-grid article>span{color:#a8833d1f;font-family:Georgia,serif;font-size:7rem;position:absolute;top:-20px;right:12px}.rule-grid h2{margin-bottom:.6rem;font-size:1.35rem;font-weight:500;position:relative}.rule-grid p{color:var(--muted);margin:0;font-family:Georgia,serif;font-size:.86rem;line-height:1.65;position:relative}.empty-dashboard,.empty-state{text-align:center;background:#fffaf0bf;border:1px dashed #5a382747;align-content:center;place-items:center;gap:.7rem;min-height:420px;display:grid}.empty-dashboard .seal{width:72px;height:72px}.empty-dashboard h1,.empty-state h2{margin:.5rem 0 0;font-size:2rem;font-weight:500}.empty-dashboard p,.empty-state p{max-width:520px;color:var(--muted)}.loading-screen{min-height:100vh;color:var(--green);background:var(--paper);place-content:center;justify-items:center;gap:1rem;display:grid}.loading-screen .seal{animation:1.4s ease-in-out infinite pulseSeal}@keyframes pulseSeal{50%{transform:scale(1.06);box-shadow:0 0 0 12px #a8833d1a}}.inline-form,.create-game-form{border:1px solid var(--line);background:#efe4ce;grid-template-columns:1.3fr 1fr 1fr auto;align-items:end;gap:.8rem;margin-bottom:1.3rem;padding:1rem;display:grid}.student-table{gap:.55rem;display:grid}.student-table>article{border:1px solid var(--line);background:#fffdf7;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;min-height:76px;padding:.75rem .9rem;display:grid}.student-avatar{width:45px;height:45px;margin:0;font-size:.8rem}.student-table article>div:nth-child(2){gap:.2rem;display:grid}.student-table article strong{font-family:Georgia,serif}.student-table article span,.student-table article small{color:var(--muted);font-size:.7rem}.student-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.student-actions .button{min-height:34px;padding:.48rem .65rem;font-size:.7rem}.create-game-form{grid-template-columns:1.4fr .8fr auto;max-width:820px}.briefing-note{border-left:4px solid var(--brass);background:#efe4ce;max-width:820px;padding:1.1rem}.briefing-note p{color:var(--muted);margin:.3rem 0 0}.teacher-control-grid{grid-template-columns:1.35fr .8fr 1fr;align-items:start;gap:1rem;display:grid}.teacher-control-grid>article{border:1px solid var(--line);background:#fffdf7;padding:1.1rem}.teacher-control-grid h2{margin-bottom:.5rem;font-size:1.35rem;font-weight:500}.teacher-control-grid h3{font-size:1rem}.teacher-control-grid p{color:var(--muted);font-size:.78rem;line-height:1.55}.teacher-control-grid .indicator-board{border:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:1rem}.teacher-control-grid .indicator{min-height:96px}.teacher-control-grid .law-document{margin:0 0 .65rem;padding:.8rem}.teacher-control-grid label{margin-bottom:.8rem}.content-toolbar{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.content-toolbar input{max-width:330px}.segmented{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fffdf7;padding:.7rem .9rem}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--green);color:#fff}.content-list{gap:.55rem;display:grid}.content-list>article{border:1px solid var(--line);background:#fffdf7;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.content-kind{color:var(--brass);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:800}.content-list h2{margin:.2rem 0;font-size:1rem;font-weight:600}.content-list p{max-width:720px;color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.content-list .button{white-space:nowrap;min-height:35px;padding:.48rem .7rem;font-size:.7rem}.projection{background:#102d25;min-height:100vh;padding:1.2rem}.projection-top{color:#fff;justify-content:space-between;align-items:center;max-width:1500px;margin:0 auto 1rem;display:flex}.projection-top .button{color:#fff;border-color:#ffffff47}.projection-board{max-width:1500px;margin:0 auto}.projection-board .state-banner{min-height:150px}.projection-board .state-banner h1{font-size:3rem}.projection-board .indicator{min-height:125px}.projection-board .indicator span{font-size:.78rem}.projection-board .indicator strong{font-size:2rem}@media (width<=1160px){.hero{grid-template-columns:1fr 420px;gap:1.8rem}.dashboard-layout{grid-template-columns:minmax(0,1fr) 290px}.indicator-board{grid-template-columns:repeat(4,1fr)}.indicator{border-bottom:1px solid var(--line)}.people-grid,.teacher-control-grid{grid-template-columns:1fr 1fr}.teacher-control-grid>article:first-child{grid-column:1/-1}}@media (width<=900px){.landing{background:linear-gradient(180deg, #143a30 0 690px, var(--paper) 690px 100%)}.landing-header{padding:1.2rem 1.3rem}.hero{grid-template-columns:1fr;min-height:620px;padding:3rem 1.3rem 2rem}.hemicycle{opacity:.55;width:44%;height:270px;position:absolute;bottom:1rem;right:1rem}.hero-copy{max-width:680px}.login-grid{grid-template-columns:1fr;margin-top:-1rem;padding:0 1.2rem}.login-card form{grid-template-columns:1fr 1fr}.login-card form .button{grid-column:1/-1}.app-header{grid-template-columns:1fr auto;padding:0 1rem}.app-header nav{display:none}.mobile-nav{z-index:35;border-bottom:1px solid var(--line);background:#efe3cc;display:flex;position:sticky;top:78px;overflow-x:auto}.mobile-nav button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:.75rem .9rem;font-size:.75rem}.mobile-nav button.active{border-bottom-color:var(--green);color:var(--green);font-weight:750}.dashboard-layout{grid-template-columns:1fr}.action-panel,.teacher-quick{position:static}.status-ribbon{grid-template-columns:1fr;gap:.45rem;padding:.7rem}.status-ribbon span:first-child,.status-ribbon span:last-child{text-align:center;padding:0}.status-ribbon b{border:0}.office-grid{grid-template-columns:1fr 1fr}.office-card:last-child{grid-column:1/-1}.inline-form,.create-game-form{grid-template-columns:1fr 1fr}.inline-form .button,.create-game-form .button{grid-column:1/-1}.page-title.split{flex-direction:column;align-items:start}}@media (width<=640px){.landing-header .brand strong{font-size:.84rem}.era-badge{display:none}.hero{min-height:560px}.landing{background:linear-gradient(180deg, #143a30 0 620px, var(--paper) 620px 100%)}.hero h1{font-size:2.7rem}.hero p{font-size:.9rem}.hemicycle{opacity:.27;width:76%;right:-25%}.login-grid{padding:0 .75rem}.login-card{padding:1.5rem}.login-card form{grid-template-columns:1fr}.login-card form .button{grid-column:auto}.landing-footer{flex-direction:column;gap:.55rem;padding:1.5rem}.app-header{height:70px}.app-header .brand .eyebrow{display:none}.app-header .brand strong{max-width:150px;font-size:.76rem}.app-header .seal{width:38px;height:38px}.account-menu span{display:none}.mobile-nav{top:70px}.utility-bar{padding:.45rem .7rem}.utility-bar span,.utility-bar>.button{display:none}.app-content{padding:.8rem .7rem 5.5rem}.state-banner{min-height:116px;padding:1.2rem}.state-banner h1{font-size:1.6rem}.turn-medallion{width:65px;height:65px}.indicator-board{grid-template-columns:1fr 1fr}.indicator{min-height:92px}.indicator:last-child{grid-column:1/-1}.office-grid{grid-template-columns:1fr;padding:.75rem}.office-card:last-child{grid-column:auto}.vote-result{grid-template-columns:1fr}.tally{justify-content:space-between}.waiting-document{padding-left:90px}.document-lines{left:15px}.speech-section{grid-template-columns:1fr}.speech-queue{grid-column:auto}.recent-history>article{grid-template-columns:60px 1fr}.people-grid,.person-card dl,.rule-grid{grid-template-columns:1fr}.history-ledger,.rules-page,.teacher-section{padding:.8rem}.history-ledger details>article{grid-template-columns:1fr;gap:.35rem}.inline-form,.create-game-form,.teacher-control-grid{grid-template-columns:1fr}.student-table>article{grid-template-columns:auto 1fr}.student-actions{grid-column:1/-1;justify-content:flex-start}.content-toolbar{flex-direction:column}.content-toolbar input{max-width:none}.content-list>article{flex-direction:column;align-items:flex-start}.student-sticky{bottom:.65rem;left:.65rem;right:.65rem}.student-sticky .button{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
