@font-face{font-family:sourceCodePro;src:url(../media/SourceCodePro-s.p.1dpav9_22e7wa.ttf)format("truetype");font-display:swap}@font-face{font-family:sourceCodePro Fallback;src:local(Arial);ascent-override:74.83%;descent-override:20.76%;line-gap-override:0.0%;size-adjust:131.49%}.fKsWrq_className{font-family:sourceCodePro,sourceCodePro Fallback}
:root{--brand:#2bb673;--brand-dark:#1d7f50;--lime:#8cc63f;--lime-soft:#eaf5d8;--magenta:#d3498c;--ink:#333;--muted:#6f756f;--surface:#fff;--line:#dfe4dc;--line-strong:#b9c4b7;--canvas:#f5f7f2;--danger:#bd326f}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Source Code Pro,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.5}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}a{color:inherit;text-decoration:none}::selection{color:#fff;background:var(--brand-dark)}*{scrollbar-color:var(--brand) var(--lime-soft);scrollbar-width:thin}.page-shell{max-width:1180px;margin:0 auto;padding:48px 28px 72px}.topbar,.editor-topbar,.panel-heading,.section-heading,.sidebar-heading,.card-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar{border-bottom:2px solid var(--line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand profile""nav profile";gap:14px 24px;margin-bottom:42px;padding-bottom:24px;display:grid}.topbar>.brand-lockup{grid-area:brand;justify-self:start}.topbar>.dashboard-nav{grid-area:nav}.topbar>.profile-menu{grid-area:profile}.brand-lockup{color:var(--muted);letter-spacing:-.02em;align-items:center;gap:13px;font-size:.92rem;font-weight:800;display:inline-flex}.brand-lockup img{object-fit:contain;width:48px;height:42px}.brand-lockup-centered{justify-content:center;width:100%}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.78rem}.error{color:var(--danger)}.success{color:var(--brand-dark)}.actions{align-items:center;gap:10px;display:flex}.primary,.secondary,.ghost,.icon-button{border:2px solid #0000;border-radius:3px;min-height:38px;padding:8px 14px;font-weight:800;transition:border-color .16s,background-color .16s,color .16s,transform .16s}.primary{color:#fff;background:var(--brand);border-color:var(--brand)}.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);transform:translateY(-1px)}.secondary{color:#284519;background:var(--lime-soft);border-color:var(--lime)}.secondary:hover{color:#fff;background:var(--lime)}.ghost{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.ghost:hover{border-color:var(--brand);color:var(--brand-dark)}button:disabled{cursor:not-allowed;opacity:.48;transform:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #2bb6734d}.dashboard-nav{gap:26px;display:flex}.dashboard-nav button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;padding:2px 2px 8px;font-weight:750;display:inline-flex}.dashboard-nav button:hover{color:var(--brand-dark)}.dashboard-nav button[aria-current=page]{color:var(--ink);border-bottom-color:var(--lime)}.scenario-summary{border:2px solid var(--line-strong);background:var(--surface);width:min(100%,560px);padding:24px}.scenario-summary h2{margin-bottom:22px;font-size:1.35rem}.scenario-summary dl{border-top:2px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.scenario-summary dl>div{padding-top:18px}.scenario-summary dl>div+div{border-left:2px solid var(--line);padding-left:24px}.scenario-summary dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:850}.scenario-summary dd{color:var(--brand-dark);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:2rem;font-weight:850;line-height:1}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px;display:grid}.scenario-card{border:2px solid var(--line);background:var(--surface);border-radius:4px;min-height:188px;padding:0;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.scenario-card-cover{background:var(--surface);position:absolute;inset:0;overflow:hidden}.scenario-card-content{z-index:1;flex-direction:column;flex:1;min-width:0;padding:16px 18px;display:flex;position:relative}.scenario-cover{object-fit:cover;opacity:.16;width:100%;height:100%;display:block}.scenario-card:after{content:"";background:var(--lime-soft);width:58px;height:58px;transition:background-color .16s,transform .16s;position:absolute;bottom:-22px;right:-22px;transform:rotate(45deg)}.scenario-card:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 14px 28px #224c3217}.scenario-card:hover:after{background:var(--lime);transform:rotate(45deg)scale(1.12)}.scenario-card h2{overflow-wrap:anywhere;margin:14px 0 6px;font-size:1.18rem}.scenario-card.has-cover h2{margin-top:14px}.scenario-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:.86rem;display:-webkit-box;overflow:hidden}.scenario-card h2 a{text-underline-offset:4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .16s,color .16s}.scenario-card h2 a:before{content:"";z-index:1;position:absolute;inset:0}.scenario-card h2 a:hover{color:var(--brand-dark);-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime)}.scenario-card-meta{align-items:center;gap:10px;display:flex}.scenario-card-menu{z-index:3;flex:none;position:relative}.scenario-card-menu summary{width:34px;height:34px;color:var(--muted);cursor:pointer;background:#ffffffc7;border:2px solid #0000;border-radius:3px;place-items:center;list-style:none;display:grid}.scenario-card-menu summary::-webkit-details-marker{display:none}.scenario-card-menu summary:hover,.scenario-card-menu[open] summary{color:var(--brand-dark);border-color:var(--brand);background:var(--surface)}.scenario-card-menu summary:focus-visible{outline-offset:3px;outline:3px solid #2bb6734d}.scenario-card-menu svg{fill:currentColor;width:20px;height:20px}.scenario-card-popover{border:2px solid var(--line-strong);background:var(--surface);width:max-content;min-width:210px;box-shadow:0 12px 28px color-mix(in srgb, var(--brand-dark) 12%, transparent);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.scenario-card-popover button{width:100%;min-height:38px;color:var(--ink);text-align:left;background:0 0;border:0;padding:8px 10px;font-weight:800;text-decoration:none}.scenario-card-popover button:hover{color:var(--brand-dark);background:var(--lime-soft)}.scenario-card-popover .danger-text{color:var(--danger)}.scenario-card-popover .danger-text:hover{color:var(--danger);background:#fbe9f2}.scenario-card-popover button:focus-visible{outline-offset:-1px;outline:3px solid #2bb6734d}.status{border:1px solid var(--line-strong);color:var(--muted);background:var(--canvas);text-transform:uppercase;border-radius:2px;margin-left:0;padding:3px 7px;font-size:.64rem;font-weight:850;display:inline-flex}.status.public{color:#1a6943;border-color:var(--brand);background:#e5f7ee}.status.mode{color:var(--ink);border-color:var(--lime);background:var(--lime-soft)}.editor-topbar .status.mode{margin-left:6px}.empty-state{border:2px dashed var(--line-strong);text-align:center;background:var(--surface);padding:72px 24px;position:relative;overflow:hidden}.empty-state:before{content:"";background:var(--lime);width:34px;height:34px;position:absolute;top:-17px;left:calc(50% - 17px);transform:rotate(45deg)}.compact-empty-state{padding-block:48px}.active-game-list{border-top:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong);background:var(--surface)}.active-game-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:24px;padding:18px 20px;display:grid}.active-game-row:last-child{border-bottom:0}.active-game-row:hover{background:#f8faf6}.active-game-row h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1rem}.active-game-row p{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.72rem}.active-game-join{white-space:nowrap;align-items:center;min-height:38px;display:inline-flex}.active-game-delete{white-space:nowrap;min-height:38px;padding:0 2px}.profile-menu{flex:none;position:relative}.profile-menu summary{border:2px solid var(--line-strong);background:var(--surface);cursor:pointer;align-items:center;gap:9px;max-width:min(360px,42vw);min-height:42px;padding:8px 10px;font-size:.72rem;font-weight:800;list-style:none;display:flex}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary:hover{color:var(--brand-dark);border-color:var(--brand)}.profile-menu summary:focus-visible{outline-offset:3px;outline:3px solid #2bb6734d}.profile-menu summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-menu svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:20px;height:20px}.profile-menu .profile-chevron{width:16px;height:16px;transition:transform .16s}.profile-menu[open] .profile-chevron{transform:rotate(180deg)}.profile-popover{z-index:20;border:2px solid var(--line-strong);background:var(--surface);min-width:100%;box-shadow:0 12px 28px color-mix(in srgb, var(--brand-dark) 12%, transparent);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.profile-popover button,.profile-popover a{width:100%;min-height:38px;color:var(--danger);text-align:left;background:0 0;border:0;padding:8px 10px;font-weight:800;display:block}.profile-popover a{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.profile-popover button:hover{background:#fbe9f2}.profile-popover a:hover{color:var(--brand-dark);background:var(--lime-soft)}.profile-popover button:focus-visible,.profile-popover a:focus-visible{outline-offset:-1px;outline:3px solid #2bb6734d}.accounts-header{border-bottom:2px solid var(--line);justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px;padding-bottom:28px;display:flex}.accounts-header h1{letter-spacing:-.035em;margin:16px 0 10px;font-size:clamp(2rem,4vw,3.2rem)}.accounts-header p{max-width:65ch;color:var(--muted);margin-bottom:0}.account-context{border:2px solid var(--line-strong);background:var(--surface);flex:none;gap:4px;min-width:190px;padding:14px 16px;display:grid}.account-context span{color:var(--brand-dark);text-transform:uppercase;font-size:.72rem;font-weight:850}.form-notice{background:var(--surface);border:2px solid;margin-bottom:24px;padding:12px 14px}.account-management-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:start;gap:18px;display:grid}.account-management-grid>:only-child{grid-column:1/-1}.management-panel{border:2px solid var(--line-strong);background:var(--surface);padding:24px}.management-panel h2{margin-bottom:8px;font-size:1.35rem}.management-panel>p{margin-bottom:22px;font-size:.8rem}.management-form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.management-form button{place-self:end start}.organization-panel .management-form{grid-template-columns:1fr}.organization-settings{max-width:760px}.organization-slug-form{gap:10px;margin-top:24px;display:grid}.organization-slug-form>label{font-size:.78rem;font-weight:800}.organization-logo-field{border-bottom:1px solid var(--line);gap:10px;margin-bottom:22px;padding-bottom:24px;display:grid}.organization-field-label{font-size:.78rem;font-weight:800}.organization-logo-preview{border:2px solid var(--line-strong);background:var(--canvas);place-items:center;width:150px;height:112px;padding:12px;display:grid}.organization-logo-preview img{object-fit:contain;max-width:100%;max-height:100%;display:block}.organization-logo-upload{cursor:pointer;align-items:center;display:inline-flex;position:relative}.organization-logo-upload input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.organization-logo-upload:focus-within{outline-offset:3px;outline:3px solid #2bb6734d}.slug-field{border:2px solid var(--line-strong);background:var(--surface);align-items:stretch;display:flex}.slug-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2bb6732e}.slug-field span{color:var(--muted);white-space:nowrap;align-items:center;padding:10px 0 10px 11px;display:flex}.slug-field input{border:0;outline:0;flex:1;min-width:0;padding:10px 11px 10px 0}.organization-slug-form .actions{flex-wrap:wrap;margin-top:12px}.organization-preview-link{align-items:center;display:inline-flex}.accounts-list{margin-top:42px}.accounts-list-heading{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.accounts-list-heading h2{margin-bottom:5px;font-size:1.55rem}.accounts-list-heading p{margin-bottom:0;font-size:.78rem}.accounts-table-wrap{border:2px solid var(--line-strong);background:var(--surface);overflow-x:auto}.accounts-table{border-collapse:collapse;width:100%;font-size:.82rem}.accounts-table th,.accounts-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 16px}.accounts-table th{color:var(--muted);background:var(--lime-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:850}.accounts-table tbody tr:last-child td{border-bottom:0}.accounts-table tbody tr:hover{background:#f8faf6}.role-badge{border:1px solid var(--line-strong);background:var(--canvas);text-transform:uppercase;padding:3px 7px;font-size:.68rem;font-weight:850;display:inline-flex}.role-admin{color:#8a2457;border-color:var(--magenta);background:#fbe9f2}.role-owner{color:var(--brand-dark);border-color:var(--brand);background:#e5f7ee}.accounts-empty{border:2px dashed var(--line-strong);background:var(--surface);text-align:center;padding:38px 24px}.dashboard-add-button{z-index:15;right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));border:2px solid var(--brand-dark);color:#fff;background:var(--brand);border-radius:3px;place-items:center;width:58px;height:58px;padding:0;transition:background-color .16s,box-shadow .16s,transform .16s;display:grid;position:fixed;box-shadow:0 12px 28px #1d7f5047}.dashboard-add-button:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:0 15px 32px #1d7f5057}.dashboard-add-button:focus-visible{outline-offset:4px;outline:3px solid #2bb67359}.dashboard-add-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:28px;height:28px}.game-result{background:var(--surface);border:2px solid;margin-bottom:24px;padding:12px 14px}.game-result a{text-decoration:underline;-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime);text-underline-offset:3px;font-weight:800}.game-dialog{border:3px solid var(--brand);width:min(620px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--ink);background:var(--surface);border-radius:3px;padding:0;overflow:auto;box-shadow:0 24px 64px #275f3a24}.game-dialog::backdrop{background:color-mix(in srgb, var(--ink) 62%, transparent)}.game-dialog form,.scenario-mode-surface{padding:28px}.scenario-mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:24px;display:grid}.scenario-mode-options button{border:2px solid var(--line-strong);min-height:118px;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;padding:18px;display:grid}.scenario-mode-options button:hover{color:var(--brand-dark);border-color:var(--brand);background:var(--lime-soft);transform:translateY(-2px)}.scenario-mode-options svg{fill:none;width:40px;height:40px;stroke:var(--brand-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.scenario-mode-options span{color:var(--muted);gap:6px;font-size:.72rem;line-height:1.45;display:grid}.scenario-mode-options strong{color:var(--ink);font-size:1rem}.dialog-heading{border-bottom:2px solid var(--lime-soft);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.dialog-heading h2{letter-spacing:-.03em;margin-bottom:7px;font-size:2rem}.dialog-heading p{max-width:50ch;color:var(--muted);margin-bottom:0;font-size:.72rem}.dialog-close{border:2px solid var(--line-strong);width:38px;height:38px;color:var(--ink);background:var(--surface);flex:none;place-items:center;padding:0;display:grid}.dialog-close:hover{color:var(--brand-dark);border-color:var(--brand)}.dialog-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:20px;height:20px}.dialog-fields{grid-template-columns:minmax(0,1fr) 190px;gap:18px;padding-top:24px;display:grid}.scenario-field{grid-column:1/-1}.invitation-fields{border:2px solid var(--line);grid-column:1/-1;gap:10px;margin:8px 0 0;padding:18px;display:grid}.invitation-fields legend{padding:0 7px;font-size:.72rem;font-weight:800}.invitation-fields>p{color:var(--muted);margin-bottom:4px;font-size:.72rem}.invitation-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.invitation-row .danger-text{padding:7px 0}.add-invitation{justify-self:start;margin-top:2px}.dialog-error{margin:18px 0 0;font-size:.72rem}.dialog-actions{border-top:2px solid var(--line);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.auth-shell{background:var(--lime-soft);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:3px solid var(--brand);background:var(--surface);border-radius:3px;width:min(430px,100%);padding:40px;position:relative;overflow:hidden;box-shadow:0 20px 55px #265c391f}.auth-card:after{content:"";background:var(--lime);width:50px;height:50px;position:absolute;top:-25px;right:-25px;transform:rotate(45deg)}.auth-card h1{letter-spacing:-.035em;text-align:center;margin:28px 0 8px;font-size:2.5rem}.auth-card>.muted{text-align:center}.stack{gap:18px;margin-top:30px;display:grid}label{color:#4a504c;gap:7px;font-size:.8rem;font-weight:750;display:grid}input,textarea,select{border:2px solid var(--line-strong);width:100%;color:var(--ink);caret-color:var(--brand);background:#fff;border-radius:2px;outline:none;padding:10px 11px}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2bb6731f}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--brand)}.editor-shell{min-height:100vh}.editor-topbar{z-index:10;border-bottom:2px solid var(--line);background:#fffffff7;min-height:78px;padding:12px 22px;position:sticky;top:0}.editor-brand{border:2px solid var(--line);background:#fff;place-items:center;width:48px;height:48px;padding:3px;display:grid}.editor-brand:hover{border-color:var(--brand)}.editor-brand img{object-fit:contain;width:38px;height:34px}.back-link{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime);text-underline-offset:4px;font-size:.78rem;font-weight:800}.title-input{border-color:#0000;width:min(360px,36vw);padding:4px 6px;font-size:1.12rem;font-weight:850}.editor-workspace{background:#e9eee6;grid-template-columns:minmax(0,1fr) minmax(350px,410px);height:calc(100vh - 78px);min-height:620px;display:grid;overflow:hidden}.scenario-canvas-shell{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid;position:relative;overflow:hidden}.canvas-toolbar{z-index:4;border-bottom:2px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;display:flex;position:relative}.canvas-add{background:var(--brand-dark);border-color:var(--brand-dark)}.canvas-zoom-controls{align-items:center;gap:7px;display:flex}.canvas-zoom-controls output{min-width:54px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:850}.scenario-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:#f1f4ee;background-image:radial-gradient(circle,#54675633 1.3px,#0000 1.3px);background-size:24px 24px;min-height:0;position:relative;overflow:hidden}.scenario-canvas:active{cursor:grabbing}.scenario-canvas-world{transform-origin:0 0;width:1px;height:1px;position:absolute;inset:0 auto auto 0}.scenario-connections{pointer-events:none;width:1px;height:1px;position:absolute;inset:0 auto auto 0;overflow:visible}.connection path{fill:none;stroke:#829187;stroke-width:2.5px}.connection text{fill:#58625c;stroke:#f1f4ee;stroke-width:5px;paint-order:stroke;font-family:inherit;font-size:12px;font-weight:750}.connection.active path{stroke:var(--brand-dark);stroke-width:3.5px}.connection.active text{fill:var(--brand-dark);font-weight:850}.connection.embedded path{stroke:var(--brand);stroke-dasharray:8 7}.connection.embedded text{fill:var(--brand-dark)}.connection.embedded.active path{stroke:var(--brand-dark)}#graph-arrow path{fill:#829187}#graph-arrow-active path{fill:var(--brand-dark)}.scenario-node{width:208px;height:96px;color:var(--ink);text-align:left;cursor:grab;touch-action:none;background:#fff;border:2px solid #9eaaa1;border-radius:4px;grid-template-columns:1fr;padding:0;transition:border-color .16s,box-shadow .16s;display:grid;position:absolute}.scenario-node:hover{border-color:var(--brand-dark)}.scenario-node:active{cursor:grabbing}.scenario-node:focus-visible{outline-offset:4px;outline:3px solid #2bb67357}.scenario-node.selected{z-index:2;border-color:var(--brand);box-shadow:0 12px 28px #224c3224}.scenario-node.embedded{border-color:var(--brand);background:var(--lime-soft);border-style:dashed}.scenario-node.embedded .node-port-in{background:var(--brand)}.scenario-node-start{background:var(--lime-soft);border-color:var(--lime)}.scenario-node-end{color:#fff;background:var(--ink);border-color:var(--ink)}.scenario-node-end .node-type,.scenario-node-end small{color:#dce5df}.node-warning{width:22px;height:22px;color:var(--danger);place-items:center;display:grid;position:absolute;top:7px;right:8px}.node-warning svg,.scenario-warnings svg{fill:#fbe9f2;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:100%;height:100%}.node-warning-tooltip{z-index:6;border:2px solid var(--danger);width:280px;color:var(--ink);opacity:0;pointer-events:none;background:#fff;gap:5px;padding:11px 12px;font-size:.72rem;line-height:1.45;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + 9px);right:0;transform:translateY(-4px)}.node-warning-tooltip strong{color:var(--danger);font-size:.72rem}.scenario-node:hover .node-warning-tooltip,.scenario-node:focus-visible .node-warning-tooltip{opacity:1;transform:translateY(0)}.node-copy{align-content:center;gap:5px;min-width:0;padding:13px 18px;display:grid}.node-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.node-type{color:var(--brand-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:850}.node-copy small{color:var(--muted);font-size:.65rem}.node-port{background:#829187;border:2px solid #fff;width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.node-port-in{left:-7px}.node-port-out{background:var(--brand);right:-7px}.scenario-warnings{z-index:5;width:min(360px,100% - 28px);color:var(--ink);position:absolute;top:14px;right:14px}.scenario-warnings summary{border:2px solid var(--danger);width:max-content;max-width:100%;color:var(--danger);cursor:pointer;background:#fbe9f2;align-items:center;gap:8px;margin-left:auto;padding:8px 10px;font-size:.72rem;font-weight:850;list-style:none;display:flex}.scenario-warnings summary::-webkit-details-marker{display:none}.scenario-warnings summary:hover{background:#fbe9f2}.scenario-warnings summary:focus-visible{outline-offset:3px;outline:3px solid #d3498c47}.scenario-warnings summary svg{flex:none;width:20px;height:20px}.scenario-warnings>div{border:2px solid var(--danger);background:#fff;max-height:min(360px,100vh - 220px);margin-top:7px;padding:14px 16px;overflow:auto}.scenario-warnings>div>strong{color:var(--danger);font-size:.72rem}.scenario-warnings ul{gap:7px;margin:10px 0 0;padding-left:20px;font-size:.72rem;line-height:1.45;display:grid}.canvas-help{z-index:3;border:1px solid var(--line-strong);color:#58625c;pointer-events:none;background:#ffffffeb;border-radius:3px;max-width:330px;margin:0;padding:7px 10px;font-size:.66rem;position:absolute;bottom:12px;right:14px}.editor-inspector{border-left:2px solid var(--line);background:var(--surface);scrollbar-color:var(--line-strong) var(--surface);scrollbar-width:thin;min-width:0;overflow-y:auto}.inspector-tabs{z-index:3;border-bottom:2px solid var(--line);background:#fff;grid-template-columns:1fr 1fr;display:grid;position:sticky;top:0}.inspector-tabs button{min-height:48px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;font-weight:850}.inspector-tabs button:hover{color:var(--brand-dark);background:var(--lime-soft)}.inspector-tabs button.active{border-bottom-color:var(--brand);color:var(--brand-dark)}.inspector-tabs button:focus-visible{outline-offset:-4px;outline:3px solid #2bb67357}.inspector-content{padding:26px 24px 44px}.inspector-content>label{margin-bottom:18px}.embedded-step-note{border:2px solid var(--brand);color:var(--brand-dark);background:var(--lime-soft);margin:0 0 20px;padding:12px 14px;font-size:.72rem;line-height:1.5}.cover-field{color:#4a504c;gap:9px;margin-bottom:22px;font-size:.8rem;font-weight:750;display:grid}.cover-preview{aspect-ratio:16/9;object-fit:contain;border:2px solid var(--line-strong);background:var(--lime-soft);width:100%;display:block}.cover-upload{text-align:center;cursor:pointer;margin:0;display:block}.cover-upload input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cover-upload:focus-within{outline-offset:3px;outline:3px solid #2bb6734d}.cover-remove{justify-self:start;padding:0}.icon-button{min-width:36px;color:var(--ink);border-color:var(--line-strong);background:#fff;padding:5px 9px;font-size:1rem}.compact-button{min-height:30px;padding:4px 8px;font-size:.72rem}.panel-heading{border-bottom:2px solid var(--lime-soft);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:18px;display:flex}.panel-heading h2{overflow-wrap:anywhere;min-width:0;margin:3px 0 0;font-size:1.55rem}.panel-context{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:850}.required-note{color:var(--muted);text-align:right;margin:-12px 0 18px;font-size:.72rem}.required-note span,.required-heading:after,.step-selector-label.required-field:after{color:var(--danger);font-weight:850}.required-heading:after,.step-selector-label.required-field:after{content:" *"}label.required-field{position:relative}label.required-field:after{color:var(--danger);content:"*";font-weight:850;position:absolute;top:0;right:0}.danger-text{color:var(--danger);text-underline-offset:3px;background:0 0;border:0;font-weight:750;-webkit-text-decoration:underline #d3498c61;text-decoration:underline #d3498c61}.form-grid{gap:16px;display:grid}.rich-text-field{color:#4a504c;gap:0;font-size:.8rem;font-weight:750;display:grid}.field-label{margin-bottom:7px}.rich-text-toolbar{border:2px solid var(--line-strong);background:var(--canvas);border-bottom:0;flex-wrap:wrap;gap:5px;padding:7px;display:flex}.rich-text-toolbar button,.rich-text-toolbar select{border:1px solid var(--line-strong);background:#fff;width:auto;min-height:32px;padding:4px 8px;font-size:.7rem;font-weight:800}.rich-text-toolbar button:hover,.rich-text-toolbar select:hover{color:var(--brand-dark);border-color:var(--brand)}.rich-text-format{min-width:32px}.rich-text-editor{overflow-wrap:anywhere;border:2px solid var(--line-strong);min-height:150px;color:var(--ink);caret-color:var(--brand);white-space:pre-wrap;background:#fff;outline:none;padding:11px;font-size:.9rem;font-weight:400;line-height:1.65}.rich-text-editor:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2bb6731f}.rich-text-editor:empty:before{color:#6b726c;content:attr(data-placeholder);pointer-events:none}.rich-text-reference{border:1px solid var(--brand);color:var(--brand-dark);background:var(--lime-soft);padding:0 4px;font-weight:750;display:inline-block}.field-help{color:var(--muted);margin-top:6px;font-size:.68rem;font-weight:400;line-height:1.45}.checkbox-label{align-self:end;align-items:center;gap:9px;padding:10px 0;display:flex}.checkbox-label input{width:auto}.section-heading{border-top:2px solid var(--line);justify-content:space-between;align-items:end;gap:14px;margin:34px 0 14px;padding-top:24px;display:flex}.section-heading h3{margin-bottom:5px}.section-heading p{color:var(--muted);margin-bottom:0;font-size:.8rem}.action-list{gap:10px;display:grid}.action-row{border:2px solid var(--line);background:#fff;border-radius:3px;grid-template-columns:minmax(0,1fr) 132px;align-items:start;gap:8px;padding:12px;display:grid}.action-target{grid-column:1/-1}.step-selector{gap:7px;display:grid}.step-selector-label{color:#4a504c;font-size:.8rem;font-weight:750}.step-selector optgroup{color:var(--muted);font-style:normal;font-weight:750}.step-selector option{color:var(--ink);font-weight:400}.step-selector .step-selector-create{color:var(--brand-dark);font-weight:850}.action-remove{grid-column:1/-1;justify-self:start;padding:2px 0;font-size:.72rem}.action-value{gap:6px;display:grid}.icon-button.danger{color:var(--danger)}.list-editor{border-top:2px solid var(--line);margin-top:28px;padding-top:20px}.list-editor-summary{justify-content:space-between;align-items:center;gap:14px;display:flex}.list-editor-summary h3{align-items:center;gap:8px;margin-bottom:5px;font-size:.86rem;display:flex}.list-editor-summary p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.45}.list-count{border:1px solid var(--line-strong);min-width:24px;min-height:22px;color:var(--brand-dark);background:var(--lime-soft);font-variant-numeric:tabular-nums;vertical-align:middle;place-items:center;padding:2px 6px;font-size:.72rem;font-weight:850;display:inline-grid}.list-dialog{border:3px solid var(--brand);width:min(920px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--surface);border-radius:3px;padding:0;overflow:hidden;box-shadow:0 24px 64px #275f3a24}.list-dialog::backdrop{background:color-mix(in srgb, var(--ink) 62%, transparent)}.list-dialog-surface{grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 38px);display:grid}.list-dialog-heading{padding:24px 28px 20px}.list-dialog-heading h2{align-items:center;gap:10px;display:flex}.list-dialog-body{min-height:0;padding:24px 28px 28px;overflow:auto}.list-dialog-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.list-dialog-footer{border-top:2px solid var(--line);background:var(--canvas);justify-content:flex-end;padding:18px 28px;display:flex}.step-type-dialog .list-dialog-footer{gap:9px}.setting-list-body{gap:10px;display:grid}.setting-list-body .setting-row{border:2px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin:0;padding:12px}.setting-list-body.variables-list .setting-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.setting-list-body .setting-row .danger-text{justify-self:auto}.role-system-row span{border:1px solid var(--brand);color:var(--brand-dark);background:var(--lime-soft);text-transform:uppercase;padding:4px 7px;font-size:.72rem;font-weight:850}.choice-editor{gap:8px;display:grid}.choice-row{border:2px solid var(--line);background:#fff;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:12px;display:grid}.choice-row .danger-text{grid-column:1/-1;justify-self:start;padding:0;font-size:.72rem}.checkbox-label.compact{align-self:center;padding:0}.inspector-empty{border:2px dashed var(--line-strong);color:var(--muted);text-align:center;margin:0;padding:20px 14px;font-size:.78rem}.setting-list-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.setting-list-heading h3{margin:0;font-size:.86rem}.setting-row{gap:7px;margin-bottom:11px;display:grid}.setting-row .danger-text{justify-self:start;padding:0;font-size:.72rem}.step-type-list{gap:9px;display:grid}.step-type-dialog .step-type-list{grid-template-columns:repeat(2,minmax(0,1fr))}.step-type-list button{border:2px solid var(--line);width:100%;min-height:68px;color:var(--ink);text-align:left;background:#fff;border-radius:3px;gap:4px;padding:13px 15px;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.step-type-list button:hover{border-color:var(--brand);background:var(--lime-soft);transform:translateY(-1px)}.step-type-list button:focus-visible{outline-offset:3px;outline:3px solid #2bb67357}.step-type-list strong{font-size:1rem}.step-type-list span{color:var(--muted);font-size:.72rem;line-height:1.45}.step-title-field{color:#4a504c;gap:7px;max-width:560px;font-size:.8rem;font-weight:750;display:grid}.specific-field{margin-top:22px}.variable-selector{gap:10px;display:grid}.variable-create{border:2px solid var(--line);background:var(--canvas);gap:10px;padding:12px;display:grid}.variable-create-actions{flex-wrap:wrap;gap:8px;display:flex}.asset-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:22px;display:grid}.asset-upload{cursor:pointer;place-items:center;min-height:42px;margin:0;padding:8px 10px;display:grid;position:relative}.asset-upload input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.asset-upload:focus-within{outline-offset:3px;outline:3px solid #2bb6734d}.condition-editor{border:1px solid var(--line-strong);grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:10px;display:grid}.condition-editor legend{color:var(--muted);padding:0 5px;font-size:.72rem;font-weight:750}.condition-editor select:first-of-type:last-child,.condition-editor .role-condition{grid-column:1/-1}.config-list,.dice-result-list{gap:12px;display:grid}.dice-result-row{border:2px solid var(--line);background:var(--canvas);gap:11px;padding:14px;display:grid}.dice-result-order{justify-content:space-between;align-items:center;gap:12px;display:flex}.dice-result-order>div{gap:6px;display:flex}.dice-result-order button{width:34px}.dice-result-order button:disabled{cursor:not-allowed;opacity:.4}.dice-condition{grid-template-columns:1fr 1fr;gap:9px;display:grid}.dice-result-row>.danger-text{justify-self:start;padding:2px 0;font-size:.72rem}.config-block{border:2px solid var(--line);background:var(--canvas);border-radius:3px;gap:9px;padding:13px;display:grid}.config-block>.section-heading{margin-top:12px;padding-top:12px}.config-block>.danger-text{justify-self:start;padding:2px 0;font-size:.72rem}.coordinate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.coordinate-grid label{text-transform:uppercase;font-size:.72rem}.search-zone-editor{grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);align-items:start;gap:22px;display:grid}.search-zone-instructions{border:1px solid var(--line-strong);min-height:40px;color:var(--brand-dark);background:var(--lime-soft);margin:0 0 10px;padding:9px 11px;font-size:.72rem;line-height:1.45}.search-zone-canvas{border:2px solid var(--line-strong);background:var(--canvas);touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.search-zone-canvas.is-drawing{cursor:crosshair;border-color:var(--brand)}.search-zone-canvas>img{pointer-events:none;width:100%;height:auto;display:block}.search-zone-box,.search-zone-draft{background:#2bb6733d;border:2px dashed #fff;min-width:12px;min-height:12px;position:absolute;box-shadow:0 0 0 1px #1d7f50bf}.search-zone-box{color:#fff;cursor:pointer;place-items:center;padding:0;display:grid}.search-zone-box span{background:var(--brand-dark);font-variant-numeric:tabular-nums;place-items:center;min-width:22px;min-height:22px;padding:2px;font-size:.72rem;font-weight:850;display:grid}.search-zone-box:hover,.search-zone-box.selected{background:#8cc63f57;border-style:solid;transform:none;box-shadow:0 0 0 3px #2bb67352}.search-zone-box:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.search-zone-canvas.is-drawing .search-zone-box{pointer-events:none}.search-zone-draft{pointer-events:none;background:#2bb67352;border-style:solid}.search-zone-panel{border:2px solid var(--line);background:var(--canvas);gap:12px;padding:14px;display:grid}.search-zone-panel>label{color:#4a504c;gap:7px;font-size:.72rem;font-weight:750;display:grid}.search-zone-panel>.danger-text{justify-self:start;padding:2px 0;font-size:.72rem}.search-zone-panel .list-editor{margin-top:4px;padding-top:14px}.npc-dialogue-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.npc-dialogue-toolbar>div{gap:8px;display:flex}.npc-dialogue-editor{border:2px solid var(--line);background:#fff;grid-template-columns:250px minmax(0,1fr);min-height:500px;display:grid}.npc-line-list{background:var(--canvas);align-content:start;gap:6px;padding:10px;display:grid}.npc-line-list>button{min-width:0;color:var(--ink);text-align:left;background:0 0;border:2px solid #0000;border-radius:2px;gap:5px;padding:11px;display:grid}.npc-line-list>button:hover{border-color:var(--line-strong);background:#fff}.npc-line-list>button.selected{border-color:var(--brand);background:var(--lime-soft)}.npc-line-list span,.npc-line-list small{color:var(--muted);font-size:.72rem;font-weight:800}.npc-line-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.npc-line-panel{min-width:0;padding:22px}.npc-line-panel>label{gap:7px;display:grid}.npc-replies-heading{margin-top:28px}.npc-reply-list{gap:12px;display:grid}.npc-reply-row{border:2px solid var(--line);background:var(--canvas);border-radius:3px;gap:10px;padding:16px;display:grid}.npc-reply-row>label{gap:7px;display:grid}.npc-reply-row .condition-editor{background:#fff}.npc-line-remove{margin-top:24px}.npc-preview{border:2px solid var(--line);background:var(--canvas);width:min(680px,100%);min-height:420px;margin:0 auto;padding:22px}.npc-preview-heading{border-bottom:2px solid var(--line);align-items:center;gap:12px;padding-bottom:16px;display:flex}.npc-preview-heading>img,.npc-preview-heading>span{border:2px solid var(--brand);object-fit:cover;background:#fff;border-radius:3px;flex:none;width:54px;height:54px}.npc-preview-heading>span{color:var(--brand-dark);place-items:center;font-size:.72rem;font-weight:850;display:grid}.npc-preview-heading>div{gap:3px;display:grid}.npc-preview-heading small{color:var(--muted);font-size:.72rem}.npc-preview-turn{gap:8px;margin-top:18px;display:grid}.npc-preview-turn p{border:2px solid var(--line-strong);white-space:pre-wrap;background:#fff;width:fit-content;max-width:82%;margin:0;padding:13px 15px;line-height:1.55}.npc-preview-turn blockquote{border:2px solid var(--brand);width:fit-content;max-width:82%;color:var(--brand-dark);background:var(--lime-soft);margin:0 0 0 auto;padding:11px 13px;font-weight:800}.npc-preview-replies{gap:8px;margin-top:22px;display:grid}.npc-preview-replies button{border:2px solid var(--line-strong);color:var(--ink);text-align:left;background:#fff;border-radius:2px;padding:11px 13px;font-weight:800}.npc-preview-replies button:hover{border-color:var(--brand);background:var(--lime-soft)}.npc-preview-exit{border:2px solid var(--brand);color:var(--brand-dark);background:var(--lime-soft);margin-top:20px;padding:12px 14px;font-weight:800}@media (max-width:1000px){.account-management-grid{grid-template-columns:1fr}.editor-workspace{grid-template-columns:minmax(0,1fr) 360px}.canvas-toolbar{flex-direction:column;align-items:flex-start}}@media (max-width:820px){.editor-workspace{height:auto;min-height:0;display:block;overflow:visible}.scenario-canvas-shell{border-bottom:2px solid var(--line);height:66vh;min-height:520px}.editor-inspector{border-top:2px solid var(--line);border-left:0;overflow:visible}.search-zone-editor{grid-template-columns:1fr}}@media (max-width:700px){.page-shell{padding:30px 18px 50px}.topbar{grid-template-areas:"brand profile""nav nav";align-items:start}.dashboard-nav{width:100%;overflow-x:auto}.dashboard-nav button{white-space:nowrap;flex:none}.accounts-header{flex-direction:column;align-items:stretch}.account-context{min-width:0}.management-panel{padding:20px 16px}.management-form{grid-template-columns:1fr}.slug-field{display:block}.slug-field span{white-space:normal;overflow-wrap:anywhere;padding-bottom:0}.slug-field input{width:100%;padding-left:11px}.accounts-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.accounts-table,.accounts-table tbody,.accounts-table tr,.accounts-table td{display:block}.accounts-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:14px 16px;display:grid}.accounts-table tbody tr:last-child{border-bottom:0}.accounts-table td{border-bottom:0;padding:0}.accounts-table td:first-child{overflow-wrap:anywhere;min-width:0;font-weight:750}.accounts-table td:nth-child(2){justify-self:end}.accounts-table td:nth-child(3),.accounts-table td:nth-child(4){color:var(--muted);font-size:.72rem}.accounts-table td:last-child{color:var(--muted);justify-self:end;font-size:.72rem}.profile-menu summary{max-width:44vw}.editor-topbar{flex-direction:column;align-items:flex-start;position:static}.editor-topbar>.actions{flex-wrap:wrap;width:100%}.editor-topbar>.actions:first-child>div{flex:100%;align-items:center;gap:8px;min-width:0;display:flex}.editor-brand{width:42px;height:42px}.scenario-canvas-shell{height:70vh;min-height:500px}.canvas-toolbar,.canvas-zoom-controls{width:100%}.canvas-zoom-controls{flex-wrap:wrap}.canvas-help{max-width:none;bottom:10px;left:10px;right:10px}.inspector-content{padding:22px 18px 38px}.list-editor-summary{flex-direction:column;align-items:stretch}.list-editor-summary .compact-button{align-self:flex-start}.list-dialog-heading{padding:20px 18px 16px}.list-dialog-heading h2{font-size:1.45rem}.list-dialog-body{padding:20px 18px 24px}.list-dialog-footer{padding:14px 18px}.setting-list-body .setting-row,.setting-list-body.variables-list .setting-row{grid-template-columns:1fr}.setting-list-body .setting-row .danger-text{justify-self:start}.step-type-dialog .step-type-list,.action-row,.choice-row{grid-template-columns:1fr}.npc-dialogue-toolbar{flex-direction:column;align-items:stretch}.npc-dialogue-toolbar>button{align-self:flex-start}.npc-dialogue-editor{grid-template-columns:1fr}.npc-line-list{border-bottom:2px solid var(--line);max-height:220px;overflow:auto}.npc-line-panel{padding:18px}.choice-row .danger-text{grid-column:auto}.title-input{flex:1;width:auto;min-width:0;font-size:1rem}.auth-card{padding:34px 24px}.game-dialog form,.scenario-mode-surface{padding:22px 18px}.scenario-mode-options,.dialog-fields{grid-template-columns:1fr}.invitation-fields{grid-column:auto;padding:14px}.invitation-row{grid-template-columns:1fr;justify-items:start}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.dialog-actions button{width:100%}.dashboard-add-button{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));width:54px;height:54px}.scenario-card{min-height:172px}.scenario-card-content{padding:14px}.scenario-card h2,.scenario-card.has-cover h2{margin-top:10px}.active-game-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px 14px}.active-game-row p{justify-self:end}.active-game-join{grid-column:1;justify-content:center;margin-top:6px}.active-game-delete{grid-column:2;margin-top:6px}input,textarea,select{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
