/* 미래 운영 리허설 — 6막 전체화면 레이어. 모든 선택자는 .rehearsal-layer 안에 머문다. 색은 os.css 토큰을 쓴다. */
body.rehearsal-open{overflow:hidden}
.rehearsal-layer{position:fixed;inset:0;z-index:65;overflow:auto;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;word-break:keep-all;overscroll-behavior:contain;padding-bottom:88px}
.rehearsal-layer *{box-sizing:border-box}
.rehearsal-layer button,.rehearsal-layer input,.rehearsal-layer select,.rehearsal-layer textarea{font:inherit;color:inherit}
.rehearsal-layer button{cursor:pointer}
.rehearsal-layer button:disabled{opacity:.4;cursor:default}
.rehearsal-layer :focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:6px}
.rehearsal-layer h1,.rehearsal-layer h2,.rehearsal-layer h3,.rehearsal-layer h4,.rehearsal-layer p{margin:0}
.rehearsal-layer h2{font-size:26px;line-height:1.3;letter-spacing:-.035em;font-weight:720;text-wrap:balance}
.rehearsal-layer h3{font-size:17px;line-height:1.45;letter-spacing:-.02em;font-weight:650}
.rehearsal-layer .rh-shell{max-width:1180px;margin:auto;padding:0 36px 40px}
.rehearsal-layer[data-busy="true"] .rh-content{opacity:.55;pointer-events:none}
.rehearsal-layer .rh-content[aria-busy=true]{opacity:.55;pointer-events:none}

