:root{color:#241a16;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f0e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#84222a1a,#0000 38%),linear-gradient(45deg,#254c531f,#0000 42%),#f4f0e8;min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}a{color:#7a1f2b;font-weight:700}.app-shell{width:min(1480px,100% - 32px);margin:0 auto;padding:28px 0 40px}.app-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:#8a3e2b;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:#231815;margin-bottom:0;font-size:clamp(2.4rem,6vw,5rem);line-height:.95}h2{margin-bottom:0;font-size:1.18rem}h3{margin-bottom:10px;font-size:.92rem}.planner-grid{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.25fr) minmax(280px,.95fr);align-items:start;gap:16px;display:grid}.panel{background:#fffcf6d6;border:1px solid #241a1624;border-radius:8px;padding:18px;box-shadow:0 18px 45px #2c181214}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-heading p{color:#6f625c;margin:4px 0 0;font-size:.86rem}.item-column{display:contents}.setup-panel{grid-area:1/1/span 2}.item-panel{grid-area:1/2}.desired-panel{grid-area:2/2}.field-label{color:#4c3a33;margin:14px 0 8px;font-size:.82rem;font-weight:850;display:block}.icon-choice-grid{gap:8px;display:grid}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.icon-choice{color:#362720;text-align:left;background:#fffaf2;border:1px solid #241a161f;border-radius:7px;grid-template-columns:22px 1fr;align-items:center;gap:8px;min-height:42px;padding:8px 9px;display:grid}.icon-choice span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:850;overflow:hidden}.icon-choice.selected{color:#7a1f2b;background:#fff2e4;border-color:#7a1f2b94;box-shadow:inset 3px 0 #7a1f2b}.helper-text{color:#756660;margin:4px 0 16px;font-size:.82rem;line-height:1.4}input{font:inherit}select{color:#241a16;background:#fffaf2;border:1px solid #241a162e;border-radius:6px;width:100%;min-height:42px;padding:0 12px}.affix-filter-row{align-items:center;gap:10px;display:flex}.affix-filter{color:#241a16;background:#fffaf2;border:1px solid #241a162e;border-radius:6px;flex:auto;min-width:0;min-height:42px;padding:0 12px}.affix-filter::placeholder{color:#897770}.affix-filter-clear{flex:none}.affix-picker{gap:8px;max-height:520px;padding-right:4px;display:grid;overflow:auto}.affix-choice{color:#241a16;text-align:left;background:#fffaf2;border:1px solid #241a161f;border-radius:7px;gap:4px;width:100%;padding:10px;display:grid}.affix-choice.selected{background:#fff2e4;border-color:#7a1f2b99;box-shadow:inset 3px 0 #7a1f2b}.affix-choice span{font-weight:800}.affix-choice small,.affix-row span{color:#76675f;font-size:.78rem}.item-board,.desired-board{gap:10px;display:grid}.item-board{min-height:244px}.blank-item{color:#756660;text-align:center;border:1px dashed #241a163d;border-radius:8px;place-items:center;min-height:244px;font-weight:800;display:grid}.affix-empty{min-height:120px}.compact-blank{min-height:112px}.affix-row{background:#fffaf2;border:1px solid #241a161f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.affix-row.wanted{background:#f1f8f6;border-color:#33565c6b}.affix-row strong{margin-bottom:3px;display:block}.row-actions{flex:none;align-items:center;gap:6px;display:flex}.setup-remove{width:30px;height:30px}.starting-item-setup{border-top:1px solid #241a161f;margin-top:18px;padding-top:4px}.inline-entry{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.secondary-button{color:#362720;white-space:nowrap;background:#fffaf2;border:1px solid #241a1629;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 12px;font-weight:900;display:inline-flex}.lock-badge{color:#24484e;background:#e6f1ee;border:1px solid #33565c47;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:.74rem;font-weight:900;display:inline-flex}.icon-button{color:#362720;background:#fffaf2;border:1px solid #241a1624;border-radius:7px;place-items:center;width:34px;height:34px;display:inline-grid}.icon-button.active{color:#24484e;background:#e6f1ee;border-color:#33565c}.icon-button.danger{color:#7a1f2b}.status-icon{color:#2f6f5f}.next-panel{grid-area:1/3;align-self:start;max-height:calc(100vh - 36px);position:sticky;top:18px;overflow-y:auto}.next-panel.safe{border-top:4px solid #2f6f5f}.next-panel.caution{border-top:4px solid #b66a2c}.next-panel.blocked{border-top:4px solid #7a1f2b}.recommendation-icon{color:#7a1f2b;background:#efe4d7;border-radius:8px;place-items:center;width:44px;height:44px;margin-bottom:14px;display:grid}.prism-callout{color:#24484e;background:#e6f1ee;border-radius:999px;margin:14px 0;padding:8px 11px;font-size:.82rem;font-weight:900;display:inline-flex}.rationale{color:#584942;line-height:1.5}.affix-highlight{color:#241a16;font-weight:900}.result-entry{border-top:1px solid #241a161f;margin-top:20px;padding-top:16px}.passive-result{color:#584942;line-height:1.45}.primary-button{color:#fffdf8;background:#7a1f2b;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:10px;font-weight:900;display:inline-flex}@media (width<=1080px){.planner-grid{grid-template-columns:1fr 1fr}.setup-panel,.item-panel,.desired-panel{grid-area:auto}.item-column{gap:16px;display:grid}.next-panel{grid-area:auto/1/auto/-1;min-height:0;max-height:none;position:static;overflow:visible}}@media (width<=760px){.app-shell{width:min(100% - 20px,1480px);padding-top:16px}.app-header{flex-direction:column;align-items:stretch}.planner-grid,.inline-entry{grid-template-columns:1fr}.affix-filter-row{flex-direction:column;align-items:stretch}.affix-filter-clear{width:100%}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
