@charset "UTF-8";
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#293a33;background:#f8f9f5;font-size:14px;font-synthesis:none;--ink:#25382e;--muted:#79837b;--green:#267b62;--line:#e0e5dc;--paper:#fff;--sage:#e9efe5}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #8abd9b;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:38px;letter-spacing:-1.3px;line-height:1.14;font-weight:500;margin-bottom:16px}h2{font-size:21px;letter-spacing:-.5px;font-weight:600}h3{font-size:17px;font-weight:600}p{line-height:1.7}small{line-height:1.5}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.6px;color:#668373;margin-bottom:14px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{min-height:43px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:7px;font-weight:600;font-size:13px;transition:background .15s,transform .15s;white-space:normal}.button:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff}.primary:hover{background:#1d6651}.secondary{background:#fff;border-color:#d8dfd6;color:var(--ink)}.secondary:hover{background:#f1f5ec}.text-button{background:transparent;color:var(--ink)}.full{width:100%;margin-top:12px}.small-button{background:#fff;border:1px solid var(--line);border-radius:5px;padding:8px 10px;font-size:12px}.icon-button{background:transparent;border:0;color:inherit;font-size:20px;padding:5px 8px}.danger-text{color:#b45c4b}.badge{display:inline-block;padding:6px 10px;border-radius:5px;font-size:11px;background:#edf0e9;color:#6f7e72;white-space:nowrap}.ready{color:#247b63;background:#e2f1e7}.live-dot{display:inline-block;width:6px;height:6px;background:#5b9c74;border-radius:50%;margin-right:7px}.live-dot.offline{background:#be8d46}.color-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}hr{border:0;border-top:1px solid var(--line);margin:24px 0}label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:7px;margin-bottom:16px;color:#59675d}input,select,textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce2d8;border-radius:6px;background:white;color:#293a33;outline:0}input:focus,select:focus,textarea:focus{border-color:#79a990;box-shadow:0 0 0 3px #267b6210}input[type=color]{height:43px;padding:5px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}input[type=file]{font-size:11px;padding:10px 6px}textarea{resize:vertical}.checkbox-label{flex-direction:row;align-items:center}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.app-shell{display:flex;min-height:100vh}.sidebar{width:234px;flex:0 0 234px;position:sticky;top:0;height:100vh;background:#20332c;color:#d3dfd5;display:flex;flex-direction:column;padding:31px 20px 20px}.brand{display:block;margin:0 5px 52px;font-size:26px;font-weight:650;letter-spacing:-1.5px;color:#f5f4dd}.sidebar nav{display:grid;gap:7px}.sidebar nav :is(a,button){display:flex;align-items:center;gap:13px;padding:12px;border-radius:7px;font-size:12px;font-weight:500;color:#b3c4b6}.sidebar nav :is(a,button) span{font-size:20px;width:20px;color:#a6c0ac}.sidebar nav :is(a,button):hover{background:#ffffff07}.sidebar nav .active{background:#d2e2c315;color:#f0f1dd}.sidebar nav .active span{color:#c6d99c}.main-content{flex:1;min-width:0}.page-top{height:77px;padding:0 39px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:11px}.page-body{padding:32px 39px;max-width:1700px;margin:auto}.hero{min-height:382px;background:#eaf0e3;border:1px solid #dce5d2;border-radius:13px;display:grid;grid-template-columns:1.08fr 1fr;overflow:hidden;margin-bottom:43px}.hero-copy{padding:36px 0 30px 34px;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-1px;margin-bottom:19px;color:#253c2b}.hero p{font-size:12px;max-width:330px;color:#70816d;line-height:1.8;margin-bottom:23px}.hero .button{font-size:11px;padding:12px 17px;min-height:40px}.hero-meta{display:flex;gap:16px;font-size:8px;color:#7e8c73;margin-top:27px;flex-wrap:wrap}.hero-meta span+span:before{content:'·';margin-right:16px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading .eyebrow{font-size:8px;margin-bottom:11px}.section-heading h1{font-size:29px;margin:0;letter-spacing:-.7px}.section-heading .muted{font-size:10px}.catalog-tools{display:flex;justify-content:flex-start;align-items:center;gap:15px;margin-bottom:23px}.tabs{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.tabs button{border:0;background:transparent;color:#7c8679;padding:9px 13px;border-radius:5px;font-size:11px}.tabs .active{background:#e8eedf;color:#3b5a3b;font-weight:600}.search{display:flex;margin:0;flex-direction:row;align-items:center;background:white;border:1px solid #e0e5dc;border-radius:6px;padding:0 11px;width:224px;color:#819076}.search-icon{display:block;width:16px;height:16px;flex:0 0 16px;align-self:center}.search input{min-width:0;flex:1;border:0;padding:9px 6px;background:transparent;font-size:10px;box-shadow:none}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.scenario-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}.scenario-card:hover{box-shadow:0 10px 25px #273e2110;transform:translateY(-3px)}.scenario-art{display:block;height:200px;background:var(--art-bg);position:relative;overflow:hidden;color:var(--art-color)}.scenario-art>img{width:100%;height:100%;object-fit:cover}.art-symbol{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);font-size:95px;line-height:1;opacity:.8}.art-caption{position:absolute;bottom:26px;width:100%;text-align:center;font-family:Georgia,serif;font-size:22px;letter-spacing:-.6px}.scenario-info{padding:17px 18px 13px}.card-meta{display:flex;gap:12px;color:#8b9385;font-size:8px;margin-bottom:10px}.card-meta span:first-child,.card-meta .card-cell-count{flex-shrink:0;white-space:nowrap}.card-meta span+span{min-width:0}.card-meta span+span:before{content:'·';margin-right:12px}.scenario-info h2{font-size:17px;margin-bottom:8px;letter-spacing:-.3px}.scenario-info p{color:#8b9287;font-size:10px;line-height:1.8;min-height:36px;margin-bottom:18px}.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e8;padding-top:13px;font-size:8px;color:#97a08e;gap:8px}.card-footer a{color:#486d4f;font-weight:600}.creator-banner{border:1px dashed #cedbc4;border-radius:9px;background:#f0f4e9;padding:25px;display:flex;align-items:center;gap:24px;margin-top:32px}.creator-symbol{font-size:47px;color:#8caa70}.creator-banner h2{font-size:18px;font-family:Georgia,serif;font-weight:500;letter-spacing:-.1px;margin-bottom:8px}.creator-banner p{font-size:10px;color:#869178;margin-bottom:0;max-width:470px}.creator-banner .button{margin-left:auto;flex-shrink:0;font-size:10px}.empty-state{border:1px dashed #d5dfcd;padding:65px 20px;text-align:center;border-radius:9px;color:#6b7b62}.empty-state>span{font-size:40px;display:block;margin-bottom:15px}.empty-state h2{font-family:Georgia,serif;font-size:25px;font-weight:400}.empty-state p{font-size:12px}.back-link{font-size:11px;color:#6d806a}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr);gap:40px;align-items:start}.detail-board{padding:20px 0}.detail-panel{padding:20px 0}.detail-panel h1{font-size:43px}.lead{font-size:13px;color:#7b8878}.detail-facts{display:flex;justify-content:space-between;gap:10px;border-block:1px solid var(--line);padding:20px 0;margin:24px 0}.detail-facts strong{font-size:20px;font-weight:500;display:block}.detail-facts span{font-size:10px;color:var(--muted);display:block;margin-top:5px}.rule-summary p{font-size:13px;margin-bottom:10px}.rule-summary small{font-size:11px;color:var(--muted);display:block;margin-bottom:25px}.auth-page{padding:32px;min-height:100vh;background:radial-gradient(ellipse at 50% 40%,#eaf0e2,transparent 70%)}.auth-card{max-width:430px;margin:40px auto;background:white;border:1px solid var(--line);border-radius:12px;padding:35px;text-align:center;box-shadow:0 20px 70px #2c422908}.auth-emblem{font-size:50px;color:#568553;display:block;margin-bottom:24px}.auth-card .eyebrow{font-size:8px;letter-spacing:1px}.auth-card h1{font-size:35px}.auth-card p{font-size:12px;color:#899382}.auth-tabs{justify-content:center;margin:24px 0}.auth-card form{text-align:left}.auth-note{font-size:10px;color:#98a08f;margin-top:24px}
.editor-heading{padding:28px 32px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px}.editor-heading h1{font-size:31px}.editor-heading .eyebrow{font-size:8px}.editor-tabs{padding:0 32px 17px;border-bottom:1px solid var(--line)}.editor-tabs button{padding:10px 22px}.save-status{font-size:10px;color:var(--muted)}.board-editor{display:grid;grid-template-columns:190px minmax(250px,1fr) 245px;align-items:start;border-bottom:1px solid var(--line)}.object-list{background:#fff;border-right:1px solid var(--line);padding:14px 10px;height:calc(100vh - 235px);min-height:450px;overflow-y:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 9px;color:#718069;font-size:11px}.object-item{border:0;display:flex;align-items:center;gap:9px;padding:10px 8px;width:100%;text-align:left;background:transparent;border-radius:5px;margin:3px 0;color:#586a55;min-height:45px}.object-item.active{background:#eaf2e3;color:#366138}.object-item strong{display:block;font-size:11px;font-weight:500;overflow-wrap:anywhere}.object-item small{display:block;font-size:8px;color:#8d9a86;margin-top:3px}.object-number{font-size:8px;color:#9aa78e;margin-left:auto}.editor-board{padding:20px 18px;background:#f0f3eb;min-width:0}.inspector{padding:23px 17px;background:white;border-left:1px solid var(--line)}.inspector .eyebrow{font-size:8px}.inspector h3{margin-bottom:21px}.inspector label{font-size:10px}.inspector input,.inspector select{padding:9px;font-size:11px}.inspector .actions{margin-top:20px}.asset-preview{width:100%;height:120px;object-fit:cover;border-radius:6px;margin-bottom:10px}.design-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:30px;padding:28px 32px;align-items:start}.settings-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px}.settings-card h2{margin-bottom:25px;font-size:21px}.settings-card .eyebrow{font-size:8px}.settings-card .muted{font-size:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 32px}.events-layout{display:grid;grid-template-columns:190px minmax(0,1fr)}.event-content{min-width:0}.event-settings{display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:#fff;padding:16px 20px;border-bottom:1px solid var(--line)}.event-settings label{margin:0;flex:1;min-width:150px;font-size:10px}.event-settings input,.event-settings select{font-size:11px}.event-settings .small-button{margin-bottom:1px}.flow-editor{display:grid;grid-template-columns:minmax(0,1fr) 235px;min-height:570px}.flow-workspace{min-width:0;background:#f4f6f0;position:relative}.flow-canvas{height:540px;width:100%;position:relative;background-image:radial-gradient(#b9c6b4 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.flow-inspector{min-width:0}.flow-node{width:220px;background:#fff;border:1px solid #cbd7c4;border-radius:8px;box-shadow:0 5px 18px #3041250c;position:relative;overflow:visible}.flow-node-button{padding:16px 18px;width:100%;display:flex;align-items:start;flex-direction:column;background:transparent;border:0;text-align:left;color:#3e5537;gap:7px}.node-kind{font-size:8px;letter-spacing:1.4px;color:#789567}.flow-node strong{font-size:13px;font-weight:600}.flow-node small{font-size:10px;color:#8b9a7c;line-height:1.35}.flow-node.trigger-node{background:#e8f1e1;border-color:#abc59c}.flow-node.condition-node{background:#fdf8e8;border-color:#e0d7b0}.flow-node.picked{outline:2px solid #679855}.flow-node.visited{box-shadow:0 0 0 4px #9ac77b4a}.flow-node .diagram-port{width:10px;height:10px;background:#8da57b;border:2px solid white;border-radius:50%;pointer-events:none}.diagram-link{pointer-events:none}.branch-buttons{display:flex;flex-direction:column;gap:6px;margin:16px 0}.condition-child{border-left:2px solid #e2e8da;margin:10px 0;padding-left:10px}.condition-child .small-button{font-size:9px}.preview-panel{border-top:1px solid var(--line);padding:15px 20px;background:#fff}.preview-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.preview-controls>strong{font-size:12px}.preview-controls label{font-size:9px;margin:0;max-width:100px}.preview-controls input{padding:7px}.preview-controls .button{font-size:11px}.preview-result{padding:16px;background:#f5f8f0;border-radius:6px;margin-top:15px;font-size:11px}.preview-result p{margin:7px 0;color:#7a8c6b}
.connection-status{font-size:10px;color:#86917e}.lobby-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;gap:28px}.participants{margin:15px 0 22px}.participant{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #edf0e7}.participant strong{font-size:13px}.participant small{display:block;font-size:9px;color:#87947d;margin-top:4px}.participant-name{flex:1}.player-pawn{font-size:26px;min-width:30px;text-align:center}.vacant{color:#b8c1af;font-size:11px}.vacant .player-pawn{font-size:22px}.invite-card{background:#eaf0e2;border:1px solid #d8e3ca;border-radius:9px;padding:30px}.invite-card h2{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.13;margin:16px 0;letter-spacing:-.8px}.invite-symbol{font-size:30px;color:#8da56e}.invite-card p{font-size:12px;color:#849373}.invite-card label{font-size:10px}.invite-card input{font-size:11px}.invite-card .small-button{margin:13px auto 0;display:block;background:transparent;border:0;color:#889977}.compact{margin-top:20px;padding:22px}.compact h3{font-size:15px}.compact p{font-size:12px;color:#708265}.compact small{font-size:10px;color:#8e9b82}.players-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:24px}.player-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:13px;position:relative}.player-card.current{border-color:#83a476;background:#edf4e7}.player-card strong{font-size:11px;display:block}.player-card div>span{font-size:16px;display:block;margin-top:5px}.player-card small{font-size:8px;color:#90a080;margin-left:auto}.player-card.bankrupt{opacity:.5}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.play-board{min-width:0}.play-sidebar{display:grid;gap:16px}.action-card,.property-card{background:white;border:1px solid var(--line);border-radius:8px;padding:22px}.action-card .eyebrow,.property-card .eyebrow{font-size:8px;letter-spacing:1px}.action-card h2{font-size:20px;margin-bottom:14px}.action-card p,.action-card small{font-size:11px;color:#7e8e70}.property-card{border-top:5px solid var(--property-color)}.property-card h3{margin-bottom:16px}.property-card small{font-size:10px;color:#849276}.property-facts{display:grid;gap:8px;margin-bottom:18px;font-size:10px}.property-facts>span{display:flex;justify-content:space-between}.property-facts strong{font-weight:500}.play-sidebar .button{font-size:11px}.match-journal{border:1px solid var(--line);border-radius:8px;background:white;padding:20px}.match-journal h3{font-size:14px}.match-journal>div{max-height:250px;overflow-y:auto}.match-journal p{font-size:9px;line-height:1.7;color:#7c8b70;display:flex;gap:10px;margin:10px 0}.match-journal p>span{font-size:8px;color:#b1bda4}.board-turn{z-index:1;background:#ffffff6b;border:1px solid #ffffff5c;border-radius:8px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:9px;width:80%;color:var(--board-accent)}.board-turn>span{font-size:clamp(8px,1.5cqw,12px)}.board-turn>strong{font-size:clamp(12px,2.5cqw,20px);font-weight:500}.dice-pair{display:flex;gap:10px;font-size:clamp(25px,7cqw,65px);line-height:.9}.timer{font-size:10px;font-variant-numeric:tabular-nums}.boot-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edf2e6;color:#416240}.boot-screen strong{font-size:18px;font-weight:500}.boot-screen p{color:#849975;font-size:12px;margin-top:12px}#blazor-error-ui{display:none;position:fixed;bottom:24px;left:auto;right:24px;width:min(420px,calc(100vw - 32px));padding:16px 52px 16px 16px;border:1px solid #e6c6bd;border-radius:12px;background:#fffefb;color:var(--ink);box-shadow:0 8px 32px #20332c26;font-size:13px;line-height:1.6;z-index:1000}#blazor-error-ui a{text-decoration:underline}#blazor-error-ui .dismiss{position:absolute;right:12px;top:12px;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#6a7b70;cursor:pointer}
@media(min-width:1500px){.hero{min-height:430px}.hero-copy{padding:45px}.scenario-art{height:240px}.hero p{max-width:400px;font-size:14px}.hero-meta{font-size:10px}.hero .button{font-size:13px}.scenario-info p{font-size:12px}.card-meta,.card-footer{font-size:10px}}
@media(max-width:1200px){.sidebar{width:200px;flex-basis:200px;padding:25px 14px}.brand{font-size:26px}.page-body{padding:28px}.page-top{padding:0 28px}.hero-copy{padding-left:25px}.hero h1{font-size:40px}.hero-art{padding-left:15px}.scenario-grid{gap:14px}.scenario-art{height:173px}.art-caption{font-size:19px}.board-editor{grid-template-columns:150px minmax(200px,1fr) 215px}.events-layout{grid-template-columns:160px minmax(0,1fr)}.flow-editor{grid-template-columns:minmax(0,1fr) 210px}.flow-node{width:200px}.editor-board{padding:15px 10px}.play-layout{grid-template-columns:minmax(0,1fr) 250px}.play-sidebar .action-card,.property-card{padding:17px}.detail-layout{gap:25px;grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1000px){.sidebar{width:180px;flex-basis:180px}.brand{font-size:23px}.sidebar nav :is(a,button){font-size:10px;gap:8px}.page-body{padding:24px 20px}.page-top{padding:0 20px}.hero{grid-template-columns:1fr .75fr;min-height:360px}.hero-copy{padding:28px 0 28px 25px}.hero h1{font-size:32px}.hero p{font-size:11px;max-width:260px}.hero-meta{gap:10px;font-size:7px}.hero-meta span+span:before{margin-right:10px}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading h1{font-size:25px}.scenario-art{height:200px}.creator-banner{padding:20px;gap:15px}.creator-symbol{display:none}.creator-banner p{font-size:9px}.creator-banner .button{padding:10px}.search{width:180px}.tabs button{font-size:10px;padding:8px 10px}.detail-layout{grid-template-columns:1fr}.detail-board{max-width:600px;margin:auto}.detail-panel{max-width:600px;width:100%;margin:auto}.board-editor{grid-template-columns:150px minmax(0,1fr)}.board-editor>.inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px;border-top:1px solid var(--line)}.board-editor>.inspector>h3,.board-editor>.inspector>.eyebrow{grid-column:1/-1}.object-list{min-height:400px;height:550px}.events-layout{grid-template-columns:150px minmax(0,1fr)}.flow-editor{display:block}.flow-inspector{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-top:1px solid var(--line)}.flow-inspector>.condition-editor{grid-column:1/-1}.flow-inspector>.eyebrow,.flow-inspector>h3{grid-column:1/-1}.flow-canvas{height:480px}.design-layout{grid-template-columns:1fr;padding:20px}.design-preview{max-width:550px}.settings-grid{padding:20px;gap:15px}.settings-card{padding:22px}.play-layout{grid-template-columns:1fr}.play-board{max-width:640px;margin:auto;width:100%}.play-sidebar{grid-template-columns:1fr 1fr}.match-journal{grid-column:1/-1}.lobby-layout{gap:18px}.invite-card{padding:24px}.invite-card h2{font-size:27px}.editor-heading{padding:24px 20px 10px}.editor-heading h1{font-size:26px}.editor-tabs{padding-left:20px}.save-status{display:none}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:15px 18px}.brand{margin:0;font-size:24px}.sidebar nav{display:flex;justify-content:space-between;gap:4px;margin-top:16px}.sidebar nav :is(a,button){padding:8px;font-size:10px;gap:6px}.sidebar nav :is(a,button) span{font-size:16px;width:auto}.page-top{height:57px;font-size:10px;padding:0 18px}.page-body{padding:22px 18px}.hero{grid-template-columns:1fr;min-height:0;margin-bottom:28px}.hero-copy{padding:28px 25px}.hero h1{font-size:36px}.hero p{max-width:400px;font-size:12px}.hero-art{height:230px;margin-top:-15px}.hero-meta{font-size:8px;margin-top:22px}.section-heading{align-items:flex-start;margin-bottom:18px}.section-heading h1{font-size:26px}.section-heading .eyebrow{font-size:7px;letter-spacing:1px}.catalog-tools{align-items:stretch;flex-direction:column;gap:13px}.search{width:100%}.scenario-grid{gap:14px}.scenario-art{height:165px}.scenario-info{padding:13px}.scenario-info h2{font-size:16px}.scenario-info p{font-size:10px}.card-footer{font-size:7px;flex-wrap:wrap}.art-caption{font-size:17px;bottom:22px}.art-symbol{font-size:70px}.creator-banner{display:block;padding:22px}.creator-banner h2{font-size:21px}.creator-banner p{font-size:11px}.creator-banner .button{margin:18px 0 0}.detail-panel h1{font-size:34px}.auth-page{min-height:70vh;padding:23px 18px}.auth-card{margin:20px auto;padding:28px 24px}.editor-heading{display:block}.editor-heading .button{padding:5px 0;font-size:10px;min-height:25px}.page-top .button{font-size:10px;padding:8px 12px;min-height:35px}.editor-tabs{padding:0 12px 12px}.editor-tabs button{font-size:11px;padding:10px 12px}.board-editor{grid-template-columns:110px minmax(0,1fr)}.object-list{padding:7px 5px;min-height:300px;height:390px}.panel-heading{padding:10px 5px;font-size:9px}.object-item{padding:8px 5px;gap:5px}.object-item strong{font-size:9px}.object-item small{font-size:7px}.object-number{display:none}.editor-board{padding:15px 8px}.board-editor>.inspector{grid-template-columns:1fr 1fr;padding:20px}.events-layout{grid-template-columns:1fr}.events-layout>.object-list{height:auto;min-height:0;display:flex;flex-wrap:wrap;padding:10px;gap:6px}.events-layout .panel-heading{width:100%;padding:5px}.events-layout .object-item{width:auto;border:1px solid var(--line);padding:8px 12px}.events-layout .object-item strong{font-size:10px}.events-layout .object-item small{font-size:8px}.flow-canvas{height:460px}.flow-node{width:200px}.flow-inspector{padding:20px}.event-settings{padding:15px}.event-settings label{min-width:130px}.preview-controls{gap:10px}.preview-controls>strong{width:100%}.preview-controls label{max-width:85px}.settings-grid{grid-template-columns:1fr}.design-layout{padding:20px}.lobby-layout{grid-template-columns:1fr}.invite-card h2{font-size:32px}.room-body>.section-heading h1{font-size:28px}.connection-status{font-size:8px}.players-strip{grid-template-columns:repeat(2,1fr);gap:8px}.player-card{padding:10px}.player-card strong{font-size:10px}.player-card div>span{font-size:14px}.player-card small{font-size:7px}.player-card .player-pawn{font-size:22px;min-width:20px}.play-sidebar{grid-template-columns:1fr}.match-journal{grid-column:auto}.detail-board{padding-top:0}}
@media(max-width:420px){.scenario-grid{grid-template-columns:1fr}.scenario-art{height:210px}.scenario-info{padding:19px}.scenario-info h2{font-size:20px}.scenario-info p{font-size:12px;min-height:0}.card-meta,.card-footer{font-size:9px}.art-caption{font-size:24px}.art-symbol{font-size:90px}.sidebar nav :is(a,button){font-size:9px;padding:7px 5px;gap:4px}.sidebar nav :is(a,button) span{font-size:14px}.hero h1{font-size:32px}.section-heading .muted{display:none}.section-heading h1{font-size:24px}.hero-copy{padding:27px 20px}.hero-meta{gap:8px;font-size:7px}.hero-meta span+span:before{margin-right:8px}.board-editor{grid-template-columns:1fr}.board-editor>.object-list{height:170px;min-height:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.object-list>.panel-heading{grid-column:1/-1}.board-editor>.inspector{grid-template-columns:1fr}.flow-inspector{display:block}.editor-heading h1{font-size:24px}.editor-tabs button{padding:8px 10px;font-size:10px}.connection-status{max-width:145px;line-height:1.5}.room-body>.section-heading h1{font-size:25px}.save-status{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
h1:focus{outline:none}.flow-node{width:220px;height:108px}.flow-node .diagram-port.top{position:absolute;top:-5px;left:calc(50% - 5px)}.flow-node .diagram-port.bottom{position:absolute;bottom:-5px;left:calc(50% - 5px)}

/* Keep the site sidebar while panels fill the remaining editor height. */
.app-shell:has(.editor-page:not(.editor-embedded)) { height:100dvh; min-height:0; overflow:hidden; }
.app-shell:has(.editor-page:not(.editor-embedded)) > .sidebar { overflow-y:auto; }
.main-content:has(> .editor-page) { height:100dvh; overflow:hidden; }
.editor-page { display:flex; flex-direction:column; height:100%; min-height:0; }
.editor-page .add-button { font-weight:600; transition:background-color .15s,color .15s,border-color .15s; }
.editor-page .add-button:not(.primary) { background:#eef5eb; border:1px solid #b4ccb1; color:var(--green); }
.editor-page .icon-button.add-button { display:inline-grid; place-items:center; width:28px; height:28px; flex:0 0 28px; padding:0; border-radius:5px; line-height:1; }
.editor-page .icon-button.add-button svg { display:block; width:14px; height:14px; }
.flow-inspector-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; grid-column:1/-1; margin-bottom:10px; }
.flow-inspector-heading .eyebrow { margin:0; }
.icon-button.delete-icon { display:inline-grid; place-items:center; width:30px; height:30px; flex:0 0 30px; padding:0; border:1px solid transparent; border-radius:6px; color:#b45c4b; transition:background-color .15s,color .15s,border-color .15s; }
.icon-button.delete-icon svg { display:block; }
.icon-button.delete-icon:is(:hover,:focus-visible) { background:#fff1ec; border-color:#e8b8aa; color:#9b3f34; }
.event-settings > .delete-icon { margin-bottom:5px; }
.editor-page .add-button:is(:hover,:focus-visible):not(:disabled) { background:var(--green); border-color:var(--green); color:#fff; }
.editor-page .add-button:active:not(:disabled) { background:#1d6651; border-color:#1d6651; color:#fff; }
.editor-page > * { flex-shrink:0; }
.editor-page > .editor-heading { padding:20px 32px 16px; align-items:flex-end; gap:24px; }
.editor-heading-title { min-width:0; display:grid; gap:8px; }
.editor-heading-title .back-link { width:fit-content; }
.editor-heading-title h1 { margin:0; line-height:1.15; overflow-wrap:anywhere; }
.editor-heading-actions { flex-shrink:0; gap:10px; padding-bottom:2px; }
@media(max-width:1000px) { .editor-heading-actions .save-status { display:none; } }
@media(max-width:720px) {
    .editor-page > .editor-heading { padding:16px 20px 12px; flex-wrap:wrap; gap:14px; }
    .editor-heading-actions { width:100%; padding:0; }
    .editor-heading-actions .button { flex:1; min-height:40px; }
}
.editor-content { flex:1; min-height:0; overflow:auto; }
.editor-content.events-active { overflow:hidden; }
.editor-page .board-editor { min-height:100%; align-items:stretch; border-bottom:0; }
@media(min-width:1001px) {
    .editor-content.board-active { overflow:hidden; }
    .editor-page .board-editor { height:100%; min-height:0; grid-template-rows:minmax(0,1fr); }
    .editor-page .board-editor > .object-list,
    .editor-page .board-editor > .editor-board,
    .editor-page .board-editor > .inspector { height:auto; min-height:0; overflow:auto; }
}
.editor-page .events-layout { grid-template-columns:220px minmax(0,1fr); height:100%; min-height:0; }
.editor-page .events-layout > .object-list { height:100%; min-height:0; overflow:auto; }
.editor-page .event-content { display:flex; flex-direction:column; min-height:0; }
.editor-page .event-settings { flex-shrink:0; padding:12px 20px; }
.editor-page .event-settings label { max-width:none; }
.editor-page .event-settings .event-description { flex:1 0 100%; margin:0; }
.editor-page .event-description textarea { margin:0; min-height:60px; max-height:140px; resize:vertical; font-size:12px; }
.editor-page .event-settings input,
.editor-page .event-settings select,
.editor-page .event-settings > .small-button { height:40px; min-height:40px; margin:0; padding:0 12px; font-size:11px; line-height:normal; border-radius:6px; }
.editor-page .event-settings > .small-button { flex-shrink:0; white-space:nowrap; }
@media(max-width:600px) { .editor-page .event-settings > .small-button { flex:1 0 100%; } }
.editor-page .flow-editor { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 280px; overflow:hidden; }
.editor-page .flow-workspace { display:flex; flex-direction:column; min-height:0; }



.editor-page .flow-canvas { flex:1; min-height:0; height:auto; }
.flow-canvas { background-image:none; isolation:isolate; }
.flow-grid { position:absolute; inset:0; pointer-events:none; }
.flow-canvas > .diagram-canvas { z-index:1; }


.editor-page .flow-inspector { display:block; overflow:auto; min-height:0; padding:22px; }
.editor-page .preview-panel { flex-shrink:0; max-height:26%; overflow:auto; padding:12px 20px; }
.editor-page .preview-controls > strong { width:auto; }
.editor-page .preview-result { margin-top:12px; }
.flow-zoom { display:flex; align-items:center; max-width:100%; gap:4px; padding:6px; border:1px solid #d2dccb; border-radius:10px; background:#fffffff5; box-shadow:0 4px 18px #30412512; }
.flow-zoom button { height:32px; border:0; border-radius:6px; color:var(--ink); background:transparent; }
.flow-zoom button:hover:not(:disabled) { background:var(--sage); }
.zoom-button { width:32px; font-size:21px; }
.zoom-value { min-width:54px; padding:0 5px; font-size:12px; font-variant-numeric:tabular-nums; }
.zoom-fit,.graph-icon { width:32px; padding:0; display:grid; place-items:center; flex-shrink:0; }
.flow-actions { position:absolute; top:12px; right:12px; z-index:5; max-width:calc(100% - 24px); }
.zoom-divider { width:1px; height:22px; background:var(--line); margin:0 2px; }
.flow-zoom input[type=range] { width:116px; min-width:24px; height:32px; padding:0; margin:0; border:0; border-radius:0; background:transparent; accent-color:var(--green); cursor:pointer; box-shadow:none; }
.flow-zoom input[type=range]:focus-visible { outline:2px solid #8abd9b; outline-offset:3px; }
@media(max-width:1100px) {
    .editor-page .events-layout { grid-template-columns:170px minmax(0,1fr); }
    .editor-page .flow-editor { grid-template-columns:minmax(0,1fr) 230px; }
    .editor-page .flow-inspector { padding:16px; }

    .flow-zoom { gap:2px; }
    .flow-zoom input[type=range] { width:80px; }
}
@media(min-width:761px) and (max-width:1000px) {
    .editor-page .flow-editor { display:flex; flex-direction:column; overflow:auto; }
    .editor-page .flow-workspace { height:max(420px,65dvh); flex-shrink:0; }
    .editor-page .flow-inspector { flex-shrink:0; overflow:visible; }
}
@media(max-width:760px) {
    .editor-content.events-active { overflow:auto; }
    .editor-page .events-layout { display:flex; flex-direction:column; height:auto; min-height:100%; }
    .editor-page .events-layout > .object-list { flex-shrink:0; display:flex; height:auto; max-height:125px; min-height:0; flex-wrap:wrap; padding:8px 12px; gap:5px; border-bottom:1px solid var(--line); }
    .editor-page .events-layout .panel-heading { width:100%; padding:2px 4px; }
    .editor-page .events-layout .object-item { width:auto; min-height:30px; padding:6px 9px; margin:0; border:1px solid var(--line); }
    .editor-page .event-settings { padding:12px; }
    .editor-page .event-settings label { min-width:130px; }
    .editor-page .flow-editor { display:flex; flex-direction:column; flex:none; overflow:visible; }
    .editor-page .flow-workspace { height:max(420px,60dvh); flex-shrink:0; }
    .editor-page .flow-inspector { max-height:400px; padding:20px; }

    .editor-page .preview-panel { max-height:360px; }
}
@media(max-width:720px) {
    .app-shell:has(.editor-page:not(.editor-embedded)) { display:flex; flex-direction:column; height:100dvh; min-height:0; }
    .app-shell:has(.editor-page:not(.editor-embedded)) > .sidebar { flex:0 0 auto; }
    .main-content:has(> .editor-page) { height:auto; flex:1; min-height:0; }
}
@media(max-width:420px) {
    .flow-actions { left:8px; right:8px; max-width:calc(100% - 16px); }
    .flow-zoom { width:100%; justify-content:space-between; gap:2px; padding:5px; }
    .flow-zoom .zoom-button,.flow-zoom .graph-icon,.flow-zoom .zoom-fit { width:28px; }
    .flow-zoom .zoom-value { min-width:42px; }
    .flow-zoom .zoom-divider { margin:0; }
    .flow-zoom input[type=range] { flex:1; min-width:35px; max-width:110px; }
}
.navigation-confirm { width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 28px; overflow: auto; border: 1px solid #dce4d6; border-radius: 14px; background: #fffef9; color: var(--ink); box-shadow: 0 18px 60px #16312630; }
.navigation-confirm::backdrop { background: #142b2466; }
.navigation-confirm h2 { margin: 0 0 12px; font-family: Georgia, serif; font-size: 28px; font-weight: 400; }
.navigation-confirm p { margin: 0 0 24px; color: #687b62; font-size: 14px; }
.navigation-confirm .actions { justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.navigation-confirm .button { font-size: 12px; }
@media (max-width: 480px) { .navigation-confirm { padding: 22px; } .navigation-confirm .actions { flex-direction: column; align-items: stretch; } }
.toast-region { position:fixed; z-index:80; right:24px; bottom:24px; width:min(420px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); display:flex; flex-direction:column; gap:12px; overflow-y:auto; pointer-events:none; }
.toast-entry { display:contents; }
.toast { flex-shrink:0; display:grid; grid-template-columns:24px minmax(0,1fr) 28px; align-items:start; gap:12px; padding:16px; border:1px solid #c8ded0; border-radius:12px; background:#fffefb; color:var(--ink); box-shadow:0 8px 32px #20332c26; pointer-events:auto; animation:toast-appear .16s ease-out; }
.toast-icon { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#e2f1e7; color:#267b62; font-weight:700; }
.toast-body { max-height:min(60dvh,400px); overflow:auto; overflow-wrap:anywhere; font-size:13px; line-height:1.6; padding-top:2px; }
.toast-body p { margin:0; }
.toast-body p + p { margin-top:8px; }
.toast-close { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:6px; background:transparent; color:#6a7b70; }
.toast-close:hover { background:#edf1e9; }
.toast-error { border-color:#e6c6bd; }
.toast-error .toast-icon { background:#fae9e3; color:#a84332; }
.toast-issues { margin:10px 0 0; padding-left:18px; font-size:12px; }
.toast-issues li + li { margin-top:7px; }
@keyframes toast-appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:720px) { .toast-region, #blazor-error-ui { right:16px; bottom:16px; max-height:calc(100dvh - 32px); } .toast-close { width:32px; height:32px; } .toast { grid-template-columns:24px minmax(0,1fr) 32px; } }
@media(prefers-reduced-motion:reduce) { .toast { animation:none; } }

.profile-heading{min-width:0}.profile-email{margin:8px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}


.lobby-test-mode{margin-top:20px;margin-bottom:8px}.test-mode-badge{color:#a05a13;background:#fff0d8}.test-move-field{text-align:left;margin:18px 0 10px}.test-move-field input{font-size:20px;text-align:center;font-variant-numeric:tabular-nums}.board-dialog .test-move-error{margin:0;overflow-wrap:anywhere}

.sidebar nav.admin-nav{margin-top:16px;padding-top:16px;border-top:1px solid #52694f70}.profile-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;align-items:start}.profile-settings h2{margin:0 0 24px}.profile-settings .button{margin-top:8px}.admin-search{max-width:360px;margin:0 0 24px}.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.admin-table th{color:#71836e;font-size:11px;font-weight:600;background:#f0f3eb}.admin-table th,.admin-table td{padding:16px;vertical-align:middle;border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:320px}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table .badge{white-space:nowrap}.banned-badge{color:#a14534;background:#fae9e3}.admin-link{color:var(--green);white-space:nowrap}.admin-link:hover{text-decoration:underline}.admin-actions{min-width:165px}.admin-actions>span{display:block;margin-bottom:10px}.admin-actions .small-button{margin:2px 6px 2px 0;min-height:36px;white-space:nowrap}.admin-actions .danger-text:hover{background:#fff1ec}
@media(max-width:900px){.profile-settings{grid-template-columns:1fr}.admin-table{min-width:680px}.sidebar nav.admin-nav{margin-top:0;padding-top:0;border-top:0}.admin-page .section-heading{gap:12px;flex-wrap:wrap}}

@media(min-width:721px) { .brand { text-align:center; } }

.sidebar nav button { width:100%; border:0; background:transparent; text-align:left; }
.sidebar .catalog-icon { display:block; }
.sidebar nav.account-nav { margin-top:16px; padding-top:16px; border-top:1px solid #52694f70; }
.sidebar nav .account-name { min-width:0; flex:1; width:auto; font-size:inherit; font-weight:inherit; color:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:720px) {
    .sidebar nav.account-nav { justify-content:flex-start; margin-top:10px; padding-top:10px; }
    .sidebar nav.account-nav > a { flex:1; min-width:0; }
    .sidebar nav.account-nav > button { width:auto; flex-shrink:0; }
}

/* Keep scenario and cell symbols in their monochrome text form. */
.board-emblem, .art-symbol, .cell-symbol {
    font-family:Georgia,"Segoe UI Symbol","Apple Symbols","Noto Sans Symbols 2",serif;
    font-variant-emoji:text;
}
#theme-symbol, #theme-symbol option, #cell-icon, #cell-icon option {
    font-family:"Segoe UI","Segoe UI Symbol","Apple Symbols","Noto Sans Symbols 2",sans-serif;
    font-variant-emoji:text;
}

.lobby-layout { max-width:none; grid-template-columns:minmax(0,1fr) 360px; align-items:start; gap:32px; }
.lobby-scenario { min-width:0; }
.lobby-board { position:relative; width:100%; max-width:760px; margin:0 auto; }
.lobby-board .board-wrap { width:100%; }
.lobby-scenario-description { max-width:760px; margin:24px auto 0; }
.lobby-scenario-description .lead { color:var(--muted); font-size:13px; }
.lobby-controls { display:grid; gap:20px; min-width:0; }
.lobby-controls .settings-card, .lobby-controls .invite-card { padding:24px; }
.lobby-players h2 { margin:0; }
.lobby-players .participants { margin:8px 0 20px; }
.lobby-players .participant { padding:12px 0; min-width:0; }
.lobby-players .participant > div { min-width:0; overflow-wrap:anywhere; }
.lobby-players .participant .badge { flex-shrink:0; }
.lobby-controls .invite-card h2 { margin:0 0 16px; font-family:inherit; font-size:18px; line-height:1.4; font-weight:500; letter-spacing:normal; }
.lobby-controls .invite-card p { margin:0; }
.lobby-controls .invite-card input { min-width:0; width:100%; }
.lobby-controls .invite-card .button { margin-bottom:0; }
.lobby-settings h3 { margin:0 0 20px; font-size:16px; }
.lobby-settings p { font-size:12px; color:var(--muted); }
@media(max-width:1100px) {
    .lobby-layout { grid-template-columns:minmax(0,1fr) 300px; gap:24px; }
    .lobby-controls .settings-card, .lobby-controls .invite-card { padding:20px; }
}
@media(max-width:900px) {
    .lobby-layout { grid-template-columns:minmax(0,1fr); }
    .lobby-controls { grid-row:1; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
    .lobby-players { grid-column:2; grid-row:1 / span 2; }
}
@media(max-width:560px) {
    .lobby-controls { grid-template-columns:minmax(0,1fr); }
    .lobby-players { grid-column:auto; grid-row:auto; }
}

.lobby-players .participant { gap:8px; }
.lobby-players .kick-player { width:28px; height:28px; flex-shrink:0; padding:4px; }
.lobby-kick-confirm { padding:12px; background:#fff6f2; border-radius:6px; margin-bottom:12px; }
.lobby-kick-confirm p { font-size:12px; margin:0 0 10px; }

.property-rent-settings, .property-economy-settings { border:0; border-top:1px solid var(--line); padding:16px 0 0; margin:16px 0 24px; min-width:0; }
.property-rent-settings legend, .property-economy-settings legend { font-size:13px; font-weight:600; padding:0 8px 0 0; }
.property-rent-settings label { margin-bottom:6px; }
.property-rent-settings .rent-setting-preview { margin:0 0 16px; font-size:11px; line-height:1.5; color:var(--muted); }
.property-rent-settings .rent-setting-preview strong { color:var(--ink); white-space:nowrap; }
.property-rent-settings .rent-setting-help { font-size:11px; line-height:1.6; margin:12px 0 16px; }
.rent-upgrade-setting { min-width:0; }
.economy-preview { margin:16px 0 24px; padding-top:12px; border-top:1px solid var(--line); font-size:11px; line-height:1.6; }
.economy-preview summary { cursor:pointer; font-weight:600; margin-bottom:12px; }
.economy-preview .rent-table { table-layout:fixed; width:100%; }
.economy-preview .rent-table th, .economy-preview .rent-table td { padding:7px 3px; overflow-wrap:anywhere; }
