:root{--rarity-1: #9b9b9b;--rarity-2: #8ab542;--rarity-3: #2b9fd8;--rarity-4: #6b78e2;--rarity-5: #d6932e;--rarity-6: #dc6a21;--ink-strong: #1f2431;--ink-soft: #5e625f;--accent: #1e5a72;--accent-soft: #d7e8ef;--panel: rgba(255, 250, 242, .9);--panel-strong: rgba(247, 237, 223, .92);--outline: rgba(31, 36, 49, .1);--shadow: 0 20px 48px rgba(63, 45, 30, .1);--control-max-inline: 26rem;--number-control-inline: 7.5rem;color-scheme:light;font-family:Trebuchet MS,Gill Sans,Segoe UI Variable,sans-serif;background:radial-gradient(circle at top left,rgba(241,171,72,.32),transparent 28%),radial-gradient(circle at top right,rgba(24,94,128,.22),transparent 22%),linear-gradient(180deg,#f6eee1,#ead7c0,#dfccb7);color:var(--ink-strong)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.upload,.tabButton,.portraitTile,select,input[type=checkbox],input[type=range]{transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background-color .14s ease}button{border:none;border-radius:999px;padding:12px 18px;background:var(--accent);color:#fff;cursor:pointer}button:disabled{cursor:wait;opacity:.65}input:not([type=checkbox]):not([type=range]),select{width:min(100%,var(--control-max-inline));max-width:100%;padding:10px 12px;border:1px solid rgba(31,36,49,.14);border-radius:14px;background:#fff}input[type=number]{width:min(100%,var(--number-control-inline))}select,input[type=checkbox],input[type=range]{cursor:pointer}button:hover:not(:disabled),.upload:hover,.tabButton:hover,.portraitTile:hover,input:not([type=checkbox]):not([type=range]):hover,select:hover,input[type=checkbox]:hover,input[type=range]:hover{border-color:#1e5a7242;box-shadow:0 0 0 3px #1e5a7214}button:focus-visible,.tabButton:focus-visible,.portraitTile:focus-visible,input:focus-visible,select:focus-visible,.upload:focus-within{outline:none;border-color:#1e5a7266;box-shadow:0 0 0 4px #1e5a7224}.shell{min-height:100vh;padding:24px}.hero,.toolbar,.messageBar,.workspacePanel,.resultSummary,.roomCard,.resultCard,.skillCard,.modalCard{border:1px solid var(--outline);border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.95fr);gap:18px;padding:24px}.eyebrow{margin:0 0 8px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#885132}.hero h1,.workspacePanel h2,.modalCard h2{margin:0;font-family:Georgia,Times New Roman,serif}.lede,.operatorMeta,.roomMeta,.resultLine,.warningText,.status,.skillBody,.facilityHeader p,.skillHeader p,.editorHint{color:var(--ink-soft)}.heroStats,.heroMetaGrid,.summaryOutputs,.rosterStats,.editorStats{display:grid;gap:10px}.heroStats{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));margin-top:0}.heroStats article,.heroMetaGrid div,.rosterStats article,.editorStats article{display:grid;gap:4px;padding:12px 14px;border-radius:18px;background:var(--panel-strong)}.heroStats span,.heroMetaGrid span,.rosterStats span,.editorStats span,.resultSummary p:first-child,.plannerCell span,.plannerStatCell span,.resultMetric span,.resultDataCell>span{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#7c5a42}.heroPanel,.heroCopy,.roomStack,.resultStack,.resultWorkspace,.recommendationStack,.skillGrid,.rosterBrowser,.operatorEditor,.plannerGrid{display:grid;gap:14px}.heroPanel{align-content:start}.heroCopy{gap:16px}.heroMetaGrid,.rosterStats,.editorStats{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0;padding:16px;align-items:start}.toolbarGrid,.toolbarActions{display:grid;gap:12px}.toolbarGrid{grid-template-columns:repeat(12,minmax(0,1fr))}.toolbarActions{grid-template-columns:repeat(4,minmax(0,1fr))}.pill,.toggle,label{display:grid;gap:6px}.pill,.toggle{padding:10px 14px;border-radius:18px;background:var(--panel-strong)}.grow{flex:1 1 280px}.compact,.rangePill{min-width:0}.toggle{grid-auto-flow:column;align-items:center;gap:10px;cursor:pointer;border:1px solid transparent}.toolbar .toggle{min-height:100%;align-content:center}.toggle:hover,.plannerToggleCell:hover{border-color:#1e5a723d;box-shadow:inset 0 0 0 1px #1e5a721f}.toggle:focus-within,.plannerToggleCell:focus-within{border-color:#1e5a725c;box-shadow:0 0 0 3px #1e5a7224}.toolbarFieldProfile{grid-column:span 3}.toolbarFieldDemand,.toolbarFieldPriorityRecipe,.toolbarFieldEffort,.toolbarFieldRanking{grid-column:span 4}.toolbarFieldOverlay{grid-column:span 2;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px}.toolbarActions button,.toolbarActions .upload{min-height:54px;border-radius:20px}.objectivePanel{display:grid;gap:16px;margin:0 0 18px;padding:18px;border-radius:26px;background:#f4e9d6eb;box-shadow:inset 0 0 0 1px #ad854f1f}.objectiveGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.objectiveWeightField{min-width:0}.toolbarFieldOverlay input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.toolbarFieldOverlay .labelWithHelp{min-width:0;flex-wrap:wrap}.toolbarFieldOverlay .labelWithHelp>span:first-child{min-width:0;overflow-wrap:anywhere}.labelWithHelp{display:inline-flex;align-items:center;gap:8px}.helpPopover{position:relative;display:inline-flex;align-items:center}.helpBadge{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:999px;background:#1e5a721f;color:var(--accent);font-size:.75rem;font-weight:700;cursor:help}.helpBadge[role=button]{outline:none}.helpPopoverPanel.helpPopoverPanel{position:fixed;z-index:4;display:grid;gap:8px;width:max-content;max-width:min(18rem,calc(100vw - 24px));padding:8px 10px;border:1px solid rgba(31,36,49,.12);border-radius:12px;background:#1f2431f5;box-shadow:0 12px 28px #1f243138;color:#fff;font-size:.76rem;line-height:1.35;pointer-events:none}.helpPopoverPanel .helpPopoverLine{display:block;padding:0;border-radius:0;background:transparent;color:#fff;font-size:inherit;line-height:inherit;letter-spacing:normal;text-transform:none}.hoverTooltipWrap{position:relative;display:inline-flex;align-items:center}.hoverTooltipPanel.hoverTooltipPanel{position:fixed;z-index:4;width:max-content;max-width:min(16rem,calc(100vw - 24px));padding:8px 10px;border:1px solid rgba(31,36,49,.12);border-radius:12px;background:#1f2431f5;box-shadow:0 12px 28px #1f243138;color:#fff;font-size:.76rem;line-height:1.35;pointer-events:none}button.secondary,.upload{background:#d9934f;color:var(--ink-strong)}.upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.upload input{display:none}.messageBar,.workspacePanel,.resultSummary,.roomCard,.resultCard{padding:18px}.resultCard{display:grid;gap:12px;align-content:start}.messageBar.warning{background:#ca632e29}.tabShell{display:grid;gap:16px;margin-top:14px}.tabBar{display:flex;flex-wrap:wrap;gap:10px}.tabButton{display:grid;gap:2px;min-width:152px;padding:14px 18px;border:1px solid rgba(31,36,49,.08);background:#fff7ecb8;color:var(--ink-strong);text-align:left}.tabButton small{color:var(--ink-soft)}.tabButton.active{background:linear-gradient(135deg,#1f5a72,#2b7184);color:#fff;box-shadow:0 16px 35px #1e5a7233}.tabButton.active small{color:#fffc}.workspacePanel{display:grid;gap:16px}.plannerGrid{grid-template-columns:1fr;align-items:start}.panelHeader,.resultHeader,.facilityHeader,.operatorEditorHeader,.operatorEditorIdentity{display:flex;justify-content:space-between;align-items:start;gap:12px}.panelHeaderWide{align-items:end}.plannerRoomCardWide{grid-column:1 / -1}.plannerRoomBody,.hardAssignmentRow{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.hardAssignmentRow{grid-template-columns:repeat(2,minmax(18rem,28rem)) auto;justify-content:start}.hardAssignmentRow .plannerCell{width:min(100%,28rem);justify-self:start}.plannerRoomIntro,.plannerStatRow,.plannerCellGrid,.plannerSlotGrid,.hardAssignmentGrid,.resultSummaryGrid,.resultMetricGrid,.resultDataGrid,.resultNotesGrid,.resultGrid,.recommendationGrid,.recommendationSummaryGrid{display:grid;gap:12px}.plannerRoomIntro{align-content:start}.plannerCellGrid,.plannerSlotGrid,.resultSummaryGrid,.resultMetricGrid,.resultDataGrid,.recommendationGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.plannerStatRow{display:flex;flex-wrap:wrap;gap:8px}.plannerCellGridCompact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.plannerConfigRow{grid-template-columns:repeat(auto-fit,minmax(12rem,max-content));justify-content:start}.plannerConfigRow .plannerCell{width:min(100%,12rem);justify-self:start}.plannerConfigRowWide{grid-template-columns:minmax(18rem,28rem)}.plannerConfigRowWide .plannerCell{width:min(100%,28rem)}.plannerSlotGrid{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.hardAssignmentGrid{align-content:start}.plannerCell,.plannerStatCell,.resultMetric,.resultDataCell,.resultNoteCell{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(31,36,49,.07);border-radius:18px;background:#f7eddfb8}.plannerCell,.plannerStatCell,.resultMetric,.resultDataCell{min-width:0}.resultMetric,.resultDataCell,.resultNoteCell{align-content:start;min-height:76px}.plannerCellWide{grid-column:1 / -1}.plannerCell strong{display:block;margin-top:4px;font-size:1rem}.numericRow label>span,.plannerCell>span,.plannerStatCell>span{color:#5c351b;font-weight:700;letter-spacing:.09em}.plannerCellNote{color:#7c5a42;line-height:1.35}.plannerToggleCell{align-content:start;cursor:pointer;justify-items:start}.plannerToggleCell input[type=checkbox]{width:auto;justify-self:start;margin-top:4px;accent-color:var(--accent);cursor:pointer}.plannerStatCell{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f7eddfeb}.plannerStatCell strong,.resultMetric strong,.resultDataCell strong{display:block;margin-top:4px}.plannerStatCell strong{margin:0;font-size:.95rem}.resultMetric strong{font-size:1.05rem}.resultMetricHighlight strong{font-size:2.2rem;line-height:1}.resultMetricHighlight{grid-column:span 2}.resultDataCell strong{font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}.materialCostList{display:grid;gap:8px;margin:0;padding:0;list-style:none}.materialCostItem{display:flex;align-items:center;gap:8px;min-width:0}.materialIconTooltipWrap{flex:0 0 auto}.materialIconBadge{display:inline-grid;place-items:center;width:24px;height:24px;overflow:hidden;border-radius:8px;border:1px solid rgba(214,147,46,.24);background:#fffcf7db}.materialIconBadge.fallback{background:linear-gradient(145deg,#fff7eceb,#dcc3a5e6)}.materialIconImage{display:block;width:100%;height:100%;object-fit:contain;padding:1px}.materialIconFallbackText{color:var(--ink-soft);font-size:.62rem;font-weight:700;line-height:1}.materialCostText{display:flex;align-items:baseline;gap:6px;min-width:0}.resultDataCell .materialCostQuantity{display:inline;margin:0;font-size:.86rem;line-height:1;color:var(--ink-strong);white-space:nowrap}.materialCostName,.materialCostEmpty{color:var(--ink-strong);font-size:.86rem;line-height:1.3}.materialCostName{overflow-wrap:anywhere}.materialCostEmpty{margin:0;color:var(--ink-soft)}.resultNoteCell{margin:0;line-height:1.4;min-height:0}.resultGrid,.recommendationGrid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start}.resultMetricGrid,.resultDataGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendationInfoGrid{grid-template-columns:1fr}.operatorChipGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.hardAssignmentButton{justify-self:start}.hardAssignmentRemoveTooltip{align-self:stretch}.hardAssignmentRemoveButton{align-self:stretch;min-width:48px;padding:0;border-radius:18px;font-size:1.4rem;line-height:1}.rosterWorkspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.95fr);gap:16px}.rosterBrowser,.operatorEditor{padding:16px;border-radius:24px;background:#fff7eda6}.rosterToolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);gap:12px;align-items:start}.rosterSortField{justify-self:start;width:100%}.portraitGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.portraitTile{display:grid;gap:8px;padding:10px;border:1px solid rgba(31,36,49,.08);border-radius:22px;background:#fffcf7e6;color:var(--ink-strong);text-align:left;cursor:pointer}.portraitTile.active{border-color:#1e5a7266;box-shadow:inset 0 0 0 1px #1e5a7224,0 14px 32px #1e5a721f;transform:translateY(-1px)}.portraitTile.unowned{background:#e2dbd4fa;border-color:#5a524c3d}.portraitTile.unowned .avatar{--portrait-rarity-color: #7f848a;border-color:#676c73;background:radial-gradient(circle at top left,rgba(255,255,255,.22),transparent 42%),linear-gradient(145deg,#8c9197,#52575d 78%);box-shadow:0 8px 18px #1f243124}.portraitTile.unowned .avatarImage{filter:grayscale(1) saturate(0) brightness(.76) contrast(.92)}.portraitFrame{position:relative}.avatar{--portrait-rarity-color: var(--accent);display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;overflow:hidden;padding:2px;border-radius:16px;border:1px solid var(--portrait-rarity-color);background:radial-gradient(circle at top left,rgba(255,255,255,.52),transparent 40%),linear-gradient(145deg,var(--portrait-rarity-color),#293341 78%);box-shadow:0 10px 22px #1f243124;color:#fff;font-weight:700}.avatar[data-rarity="1"]{--portrait-rarity-color: var(--rarity-1)}.avatar[data-rarity="2"]{--portrait-rarity-color: var(--rarity-2)}.avatar[data-rarity="3"]{--portrait-rarity-color: var(--rarity-3)}.avatar[data-rarity="4"]{--portrait-rarity-color: var(--rarity-4)}.avatar[data-rarity="5"]{--portrait-rarity-color: var(--rarity-5)}.avatar[data-rarity="6"]{--portrait-rarity-color: var(--rarity-6)}.portraitAvatar{width:100%;height:auto;aspect-ratio:1}.detailAvatar{width:72px;height:72px;flex-basis:72px}.avatarImage{width:100%;height:100%;display:block;object-fit:cover;border-radius:13px}.portraitCorner{position:absolute;display:inline-flex;align-items:center}.portraitStatus{left:4px;bottom:4px;gap:4px;padding:4px 8px;border-radius:999px;background:#14171ec7;color:#fff;font-size:.72rem;font-weight:700;line-height:1}.portraitStatus.locked{background:#484440f0;border:1px solid rgba(255,255,255,.36);box-shadow:0 6px 16px #1f243147}.portraitStatus strong{font-size:.78rem}.portraitStatusLabel{letter-spacing:.03em;white-space:nowrap}.portraitSkills{right:3px;bottom:3px;gap:0}.skillBadge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;overflow:hidden;border-radius:8px;font-size:.76rem;font-weight:700;flex:0 0 auto}.skillBadge.unlocked{background:#fffaf3f0;border:1px solid rgba(214,147,46,.4)}.skillBadge.locked{background:#1f2431a6;border:1px solid rgba(255,255,255,.15)}.skillBadge.withIcon{background:transparent;border-color:transparent}.skillBadge.fallback{background:linear-gradient(145deg,#fff7eceb,#dcc3a5e6)}.skillBadgeImage{width:100%;height:100%;object-fit:contain;padding:1px;display:block}.skillBadge.plain{border-radius:10px;background:#fffcf7b8;border:1px solid rgba(214,147,46,.2)}.skillBadgeOverlay{position:absolute;right:1px;bottom:1px;min-width:13px;height:13px;padding:0 2px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#14171ed6;color:#fff;font-size:.58rem;line-height:.95}.portraitSkills .skillBadge{width:24px;height:24px;box-shadow:0 1px 3px #14171e40}.portraitSkills .hoverTooltipPanel{right:0;left:auto}.portraitSkills .skillBadgeImage{padding:0}.skillBadgeLarge{width:42px;height:42px;flex:0 0 42px}.skillBadgePlain .skillBadgeImage{padding:2px;transform:scale(1.12)}.skillBadgeLarge .skillBadgeOverlay{min-width:18px;height:18px;font-size:.72rem}.skillBadgeInline{width:22px;height:22px;flex:0 0 22px}.skillBadgeInline .skillBadgeOverlay{min-width:14px;height:14px}.portraitLabel,.portraitMeta,.operatorName,.skillHeader strong,.facilityHeader h3,.resultHeader h3,.resultSummary h3{margin:0}.portraitLabel{font-weight:700}.portraitMeta{color:var(--ink-soft);font-size:.86rem}.editorToggle{min-width:96px}.editorHint{margin:0;padding:12px 14px;border-radius:16px;background:#1e5a7214}.operatorChipList{display:grid;gap:10px;margin-top:0}.operatorChip{display:flex;align-items:center;gap:10px;min-width:0}.operatorChipCopy{display:grid;gap:2px;min-width:0}.operatorChipCopy strong,.recommendationSkill span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operatorChipMeta{color:var(--ink-soft);font-size:.88rem}.numericRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skillCard{padding:14px}.skillHeader{display:flex;justify-content:space-between;gap:12px}.skillSummary,.recommendationSkill{display:inline-flex;align-items:center;gap:10px;min-width:0}.skillHeader p,.facilityHeader p,.resultHeader p,.resultSummary p{margin:0}.skillBody,.roomMeta,.resultLine{margin:10px 0 0}.roomMeta{line-height:1.45}.resultRecipeList{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}.resultRecipeChip{display:inline-flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:14px;background:var(--panel-strong)}.resultRecipeChip small{color:#7c5a42}.miniStat{padding:6px 10px;border-radius:999px;background:#1e5a721a;color:var(--accent);font-size:.85rem}.pill small,.rangePill small{color:#7c5a42;line-height:1.35}.rangePill strong,.rangePill small{display:block}dl{display:grid;gap:8px;margin:12px 0 0}dl div{display:flex;justify-content:space-between}.summaryOutputs{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:12px}.summaryOutputs span{padding:8px 10px;border-radius:14px;background:var(--panel-strong)}.resultSummary{display:grid;gap:14px}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#1f243170;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.modalCard{width:min(520px,100%);padding:24px;background:#fffaf2f7}.modalStats{margin:16px 0}@media(max-width:1180px){.hero,.toolbar,.rosterWorkspace,.plannerRoomBody,.plannerRoomBodyWide,.hardAssignmentRow,.plannerGrid,.resultGrid,.recommendationGrid{grid-template-columns:1fr}}@media(max-width:820px){.shell{padding:16px}.rosterToolbar,.heroStats,.heroMetaGrid,.rosterStats,.editorStats,.toolbarActions,.numericRow,.plannerStatRow,.plannerCellGrid,.plannerSlotGrid,.resultSummaryGrid,.resultMetricGrid,.resultDataGrid,.operatorChipGrid{grid-template-columns:1fr}.tabButton{flex:1 1 100%}.resultMetricHighlight{grid-column:auto}.toolbarGrid{grid-template-columns:1fr}.toolbarFieldProfile,.toolbarFieldDemand,.toolbarFieldEffort,.toolbarFieldRanking,.toolbarFieldPriorityRecipe,.toolbarFieldOverlay{grid-column:auto}}@media(max-width:640px){.portraitGrid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}}
