:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#222a34;background:#f5f4f1;font-size:15px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:#1867a8}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.045em}h2{font-size:1.08rem;letter-spacing:-.02em}h3{font-size:.94rem}p{line-height:1.55}.muted{color:#6d7480}.small{font-size:.82rem}.tiny{font-size:.7rem}.eyebrow{text-transform:uppercase;letter-spacing:.115em;color:#79808b;font-size:.71rem;font-weight:750}.chip{border-radius:100px;background:#e9edf2;color:#596474;padding:5px 9px;font-size:.72rem;font-weight:700;white-space:nowrap}.good{background:#e3f4e9;color:#136d3d}.topbar{background:#172333;color:#f9fafb;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px max(22px,calc((100vw - 1340px)/2));min-height:69px}.brand{font-weight:850;letter-spacing:-.02em;font-size:1.15rem}.brand-sub{font-weight:450;color:#bac5d3;font-size:.76rem}.brand .small-star{color:#f2c75a}.topbar-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.topbar .ghost-light{color:#e7edf4;border:1px solid #536171;background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#206cc1;color:white;border:1px solid #206cc1;border-radius:10px;min-height:39px;padding:9px 15px;font-size:.88rem;font-weight:725;transition:filter .12s}.btn:hover:not(:disabled){filter:brightness(.94)}.btn.secondary{background:white;color:#23364a;border:1px solid #cfd5dd}.btn.danger{background:#fff1f1;color:#a12f36;border:1px solid #efd0d0}.btn.quiet{background:transparent;color:inherit;border-color:transparent}.btn.small{min-height:32px;padding:6px 10px;font-size:.78rem}.btn.block{width:100%}.hero{min-height:calc(100vh - 69px);display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 28% 20%,#fff6e7 0%,transparent 42%),radial-gradient(ellipse at 75% 70%,#e9f4fa,transparent 40%)}.landing{width:min(100%,850px);display:grid;grid-template-columns:1.06fr .94fr;gap:20px;align-items:stretch}.landing-about{border:1px solid #e4e6e9;background:white;padding:38px;border-radius:19px;box-shadow:0 15px 42px #202c400c;display:flex;flex-direction:column;gap:20px}.landing-about h1{max-width:310px;line-height:1.15}.landing-about>p{color:#68727e}.landing-art{display:flex;gap:9px;margin:8px 0}.mini-card{height:145px;flex:1;border-radius:12px;border:1px solid #d5d6d6;display:flex;align-items:flex-end;justify-content:center;padding:13px;font-weight:850;box-shadow:3px 4px 0 #0000000c;transform:rotate(-2deg)}.mini-card:nth-child(2){transform:rotate(2deg)}.mini-card:nth-child(3){transform:rotate(-1deg)}.mini-q{background:#f8edd3}.mini-a{background:#dbeafb}.mini-t{background:#f7deea}.landing-controls{background:#fff;border:1px solid #e4e6e9;border-radius:19px;padding:28px;box-shadow:0 15px 42px #202c400c;display:flex;flex-direction:column;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:700;font-size:.8rem;color:#4a5564}input,select,textarea{width:100%;border:1px solid #cbd2db;background:white;border-radius:9px;padding:11px 12px;outline-color:#2588cf;color:#27323d}textarea{resize:vertical;min-height:75px}.separator{height:1px;background:#e8eaf0;margin:5px 0}.shell{max-width:1400px;margin:auto;padding:24px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:21px}.panel{background:#fff;border:1px solid #e6e7e9;border-radius:15px;box-shadow:0 5px 18px #17233308}.sidebar{padding:20px;align-self:start;display:flex;flex-direction:column;gap:16px}.sidebar-head{display:flex;justify-content:space-between;align-items:center}.score-table{width:100%;border-collapse:collapse}.score-table th{text-transform:uppercase;letter-spacing:.07em;text-align:left;font-size:.65rem;color:#8a9098;padding:0 4px 8px}.score-table th:nth-child(n+2),.score-table td:nth-child(n+2){text-align:center}.score-table td{padding:10px 4px;border-top:1px solid #eceef0;font-size:.82rem}.seat-name{display:flex;align-items:center;gap:6px;min-width:0}.seat-bubble{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#edf1f6;color:#606d79;font-size:.7rem;flex-shrink:0}.therapist-seat .seat-bubble{background:#206cc1;color:white}.seat-bubble.offline{border:1px dashed #c19b4a;background:#fff8e4;color:#8c6821}.seat-name span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-dot{width:6px;height:6px;background:#36b56d;border-radius:50%;display:inline-block;margin-left:4px}.player-roles{display:flex;gap:4px;flex-wrap:wrap}.sidebar-bottom{margin-top:auto;border-top:1px solid #edf0f3;padding-top:12px;display:flex;flex-direction:column;gap:7px}.main{min-width:0;display:flex;flex-direction:column;gap:18px}.state-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 22px}.state-head h2{font-size:1.24rem;margin-top:3px}.state-progress{text-align:right}.panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.comic{display:flex;flex-direction:column;min-width:0}.panel-label{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:7px;color:#687483;font-size:.75rem;font-weight:750}.card{border-radius:14px;border:2px solid #dbd7cf;min-height:210px;aspect-ratio: .87;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:17px 15px;position:relative;overflow:hidden;text-align:left;box-shadow:0 3px 0 #1723330a;color:#242b36;transition:transform .12s,border-color .12s}.card.question{background:#f9edce;border-color:#e9dcb8}.card.answer{background:#daebfb;border-color:#bfdaec}.card.treatment{background:#f6dbe7;border-color:#eac3d3}.card.back{background:#e9edf2;border:2px dashed #ccd3dc;color:#768392;justify-content:center;text-align:center;align-items:center}.card.selectable{cursor:pointer}.card.selectable:hover{transform:translateY(-3px)}.card.selected{border-color:#1468b4;box-shadow:0 0 0 3px #2688ec30,0 5px 0 #17233308}.card.winner{border-color:#1e9a59;box-shadow:0 0 0 3px #1e9a5940}.card-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#4c5361}.card-body{font-size:clamp(.9rem,1.4vw,1.16rem);font-weight:760;line-height:1.35;overflow-wrap:anywhere;text-align:center;margin:auto 0;padding:13px 1px}.card-footer{font-size:.7rem;color:#6f737c;text-align:right}.card-image{display:grid;place-items:center;min-height:95px;flex:1;margin-top:8px;overflow:hidden}.card-image img{display:block;max-width:100%;max-height:260px;object-fit:contain;border-radius:5px}.stack{display:flex;flex-direction:column;gap:14px}.section{padding:21px;display:flex;flex-direction:column;gap:15px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.treatments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.options .card{min-height:165px}.hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.hand .card{min-height:142px;aspect-ratio:.83;padding:11px}.hand .card-body{font-size:.81rem}.hand .card-kind{font-size:.58rem}.hand .card-footer{font-size:.58rem}.message{border-radius:11px;background:#f0f5fb;border:1px solid #dbe8f6;padding:15px;color:#2e5375;line-height:1.55}.message.warning{background:#fff5e6;border-color:#f1dfb7;color:#805c21}.message.success{background:#e8f7ee;border-color:#cde6d9;color:#236440}.action-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.badge{display:inline-block;background:#ebeff3;border:1px solid #e1e6eb;border-radius:100px;padding:4px 10px;font-size:.7rem;font-weight:700;color:#596575}.badge.blue{background:#e6f1fd;color:#1766a9;border-color:#c9e1f9}.winnerbox{padding:19px;border:1px solid #d2e8da;border-radius:13px;background:#edf9f1;display:flex;gap:13px;align-items:center}.winnericon{font-size:2.5rem}.round-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#16253d91;padding:18px;z-index:20}.modal-overlay.hidden{display:none}.dialog{background:#fff;border-radius:16px;box-shadow:0 25px 70px #0003;padding:25px;width:min(100%,440px);display:flex;flex-direction:column;gap:14px;max-height:92vh;overflow:auto}.dialog.wide{width:min(100%,620px)}.dialog h2{font-size:1.23rem}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.notice{position:fixed;right:16px;bottom:16px;z-index:10;background:#21334a;color:white;border-radius:13px;padding:14px 17px;width:min(400px,calc(100vw - 32px));box-shadow:0 12px 45px #0003;display:flex;flex-direction:column;gap:10px}.notice button{align-self:flex-end}.notice p{font-size:.86rem}.hide{display:none!important}.text-center{text-align:center}.roomcode{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;font-weight:850;color:#172333}.import-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.note{font-size:.76rem;line-height:1.5;color:#697486}.error{background:#fff0f0;color:#a2232b;padding:10px 12px;border-radius:8px}.flex-grow{flex:1}.footnote{color:#8b929d;font-size:.73rem;text-align:center;margin-top:3px}@media(max-width:930px){.shell{grid-template-columns:1fr;padding:14px}.sidebar{order:2}.main{order:1}.score-table td{padding:7px 4px}.sidebar-bottom{margin-top:0}.topbar{padding:12px 15px}.brand-sub{display:none}}@media(max-width:600px){.landing{grid-template-columns:1fr}.landing-about{padding:22px}.landing-controls{padding:22px}.landing-art .mini-card{height:80px}.panels{gap:7px}.card{min-height:133px;padding:10px 7px;border-radius:9px;aspect-ratio:.83}.card-body{font-size:.71rem}.card-kind,.card-footer{font-size:.54rem}.card-image img{max-height:125px}.options{grid-template-columns:repeat(3,minmax(0,1fr))}.options .card{min-height:130px}.hand{display:flex;overflow-x:auto;padding:4px 3px 10px}.hand>.card{flex:0 0 130px;min-height:178px}.section{padding:14px}.state-head{padding:15px}.state-progress{font-size:.76rem}.topbar{align-items:flex-start}.brand{font-size:1rem}.topbar-actions .btn{padding:6px 8px;min-height:30px;font-size:.71rem}.import-row{grid-template-columns:1fr}}