/* 상단 */
.rehearsal-layer .rh-header{display:flex;gap:20px;align-items:center;padding:18px 0 14px;border-bottom:1px solid var(--line)}
.rehearsal-layer .rh-brand{display:flex;align-items:center;gap:12px;flex:1}
.rehearsal-layer .rh-brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--ink);color:#fff;font-weight:800;font-size:21px}
.rehearsal-layer .rh-brand b{display:block;font-size:15px}
.rehearsal-layer .rh-brand small{display:block;font-size:11.5px;color:var(--muted)}
.rehearsal-layer .rh-sample{font-size:12px;color:var(--amber-ink,#8A4A08);background:var(--amber-soft);padding:6px 12px;border-radius:30px;white-space:nowrap}
.rehearsal-layer .rh-close{border:0;background:transparent;color:var(--muted);font-size:28px;width:40px;height:40px;border-radius:10px}
.rehearsal-layer .rh-close:hover{background:var(--panel)}

/* 6막 진행 */
.rehearsal-layer .rh-journey{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:14px 0 6px}
.rehearsal-layer .rh-step{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);min-width:0}
.rehearsal-layer .rh-step i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12.5px;font-weight:700;background:var(--line);color:var(--muted)}
.rehearsal-layer .rh-step b{display:block;font-size:13.5px;font-weight:650;color:var(--ink-2);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rehearsal-layer .rh-step small{display:block;font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rehearsal-layer .rh-step.done i{background:var(--green-soft);color:var(--green)}
.rehearsal-layer .rh-step.cur{background:var(--panel);border-color:var(--line)}
.rehearsal-layer .rh-step.cur i{background:var(--ink);color:#fff}
.rehearsal-layer .rh-step.cur b{color:var(--ink)}
.rehearsal-layer .rh-step:disabled{opacity:.45}

/* 1막 */
.rehearsal-layer .rh-act1{display:grid;gap:22px;padding-top:26px}
.rehearsal-layer .rh-mission{padding:10px 0 4px}
.rehearsal-layer .rh-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.01em;color:var(--cobalt-ink);margin-bottom:10px}
.rehearsal-layer h1{font-size:clamp(32px,4vw,48px);line-height:1.18;letter-spacing:-.045em;white-space:pre-line;font-weight:780}
.rehearsal-layer h1:focus{outline:none}
.rehearsal-layer .rh-lead{max-width:640px;font-size:16px;color:var(--ink-2);margin:18px 0 0;line-height:1.75}
.rehearsal-layer .rh-block{display:grid;gap:14px}
.rehearsal-layer .rh-block>.rh-section-head h2{font-size:19px}
.rehearsal-layer .rh-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rehearsal-layer .rh-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rehearsal-layer .rh-goals button{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;text-align:left;padding:18px 20px;background:var(--panel);border:1.5px solid var(--line);border-radius:16px;transition:background .16s,border-color .16s}
.rehearsal-layer .rh-goal-dot{grid-row:1/3;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);background:var(--panel)}
.rehearsal-layer .rh-goals b{font-size:17px;letter-spacing:-.015em}
.rehearsal-layer .rh-goals span:last-child{font-size:12.5px;color:var(--muted)}
.rehearsal-layer .rh-goals [aria-pressed=true]{border-color:var(--cobalt);background:var(--cobalt-soft)}
.rehearsal-layer .rh-goals [aria-pressed=true] .rh-goal-dot{border-color:var(--cobalt);background:var(--cobalt);box-shadow:inset 0 0 0 3px var(--cobalt-soft)}
.rehearsal-layer .rh-goals [aria-pressed=true] b{color:var(--cobalt-ink)}
.rehearsal-layer .rh-conditions{padding:22px 24px;border-radius:18px;border:1px solid var(--line);background:var(--panel)}
.rehearsal-layer .rh-incidents{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rehearsal-layer .rh-incidents-label{font-size:12px;color:var(--muted);margin-right:4px}
.rehearsal-layer .rh-incident{padding:7px 12px;border:1px solid #EAD3B8;background:var(--amber-soft);color:var(--amber-ink,#8A4A08);border-radius:99px;font-size:12.5px;font-weight:650;white-space:nowrap}
.rehearsal-layer .rh-incident.calm{background:var(--panel-2);border-color:var(--line);color:var(--muted)}
.rehearsal-layer .rh-controls{display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr auto;gap:12px;align-items:end}
.rehearsal-layer label{display:grid;gap:6px;font-size:12.5px;color:var(--muted)}
.rehearsal-layer input,.rehearsal-layer select{width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);padding:8px 12px;color:var(--ink);font-size:14px}
.rehearsal-layer .rh-primary,.rehearsal-layer .rh-secondary{border:1px solid transparent;min-height:46px;padding:10px 20px;border-radius:12px;font-weight:650;font-size:14.5px;line-height:1.4;white-space:nowrap}
.rehearsal-layer .rh-primary{background:var(--cobalt);color:#fff}
.rehearsal-layer .rh-primary:hover:not(:disabled){background:var(--cobalt-ink)}
.rehearsal-layer .rh-secondary{background:var(--panel);border-color:var(--line);color:var(--ink-2)}
.rehearsal-layer .rh-link{border:0;background:transparent;color:var(--muted);font-size:13px;padding:8px 10px;text-decoration:underline;text-underline-offset:3px}
.rehearsal-layer .rh-status{font-size:13px;color:var(--muted);padding:14px 2px 10px;min-height:44px}
.rehearsal-layer .rh-preview{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px 24px;display:grid;gap:10px}
.rehearsal-layer .rh-preview-head h2{font-size:22px}
.rehearsal-layer .rh-preview-row{display:grid;gap:4px;font-size:14.5px}

/* 조건 스트립(2~5막) */
.rehearsal-layer .rh-strip{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 0;margin-top:8px;background:var(--bg);border-bottom:1px solid var(--line)}
.rehearsal-layer .rh-strip-goals{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:3px}
.rehearsal-layer .rh-chip{padding:6px 12px;border-radius:99px;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0}
.rehearsal-layer .rh-chip[aria-pressed=true]{background:var(--ink);color:#fff}
.rehearsal-layer .rh-strip-facts{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.rehearsal-layer .rh-fact{font-size:12px;color:var(--muted);padding:5px 10px;border-radius:99px;background:var(--panel);border:1px solid var(--line-2);white-space:nowrap}
.rehearsal-layer .rh-fact.warn{color:var(--amber-ink,#8A4A08);background:var(--amber-soft);border-color:transparent;font-weight:650}
.rehearsal-layer .rh-strip-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}

/* 본문 공통 */
.rehearsal-layer .rh-content{display:grid;gap:22px;padding-top:10px;animation:rh-appear .2s ease-out}
.rehearsal-layer .rh-act-head{display:grid;gap:6px;padding:14px 0 2px}
.rehearsal-layer .rh-act-head h2{font-size:28px}
.rehearsal-layer .rh-change-note{display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--amber);border-radius:4px 12px 12px 4px;padding:14px 18px;background:var(--amber-soft);color:var(--amber-ink,#8A4A08);font-size:14px}
.rehearsal-layer .rh-change-note span{font-size:12.5px}
.rehearsal-layer .rh-muted{font-size:13px;color:var(--muted);line-height:1.7}
.rehearsal-layer .rh-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rehearsal-layer .rh-metric{display:grid;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;font-variant-numeric:tabular-nums;min-width:0;border-top:3px solid var(--line)}
.rehearsal-layer .rh-metric>span{font-size:12.5px;color:var(--muted)}
.rehearsal-layer .rh-metric strong{font-size:clamp(22px,2.3vw,30px);font-weight:760;letter-spacing:-.04em;line-height:1.2}
.rehearsal-layer .rh-metric small{font-size:11.5px;color:var(--faint)}
.rehearsal-layer .rh-metric.good{border-top-color:var(--green)}
.rehearsal-layer .rh-metric.good strong{color:var(--green)}
.rehearsal-layer .rh-metric.bad{border-top-color:var(--amber)}
.rehearsal-layer .rh-metric.bad strong{color:var(--amber-ink,#8A4A08)}

/* 일정 보드 */
.rehearsal-layer .rh-board{background:#14223B;border:1px solid #243554;border-radius:20px;padding:26px 28px;color:#F0F4FF;min-width:0;display:grid;gap:8px}
.rehearsal-layer .rh-board h2{font-size:22px;color:#fff}
.rehearsal-layer .rh-board .rh-eyebrow{color:#8EACFF}
.rehearsal-layer .rh-live-label{color:#89D8B1;background:#213C40;font-size:11px;padding:6px 10px;border-radius:20px;white-space:nowrap}
.rehearsal-layer .rh-timeline{overflow-x:auto;margin:10px 0 8px;padding-bottom:4px;max-width:100%}
.rehearsal-layer .rh-timeline svg{display:block;width:100%;min-width:680px}
.rehearsal-layer .rh-gridline{stroke:#304360;stroke-width:1}
.rehearsal-layer .rh-due{stroke:#6F7E9E;stroke-width:1;stroke-dasharray:3 4}
.rehearsal-layer .rh-due-0{stroke:#9FB4FF;stroke-width:1.5}
.rehearsal-layer .rh-axis{fill:#98ABC8;font-size:11px}
.rehearsal-layer .rh-plant-label{fill:#E3EBFA;font-size:13px;font-weight:600}
.rehearsal-layer .rh-slot{fill:#7183A3}
.rehearsal-layer .rh-order-0{fill:#5E82FF}
.rehearsal-layer .rh-order-1{fill:#427A85}
.rehearsal-layer .rh-order-2{fill:#967D59}
.rehearsal-layer .rh-order-3{fill:#6F6591}
.rehearsal-layer .rh-order-4{fill:#688653}
.rehearsal-layer .rh-slot-text{fill:#fff;font-size:11px;font-weight:650}
.rehearsal-layer .rh-order-list{display:grid;gap:6px}
.rehearsal-layer .rh-order{border-radius:10px;background:#1D2E48;overflow:hidden}
.rehearsal-layer .rh-order.primary{box-shadow:inset 3px 0 0 #5E82FF}
.rehearsal-layer .rh-order summary{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:14px;padding:13px 16px;cursor:pointer;font-size:13px;list-style:none}
.rehearsal-layer .rh-order summary::marker{content:''}
.rehearsal-layer .rh-order small{display:block;font-size:10.5px;color:#9BADC8;margin-top:2px}
.rehearsal-layer .rh-order-state{color:#91D9B5;font-weight:600}
.rehearsal-layer .rh-order.late .rh-order-state{color:#FFC284}
.rehearsal-layer .rh-order-delta{font-size:11.5px;color:#B9CAFF;text-align:right}
.rehearsal-layer .rh-order-detail{padding:0 16px 16px;color:#B5C4DC;font-size:12.5px;display:grid;gap:8px}

/* 3막 */
.rehearsal-layer .rh-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}
.rehearsal-layer .rh-plan{border:1.5px solid var(--line);background:var(--panel);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.rehearsal-layer .rh-plan.selected{border-color:var(--cobalt);box-shadow:0 0 0 4px var(--cobalt-soft)}
.rehearsal-layer .rh-plan-kicker{font-size:11.5px;color:var(--cobalt-ink);font-weight:700}
.rehearsal-layer .rh-plan p{font-size:12.5px;color:var(--muted)}
.rehearsal-layer .rh-plan dl{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:13px;margin:4px 0 10px}
.rehearsal-layer .rh-plan dt{color:var(--muted)}
.rehearsal-layer .rh-plan dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}
.rehearsal-layer .rh-plan button{width:100%;margin-top:auto}
.rehearsal-layer .rh-plan.selected button{color:var(--cobalt-ink);background:var(--cobalt-soft);border-color:transparent}
.rehearsal-layer .rh-blocked-list{display:grid;gap:8px}
.rehearsal-layer .rh-blocked{display:flex;gap:12px;background:var(--red-soft);border-radius:10px;padding:12px 16px;color:var(--red);font-size:12.5px;flex-wrap:wrap}
.rehearsal-layer .rh-work{padding:26px 28px;background:var(--panel);border:1px solid var(--line);border-radius:18px}
.rehearsal-layer .rh-time-saving{font-size:27px;font-weight:730;letter-spacing:-.045em;color:var(--cobalt-ink);text-align:right}
.rehearsal-layer .rh-time-saving small{display:block;font-size:11.5px;letter-spacing:0;color:var(--muted);font-weight:450}
.rehearsal-layer .rh-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px}
.rehearsal-layer .rh-work-grid article{border-top:2px solid var(--cobalt-soft);padding-top:12px;display:grid;gap:10px}
.rehearsal-layer .rh-work-grid p{font-size:12.5px;color:var(--ink-2)}
.rehearsal-layer .rh-work-grid .rh-removed{color:var(--faint);text-decoration:line-through;text-decoration-color:#C9D0DB}
.rehearsal-layer .rh-work-grid b{font-size:13.5px;color:var(--cobalt-ink)}

/* 4막 */
.rehearsal-layer .rh-approval{padding:26px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:16px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.rehearsal-layer .rh-approval h3{font-size:20px;margin-bottom:6px}
.rehearsal-layer .rh-gates{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.rehearsal-layer .rh-gate{font-size:12.5px;font-weight:650;padding:6px 11px;border-radius:99px;background:var(--amber-soft);color:var(--amber-ink,#8A4A08)}
.rehearsal-layer .rh-approval-buttons{display:grid;gap:8px;min-width:200px}
.rehearsal-layer .rh-approval-buttons.row{grid-auto-flow:column;justify-content:start}
.rehearsal-layer .rh-operation{padding:28px;border-radius:18px;border:1px solid #BFDCCB;background:var(--green-soft);display:grid;gap:14px;scroll-margin-block:24px}
.rehearsal-layer .rh-operation h2{color:var(--green);font-size:22px}
.rehearsal-layer .rh-op-steps{display:flex;gap:6px;flex-wrap:wrap}
.rehearsal-layer .rh-op-step{font-size:12px;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.6);color:var(--muted)}
.rehearsal-layer .rh-op-step.done{color:var(--green);background:#fff}
.rehearsal-layer .rh-op-step.cur{background:var(--green);color:#fff;font-weight:650}
.rehearsal-layer .rh-operation-text{font-size:15px;line-height:1.85;color:var(--ink-2)}
.rehearsal-layer .rh-operation button{justify-self:start}
.rehearsal-layer textarea{width:100%;border:1px solid #B7CBBB;border-radius:10px;padding:16px;line-height:1.8;color:var(--ink);background:#fff;resize:vertical}

/* 5막 */
.rehearsal-layer .rh-feedback{display:grid;gap:14px;max-width:560px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.rehearsal-layer .rh-feedback-summary{display:grid;gap:4px;padding:18px 20px;background:var(--green-soft);border:1px solid #BFDCCB;border-radius:12px;color:var(--green);font-size:14px;line-height:1.7}
.rehearsal-layer .rh-feedback-summary b{font-size:17px;letter-spacing:-.02em}
.rehearsal-layer .rh-feedback-summary span{color:var(--ink-2);font-size:13px}
.rehearsal-layer .rh-replan{display:grid;gap:10px;padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;font-size:14.5px}
.rehearsal-layer .rh-history{padding:8px 24px 20px;border-radius:12px;background:var(--panel-2)}
.rehearsal-layer .rh-history summary{cursor:pointer;font-size:13px;color:var(--muted);margin-top:12px}
.rehearsal-layer .rh-history p{font-size:12.5px;border-top:1px solid var(--line-2);margin-top:10px;padding-top:10px;color:var(--ink-2);overflow-wrap:anywhere}

/* 6막 리포트 */
.rehearsal-layer .rh-report{display:grid;gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:34px 38px}
.rehearsal-layer .rh-report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}
.rehearsal-layer .rh-report-head h2{font-size:28px}
.rehearsal-layer .rh-rsec{display:grid;gap:12px;padding:8px 0 16px;border-bottom:1px solid var(--line-2)}
.rehearsal-layer .rh-rsec:last-of-type{border-bottom:0}
.rehearsal-layer .rh-rsec>h3{font-size:14px;color:var(--muted);font-weight:650;letter-spacing:.01em}
.rehearsal-layer .rh-rsec h4{font-size:13px;color:var(--muted);font-weight:650;margin:6px 0 2px}
.rehearsal-layer .rh-kv{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin:0;font-size:14.5px}
.rehearsal-layer .rh-kv dt{color:var(--muted)}
.rehearsal-layer .rh-kv dd{margin:0;color:var(--ink);font-weight:500}
.rehearsal-layer .rh-kv-line{font-size:14px;color:var(--muted)}
.rehearsal-layer .rh-kv-line b{color:var(--ink);font-size:16px}
.rehearsal-layer .rh-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.rehearsal-layer .rh-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line)}
.rehearsal-layer .rh-table td{padding:9px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}
.rehearsal-layer .rh-table td small{display:block;color:var(--faint);font-size:11.5px}
.rehearsal-layer .rh-table tr.late td:last-child{color:var(--amber-ink,#8A4A08);font-weight:650}
.rehearsal-layer .rh-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.rehearsal-layer .rh-role{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-size:13px;background:var(--panel-2)}
.rehearsal-layer .rh-role b{color:var(--cobalt-ink)}
.rehearsal-layer .rh-role span{color:var(--ink-2);line-height:1.55}
.rehearsal-layer .rh-role small{color:var(--amber-ink,#8A4A08);font-size:12px}
.rehearsal-layer .rh-modules{display:grid;gap:6px}
.rehearsal-layer .rh-module{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--line-2);font-size:13.5px}
.rehearsal-layer .rh-module b{display:block;color:var(--ink)}
.rehearsal-layer .rh-module span{color:var(--muted);font-size:12.5px;line-height:1.55}
.rehearsal-layer .rh-phase-tag{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:99px;background:var(--line-2);color:var(--ink-2);white-space:nowrap;margin-top:2px}
.rehearsal-layer .rh-phase-tag.poc{background:var(--cobalt-soft);color:var(--cobalt-ink)}
.rehearsal-layer .rh-phase-tag.build{background:var(--green-soft);color:var(--green)}
.rehearsal-layer .rh-offer-title{font-size:14.5px;color:var(--ink-2);line-height:1.7}
.rehearsal-layer .rh-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rehearsal-layer .rh-phase{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}
.rehearsal-layer .rh-phase.last{border-color:var(--cobalt);box-shadow:inset 0 0 0 1px var(--cobalt);background:var(--panel)}
.rehearsal-layer .rh-phase-idx{font-size:11.5px;color:var(--faint);font-weight:650}
.rehearsal-layer .rh-phase b{font-size:16px;letter-spacing:-.015em}
.rehearsal-layer .rh-phase-meta{font-size:12.5px;color:var(--muted)}
.rehearsal-layer .rh-phase-price{font-size:24px;font-weight:750;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}
.rehearsal-layer .rh-phase small{font-size:11.5px;color:var(--faint)}
.rehearsal-layer .rh-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 20px;border-radius:12px;background:var(--ink);color:#fff}
.rehearsal-layer .rh-total span{font-size:13px;color:#9AA7C4}
.rehearsal-layer .rh-total strong{font-size:26px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rehearsal-layer .rh-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rehearsal-layer .rh-option{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:14px}
.rehearsal-layer .rh-option-money{font-size:17px;font-weight:700;letter-spacing:-.02em}
.rehearsal-layer .rh-option small{font-size:12px;color:var(--muted)}
.rehearsal-layer .rh-verdict{font-size:12.5px;font-weight:700;color:var(--amber-ink,#8A4A08)}
.rehearsal-layer .rh-option.ok .rh-verdict{color:var(--green)}
.rehearsal-layer .rh-more summary{cursor:pointer;font-size:13px;color:var(--muted)}
.rehearsal-layer .rh-more ul,.rehearsal-layer .rh-basis ul{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--ink-2);line-height:1.7}
.rehearsal-layer .rh-basis details summary{cursor:pointer;font-size:13px;color:var(--muted)}
.rehearsal-layer .rh-basis p{font-size:12.5px;color:var(--muted);line-height:1.7;margin-top:6px}
.rehearsal-layer .rh-report-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding-top:6px}
.rehearsal-layer .rh-report-foot p{font-size:12.5px;color:var(--muted);flex:1;min-width:240px}
.rehearsal-layer .rh-empty{padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:18px;display:grid;gap:16px}
.rehearsal-layer .rh-empty button{justify-self:start}

/* 하단 바 */
.rehearsal-layer .rh-bottom{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 36px;background:var(--panel);border-top:1px solid var(--line)}
.rehearsal-layer .rh-bottom .rh-primary{min-width:220px;padding:12px 26px;font-size:15px}
.rehearsal-layer .rh-bottom-hint{font-size:12.5px;color:var(--faint);text-align:center}
.rehearsal-layer .rh-bottom>:nth-child(2){justify-self:center}
.rehearsal-layer .rh-bottom>span:first-child{width:0}

@keyframes rh-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media print{
  body.rehearsal-open .topbar,body.rehearsal-open .rail,body.rehearsal-open .main{display:none!important}
  .rehearsal-layer{position:static;overflow:visible;background:#fff;padding:0}
  .rehearsal-layer .rh-journey,.rehearsal-layer .rh-strip,.rehearsal-layer .rh-bottom,.rehearsal-layer .rh-status,.rehearsal-layer .rh-close,.rehearsal-layer .rh-report-foot button{display:none!important}
  .rehearsal-layer .rh-shell{max-width:none;padding:0}
  .rehearsal-layer .rh-report{border:0;padding:0}
  .rehearsal-layer .rh-rsec,.rehearsal-layer .rh-metric,.rehearsal-layer .rh-phase,.rehearsal-layer .rh-option{break-inside:avoid}
  .rehearsal-layer .rh-total{background:#fff;color:#000;border:1px solid #000}.rehearsal-layer .rh-total span{color:#333}
}
@media(max-width:900px){
  .rehearsal-layer .rh-journey{grid-template-columns:repeat(3,1fr)}
  .rehearsal-layer .rh-phases{grid-template-columns:1fr}
  .rehearsal-layer .rh-options{grid-template-columns:1fr}
}
@media(max-width:760px){
  .rehearsal-layer{padding-bottom:96px}
  .rehearsal-layer .rh-shell{padding:0 16px 24px}
  .rehearsal-layer .rh-header{padding:14px 0 10px;gap:8px;flex-wrap:wrap}
  .rehearsal-layer .rh-sample{order:3;width:100%;text-align:center;font-size:11px}
  .rehearsal-layer .rh-journey{grid-template-columns:repeat(6,1fr);gap:3px}
  .rehearsal-layer .rh-step{padding:8px 4px;justify-content:center}
  .rehearsal-layer .rh-step span{display:none}
  .rehearsal-layer .rh-lead{font-size:14.5px}
  .rehearsal-layer .rh-goals{grid-template-columns:1fr;gap:8px}
  .rehearsal-layer .rh-goals button{padding:14px 16px}
  .rehearsal-layer .rh-conditions{padding:18px}
  .rehearsal-layer .rh-controls{grid-template-columns:1fr 1fr}
  .rehearsal-layer .rh-controls>button{grid-column:1/-1}
  .rehearsal-layer .rh-strip{position:static}
  .rehearsal-layer .rh-metrics{grid-template-columns:1fr 1fr;gap:8px}
  .rehearsal-layer .rh-metric{padding:14px 12px}
  .rehearsal-layer .rh-metric strong{font-size:21px}
  .rehearsal-layer .rh-board,.rehearsal-layer .rh-work,.rehearsal-layer .rh-operation,.rehearsal-layer .rh-report{padding:20px 16px}
  .rehearsal-layer h2,.rehearsal-layer .rh-act-head h2,.rehearsal-layer .rh-report-head h2{font-size:22px}
  .rehearsal-layer .rh-order summary{grid-template-columns:1fr 1fr;gap:7px;padding:12px;font-size:12px}
  .rehearsal-layer .rh-order-delta{text-align:left}
  .rehearsal-layer .rh-approval{grid-template-columns:1fr;padding:20px}
  .rehearsal-layer .rh-plans{grid-template-columns:1fr}
  .rehearsal-layer .rh-work-grid{grid-template-columns:1fr 1fr;gap:14px}
  .rehearsal-layer .rh-kv{grid-template-columns:1fr;gap:2px 0}
  .rehearsal-layer .rh-kv dt{margin-top:8px;font-size:12px}
  .rehearsal-layer .rh-bottom{padding:10px 16px;grid-template-columns:auto 1fr auto}
  .rehearsal-layer .rh-bottom .rh-primary{min-width:0;padding:12px 16px;font-size:14px}
  .rehearsal-layer .rh-bottom-hint{display:none}
  .rehearsal-layer .rh-table{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.rehearsal-layer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
