.disc-planner-main{max-width:1440px;padding-bottom:30px}.disc-planner-main>section{margin-bottom:28px}.disc-planner-main .panel{padding:26px}.disc-planner-main h2{font-size:21px;margin:0 0 8px}.disc-planner-main h3{margin:0;font-size:20px}.disc-planner-main p{line-height:1.8}.disc-planner-main button,.disc-file-button{border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:var(--surface-muted);color:var(--text);cursor:pointer;min-height:42px}.disc-planner-main button:hover{border-color:var(--accent)}.disc-planner-main button:disabled{cursor:wait;opacity:.6}.disc-planner-main .primary-button{background:var(--accent);color:#fff;border-color:var(--accent)}.disc-hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,31vw,400px);align-items:center;gap:24px;padding:8px 5px 24px;min-height:280px}.disc-hero h1{font-size:clamp(27px,3.4vw,44px);margin:12px 0}.disc-hero p{color:var(--muted)}.disc-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.disc-section-head p{margin:5px 0;color:var(--muted);font-size:13px}.disc-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.disc-field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted);min-width:0}.disc-field select,.disc-field input,.disc-import input{width:100%;min-width:0;min-height:42px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--text);font:inherit}.disc-import form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.disc-import form>label{display:grid;gap:8px;flex:1;min-width:150px}.disc-import>p{color:var(--muted);font-size:12px}.disc-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.disc-file-button{position:relative;overflow:hidden;display:flex;align-items:center;font-size:13px}.disc-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.disc-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;color:var(--muted)}.disc-check input{margin-top:4px;accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.disc-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}.disc-planner-main .disc-tier{text-align:left;padding:20px;background:var(--surface);display:grid;gap:10px}.disc-tier strong{font-size:19px}.disc-tier span{font-size:12px;line-height:1.7;color:var(--muted)}.disc-planner-main .disc-tier[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 3px var(--accent);background:var(--theme-accent-bg)}.disc-table-wrap{overflow:auto;margin-bottom:18px}.disc-table{width:100%;border-collapse:collapse;font-size:13px}.disc-table th,.disc-table td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left;line-height:1.7;vertical-align:top}.disc-table th{white-space:nowrap}.disc-table td:last-child{font-size:12px;color:var(--muted);min-width:200px}.disc-table td:nth-child(2){font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.disc-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.disc-slot-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.disc-slot-recommend{font-size:12px;padding:14px;border-radius:8px;background:var(--theme-accent-bg);color:var(--muted)}.disc-sub-grid{display:grid;gap:8px;margin-top:16px}.disc-sub-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 66px;gap:8px;align-items:end}.disc-sub-row label{font-size:10px}.disc-sub-value{padding-bottom:12px;color:var(--accent);font-weight:650;font-size:12px;white-space:nowrap}.disc-slot-goal{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:13px;line-height:1.8}.disc-slot-goal strong{color:var(--accent)}.disc-muted{color:var(--muted);font-size:12px}.disc-warning{color:var(--text);border-left:3px solid #d99b49;padding:10px 14px;background:color-mix(in srgb,#d99b49 9%,transparent);font-size:13px}.disc-source-details{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.disc-source-details summary{cursor:pointer;font-weight:600;line-height:1.7}.disc-source-details p{white-space:pre-wrap;color:var(--muted);font-size:12px}.disc-planner-main ul{padding-left:20px;font-size:13px;line-height:1.9}.disc-planner-main a{color:var(--accent)}#disc-evidence>a{display:inline-block;margin:15px 20px 0 0}.disc-candidate{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--line);padding:15px 0;font-size:12px}.disc-candidate strong{flex:1}.disc-candidate span{color:var(--muted)}#disc-showcase-agents{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}#disc-validation:empty,#disc-allocation-status:empty{display:none}#disc-validation{color:#cc6b55;font-size:13px}.disc-planner-main :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:900px){.disc-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.disc-planner-main{padding-left:20px;padding-right:20px}.disc-planner-main .panel{padding:20px}.disc-sub-row{grid-template-columns:minmax(0,1fr) 66px 50px}.disc-sub-value{font-size:10px}}
@media(max-width:650px){.disc-planner-main{padding:20px 12px}.disc-slot-grid,.disc-tier-grid{grid-template-columns:1fr}.disc-planner-main .disc-tier{padding:15px}.disc-tier strong{font-size:17px}.disc-section-head{gap:10px}.disc-section-head button{font-size:11px;padding:8px}.disc-planner-main .panel{padding:17px}.disc-control-grid{gap:12px}.disc-planner-main .agent-page-switch{width:100%}.disc-planner-main .agent-page-switch a{flex:1;text-align:center;padding:8px 5px}.disc-sub-row{grid-template-columns:minmax(0,1fr) 64px 58px}.disc-slot-fields{gap:10px}.disc-table{font-size:11px}.disc-planner-main button{font-size:12px}.disc-planner-main h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.disc-context-checks{display:grid;gap:9px;margin:14px 0 22px}.disc-context-check{border-left:3px solid #d99b49;background:var(--surface-muted);border-radius:7px;padding:12px 15px;font-size:12px}.disc-context-check.is-met{border-color:#4ba996}.disc-context-check.is-unmet{border-color:#d87565}.disc-context-check p{margin:6px 0 0;color:var(--muted)}
.disc-combo{position:relative;min-width:0}.disc-combo input{padding-right:42px}.disc-planner-main .disc-combo-toggle{position:absolute;top:1px;right:1px;bottom:1px;min-height:0;width:38px;padding:0;border:0;background:transparent;color:var(--muted);font-size:20px}.disc-combo-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:260px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 10px 28px #0003;padding:5px}.disc-combo-option{padding:12px 10px;min-height:42px;border-radius:5px;color:var(--text);cursor:pointer;overflow-wrap:anywhere}.disc-combo-option.is-active{background:var(--theme-accent-bg);outline:1px solid var(--accent);outline-offset:-1px}.disc-combo-option.is-selected{font-weight:700;color:var(--accent)}.disc-combo-empty{padding:12px 10px;color:var(--muted);line-height:1.6}
#disc-strategy-controls{max-width:360px;margin-top:22px}.disc-result-lead{font-weight:650;color:var(--accent)}.disc-slot-goal[data-action=keep]{border-top-color:#4ba996}.disc-slot-goal[data-action=replace],.disc-slot-goal[data-action=fill]{border-top-color:#d99b49}
.disc-slot-current-label{font-size:13px;font-weight:650;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line)}
.disc-roll-guide{margin-bottom:20px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.disc-roll-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:18px 0;font-size:12px}
.disc-roll-units>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.disc-roll-units dt{color:var(--muted)}.disc-roll-units dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.disc-sub-explanation{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere;margin:0 0 8px}
.disc-roll-summary{margin-top:18px;padding:14px;border-radius:9px;background:var(--surface-muted);border:1px solid var(--line);font-size:12px}
.disc-roll-summary strong{font-size:13px;color:var(--text)}.disc-roll-summary p{margin:8px 0 0}.disc-roll-summary .disc-warning{font-size:12px}
.disc-table .disc-target-gap{min-width:125px;font-size:12px;color:var(--muted)}
@media(max-width:650px){.disc-roll-guide{padding:14px}.disc-roll-units{grid-template-columns:1fr}.disc-roll-summary{padding:12px}.disc-sub-explanation{font-size:10px}}
.disc-context-check.is-excluded{border-left-color:var(--line);background:var(--surface-muted);color:var(--muted)}
.disc-excluded-targets{margin:12px 0 18px;border:1px solid var(--line);border-radius:9px;padding:13px 15px;background:var(--surface-muted)}
#disc-scope-note{margin-top:-5px;padding:12px 15px;border-left:3px solid var(--accent);background:var(--theme-accent-bg)}


/* Full, unmodified game disc artwork. Movement is decorative only. */
.disc-hero-art{width:100%;min-width:0;aspect-ratio:11/8;position:relative;isolation:isolate;user-select:none;-webkit-user-select:none}
.disc-real-stage{position:absolute;inset:0;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.disc-real-stage::before{content:"";position:absolute;inset:2% -2% -3%;background:radial-gradient(ellipse at 56% 55%,#8885f52b,transparent 65%);pointer-events:none}
.disc-real-piece{position:absolute;aspect-ratio:1;}
.disc-real-back{width:37%;left:8%;top:13%;z-index:1;--disc-time:48s;--disc-start:-18deg;--disc-float:8s;--disc-delay:-3s}
.disc-real-main{width:49%;left:35%;top:29%;z-index:2;--disc-time:40s;--disc-start:0deg;--disc-float:7s;--disc-delay:0s}
.disc-real-front{width:31%;left:65%;top:4%;z-index:3;--disc-time:54s;--disc-start:12deg;--disc-float:6s;--disc-delay:-2s}
.disc-real-float{width:100%;height:100%;position:relative}
.disc-real-float::before{content:"";position:absolute;inset:14% 5% -6%;background:radial-gradient(ellipse,#090d244d,transparent 70%);z-index:-1;pointer-events:none}
.disc-real-image{display:block;width:100%;height:100%;max-width:none;object-fit:contain;transform:rotate(var(--disc-start));transform-origin:50% 50%;pointer-events:none}
.disc-real-orbit{position:absolute;left:20%;top:3%;width:68%;aspect-ratio:1;border:1px dashed color-mix(in srgb,var(--accent) 20%,transparent);border-radius:50%;pointer-events:none}
.disc-real-orbit>span{position:absolute;width:6px;height:6px;left:calc(50% - 3px);top:-3px;border-radius:50%;background:#aba5f7;box-shadow:0 0 0 5px #8885f514}
.disc-real-spark{position:absolute;color:var(--accent);opacity:.32;font:300 19px/1 system-ui;pointer-events:none}
.disc-real-spark-one{left:9%;top:71%}.disc-real-spark-two{left:86%;top:68%}
@media(prefers-reduced-motion:no-preference){
  .disc-real-image{animation:disc-real-turn var(--disc-time) linear infinite}
  .disc-real-front .disc-real-image{animation-direction:reverse}
  .disc-real-float{animation:disc-real-float var(--disc-float) ease-in-out var(--disc-delay) infinite}
  .disc-real-orbit{animation:disc-real-orbit 30s linear infinite}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .disc-hero-art:hover .disc-real-stage{transform:translateY(-3px) rotate(-2deg) scale(1.025)}
}
@keyframes disc-real-turn{from{transform:rotate(var(--disc-start))}to{transform:rotate(calc(var(--disc-start) + 360deg))}}
@keyframes disc-real-orbit{to{transform:rotate(360deg)}}
@keyframes disc-real-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:900px){.disc-hero{grid-template-columns:minmax(0,1fr) 280px;gap:12px;min-height:250px}}
@media(max-width:650px){
  .disc-hero{grid-template-columns:minmax(0,1fr);gap:0;padding:12px 0 8px}
  .disc-hero>div:first-child{min-width:0}
  .disc-hero h1{font-size:clamp(25px,6.8vw,33px)}
  .disc-hero-art{width:min(100%,300px);justify-self:center;margin-top:0}
}
@media(prefers-reduced-motion:reduce){
  .disc-hero-art,.disc-hero-art *,.disc-hero-art::before,.disc-hero-art::after{animation:none!important;transition:none!important}
}

/* Page-only progressive disclosure; inputs and calculation rules remain unchanged. */
.disc-planner-main>section,.disc-planner-main>details{scroll-margin-top:90px}
.disc-planner-main>details{margin-bottom:28px}
.disc-planner-main .disc-hero{min-height:200px;padding-bottom:8px;grid-template-columns:minmax(0,1fr) 270px}
.disc-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px}
.disc-planner-main .disc-workflow button{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:var(--surface);font-size:13px;min-width:0}
.disc-workflow b{color:var(--accent);font-size:12px}.disc-workflow span{color:var(--text);overflow-wrap:anywhere}
.disc-planner-main .disc-workflow button:hover{border-color:var(--accent);background:var(--theme-accent-bg)}
.disc-planner-main .disc-step-label{margin:0 0 8px;color:var(--accent);font-size:11px;letter-spacing:.07em;font-weight:650;line-height:1.4}
.disc-compact-details{padding:12px 0}.disc-compact-details>summary{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;list-style:none}
.disc-compact-details>summary::before{content:'+';color:var(--accent);font-size:16px}.disc-compact-details[open]>summary::before{content:'−'}
.disc-detail-meta{color:var(--muted);font-size:12px;font-weight:400;overflow-wrap:anywhere}.disc-compact-details.is-custom .disc-detail-meta{color:#bd8740}
.disc-planner-main .disc-evidence-panel>summary{font-size:17px;font-weight:650;cursor:pointer;line-height:1.6}
.disc-evidence-panel[open]>summary{margin-bottom:18px}
.disc-context-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.disc-context-check{min-width:0;padding:10px 12px}.disc-context-check>summary{cursor:pointer;font-weight:650;line-height:1.7;overflow-wrap:anywhere}
.disc-context-check[open]{align-self:start}.disc-context-check.is-excluded{font-size:11px}
.disc-slot{min-width:0;align-self:start}.disc-slot .disc-section-head{margin-bottom:10px}.disc-slot-current-label{margin:0 0 12px;padding-bottom:8px;font-size:11px}
.disc-slot-overview{font-size:13px;min-width:0}.disc-slot-overview>strong{display:block;line-height:1.5;overflow-wrap:anywhere}.disc-slot-overview>p{color:var(--muted);font-size:12px;margin:5px 0 8px}
.disc-current-subs{display:flex;gap:6px;flex-wrap:wrap;min-height:28px;margin-bottom:10px}.disc-current-subs>span{font-size:11px;color:var(--muted);padding:4px 7px;border-radius:6px;background:var(--surface-muted);overflow-wrap:anywhere}
.disc-slot-editor{border-top:1px solid var(--line);padding:12px 0 0;margin-top:12px}.disc-slot-editor>summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:13px;line-height:1.6}.disc-slot-editor[open]>summary{margin-bottom:16px}
.disc-slot .disc-slot-recommend{margin:8px 0 0;padding:10px 12px;font-size:11px;line-height:1.6}
.disc-roll-summary{margin-top:12px;padding:10px 12px}.disc-roll-summary strong{font-size:12px}.disc-roll-summary p{font-size:11px;line-height:1.6}.disc-roll-summary .disc-warning{padding:7px 10px;font-size:11px}
.disc-roll-summary>.disc-source-details{padding:7px 0;border:0;font-size:11px}.disc-roll-summary>.disc-source-details p{margin-top:8px}
.disc-slot-goal:empty{display:none}.disc-slot-goal{margin-top:14px;padding-top:12px}.disc-slot-goal p{margin:7px 0;font-size:12px;line-height:1.65}
.disc-slot>button{margin-top:14px;font-size:11px;padding:8px 10px;min-height:38px}
.disc-slot-result-note{margin:0 0 14px;padding:12px 15px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:var(--theme-accent-bg);color:var(--text);font-size:13px}
.disc-slot .disc-section-head{flex-wrap:wrap;gap:8px 14px}.disc-slot-plan-state{flex-basis:100%;width:fit-content;font-size:11px;line-height:1.5;font-weight:650;color:var(--muted)}
.disc-slot-plan-state.is-adjustment{color:#4538b8}.disc-planner-main .disc-slot.is-adjustment{background:#ebe8ff;border-color:#7563dd;box-shadow:inset 0 4px #7563dd}
.disc-slot.is-adjustment .disc-slot-goal{border-top-color:#7563dd}.disc-slot.is-locked{border-style:dashed}
html[data-theme="dark"] .disc-planner-main .disc-slot.is-adjustment{background:#302d55;border-color:#a397ff;box-shadow:inset 0 4px #a397ff}
html[data-theme="dark"] .disc-slot-plan-state.is-adjustment{color:#d5ceff}html[data-theme="dark"] .disc-slot.is-adjustment .disc-slot-goal{border-top-color:#a397ff}
.disc-planner-main .disc-back-to-slots{display:inline-block;margin-top:10px;padding:8px 0;border:0;background:transparent;color:var(--accent);font-size:13px;text-align:left}.disc-planner-main .disc-back-to-slots:hover{text-decoration:underline}
.disc-planner-main .disc-control-grid{margin:16px 0}.disc-planner-main :is(summary,p,strong){overflow-wrap:anywhere}
@media(min-width:1200px){.disc-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.disc-slot.panel{padding:18px}.disc-slot .disc-sub-row{grid-template-columns:minmax(0,1fr) 62px 50px}}
@media(max-width:650px){
  .disc-planner-main .disc-hero{grid-template-columns:minmax(0,1fr) 92px;min-height:140px;gap:8px;padding-top:4px}.disc-planner-main .disc-hero-art{width:92px;margin:0}.disc-hero .tuning-eyebrow{font-size:11px}.disc-planner-main .disc-hero h1{font-size:25px;line-height:1.35;margin:8px 0}.disc-hero p{font-size:12px}
  .disc-workflow{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.disc-planner-main .disc-workflow button{padding:11px 8px;font-size:12px;gap:6px;flex-direction:column;align-items:flex-start;text-align:left}
  .disc-context-checks{grid-template-columns:1fr}.disc-detail-meta{display:block;width:100%;padding-left:22px;font-size:11px}.disc-planner-main .disc-control-grid{grid-template-columns:1fr 1fr}.disc-planner-main .disc-source-details summary{font-size:12px}.disc-planner-main .disc-evidence-panel>summary{font-size:15px}
  #disc-config-controls>.disc-field:has(#disc-agent),#disc-config-controls>.disc-field:has(#disc-weapon){grid-column:1/-1}
  .disc-slot .disc-sub-row{grid-template-columns:minmax(0,1fr) 60px 52px}.disc-slot-overview>strong{font-size:14px}
}
