:root{color-scheme:dark;--canvas: #080a06;--surface: #0d100a;--surface-raised: #15190f;--surface-inset: #070905;--olive: #202412;--olive-soft: #181c0f;--well: rgb(0 0 0 / 24%);--well-hover: rgb(32 36 18 / 68%);--line: rgb(238 229 181 / 9%);--line-strong: rgb(247 203 62 / 28%);--yellow: #f6ca3d;--yellow-bright: #ffdc54;--text: #eee9d2;--muted: #98947b;--faint: #7a7862;--danger: #ef5555;--blue: #4e78ff;--red: #ef4b4f;--green: #4ee346;--radius: 4px;--header-height: 58px;--mobile-tabs-height: 0px;font-family:Noto Sans Mono CJK SC,Sarasa Mono SC,Microsoft YaHei,ui-monospace,monospace;font-size:14px;font-synthesis:none;letter-spacing:0;background:var(--canvas);color:var(--text)}*{box-sizing:border-box}html{min-height:100%;background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100dvh;margin:0;overflow:hidden;background:var(--canvas);color:var(--text)}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.34}button:focus-visible,summary:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--yellow-bright);outline-offset:2px;box-shadow:0 0 0 4px #ffdc5426}input:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow-bright);outline-offset:-1px;box-shadow:0 0 0 4px #ffdc541f}svg{display:block;width:16px;height:16px;flex:0 0 auto}input,select,textarea{width:100%;min-width:0;height:36px;border:1px solid transparent;border-radius:var(--radius);padding:0 10px;background:var(--well);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--faint)}select{appearance:none;padding-right:32px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:0}.scheme-only-dark{color-scheme:only dark}.isolate{isolation:isolate}.is-hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{position:relative;z-index:20;display:flex;align-items:center;gap:16px;height:var(--header-height);padding:0 14px;border-bottom:1px solid var(--yellow);background:#0b0d07}.brand{display:flex;align-items:center;gap:9px;min-width:206px;color:var(--text);text-decoration:none}.brand-mark{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border:1px solid var(--yellow);color:var(--yellow);font-size:11px;font-weight:700}.brand-copy{display:flex;min-width:0;flex-direction:column}.brand-copy strong{overflow:hidden;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.brand-copy small{color:var(--muted);font-size:10px}.round-control{display:grid;grid-template-columns:30px 76px 30px;align-items:center;border:0;border-radius:var(--radius);background:var(--well)}.round-control .icon-button{border:0;border-radius:0}.round-label{overflow:hidden;color:var(--yellow);font-size:11px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.solver-status{display:flex;min-width:0;align-items:center;gap:7px;color:var(--muted);font-size:11px}.solver-status>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solver-status svg{color:var(--yellow)}.solver-status.is-loading svg,.loading-panel svg{animation:spin .9s linear infinite}.solver-status.is-error{color:var(--danger)}.status-light{width:7px;height:7px;flex:0 0 auto;background:var(--faint)}.solver-status.is-ready .status-light{background:var(--green)}.solver-status.is-error .status-light{background:var(--danger)}.top-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.top-divider{width:1px;height:22px;margin:0 3px;background:var(--line)}.icon-button{position:relative;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:var(--radius);padding:0;background:transparent;color:var(--muted)}.icon-button:hover:not(:disabled){background:var(--olive-soft);color:var(--text)}.icon-button.add{background:var(--olive-soft);color:var(--yellow)}.icon-button.compact{width:30px;height:30px}.icon-button.quiet{background:transparent}.icon-button.danger:hover:not(:disabled){background:#ef555514;color:var(--danger)}.workspace{display:grid;grid-template-columns:264px minmax(540px,1fr) 392px;width:min(1820px,100%);height:calc(100dvh - var(--header-height) - var(--mobile-tabs-height));margin:0 auto;background:var(--surface)}.pane{min-width:0;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);scrollbar-color:var(--olive) var(--surface-inset);scrollbar-width:thin}.roster-pane{border-right:1px solid var(--line);padding:18px 14px 28px;background:#0b0e08}.events-pane{padding:18px 22px 28px}.analysis-pane{container-type:inline-size;border-left:1px solid var(--line);padding:18px 16px 28px;background:#0b0e08}.pane-heading,.section-line{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.pane-heading{min-height:36px;padding-bottom:8px}.pane-heading>div{display:flex;min-width:0;align-items:baseline;gap:8px}.pane-heading h2{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.count,.section-line span{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.text-button{height:30px;border:0;padding:0 8px;background:transparent;color:var(--muted);font-size:11px}.text-button:hover{color:var(--text)}.danger-text,.text-button.danger-text:hover{color:var(--danger)}.quick-add{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;padding:10px 0 12px}.quick-add input{font-size:12px;font-variant-numeric:tabular-nums}.player-list{display:flex;flex-direction:column;gap:2px}.player-row{border-radius:var(--radius)}.player-row.is-self{background:#f6ca3d0f}.player-row.is-inactive{opacity:.62}.player-row.has-unreviewed-history{opacity:.88}.player-row-main{display:flex;min-width:0;align-items:center;gap:2px}.player-row-main>.player-main{flex:1 1 auto}.player-row-main>.icon-button{flex:0 0 34px}.player-main{display:grid;width:100%;min-width:0;min-height:54px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-radius:var(--radius);padding:6px 5px;background:transparent;text-align:left}.player-main:hover{background:var(--well-hover)}.player-number{color:var(--yellow);font-size:16px;font-variant-numeric:tabular-nums;font-weight:600}.player-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.player-copy strong,.player-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-copy strong{font-size:12px;font-weight:500}.player-copy small{color:var(--muted);font-size:9px}.player-meta{display:flex;align-items:flex-end;flex-direction:column;gap:3px}.badge{border:0;border-radius:2px;padding:2px 5px;background:var(--well);color:var(--muted);font-size:8px;white-space:nowrap}.badge.is-self{color:var(--yellow)}.badge.status-out,.badge.status-revenge{color:var(--red)}.badge.status-escaped{color:var(--green)}.history-review.has-unreviewed{background:#f6ca3d14;color:var(--yellow)}.history-review.is-reviewed{color:var(--green)}.history-review:hover:not(:disabled){background:var(--well-hover)}.player-inline-editor{display:grid;gap:8px;padding:2px 4px 12px}.player-inline-editor>label{color:var(--muted);font-size:10px}.player-inline-editor input{font-size:11px}.inline-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.inline-status button{min-width:0;height:28px;overflow:hidden;border:0;border-radius:2px;padding:0 5px;background:var(--well);color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.inline-status button:hover,.inline-status button[aria-pressed=true]{background:var(--olive);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.inline-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.inline-editor-actions .dialog-primary{height:30px;padding:0 10px;background:var(--well-hover);color:var(--yellow);font-weight:500}.inline-editor-actions .dialog-primary:hover{background:var(--olive);color:var(--yellow-bright);box-shadow:0 2px 6px #f6ca3d26}.roster-footer{position:sticky;bottom:-18px;margin-top:14px;padding:14px 0 18px;border-top:1px solid var(--line);background:#0b0e08}.field-caption,.field>label,.field>div>label,.dialog-body>.field>label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:500}.segmented{display:flex;width:100%;min-width:0;gap:2px;border-radius:var(--radius);padding:2px;background:var(--well)}.segmented button{min-width:0;min-height:30px;flex:1 1 0;overflow:hidden;border:0;border-radius:2px;padding:0 7px;background:transparent;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.round-snapshot{container-type:inline-size;margin:3px 0 9px;padding:7px 0 6px}.round-snapshot.is-conflict{box-shadow:inset 2px 0 0 var(--danger);padding-left:9px}.round-snapshot-heading h3,.revenge-assistant-header h3{font-size:12px}.round-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.snapshot-field{min-width:0}.snapshot-field .field-caption{margin-bottom:5px}.snapshot-token button,.snapshot-progress button{min-height:28px}.snapshot-progress button{font-variant-numeric:tabular-nums}.snapshot-unavailable{display:flex;min-height:32px;align-items:center;padding:0 9px;border-radius:var(--radius);background:var(--well);color:var(--faint);font-size:10px}.snapshot-hint{margin-top:7px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.5}.snapshot-hint.is-error{color:var(--danger)}.revenge-assistant{container-type:inline-size;margin:4px 0 10px}.revenge-assistant.is-open{box-shadow:inset 2px 0 #ef55558c;padding-left:10px;background:#ef555505}.revenge-assistant-header{display:flex;min-width:0;min-height:43px;align-items:center;justify-content:space-between;gap:10px;padding:4px 1px 8px}.revenge-assistant-header>div{min-width:0}.revenge-assistant-header p{margin-top:3px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.45}.revenge-assistant-header .icon-button{flex:0 0 34px}.revenge-assistant-body{display:grid;gap:10px;padding:3px 0 12px}.revenge-step{min-width:0}.revenge-step>.field-caption{margin-bottom:5px}.revenge-attacker-grid,.revenge-identity-grid{display:grid;gap:4px}.revenge-attacker-grid{grid-template-columns:repeat(auto-fit,minmax(68px,1fr))}.revenge-attacker-grid button,.revenge-identity-choice,.revenge-outcomes button{min-width:0;min-height:34px;overflow:hidden;border:0;border-radius:2px;padding:4px 7px;background:var(--well);color:var(--muted)}.revenge-attacker-grid button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px}.revenge-attacker-grid button:hover:not(:disabled),.revenge-identity-choice:hover:not(:disabled),.revenge-outcomes button:hover:not(:disabled){background:var(--well-hover);color:var(--text)}.revenge-attacker-grid button[aria-pressed=true],.revenge-identity-choice[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.revenge-attacker-grid b{color:var(--yellow);font-size:11px;font-variant-numeric:tabular-nums;font-weight:600}.revenge-attacker-grid small{width:100%;overflow:hidden;color:var(--muted);font-size:8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.revenge-identity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.revenge-identity-choice{display:grid;height:38px;place-items:center;padding:0 3px;color:var(--text)}.revenge-code{font-size:13px}.revenge-identity-choice.is-joker{grid-column:1 / -1;color:var(--yellow);font-size:10px}.revenge-selection{display:flex;min-width:0;min-height:40px;align-items:center;justify-content:space-between;gap:10px;padding:6px 9px;background:var(--surface-inset);color:var(--muted);font-size:10px}.revenge-selection>span,.revenge-selection>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenge-selection>span{font-variant-numeric:tabular-nums}.revenge-selection>b{color:var(--text);font-weight:600}.revenge-rule-note,.revenge-rule-warning{overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.5}.revenge-rule-warning{box-shadow:inset 2px 0 0 var(--danger);padding:5px 8px;background:#ef55550d;color:var(--danger)}.revenge-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.revenge-outcomes button{min-height:36px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.revenge-outcomes button[data-outcome=success]{color:var(--green)}.revenge-outcomes button[data-outcome=rejected]{color:var(--danger)}.entry-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:6px;padding:2px;border-radius:var(--radius);background:var(--well)}.action-button,.secondary-command,.dialog-primary{display:inline-flex;min-width:0;height:36px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--radius);padding:0 8px;background:transparent;color:var(--text);font-size:11px;white-space:nowrap}.action-button span,.secondary-command span{overflow:hidden;text-overflow:ellipsis}.action-button:hover:not(:disabled),.secondary-command:hover:not(:disabled){background:var(--well-hover);color:var(--yellow)}.recommendation-actions{display:flex;align-items:center;gap:6px;margin-top:11px}.recommendation-actions .secondary-command{flex:1 1 auto;margin-top:0}.branch-preview-command{flex:0 0 36px}.dialog-primary{border-color:var(--yellow);background:var(--yellow);color:#171306;font-weight:600}.dialog-primary:hover{background:var(--yellow-bright);color:#171306;box-shadow:0 2px 8px #f6ca3d33}.action-button.is-primary{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.action-button.is-primary:hover:not(:disabled){background:var(--olive-soft);color:var(--yellow-bright)}.recorder{margin:12px 0 16px;background:transparent}.recorder-header{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 12px;background:transparent}.recorder-header h3{margin-top:2px;font-size:13px}.recorder-heading{min-width:0}.recorder-heading p{margin-top:5px;color:var(--text);font-size:11px;line-height:1.5}.recorder-heading small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.5}.recorder-round-context{display:flex;width:fit-content;max-width:100%;min-height:22px;align-items:center;gap:7px;margin-top:7px;padding:0 7px;background:var(--well);color:var(--muted);font-size:9px}.recorder-round-label{flex:0 0 auto}.recorder-round-stepper{display:inline-flex;min-height:20px;align-items:center;gap:1px;background:#050603}.recorder-round-stepper button{display:grid;width:20px;height:20px;place-items:center;border:0;background:transparent;color:var(--muted)}.recorder-round-stepper button:hover:not(:disabled){background:var(--well-hover);color:var(--yellow)}.recorder-round-stepper button:disabled{opacity:.3}.recorder-round-stepper b{min-width:25px;color:var(--yellow);font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.recorder-round-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recorder-round-context.is-editing{box-shadow:inset 2px 0 0 var(--yellow)}.recorder:not(.is-open) .recorder-header{min-height:40px;padding-block:6px}.recorder:not(.is-open) .recorder-heading p,.recorder:not(.is-open) .recorder-heading small{display:none}.recorder-body{display:grid;gap:12px;border-top:1px solid var(--line);padding:12px 0 0}.recorder-segment-label,.recorder-field-block>label,.stage-heading>label,.fixed-subject>label{color:var(--muted);font-size:10px;font-weight:500}.recorder-segment-label{margin-bottom:-4px}.recorder-summary{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;min-height:24px;padding:0 2px;color:var(--muted);font-size:9px}.recorder-summary span{display:flex;min-width:0;align-items:center;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recorder-summary b{color:var(--yellow);font-variant-numeric:tabular-nums;font-weight:600}.recorder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recorder-stage,.fixed-subject,.recorder-field-block{min-width:0;border-radius:var(--radius)}.recorder-stage,.fixed-subject{padding:9px 10px;background:var(--well)}.recorder-stage,.recorder-field-block[data-recorder-stage]{cursor:pointer}.recorder-stage.is-active,.recorder-field-block.is-active{background:var(--well-hover);border:2px solid rgba(246,202,61,.3);box-shadow:0 0 0 1px #f6ca3d1a;padding:8px}.fixed-subject{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:8px}.fixed-subject b{color:var(--yellow);font-size:18px;font-variant-numeric:tabular-nums}.stage-heading{display:flex;min-width:0;min-height:36px;align-items:center;justify-content:space-between;gap:8px}.stage-heading>label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-input-wrap{position:relative;width:82px;flex:0 0 82px}.stage-input-wrap input{height:34px;border-color:transparent;padding:0 8px;background:#00000052;color:var(--muted);font-size:17px;font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.stage-input-wrap.is-active input{border-color:transparent;background:#050603;box-shadow:inset 0 -2px 0 var(--yellow),0 0 0 2px #f6ca3d33;color:var(--yellow)}.stage-hint{display:none}.recorder-matrix-slot{min-width:0}.subject-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:5px}.subject-matrix button{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;flex-direction:column;gap:2px;overflow:hidden;border:0;border-radius:2px;padding:4px 5px;background:var(--well);color:var(--text)}.subject-matrix button:hover:not(:disabled),.subject-matrix button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.subject-matrix button b{font-size:13px;font-variant-numeric:tabular-nums}.subject-matrix button small{width:100%;overflow:hidden;color:var(--muted);font-size:8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.recorder-field-block{display:grid;gap:7px;padding:6px 0;background:transparent}.recorder-field-block.is-active{padding:10px}.recorder-query-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.recorder-query-grid button{position:relative;height:48px;font-size:18px}.location-choice-grid,.task-choice-grid,.identity-choice-grid{display:grid;gap:5px}.location-choice-grid,.task-choice-grid,.identity-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.location-choice-grid button,.task-choice-grid button,.identity-choice-grid button{position:relative;min-width:0;height:40px;overflow:hidden;border:0;border-radius:2px;padding:0 5px;background:var(--well);color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.identity-choice-grid button{font-size:16px}.location-choice-grid button:hover,.task-choice-grid button:hover,.identity-choice-grid button:hover,.location-choice-grid button[aria-pressed=true],.task-choice-grid button[aria-pressed=true],.identity-choice-grid button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.recorder-query-grid button:before,.task-choice-grid button:before,.identity-choice-grid button:before{position:absolute;top:2px;right:4px;color:var(--faint);content:attr(data-shortcut);font-size:8px;font-variant-numeric:tabular-nums}.game-query-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.game-query-grid button{position:relative;display:grid;min-width:0;height:58px;place-items:center;overflow:hidden;border:0;border-radius:2px;background:var(--well);color:var(--text)}.game-query-grid button:hover,.game-query-grid button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow)}.game-choice-shortcut{position:absolute;top:5px;left:6px;color:var(--faint);font-size:8px;font-variant-numeric:tabular-nums}.game-query-code{display:inline-flex;align-items:baseline;font-size:24px;font-weight:700;letter-spacing:0;white-space:nowrap}.game-query-code .query-slash{color:var(--yellow)}.game-task-selector,.game-code-selector{display:grid;grid-template-columns:minmax(0,1fr) 154px;gap:8px}.game-task-lanes,.game-code-lanes{display:grid;gap:7px}.game-task-lane,.game-code-lane{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px}.game-task-lane>span,.game-code-lane>span{color:var(--muted);font-size:9px;text-align:center}.game-task-lane>div,.game-code-lane>div{display:grid;gap:5px}.game-task-lane:nth-child(1)>div,.game-code-lane:nth-child(1)>div{grid-template-columns:repeat(4,minmax(0,1fr))}.game-task-lane:nth-child(2)>div{grid-template-columns:repeat(5,minmax(0,1fr))}.game-code-lane:nth-child(2)>div{grid-template-columns:repeat(3,minmax(0,1fr))}.game-task-lane button,.game-code-lane button{position:relative;min-width:0;height:46px;overflow:hidden;border:0;border-radius:2px;padding:0 3px;background:var(--well);color:var(--text);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.game-task-lane button:hover:not(:disabled),.game-code-lane button:hover,.game-task-lane button[aria-pressed=true],.game-code-lane button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow)}.game-task-lane button:disabled{opacity:.28}.game-task-lane button:after,.game-code-lane button:after{position:absolute;top:3px;right:4px;color:var(--faint);content:attr(data-shortcut);font-size:8px;font-variant-numeric:tabular-nums;font-weight:400}.game-task-preview,.game-code-preview{display:grid;min-width:0;align-content:center;gap:6px;border-left:2px solid var(--yellow);padding:10px 12px;background:var(--well)}.game-task-preview>span,.game-code-preview>span{color:var(--muted);font-size:9px}.game-task-preview strong{display:grid;gap:3px;color:var(--yellow);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.game-task-preview strong i{display:none}.game-code-lane button{height:58px;font-size:30px;line-height:1}.game-code-lane button.is-spade,.game-code-lane button.is-king{color:var(--blue)}.game-code-lane button.is-heart,.game-code-lane button.is-queen{color:var(--red)}.game-code-lane button.is-diamond{color:var(--yellow-bright)}.game-code-lane button.is-club,.game-code-lane button.is-jack{color:var(--green)}.game-code-preview{grid-template-rows:auto minmax(58px,1fr) auto;min-height:128px}.game-code-preview strong{display:grid;place-items:center;min-width:0}.game-code-preview-value{display:inline-flex;align-items:baseline;justify-content:center;gap:.36em;color:var(--text);font-size:34px;font-weight:700;letter-spacing:0;white-space:nowrap}.game-code-preview-value.is-unknown{color:var(--faint)}.game-code-preview button{min-width:0;height:28px;border:0;border-radius:2px;padding:0 7px;background:transparent;color:var(--yellow);font-size:10px}.game-code-preview button:hover,.game-code-preview button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow)}.game-code-preview button small{color:var(--faint);font-size:8px}.recorder-exception{display:flex;min-height:36px;align-items:center;gap:7px;border:0;border-left:2px solid rgb(239 85 85 / 50%);border-radius:var(--radius);padding:6px 8px;background:#ef55550d;color:var(--muted);font-size:10px;text-align:left}.recorder-exception.is-selected{border-left-color:var(--danger);background:#ef555517;color:var(--danger)}.recorder-note{color:var(--muted);font-size:9px}.recorder-note.is-error{color:var(--danger)}.recorder-advanced{border-top:1px solid var(--line)}.recorder-advanced summary{min-height:34px;cursor:pointer;color:var(--muted);font-size:10px;line-height:34px}.recorder-advanced-body{padding-bottom:3px}.recorder-footer{display:flex;justify-content:flex-end;padding-top:2px}.recorder-footer .dialog-primary{min-width:132px;padding:0 12px}.timeline{min-height:220px}.timeline-round-marker{display:flex;min-height:30px;align-items:end;justify-content:space-between;gap:8px;padding:9px 1px 4px;color:var(--muted);font-size:9px}.timeline-round-marker b{color:var(--text);font-size:10px;font-variant-numeric:tabular-nums;font-weight:600}.timeline-round-marker.is-current b,.timeline-round-marker.is-current span{color:var(--yellow)}.event-row{display:grid;min-height:54px;grid-template-columns:28px minmax(0,1fr) 68px;align-items:center;gap:9px;border-bottom:0;padding:6px 1px}.event-actions{display:flex;align-items:center;justify-content:flex-end;gap:0;opacity:.42}.event-row:hover .event-actions,.event-row:focus-within .event-actions{opacity:1}.event-row.is-conflict{border-left:3px solid var(--danger);padding-left:7px;background:#ef55550f}.event-icon{display:grid;width:28px;height:28px;place-items:center;color:var(--blue)}.event-icon.kind-selfTask,.event-icon.kind-externalTask{color:var(--yellow)}.event-icon.kind-computerUse,.event-icon.kind-taskCompletion{color:var(--green)}.event-icon.kind-chatIdentity{color:var(--red)}.event-copy{min-width:0}.event-line{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:10px}.event-round{display:inline-flex;flex:0 0 auto;align-items:center;gap:1px}.event-round b{min-width:26px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;font-weight:500;text-align:center}.event-round-step{display:grid;width:20px;height:20px;place-items:center;border:0;border-radius:2px;padding:0;background:transparent;color:var(--faint)}.event-round-step svg{width:12px;height:12px}.event-round-step:hover:not(:disabled){background:var(--well-hover);color:var(--yellow)}.event-round-step:disabled{opacity:.3}.event-row:hover .event-round b{color:var(--text)}.event-line strong{overflow:hidden;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.event-line span,.event-detail{color:var(--muted);font-size:9px}.event-line span{flex:0 0 auto;font-variant-numeric:tabular-nums}.event-detail{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-panel{margin-top:16px;padding-top:4px}.section-line h3{font-size:12px}.coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.coverage-check,.native-check{display:flex;min-width:0;min-height:34px;align-items:center;gap:7px;cursor:pointer;color:var(--muted);font-size:10px}.coverage-check input,.native-check input{position:absolute;width:1px;height:1px;opacity:0}.coverage-check>span,.native-check>span{display:grid;width:16px;height:16px;flex:0 0 auto;place-items:center;border:1px solid var(--line-strong);border-radius:2px;background:var(--surface-inset);color:transparent}.coverage-check input:checked+span,.native-check input:checked+span{border-color:var(--yellow);background:var(--yellow);color:#171306}.coverage-check input:focus-visible+span,.native-check input:focus-visible+span{outline:2px solid var(--yellow-bright);outline-offset:2px}.coverage-check b,.native-check b{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.empty-panel,.analysis-empty,.loading-panel{display:grid;min-height:160px;place-items:center;align-content:center;gap:10px;color:var(--muted);text-align:center}.analysis-empty.compact{min-height:0;grid-template-columns:18px minmax(0,1fr);place-items:start;align-content:initial;gap:9px;padding:12px 0;text-align:left}.analysis-empty.compact>svg{width:16px;height:16px;margin-top:1px;color:var(--faint)}.analysis-empty.compact b{color:var(--text);font-size:10px;font-weight:600}.analysis-empty.compact p{margin-top:3px;line-height:1.5}.empty-panel.large{min-height:260px}.empty-panel p,.analysis-empty p,.loading-panel span{font-size:11px}.empty-glyph{color:var(--olive);font-size:38px;font-variant-numeric:tabular-nums;font-weight:600}.analysis-goal{display:flex;flex-direction:column;gap:7px;padding:10px 0 6px}.analysis-goal .segmented{flex:1 1 auto}.analysis-target-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:4px}.analysis-target-matrix button{min-width:0;height:30px;overflow:hidden;border:0;border-radius:2px;padding:0 7px;background:var(--well);color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.analysis-target-matrix button:hover,.analysis-target-matrix button[aria-pressed=true]{background:var(--well-hover);box-shadow:inset 0 -2px 0 var(--yellow);color:var(--yellow)}.analysis-target-matrix small{margin-left:4px;color:var(--muted);font-size:8px}.analysis-refreshing{display:flex;min-height:30px;align-items:center;gap:7px;margin-top:8px;padding:6px 8px;background:var(--surface-inset);color:var(--yellow);font-size:9px}.analysis-refreshing svg{width:13px;height:13px;flex:0 0 auto;animation:spin .9s linear infinite}.analysis-result{transition:opacity .12s ease}.analysis-result.is-updating{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}.timing-advice{container-type:inline-size;margin-top:10px;box-shadow:inset 2px 0 0 var(--line-strong);padding:10px 0 11px 11px;background:#eee5b505}.timing-advice.timing-queryNow,.timing-advice.timing-recordFirst{box-shadow:inset 2px 0 0 var(--yellow)}.timing-advice.timing-hold{box-shadow:inset 2px 0 #4ee34673}.timing-advice.is-urgent{box-shadow:inset 2px 0 0 var(--danger);background:#ef55550a}.timing-advice .section-line{padding-right:2px}.timing-advice>p{margin-top:7px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.55}.timing-advice>.timing-secondary{margin-top:4px;color:var(--yellow)}.timing-constraints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}.timing-constraints>p{display:grid;min-width:0;gap:3px;padding:4px 10px 4px 0}.timing-constraints>p+p{border-left:1px solid var(--line);padding-right:0;padding-left:10px}.timing-constraints b,.timing-constraints span{overflow-wrap:anywhere}.timing-constraints b{color:var(--yellow);font-size:10px;font-weight:600}.timing-constraints span{color:var(--muted);font-size:9px;line-height:1.45}.timing-constraints [data-query-hazard] b,.timing-constraints .query-hazard b{color:var(--danger)}.timing-constraints [data-timing-action] b,.timing-constraints .data-action b{color:var(--yellow)}.timing-advice>.timing-footnote{color:var(--faint)}.timing-query{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.timing-query>.query-code{flex:0 0 auto}.timing-query>.secondary-command{width:auto;max-width:100%;flex:0 1 auto;margin-top:0}.exposure-panel{container-type:inline-size;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;border-top:1px solid var(--line);padding:12px 0 2px}.exposure-panel>div:first-child{min-width:0}.exposure-panel h3{font-size:12px}.exposure-panel>div:first-child>p{margin-top:4px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.5}.exposure-panel>.secondary-command{width:auto;max-width:100%;flex:0 0 auto;margin-top:0}.exposure-panel[data-exposure-state=loading] .secondary-command svg{animation:spin .9s linear infinite}.exposure-panel[data-exposure-state=ready]{display:block}.exposure-panel.is-conflict,.exposure-panel.is-danger{box-shadow:inset 2px 0 0 var(--danger);padding-left:10px}.exposure-panel.is-conflict h3,.exposure-panel.is-danger .section-line h3{color:var(--danger)}.exposure-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:9px}.exposure-metrics>div{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:4px 12px 4px 0}.exposure-metrics>div+div{border-left:1px solid var(--line);padding-right:0;padding-left:12px}.exposure-metrics span{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.exposure-metrics b{color:var(--yellow);font-size:20px;font-variant-numeric:tabular-nums;font-weight:600}.exposure-metrics b em{color:var(--muted);font-size:9px;font-style:normal;font-weight:500}.exposure-metrics small{grid-column:1 / -1;color:var(--faint);font-size:8px}.exposure-candidates{display:flex;min-width:0;grid-column:1 / -1;flex-wrap:wrap;gap:4px 8px;margin-top:3px}.exposure-candidates .identity-code{font-size:10px}.exposure-caveat,.exposure-warning{margin-top:7px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.5}.exposure-warning{color:var(--danger)}.exposure-refresh{display:block;margin:4px 0 0 auto}.compact-select,.select-shell{position:relative;display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 28px;align-items:center}.compact-select{width:140px;flex:0 0 auto}.compact-select select,.select-shell select{grid-column:1 / -1;grid-row:1}.compact-select svg,.select-shell svg{z-index:1;grid-column:2;grid-row:1;pointer-events:none;color:var(--muted)}.warning-list{margin:10px 0 0;border-left:2px solid var(--yellow);padding:6px 0 6px 9px;color:var(--muted);font-size:9px;list-style:none}.warning-list li+li{margin-top:4px}.logic-summary{margin-top:12px;padding:10px 0 4px}.logic-summary .section-line h3{font-size:12px}.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:10px}.knowledge-dimension{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 6px;padding:3px 0}.knowledge-dimension>span{color:var(--muted);font-size:9px}.knowledge-dimension b{font-size:9px;font-weight:600}.knowledge-dimension small{grid-column:1 / -1;overflow:hidden;color:var(--text);font-size:10px;text-overflow:ellipsis;white-space:normal}.knowledge-known{color:var(--green)}.knowledge-missing,.knowledge-ambiguous{color:var(--yellow)}.ceiling-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px}.ceiling-row>div{display:grid;gap:2px;padding:6px 7px;background:var(--well)}.ceiling-row span{color:var(--muted);font-size:8px}.ceiling-row b{color:var(--yellow);font-size:12px;font-variant-numeric:tabular-nums;font-weight:600}.logic-explanation{margin-top:8px;color:var(--muted);font-size:9px;line-height:1.55}.solvability-verdict{display:grid;gap:3px;margin-top:9px;padding:8px 10px;background:var(--well)}.solvability-verdict b{font-size:11px;font-weight:600}.solvability-verdict span{color:var(--muted);font-size:9px;line-height:1.5}.solvability-verdict.is-ready b{color:var(--green)}.solvability-verdict.is-partial b,.solvability-verdict.is-blocked b{color:var(--yellow)}.solvability-details{margin-top:8px}.solvability-details>summary{display:grid;min-height:30px;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;cursor:pointer;color:var(--muted);font-size:9px;list-style:none}.solvability-details>summary::-webkit-details-marker{display:none}.solvability-details>summary b{color:var(--text);font-size:9px;font-weight:500}.solvability-details>summary svg{width:14px;height:14px}.solvability-details[open]>summary svg{transform:rotate(180deg)}.joker-self-state{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:9px;padding:9px 10px;background:var(--well)}.joker-self-state b{color:var(--yellow);font-size:14px}.joker-self-state span{color:var(--muted);font-size:9px}.recommendation{margin-top:12px;border-left:2px solid var(--yellow);border-radius:var(--radius);padding:12px 12px 12px 14px;background:var(--well)}.recommendation.is-deferred{border-left-color:var(--line-strong);background:var(--surface-inset)}.recommendation.is-deferred .recommendation-top>svg{color:var(--muted)}.missing-dimension-prior{margin-top:9px;padding:6px 0;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.55}.recommendation-top{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.recommendation-top>div{min-width:0}.eyebrow{display:block;color:var(--muted);font-size:9px}.recommendation h3{margin-top:3px;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.identity-code,.query-code{font-family:ui-monospace,monospace;font-weight:700;letter-spacing:0;white-space:nowrap}.identity-code{display:inline-flex;align-items:baseline;column-gap:.36em}.identity-code>span[aria-hidden=true]{display:none}.query-code{display:inline-flex;align-items:baseline}.hero-code{flex:0 0 auto;font-size:28px}.query-code.compact{font-size:13px}.query-slash{color:var(--yellow)}.is-spade,.is-king{color:var(--blue)}.is-heart,.is-queen{color:var(--red)}.is-diamond{color:var(--yellow-bright)}.is-club,.is-jack{color:var(--green)}.is-joker{color:var(--yellow)}.query-balance{height:4px;margin-top:13px;overflow:hidden;border-radius:2px;background:var(--olive)}.query-balance span{display:block;width:var(--balance);height:100%;background:var(--yellow)}.recommendation-stats{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:6px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.recommendation-note,.recommendation-rule{margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45}.recommendation-reasons{display:grid;gap:7px;margin-top:10px}.recommendation-reasons>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}.recommendation-reasons dt{min-width:0;color:var(--text);font-size:10px;font-weight:600}.recommendation-reasons dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.45}.recommendation-reasons dt .query-code{margin-left:2px}.branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:11px}.branch-grid>div{display:grid;min-width:0;align-content:start;gap:5px;padding:8px 8px 8px 0}.branch-grid>div+div{border-left:1px solid var(--line);padding-right:0;padding-left:8px}.branch-grid>div>b{color:var(--muted);font-size:9px;font-weight:500}.branch-effects{display:grid;gap:3px}.branch-effects>span{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:5px;font-size:10px}.branch-effects b{overflow:hidden;color:var(--text);font-size:inherit;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.branch-effects em,.branch-next>em{flex:0 0 auto;color:var(--muted);font-style:normal;font-variant-numeric:tabular-nums}.branch-next{display:flex;min-width:0;align-items:center;gap:5px;color:var(--muted);font-size:9px}.branch-next>span:not(.query-code){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-next .branch-none,.branch-impossible{overflow-wrap:anywhere;color:var(--faint);font-size:9px;white-space:normal}.branch-none{color:var(--faint)}.secondary-command{width:100%;margin-top:11px;background:var(--well)}.confirmation-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;border-bottom:1px solid var(--line);padding:9px 0}.confirmation-prompt>div{display:grid;min-width:0;gap:3px}.confirmation-prompt b{color:var(--text);font-size:10px;font-weight:600}.confirmation-prompt span{color:var(--muted);font-size:9px}.confirmation-prompt .secondary-command{width:auto;flex:0 0 auto;margin-top:0}.candidate-section{margin-top:16px}.candidate-list{margin-top:8px}.candidate-row{border-bottom:1px solid var(--line)}.candidate-row.is-present{box-shadow:inset 2px 0 0 var(--yellow)}.candidate-row.is-away{opacity:.68}.candidate-row.is-away .candidate-status{color:var(--faint)}.candidate-row summary{display:grid;min-height:46px;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:0 4px 0 10px}.candidate-row summary::-webkit-details-marker{display:none}.candidate-row summary>svg{color:var(--muted)}.candidate-row[open] summary>svg{transform:rotate(180deg)}.candidate-player{display:flex;min-width:0;align-items:baseline;gap:8px}.candidate-player b{color:var(--yellow);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.candidate-player span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.candidate-status{flex:0 0 auto;color:var(--yellow);font-size:9px;font-variant-numeric:tabular-nums}.candidate-summary{color:var(--muted);font-size:9px;white-space:nowrap}.resolved-code{font-size:16px}.candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 4px 10px 10px}.candidate-chip{display:flex;min-width:0;min-height:30px;align-items:center;justify-content:space-between;gap:4px;border:0;border-radius:2px;padding:4px 6px;background:var(--well)}.candidate-chip.is-resolved{box-shadow:inset 0 -2px 0 var(--yellow)}.candidate-chip small{color:var(--muted);font-size:8px;font-variant-numeric:tabular-nums}.analysis-details{border-bottom:1px solid var(--line)}.analysis-details summary{display:grid;min-height:44px;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;cursor:pointer;color:var(--muted);font-size:10px;list-style:none}.analysis-details summary::-webkit-details-marker{display:none}.analysis-details summary b{font-size:9px;font-weight:500}.analysis-details[open] summary svg{transform:rotate(180deg)}.analysis-details ul{margin:0;padding:0 0 10px;list-style:none}.solver-telemetry dl,.telemetry-details dl{display:grid;gap:5px;margin:0;padding:0 0 10px}.solver-telemetry dl>div,.telemetry-details dl>div,.telemetry-details .telemetry-row{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:10px;padding:2px 0}.solver-telemetry dt,.telemetry-details dt,.telemetry-details .telemetry-label{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.solver-telemetry dd,.telemetry-details dd,.telemetry-details .telemetry-value{max-width:62%;flex:0 0 auto;overflow:hidden;margin:0;color:var(--text);font-size:9px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.confirmation-details{margin-top:10px}.tour-card{position:fixed;z-index:60;right:18px;bottom:18px;display:grid;gap:8px;width:min(340px,calc(100vw - 24px));border:1px solid var(--line-strong);border-radius:var(--radius);padding:12px 14px 14px;background:#0b0d07;box-shadow:0 10px 40px #0000008c}.tour-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-card h3{color:var(--yellow);font-size:13px}.tour-card p{color:var(--muted);font-size:11px;line-height:1.6}.tour-card-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}.tour-card-actions .secondary-command,.tour-card-actions .dialog-primary{width:auto;height:32px;padding:0 12px;font-size:11px}#app[data-tour-target=roster] [data-pane=roster],#app[data-tour-target=analysis] [data-pane=analysis],#app[data-tour-target=topbar] .topbar{box-shadow:inset 0 0 0 2px var(--yellow)}#app[data-tour-target=recorder] [data-recorder],#app[data-tour-target=snapshot] [data-round-snapshot],#app[data-tour-target=obfuscation] .obfuscation-details{border-radius:var(--radius);box-shadow:0 0 0 2px var(--yellow)}.guide-strip{display:flex;min-width:0;align-items:center;gap:10px;margin:2px 0 10px;border-radius:var(--radius);padding:9px 6px 9px 10px;background:#f6ca3d0d;box-shadow:inset 2px 0 0 var(--yellow)}.guide-strip-index{flex:0 0 auto;color:var(--yellow);font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap}.guide-strip-copy{min-width:0;flex:1 1 auto}.guide-strip-copy b{display:block;font-size:11px;font-weight:600}.guide-strip-copy p{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5}.guide-strip>.secondary-command{width:auto;flex:0 0 auto;height:32px;padding:0 10px;background:var(--well);color:var(--yellow);font-size:11px}.guide-strip>.icon-button{flex:0 0 30px}.obfuscation-details.is-conflict summary,.obfuscation-details.is-conflict summary b{color:var(--danger)}.obfuscation-status{display:flex;flex-wrap:wrap;gap:4px 14px;padding:2px 0 8px;color:var(--muted);font-size:10px}.obfuscation-status b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.obfuscation-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.obfuscation-plan{display:flex;min-width:0;flex-direction:column;gap:6px;border-radius:var(--radius);padding:8px 9px 9px;background:var(--well)}.obfuscation-plan-head b{display:block;overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.obfuscation-plan[data-plan=lowCost] .obfuscation-plan-head b{color:var(--yellow)}.obfuscation-plan-stats{display:flex;flex-wrap:wrap;gap:2px 10px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.obfuscation-actions{display:grid;gap:3px;margin:0;padding:0!important;list-style:none}.obfuscation-action{display:flex;min-height:32px;align-items:center;gap:7px;border-radius:2px;padding:0 2px 0 8px;background:var(--surface-inset)}.obfuscation-action b{color:var(--yellow);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.obfuscation-action[data-purpose=fake] b{color:var(--blue)}.obfuscation-action em{color:var(--muted);font-size:10px;font-style:normal;font-variant-numeric:tabular-nums}.obfuscation-purpose{margin-right:auto;border-radius:2px;padding:1px 5px;background:var(--well);color:var(--muted);font-size:8px;white-space:nowrap}.obfuscation-action[data-purpose=task] .obfuscation-purpose{color:var(--yellow)}.obfuscation-action[data-purpose=fake] .obfuscation-purpose{color:var(--blue)}.obfuscation-no-action{display:flex;min-height:32px;align-items:center;padding:0 8px;border-radius:2px;background:var(--surface-inset);color:var(--muted);font-size:10px}.obfuscation-plan-note{overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.5}.obfuscation-warnings{margin-top:8px}.obfuscation-assumption{overflow-wrap:anywhere;padding:7px 0 10px;color:var(--faint);font-size:9px;line-height:1.5}@container (max-width: 360px){.obfuscation-plans{grid-template-columns:1fr}}.details-help{margin:0 0 5px;color:var(--muted);font-size:9px;line-height:1.45}.confirmation-details li{display:block;padding:8px 0}.confirmation-head,.confirmation-branches{display:flex;min-width:0;justify-content:space-between;gap:8px}.confirmation-head b{min-width:0;overflow:hidden;color:var(--text);font-size:9px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.confirmation-head span{flex:0 0 auto;color:var(--yellow);font-size:8px;font-variant-numeric:tabular-nums}.confirmation-branches{margin-top:5px;color:var(--muted);font-size:8px}.confirmation-branches>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirmation-branches i{margin-right:4px;color:var(--text);font-style:normal}.analysis-details li{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 0;color:var(--muted);font-size:9px}.analysis-details li+li{border-top:1px solid var(--line)}.analysis-details li b{flex:0 0 auto;color:var(--text);font-size:9px;font-weight:500;font-variant-numeric:tabular-nums}.mapping-list code{overflow:hidden;color:var(--text);font-family:inherit;text-overflow:ellipsis;white-space:nowrap}.conflict-panel{display:grid;margin-top:14px;grid-template-columns:18px minmax(0,1fr);gap:8px;border-left:3px solid var(--danger);padding:10px;background:#ef55550f;color:var(--danger)}.conflict-panel.large{grid-template-columns:20px minmax(0,1fr)}.conflict-panel h3,.conflict-panel p{font-size:11px}.conflict-panel ul{grid-column:2;margin:3px 0 0;padding:0;color:var(--muted);font-size:9px;list-style:none}.mobile-tabs{display:none}.toast{position:fixed;z-index:100;right:16px;bottom:16px;max-width:min(380px,calc(100vw - 32px));border:0;border-left:2px solid var(--yellow);border-radius:var(--radius);padding:10px 12px;background:#17190e;color:var(--text);font-size:11px}.toast.is-error{border-left-color:var(--danger);color:var(--danger)}.game-dialog{width:min(760px,calc(100vw - 24px));max-height:min(820px,calc(100dvh - 24px));overflow:hidden;border:4px solid var(--yellow);border-radius:2px;padding:0;background:#0a0c06;color:var(--text)}.game-dialog::backdrop{background:#000000c7}.game-dialog form{display:grid;max-height:calc(100dvh - 32px);grid-template-rows:auto minmax(0,1fr) auto}.dialog-header,.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0c0f07}.dialog-header{min-height:52px;border-bottom:1px solid var(--line-strong);padding:8px 12px 8px 16px}.dialog-header h2{font-size:18px;color:var(--yellow)}.dialog-body{min-height:0;overflow-y:auto;padding:18px}.dialog-footer{min-height:54px;border-top:1px solid var(--line-strong);padding:8px 12px}.dialog-footer>div{display:flex;align-items:center;gap:6px}.dialog-primary{height:36px;padding:0 15px}.dialog-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.field{min-width:0}.field.full,.native-check.full{grid-column:1 / -1}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-check{align-self:end}.form-error{min-height:18px;margin-top:12px;color:var(--danger);font-size:10px}.subject-banner{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.subject-banner span{color:var(--muted);font-size:10px}.subject-banner b{color:var(--yellow);font-size:15px;font-weight:600}.completion-check{margin-top:12px}.player-picker{position:relative}.player-options{position:absolute;z-index:12;top:calc(100% + 4px);right:0;left:0;display:none;max-height:230px;overflow-y:auto;border:1px solid var(--yellow);background:#090b06}.player-picker.is-open .player-options{display:block}.player-options button{display:grid;width:100%;min-height:44px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;border:0;border-bottom:1px solid var(--line);padding:6px 9px;background:transparent;text-align:left}.player-options button:hover,.player-options button:focus-visible{background:var(--olive)}.player-options b{color:var(--yellow);font-size:14px;font-variant-numeric:tabular-nums}.player-options span,.player-options small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-options span{font-size:11px}.player-options small{grid-column:2;color:var(--muted);font-size:9px}.picker-empty{padding:13px;color:var(--muted);font-size:10px;text-align:center}.query-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.query-grid button{height:64px;border:1px solid var(--line);border-radius:2px;background:#050603;font-size:25px}.query-grid button:hover,.query-grid button[aria-pressed=true]{border-color:var(--yellow);background:var(--olive-soft)}.task-matrix,.location-matrix{display:grid;gap:6px}.task-room-wildcards,.task-row{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr));gap:6px}.task-matrix button,.location-matrix button{height:44px;border:1px solid var(--line);border-radius:2px;background:#050603;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}.task-matrix button:hover,.task-matrix button[aria-pressed=true],.location-matrix button:hover,.location-matrix button[aria-pressed=true]{border-color:var(--yellow);background:var(--olive);color:var(--yellow)}.task-matrix .wildcard-cell,.task-room-wildcards button{color:var(--yellow)}.location-row{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr));align-items:center;gap:6px}.location-row>span{color:var(--muted);font-size:9px;text-align:center}.identity-selector{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) 110px;gap:10px;align-items:stretch}.identity-grid{display:grid;gap:7px}.identity-grid.suits{grid-template-columns:repeat(4,minmax(0,1fr))}.identity-grid.ranks{grid-template-columns:repeat(3,minmax(0,1fr))}.identity-selector button{min-width:0;height:70px;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:#050603;font-size:28px}.identity-selector button:hover,.identity-selector button[aria-pressed=true]{border-color:var(--yellow);background:var(--olive-soft)}.identity-selector .joker-choice{color:var(--yellow);font-size:15px}.identity-preview{grid-column:1 / -1;display:grid;min-height:88px;place-items:center;border:3px solid var(--yellow);background:#050603}.preview-code{font-size:42px}@keyframes spin{to{transform:rotate(360deg)}}@container (max-width: 360px){.knowledge-grid{grid-template-columns:1fr}.confirmation-branches{display:grid;gap:3px}.branch-grid{grid-template-columns:1fr}.branch-grid>div+div{border-top:1px solid var(--line);border-left:0}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 440px){.round-snapshot-grid{grid-template-columns:1fr;gap:8px}.revenge-identity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 340px){.timing-constraints,.exposure-metrics{grid-template-columns:1fr}.timing-constraints>p+p,.exposure-metrics>div+div{border-top:1px solid var(--line);border-left:0;padding-top:8px;padding-left:0}.exposure-panel:not([data-exposure-state=ready]){display:grid;justify-items:stretch}.exposure-panel>.secondary-command{width:100%}}@media(max-width:1240px){.workspace{grid-template-columns:234px minmax(430px,1fr) 336px}.entry-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:999px){:root{--header-height: calc(58px + env(safe-area-inset-top)) ;--mobile-tabs-height: calc(52px + env(safe-area-inset-bottom)) }body{overflow:hidden}.topbar{padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}.workspace{display:block;height:calc(100dvh - var(--header-height) - var(--mobile-tabs-height));min-height:0}.pane{display:none;height:100%;overflow-y:auto;border:0}#app[data-mobile-view=events] [data-pane=events],#app[data-mobile-view=analysis] [data-pane=analysis],#app[data-mobile-view=roster] [data-pane=roster],#analysis-content{display:block}.mobile-tabs{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;height:var(--mobile-tabs-height);grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);background:#0b0d07}.mobile-tabs button{border:0;background:transparent;color:var(--muted);font-size:12px}.mobile-tabs button[aria-current=page]{background:var(--well-hover);box-shadow:inset 0 2px 0 var(--yellow);color:var(--yellow)}.toast{bottom:calc(var(--mobile-tabs-height) + 10px)}}@media(max-width:760px){:root{--header-height: calc(56px + env(safe-area-inset-top)) ;--mobile-tabs-height: calc(58px + env(safe-area-inset-bottom)) ;font-size:16px}body{overflow:hidden}.topbar{gap:8px;padding:env(safe-area-inset-top) max(9px,env(safe-area-inset-right)) 0 max(9px,env(safe-area-inset-left))}.brand{min-width:0}.brand-copy small,.solver-status,.top-divider,.top-actions>button:nth-of-type(3),.top-actions>button:nth-of-type(4),.top-actions>[data-action=start-tour]{display:none}.brand-copy strong{max-width:100px;font-size:13px}.round-control{grid-template-columns:48px 68px 48px;margin-left:auto}.top-actions{margin-left:0}.icon-button,.icon-button.compact{width:48px;height:48px}.player-row-main>.icon-button,.revenge-assistant-header .icon-button,.recorder-header>.icon-button{flex-basis:48px;flex-shrink:0}.branch-preview-command{flex-basis:48px}.quick-add{grid-template-columns:minmax(0,1fr) 48px}.workspace{display:block;height:calc(100dvh - var(--header-height) - var(--mobile-tabs-height));min-height:0}.pane{display:none;height:100%;overflow-y:auto;border:0;padding:16px 13px 28px;padding-right:max(13px,env(safe-area-inset-right));padding-left:max(13px,env(safe-area-inset-left))}#app[data-mobile-view=events] [data-pane=events],#app[data-mobile-view=analysis] [data-pane=analysis],#app[data-mobile-view=roster] [data-pane=roster],#analysis-content{display:block}.mobile-tabs{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;height:var(--mobile-tabs-height);grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);background:#0b0d07}.mobile-tabs button{border:0;background:transparent;color:var(--muted);font-size:14px}.mobile-tabs button[aria-current=page]{background:var(--well-hover);box-shadow:inset 0 2px 0 var(--yellow);color:var(--yellow)}input,select,textarea{height:44px;font-size:16px}.segmented button,.action-button,.secondary-command,.dialog-primary,.text-button,.recorder-exception,.recorder-advanced summary{min-height:44px;font-size:14px}.entry-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.event-row{min-height:62px;grid-template-columns:28px minmax(0,1fr) 104px}.event-detail{overflow:visible;line-height:1.45;text-overflow:clip;white-space:normal}.player-inline-editor>label,.recorder-segment-label,.recorder-field-block>label,.stage-heading>label,.fixed-subject>label,.recorder-summary,.recorder-note,.recorder-advanced summary{font-size:12px}.player-inline-editor input,.inline-status button,.recorder-exception{font-size:14px}.inline-status button,.inline-editor-actions .dialog-primary{min-height:48px}.recorder-exception,.recorder-advanced summary{min-height:48px}.recorder{margin:12px 0}.recorder-header{min-height:54px}.recorder-header h3,.recorder-heading p{font-size:16px}.recorder-heading small{font-size:13px}.recorder-round-context{min-height:28px;font-size:12px}.recorder-round-stepper{min-height:28px}.recorder-round-stepper button{width:48px;height:48px}.analysis-target-matrix button{min-height:44px;font-size:14px}.recorder-body{gap:9px;padding:9px}.recorder-summary{min-height:34px}.recorder-stage,.fixed-subject,.recorder-field-block{padding:7px}.stage-input-wrap{width:78px;flex-basis:78px}.stage-input-wrap input{height:44px;font-size:18px}.subject-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-matrix button{min-height:50px}.subject-matrix button b{font-size:16px}.subject-matrix button small{font-size:11px}.game-query-grid button{height:64px}.game-query-code{font-size:26px}.game-task-selector,.game-code-selector{grid-template-columns:1fr}.game-task-preview{min-height:62px;grid-template-columns:auto minmax(0,1fr);align-items:center}.game-task-preview strong{justify-self:end;text-align:right}.game-code-preview{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:1fr;min-height:72px;align-items:center}.game-code-preview strong{min-height:48px}.game-code-preview button{height:48px}.game-code-lane button{height:66px;font-size:34px}.game-task-lane button{height:48px}.location-choice-grid button,.task-choice-grid button,.identity-choice-grid button{height:48px;font-size:14px}.identity-choice-grid button{font-size:18px}.recorder-footer .dialog-primary{min-width:150px}.event-line strong,.section-line h3,.candidate-player b{font-size:14px}.event-detail,.event-line span,.count,.section-line span,.field-caption,.field>label,.field>div>label,.dialog-body>.field>label{font-size:12px}.coverage-grid{grid-template-columns:1fr}.knowledge-grid{grid-template-columns:1fr;gap:7px}.coverage-check,.native-check{min-height:44px;font-size:14px}.coverage-check>span,.native-check>span{width:20px;height:20px}.round-snapshot{margin-bottom:10px;padding-bottom:8px}.snapshot-unavailable{min-height:44px;font-size:14px}.snapshot-hint,.revenge-assistant-header p,.revenge-rule-note,.revenge-rule-warning,.timing-advice>p,.timing-constraints span,.exposure-panel>div:first-child>p,.exposure-caveat,.exposure-warning{font-size:14px}.analysis-refreshing,.warning-list,.logic-explanation,.missing-dimension-prior,.recommendation-note,.recommendation-rule,.recommendation-reasons dd,.details-help,.empty-panel p,.analysis-empty p,.loading-panel span{font-size:14px}.recommendation-reasons{gap:9px}.recommendation-reasons>div{grid-template-columns:1fr;gap:2px}.recommendation-reasons dt,.analysis-empty.compact b,.solvability-verdict b{font-size:14px}.solvability-verdict span{font-size:13px}.knowledge-dimension>span,.knowledge-dimension b,.knowledge-dimension small,.ceiling-row span,.joker-self-state span,.eyebrow,.recommendation-stats,.branch-grid b,.branch-grid span,.branch-grid>div>b,.branch-effects>span,.branch-next,.branch-next .branch-none,.branch-impossible,.confirmation-prompt b,.confirmation-prompt span,.candidate-player span,.candidate-status,.candidate-summary,.candidate-chip small,.analysis-details summary,.analysis-details summary b,.confirmation-head b,.confirmation-head span,.confirmation-branches,.analysis-details li,.analysis-details li b,.solvability-details>summary,.solvability-details>summary b,.exposure-metrics b em{font-size:12px}.revenge-assistant-header{min-height:52px}.revenge-attacker-grid button,.revenge-identity-choice,.revenge-outcomes button{min-height:44px}.revenge-attacker-grid b,.revenge-code,.timing-constraints b{font-size:14px}.revenge-attacker-grid small{font-size:11px}.revenge-selection{min-height:48px;font-size:14px}.revenge-outcomes button{padding-inline:5px;font-size:12px}.timing-advice{padding-block:12px}.timing-query{align-items:stretch}.exposure-panel{padding-top:14px}.exposure-panel h3{font-size:14px}.exposure-metrics span,.exposure-metrics small,.solver-telemetry dt,.telemetry-details dt,.telemetry-details .telemetry-label{font-size:12px}.exposure-metrics b{font-size:24px}.exposure-candidates .identity-code,.solver-telemetry dd,.telemetry-details dd,.telemetry-details .telemetry-value{font-size:13px}.game-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.game-dialog form{max-height:calc(100dvh - 20px)}.dialog-header h2{font-size:18px}.dialog-body{padding:15px 12px}.dialog-form-grid,.split-fields{grid-template-columns:1fr}.phone-fields .player-picker{grid-column:1}.query-grid button{height:66px}.task-room-wildcards,.task-row,.location-row{grid-template-columns:50px repeat(4,minmax(0,1fr));gap:4px}.task-matrix button,.location-matrix button{height:46px;padding:0 2px;font-size:12px}.identity-selector{grid-template-columns:1fr}.identity-grid.suits{grid-template-columns:repeat(4,minmax(0,1fr))}.identity-grid.ranks{grid-template-columns:repeat(3,minmax(0,1fr))}.identity-selector button{height:58px}.identity-selector .joker-choice{height:46px}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-row summary{min-height:54px}.toast{right:max(10px,env(safe-area-inset-right));bottom:calc(var(--mobile-tabs-height) + 10px);left:max(10px,env(safe-area-inset-left));max-width:none;font-size:14px}}@media(max-width:390px){.brand-mark{width:30px;height:30px}.brand-copy{display:none}.round-control{margin-left:0}.top-actions{margin-left:auto}.candidate-grid,.branch-grid{grid-template-columns:1fr}.branch-grid>div+div{border-top:1px solid var(--line);border-left:0}.recorder-fields{grid-template-columns:1fr}.task-choice-grid,.identity-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.brand-copy{display:none}}@media(max-width:370px){.brand{display:none}.game-task-lane:nth-child(2)>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:340px){.topbar{gap:6px;padding-right:max(6px,env(safe-area-inset-right));padding-left:max(6px,env(safe-area-inset-left))}.round-control{grid-template-columns:48px 40px 48px}}@media(hover:none),(pointer:coarse){.event-actions{opacity:1}}@media(pointer:coarse)and (min-width:761px){input,select,textarea{height:44px}.icon-button,.icon-button.compact{width:48px;height:48px}.round-control{grid-template-columns:48px 76px 48px}.player-row-main>.icon-button,.revenge-assistant-header .icon-button,.recorder-header>.icon-button{flex-basis:48px;flex-shrink:0}.quick-add{grid-template-columns:minmax(0,1fr) 48px}.event-row{grid-template-columns:28px minmax(0,1fr) 104px}.recorder-round-stepper button{width:48px;height:48px}.segmented button,.action-button,.secondary-command,.text-button,.inline-status button,.recorder-exception,.dialog-primary,.recorder-advanced summary,.analysis-details summary{min-height:44px}.inline-status button,.recorder-exception,.recorder-advanced summary{min-height:48px}.stage-input-wrap input{height:44px}.game-task-lane button,.game-code-preview button{min-height:48px}}@media(pointer:coarse)and (min-width:761px)and (max-width:900px){.solver-status,.top-divider{display:none}}@media(prefers-reduced-motion:reduce){.solver-status.is-loading svg,.loading-panel svg,.exposure-panel[data-exposure-state=loading] .secondary-command svg{animation-duration:1.8s}}
