:root{color:#24332f;font-synthesis:none;--ink:#17332e;--green:#1f5147;--green-2:#2d6b5e;--gold:#b98235;--paper:#fbfaf5;--line:#d7dbd2;--muted:#6e7975;background:#edf0e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 70% -10%,#f8f4e8 0,#0000 35%),#edf0e9;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.topbar{z-index:20;color:#fff;background:#17332e;border-bottom:3px solid #b98235;grid-template-columns:270px 1fr auto;align-items:center;height:72px;padding:0 28px;display:grid;position:sticky;top:0;box-shadow:0 4px 18px #10241f33}.brand{color:#fff;letter-spacing:2px;align-items:center;gap:11px;font-family:Georgia,serif;font-size:20px;text-decoration:none;display:flex}.brand-mark{border:1px solid #d9b678;place-items:center;width:38px;height:38px;display:grid;transform:rotate(45deg)}.brand-mark svg{color:#e0bd7c;transform:rotate(-45deg)}.workflow-tabs{justify-content:center;gap:8px;height:100%;display:flex}.workflow-tabs button,.quick-actions button{color:#becbc7;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 18px;display:flex}.workflow-tabs button{font-weight:600;position:relative}.workflow-tabs button.active{color:#fff}.workflow-tabs button.active:after{content:"";background:#d6a85e;height:3px;position:absolute;bottom:0;left:15px;right:15px}.quick-actions{display:flex}.quick-actions button{border-left:1px solid #ffffff18;padding:9px 12px}.quick-actions button:hover,.workflow-tabs button:hover{color:#fff;background:#ffffff0b}.workspace{grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 72px);display:grid}.profile-panel{background:#f7f6f0;border-right:1px solid #d2d7ce;padding:30px 24px;box-shadow:5px 0 20px #18332f0b}.panel-heading{justify-content:space-between;align-items:start;display:flex}.eyebrow{color:#a86e29;letter-spacing:1.7px;margin:0 0 5px;font-size:11px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:Georgia,serif;font-weight:400}.profile-panel h2{margin-bottom:9px;font-size:22px}.muted{color:var(--muted);font-size:13px;line-height:1.5}.profile-panel label:not(.toggle-row),.dc-override,.roll-row label{color:#52605c;text-transform:uppercase;letter-spacing:.4px;gap:7px;margin:16px 0;font-size:12px;font-weight:700;display:grid}input,select{color:#273733;background:#fff;border:1px solid #cbd1c8;border-radius:4px;outline:none;min-height:40px;padding:8px 10px}input:focus,select:focus{border-color:#3d776b;box-shadow:0 0 0 3px #3d776b1c}.profile-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.profile-grid input{width:100%}.rule-divider{background:#d8dcd4;height:1px;margin:24px 0}.field-title{letter-spacing:1.4px;color:#75807c;font-size:11px;font-weight:700}.toggle-row{cursor:pointer;align-items:center;gap:9px;margin:13px 0;font-size:13px;display:flex}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.toggle{background:#b8bfba;border-radius:20px;flex:none;width:32px;height:18px;padding:2px;transition:all .2s}.toggle i{background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;display:block;box-shadow:0 1px 2px #0003}.toggle-row input:checked+.toggle{background:var(--green-2)}.toggle-row input:checked+.toggle i{transform:translate(14px)}.toggle-row.compact{white-space:nowrap;margin:0}.profile-note{color:#65706c;background:#eeeee6;border:1px solid #d6d9d0;align-items:center;gap:10px;margin-top:26px;padding:13px;font-size:12px;display:flex}.main-content{width:100%;max-width:1500px;margin:0 auto;padding:42px clamp(24px,4vw,68px) 70px}.hero-copy h1{letter-spacing:-.5px;margin-bottom:10px;font-size:clamp(34px,4vw,51px)}.hero-copy>p:last-child{color:#65716d;max-width:720px;line-height:1.6}.category-row{border-bottom:1px solid #d5d9d1;gap:8px;padding:20px 0 24px;display:flex}.category-row button{cursor:pointer;background:#f8f7f2;border:1px solid #cdd3ca;border-radius:3px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:flex}.category-row button:hover{border-color:#6d948b}.category-row button.active{color:#fff;background:var(--green);border-color:var(--green)}.content-grid{grid-template-columns:minmax(310px,.75fr) minmax(480px,1.25fr);align-items:start;gap:24px;margin-top:24px;display:grid}.catalog-card,.result-card{background:var(--paper);border:1px solid #d6d9d0;box-shadow:0 10px 30px #22362f0b}.catalog-card{min-width:0;position:sticky;top:96px;overflow:hidden}.catalog-tools{border-bottom:1px solid var(--line);gap:13px;min-width:0;padding:16px;display:grid}.catalog-filter-row{grid-template-columns:minmax(0,1fr) minmax(84px,96px) 68px;align-items:end;gap:9px;min-width:0;display:grid}.catalog-filter-row .toggle-row{grid-column:1/-1;margin:2px 0 0}.level-filter,.level-value{gap:4px;min-width:0;display:grid}.subtype-filter{grid-column:1}.catalog-filter-row>.level-filter:not(.subtype-filter){grid-column:2}.level-value{grid-column:3}.level-filter>span{color:#65716d;letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:700}.level-filter select,.level-value select{width:100%;min-width:0;max-width:100%}.catalog-count{color:#74807b;font-size:11px}.catalog-count strong{color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-box{color:#78827f;background:#fff;border:1px solid #cdd2ca;border-radius:3px;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;display:flex;overflow:hidden}.search-box svg{flex:none}.search-box input{box-shadow:none;background:0 0;border:0;width:100%;min-width:0;max-width:100%;min-height:38px}.search-box input:focus{box-shadow:none}.item-list{max-height:620px;overflow:auto}.item-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e2e4de;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;width:100%;min-height:76px;padding:13px 14px;display:grid}.item-row:hover{background:#f1f3ed}.item-row.selected{box-shadow:inset 3px 0 var(--green-2);background:#e7eee8}.item-row.unavailable{opacity:.62}.item-level{color:#596560;border:1px solid #b5bdb6;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.item-copy{gap:3px;display:grid}.item-copy strong{color:var(--ink);font-family:Georgia,serif;font-size:16px}.item-copy small{color:#7c8682;text-transform:capitalize}.item-copy em,.rune-option em,.reference-row em{color:#9b512f;font-size:11px;font-style:normal}.item-price{color:#4d5b57;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.load-more{width:100%;color:var(--green);cursor:pointer;background:#edf1eb;border:0;border-top:1px solid #d8ddd5;place-items:center;gap:2px;padding:14px;font-weight:700;display:grid}.load-more:hover{background:#e2eae3}.load-more small{color:#74807b;font-weight:400}.empty-state{color:#7a8580;text-align:center;align-content:center;place-items:center;gap:7px;min-height:180px;display:grid}.empty-state p{color:#4c5b56;margin:0;font-weight:700}.empty-state span{font-size:12px}.result-card{padding:clamp(22px,3vw,36px)}.result-title{padding-right:105px;position:relative}.result-title h2{margin:11px 0 8px;font-size:30px}.result-title p{color:#67736f;line-height:1.55}.level-badge{color:#a46d2f;letter-spacing:1px;font-size:11px;font-weight:700}.rarity{text-transform:uppercase;letter-spacing:1px;border:1px solid #b8c0b9;padding:5px 7px;font-size:10px;position:absolute;top:-5px;right:0}.rarity.uncommon{color:#a56b23;border-color:#c9a56e}.rarity.rare{color:#315e91;border-color:#7e9fbe}.trait-list{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.trait-list span,.official-pill,.slot-count{color:#58655f;text-transform:uppercase;letter-spacing:.7px;background:#e9ece5;border:1px solid #d2d7ce;padding:4px 7px;font-size:9px;font-weight:700}.alert{border-left:3px solid;gap:11px;margin:17px 0;padding:13px;font-size:12px;display:flex}.alert>div{gap:4px;display:grid}.alert svg{flex:none}.alert.success{color:#315e46;background:#e8f0e9;border-color:#47775b}.alert.warning{color:#844b30;background:#f4e9df;border-color:#b15f38}.stat-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:20px 0;display:grid}.stat{border-right:1px solid var(--line);gap:4px;min-width:0;padding:14px;display:grid}.stat:last-child{border:0}.stat span{color:#7b8581;text-transform:uppercase;letter-spacing:.6px;font-size:10px}.stat strong{color:var(--ink);font-family:Georgia,serif;font-size:20px}.stat small{color:#77817d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.section-block{border-top:1px solid var(--line);padding:25px 0}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.section-heading h3{margin:0;font-size:21px}.official-pill{color:#286154;background:#e5eee8;border-color:#b7cdc3}.cost-line{color:#5b6763;border-bottom:1px dashed #d6dad3;justify-content:space-between;padding:9px 0;display:flex}.cost-line strong{color:var(--ink)}.requirement{color:#5e6b66;gap:10px;padding-top:13px;font-size:13px;display:flex}.batch-picker{color:#53615c;background:#eef1eb;border:1px solid #d5dbd3;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:12px;display:flex}.batch-picker>span{gap:3px;display:grid}.batch-picker small{color:#747f7a;font-size:11px;font-weight:400}.batch-picker select{flex:none;width:72px}.ingredient-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ingredient-chip{background:#f1eee5;border:1px solid #ded9cd;gap:9px;padding:11px;display:flex}.ingredient-chip svg{color:#9d6c34;flex:none}.ingredient-chip span{gap:3px;display:grid}.ingredient-chip small{color:#737b77;line-height:1.35}.compact-copy{margin:0}.dc-override{grid-template-columns:auto 65px;align-items:center;margin:0}.dc-override input{width:65px}.roll-row{grid-template-columns:1fr auto 1fr auto 72px;align-items:end;gap:12px;display:grid}.roll-row label{margin:0}.roll-row input{width:100%}.roll-row>span{color:#8a938f;padding-bottom:12px}.roll-total{background:var(--ink);color:#fff;align-content:center;place-items:center;height:40px;display:grid}.roll-total small{letter-spacing:1px;font-size:8px}.roll-total strong{font-size:20px;line-height:1}.outcome{background:#eef0ec;border-left:3px solid #808b86;grid-template-columns:140px 1fr;align-items:center;gap:12px;margin:14px 0;padding:11px 13px;font-size:12px;display:grid}.outcome.success,.outcome.critical-success{color:#315f48;background:#e6efe8;border-color:#367051}.outcome.failure,.outcome.critical-failure{color:#884d34;background:#f4e9e1;border-color:#a75b39}.range-label{color:#63706b;grid-template-columns:1fr auto;gap:10px;margin:17px 0;font-size:12px;display:grid}.range-label input{min-height:auto;accent-color:var(--green);grid-column:1/-1;padding:0}.savings-grid,.rune-summary{background:#e9eee8;border:1px solid #ced8d0;grid-template-columns:repeat(3,1fr);display:grid}.savings-grid div,.rune-summary div{border-right:1px solid #ced8d0;gap:5px;padding:12px;display:grid}.savings-grid div:last-child,.rune-summary div:last-child{border:0}.savings-grid span,.rune-summary span{text-transform:uppercase;color:#6b7873;font-size:10px}.savings-grid strong,.rune-summary strong{color:var(--ink)}.source-link{color:#356a5e;align-items:center;gap:8px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.source-link svg:last-child{margin-left:auto}.rune-summary{margin:20px 0}.slot-board{border-top:1px solid var(--line);padding-top:24px}.slot-count{color:#8b6030;background:#f0eadf;border-color:#d9c8ab}.empty-slots{color:#89928e;border:1px dashed #c8cec6;place-items:center;gap:7px;padding:20px;display:grid}.applied-rune,.rune-option,.reference-row{border-bottom:1px solid #e0e3dc;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.applied-rune>span:nth-child(2){gap:4px;display:grid}.applied-rune small{color:#737e79}.applied-rune button{color:#8a4d37;cursor:pointer;background:0 0;border:0}.rune-gem{color:#52665f;background:#e5e9e3;border:1px solid #9da9a2;place-items:center;width:36px;height:36px;display:grid;transform:rotate(45deg)}.rune-gem svg{transform:rotate(-45deg)}.rune-gem.potency,.rune-gem.striking,.rune-gem.resilient,.rune-gem.reinforcing{color:#976423;background:#f3e9d9;border-color:#c4a36e}.rune-gem.property{color:#385e89;background:#e5edf3;border-color:#86a1b9}.rune-gem.ingredient{color:#6f6435;background:#eeead8;border-color:#b4aa7b}.operation-tabs{border-bottom:1px solid var(--line);margin:25px 0 15px;display:flex}.operation-tabs button{color:#66736e;cursor:pointer;background:0 0;border:0;padding:10px 15px}.operation-tabs button.active{color:var(--green);border-bottom:2px solid var(--green);font-weight:700}.transfer-note{background:#eeeae0;margin-bottom:14px;padding:13px}.transfer-note p{color:#68736f;margin:8px 0 0;font-size:12px}.rune-list{max-height:540px;margin-top:8px;overflow:auto}.rune-filter-note{color:#69746f;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}.rune-filter-note .toggle-row{flex:none;margin:0}.rune-option{grid-template-columns:38px 1fr 100px}.rune-option.unavailable{opacity:.57}.rune-option>div:nth-child(2){min-width:0}.rune-option strong{color:var(--ink);align-items:center;gap:8px;font-family:Georgia,serif;display:flex}.rune-option strong small{color:#747e7a;border:1px solid #d0d5ce;padding:2px 4px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:9px}.rune-option .rune-classification{color:#7a6657;letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700;display:block}.rune-option p,.reference-row p{color:#6d7873;margin:4px 0;font-size:12px;line-height:1.45}.rune-action{justify-items:end;gap:6px;display:grid}.rune-action span{color:#6e7975;font-size:11px}.rune-action button{border:1px solid var(--green);color:#fff;background:var(--green);cursor:pointer;padding:6px 11px}.rune-action button:disabled{color:#7b8581;cursor:not-allowed;background:#d8dcd6;border-color:#b9bfba}.rules-note{color:#607069;background:#e9eee9;gap:9px;margin-top:18px;padding:14px;font-size:12px;display:flex}.rules-note p{margin:0}.drawer-backdrop{z-index:50;background:#0f201c99;justify-content:flex-end;display:flex;position:fixed;inset:0}.reference-drawer{background:#faf9f4;width:min(520px,94vw);height:100%;padding:30px;animation:.2s ease-out slide-in;overflow:auto;box-shadow:-12px 0 40px #0003}@keyframes slide-in{0%{opacity:0;transform:translate(30px)}}.drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;margin-bottom:18px;padding-bottom:17px;display:flex}.drawer-header h2{margin:0;font-size:27px}.icon-button{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;place-items:center;display:grid}.reference-row{grid-template-columns:38px 1fr;align-items:start}.reference-row small{color:#3d765c;align-items:center;gap:4px;display:flex}.rules-help-button{z-index:30;color:#fff;background:var(--ink);cursor:pointer;border:2px solid #d6ae6c;border-radius:50%;place-items:center;width:52px;height:52px;transition:transform .15s,background .15s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #142b2644}.rules-help-button:hover{background:var(--green-2);transform:translateY(-2px)}.rules-help-button:focus-visible{outline-offset:3px;outline:3px solid #d6ae6c66}.rule-reference-section{border-bottom:1px solid var(--line);padding:20px 0}.rule-reference-section h3{margin-bottom:10px;font-size:21px}.rule-reference-section ul{color:#57655f;margin:0;padding-left:21px;font-size:13px;line-height:1.6}.rule-reference-section li+li{margin-top:8px}.rules-source{color:#356a5e;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;font-size:12px;font-weight:700;text-decoration:none;display:flex}.mobile-only{display:none}@media (width<=1100px){.topbar{grid-template-columns:220px 1fr}.quick-actions{display:none}.workspace{grid-template-columns:235px minmax(0,1fr)}.content-grid{grid-template-columns:1fr}.catalog-card{position:static}.item-list{max-height:390px}}@media (width<=760px){.mobile-only{display:grid}.topbar{grid-template-columns:42px 1fr;height:auto;min-height:64px;padding:0 14px}.brand{justify-self:center;font-size:17px}.brand-mark{width:32px;height:32px}.workflow-tabs{background:#102a25;grid-column:1/-1;width:calc(100% + 28px);height:47px;margin-left:-14px}.workflow-tabs button{flex:1;justify-content:center;padding:0 8px;font-size:12px}.workspace{min-height:calc(100vh - 111px);display:block}.profile-panel{z-index:40;transition:all .25s;position:fixed;inset:0 12% 0 0;overflow:auto;transform:translate(-105%);box-shadow:15px 0 40px #0004}.profile-panel.mobile-open{transform:translate(0)}.main-content{padding:28px 14px 45px}.hero-copy h1{font-size:35px}.category-row{padding-bottom:17px;overflow-x:auto}.category-row button{white-space:nowrap;padding:9px 12px}.content-grid{margin-top:16px}.result-card{padding:20px 16px}.stat-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.ingredient-grid,.savings-grid,.rune-summary{grid-template-columns:1fr}.savings-grid div,.rune-summary div{border-bottom:1px solid #ced8d0;border-right:0}.roll-row{grid-template-columns:1fr auto 1fr}.roll-row>span:nth-of-type(2),.roll-total{display:none}.rune-option{grid-template-columns:36px 1fr}.rune-filter-note{flex-direction:column;align-items:flex-start}.rune-action{grid-column:2;grid-template-columns:1fr auto;place-items:center stretch}.reference-drawer{padding:24px 18px}.rules-help-button{width:48px;height:48px;bottom:16px;right:16px}.catalog-filter-row{grid-template-columns:minmax(0,1fr) 76px}.subtype-filter{grid-column:1/-1}.catalog-filter-row>.level-filter:not(.subtype-filter){grid-column:1}.level-value{grid-column:2}}