/* Multi-game landing page. Does not alter approved table and card layouts. */
.lobby-shell{max-width:1040px;margin:auto;padding:40px 22px;display:flex;flex-direction:column;gap:24px}
.lobby-intro{max-width:700px;display:flex;flex-direction:column;gap:12px}.lobby-intro h1{font-size:2.3rem}
.lobby-stats{display:flex;gap:12px}.lobby-stat{padding:16px 20px;display:flex;flex-direction:column;gap:7px;min-width:135px}.lobby-stat strong{font-size:1.7rem}
.lobby-games{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.lobby-game{overflow:hidden}.lobby-game-art{background:#f5f4f1;padding:20px;display:flex;justify-content:center;gap:12px}.lobby-game-art .mini-card{height:114px;max-width:130px}.lobby-game-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:11px}.lobby-future{padding:26px;display:flex;flex-direction:column;gap:12px;background:#f8fafc}.lobby-return{margin-bottom:40px}.lobby-seat{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5e7ed;padding:13px 0}.lobby-seat:first-of-type{border-top:0}
@media(max-width:700px){.lobby-shell{padding:24px 14px}.lobby-games{grid-template-columns:1fr}.lobby-intro h1{font-size:1.85rem}.lobby-stats{flex-wrap:wrap}.lobby-seat{flex-wrap:wrap}}
