@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600&family=Cormorant+Garamond:wght@600;700&family=DM+Sans:wght@400;500;600;700&family=Marcellus&family=Rajdhani:wght@600;700&family=Sora:wght@600&display=swap');
body #feature-dialog{max-height:calc(100dvh - 24px);overflow:auto}body #feature-dialog .icon-button{min-width:44px;min-height:44px}body #feature-dialog .dialog-actions button{min-height:44px}
@media(max-width:600px){body .feature-detail-actions button,body .feature-notice button,body .feature-save-success button{min-height:44px}body .feature-save-success button{min-width:44px}body .feature-form-grid :is(input,select,textarea){min-height:44px}}
:root{color-scheme:dark;--app-header-height:58px;--app-anchor-offset:calc(var(--app-header-height) + 16px + env(safe-area-inset-top));--bg:#111a2b;--panel:#1a2a3e;--panel2:#23344a;--line:#364b63;--text:#f4efe6;--muted:#aab9ca;--gold:#efbd68;--ice:#89c4dc;--red:#e9958f;--shadow:0 20px 60px #0004;font-family:'DM Sans',sans-serif}
html{scroll-padding-top:var(--app-anchor-offset)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--ice)}.shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{background:#101c2e;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto}.brand{font:700 26px 'Sora',sans-serif;letter-spacing:-1.6px;padding:28px 24px 4px;display:flex;align-items:center;gap:10px}.brand-mark{color:var(--gold);font-size:27px}.brand-accent{color:var(--gold)}.sidebar-caption{color:#91a6bb;font-size:10px;font-weight:700;letter-spacing:2px;padding:0 24px 27px}.nav-group{margin-bottom:18px}.nav-heading{color:#899db5;font-size:10px;letter-spacing:1.8px;font-weight:700;padding:0 24px 8px;text-transform:uppercase}.nav-item{background:none;border:0;color:#c7d2dc;display:flex;gap:12px;align-items:center;width:calc(100% - 20px);margin:2px 10px;padding:10px 14px;text-align:left;border-radius:9px;font-size:13px;font-weight:600}.nav-item:hover{background:#263c56;color:white}.nav-item.active{background:#3b3d53;color:var(--gold)}.nav-icon{width:17px;text-align:center;font-size:15px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:20px 22px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:9px}.pulse-dot{width:8px;height:8px;border-radius:100%;background:#748aa4}.pulse-dot.live{background:var(--ice);outline:4px solid #89c4dc29}.content-wrap{min-width:0}.topbar{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#152237;gap:20px}.breadcrumb{font-size:12px;color:#98acc0;letter-spacing:1px}.breadcrumb strong{color:#eee7dc}.slash{color:#66809b;padding:0 12px}.top-actions{display:flex;align-items:center;gap:18px}.top-status{font-size:12px;color:var(--muted)}.connect-button,.button-primary{border:0;border-radius:8px;padding:9px 16px;font-weight:700;background:var(--gold);color:#2c2831}.connect-button:hover,.button-primary:hover{background:#ffd18b}.button-quiet,.button-outline{background:transparent;border:1px solid var(--line);color:var(--text);padding:9px 14px;border-radius:8px}.button-quiet:hover,.button-outline:hover{border-color:var(--ice)}.icon-button{background:transparent;color:var(--text);border:0;font-size:18px;padding:6px}.mobile-menu{display:none}main{max-width:1500px;margin:auto;padding:34px 38px 80px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;color:var(--ice);letter-spacing:2.2px;text-transform:uppercase}.page-head h1{font:700 clamp(27px,3vw,39px) 'Sora',sans-serif;letter-spacing:-1.4px;margin:7px 0 6px}.page-head p{color:var(--muted);margin:0;font-size:14px}.grid{display:grid;gap:17px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:21px;min-width:0}.card h2,.card h3{font:600 17px 'Sora',sans-serif;margin:0 0 15px}.card-label{color:var(--muted);font-size:12px;font-weight:600}.metric{font:700 28px 'Sora',sans-serif;letter-spacing:-1px;margin:8px 0 3px}.metric-sub{color:var(--muted);font-size:12px}.accent{color:var(--gold)}.teal{color:var(--ice)}.red{color:var(--red)}.hero-card{background:linear-gradient(125deg,#20344e,#29384e 58%,#443e52);border:1px solid #786b68;position:relative;overflow:hidden}.hero-card:after{content:'◈';position:absolute;right:-12px;top:-52px;font-size:230px;color:#efbd6818;pointer-events:none}.hero-card h2{font-size:24px;letter-spacing:-.8px}.hero-card p{color:#d4d9df;max-width:620px;line-height:1.5}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.progress-track{height:8px;background:#354a63;border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--ice),var(--gold));border-radius:20px}.progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:9px}.progress-label strong{color:var(--gold)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.input,.select{background:#132239;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;outline:none;min-height:39px}.input:focus,.select:focus{border-color:var(--ice)}.toolbar .input{min-width:235px;flex:1}.tabs{display:flex;gap:5px;flex-wrap:wrap}.pill{border:1px solid var(--line);background:#1d3048;color:var(--muted);padding:7px 12px;border-radius:100px;font-size:12px;font-weight:700}.pill.active{background:#3d455c;border-color:#9e805b;color:var(--gold)}.section-title{font:600 19px 'Sora',sans-serif;letter-spacing:-.4px;margin:29px 0 15px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;background:var(--panel);font-size:13px}th,td{text-align:left;padding:12px 15px;border-bottom:1px solid #2e4159;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#9bacc0;background:#1b2f47}tr:last-child td{border-bottom:0}tbody tr:hover{background:#263c56}.right{text-align:right}.mono{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.status-chip{font-size:11px;font-weight:700;border-radius:5px;padding:4px 7px;background:#32485f;color:var(--ice)}.status-chip.missing{background:#5c4047;color:#ffd1a0}.item-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.item-card button{flex-shrink:0}.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.catalog-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:16px;text-align:left;color:var(--text);min-height:94px}.catalog-card:hover{border-color:var(--ice);background:#2a4059}.catalog-card strong{display:block;font-size:14px;margin-bottom:8px}.catalog-card span{font-size:11px;color:var(--muted)}.catalog-card.selected{border-color:var(--gold);background:#2d4055}.empty{border:1px dashed #4c627b;border-radius:13px;padding:40px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:7px;font-size:17px}.notice{border:1px solid #657184;background:#273d52;color:#e6e3dd;padding:13px 15px;border-radius:9px;font-size:13px;line-height:1.5}.notice.warn{border-color:#85664d;background:#41343a;color:#f3d9b1}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:17px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:grid;gap:12px}.divider{height:1px;background:var(--line);margin:20px 0}.check-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:0}.check-row input{accent-color:var(--gold);width:17px;height:17px}.check-row label{cursor:pointer}.list-plain{list-style:none;padding:0;margin:0}.list-plain li{padding:10px 0;border-bottom:1px solid var(--line)}.list-plain li:last-child{border-bottom:0}.bar-mini{height:5px;width:100%;background:#30455d;border-radius:10px;margin-top:7px}.bar-mini span{display:block;height:100%;border-radius:10px;background:var(--ice)}dialog{border:1px solid #5b708a;background:#1c2d44;color:var(--text);width:min(430px,calc(100vw - 24px));border-radius:15px;box-shadow:var(--shadow);padding:24px}dialog::backdrop{background:#0a1224bb}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{font:700 24px 'Sora',sans-serif;margin:6px 0 12px}dialog p{color:var(--muted);font-size:13px;line-height:1.5}dialog label{display:block;font-size:12px;font-weight:700;margin:22px 0 8px}dialog input{width:100%;background:#14243a;border:1px solid #607691;border-radius:8px;padding:12px;color:white}dialog input:focus{outline:1px solid var(--gold)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.form-error{min-height:15px;color:var(--red)!important;margin-bottom:0}#toast{position:fixed;bottom:20px;right:20px;background:#364a62;color:#fff1da;border:1px solid #a68b64;border-radius:9px;padding:11px 15px;box-shadow:var(--shadow);display:none;z-index:10;font-size:13px}#toast.show{display:block}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.catalog{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:800px){.shell{display:block}.sidebar{position:fixed;z-index:9;transform:translateX(-100%);transition:transform .2s;width:235px}.sidebar.open{transform:none}.mobile-menu{display:block}.topbar{padding:0 17px}.top-status{display:none}main{padding:24px 17px 70px}.catalog{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid-4,.grid-3,.grid-2,.catalog{grid-template-columns:1fr}.page-head{display:block}.connect-button{padding:8px 10px}.breadcrumb{font-size:10px}}
.catalog-card:disabled{opacity:.55;cursor:not-allowed}.catalog-card:disabled:hover{border-color:var(--line);background:var(--panel)}
main[tabindex="-1"]:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:560px){.top-actions{gap:8px}}
@media(max-width:560px){.topbar{gap:8px}.breadcrumb>span:first-child,.breadcrumb>.slash{display:none}}
#profile-button{white-space:nowrap}
#profile-content .stack{margin-top:18px}
#profile-content .stack button{width:100%}
#profile-content button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:560px){#profile-button{padding:8px 10px}.top-actions{gap:6px}}

/* Expansion themes keep the surface neutral and move identity into type, accents and atmosphere. */
:root{
  --bg:#0c111b;--panel:#151d2a;--panel2:#1e2938;--line:#425069;--text:#f7fbff;--muted:#b8c5d8;
  --gold:#ffd45c;--ice:#55d6ff;--red:#ff708a;--success:#57e0a0;--warning:#ffd45c;
  --side:#0a0f17;--top:#111824;--hover:#243147;--active:#263247;--display:'Sora',sans-serif;
  --hero-a:#233d57;--hero-b:#3e3852;--scene-opacity:.16;
}
html[data-theme="maguuma"]{--gold:#a8f04a;--ice:#ff9b3d;--red:#ff5f68;--success:#a8f04a;--warning:#ffb23d;--display:'Cormorant Garamond',serif;--hero-a:#29472c;--hero-b:#514024;--scene-opacity:.2}
html[data-theme="elona"]{--gold:#ffd15a;--ice:#ff6b8b;--red:#ff6b8b;--success:#69e0ac;--warning:#ffd15a;--display:'Cinzel',serif;--hero-a:#563044;--hero-b:#59452d;--scene-opacity:.18}
html[data-theme="cantha"]{--gold:#43f2bd;--ice:#ffd74f;--red:#ff6c8c;--success:#43f2bd;--warning:#ffd74f;--display:'Rajdhani',sans-serif;--hero-a:#17463d;--hero-b:#4b4a26;--scene-opacity:.18}
html[data-theme="soto"]{--gold:#c8a0ff;--ice:#47e4ff;--red:#ff72c6;--success:#67e8b4;--warning:#f7c85f;--display:'Marcellus',serif;--hero-a:#40346b;--hero-b:#28536b;--scene-opacity:.19}
html[data-theme="janthir"]{--gold:#ffbf3f;--ice:#52e3b3;--red:#ff765e;--success:#52e3b3;--warning:#ffbf3f;--display:'Sora',sans-serif;--hero-a:#554020;--hero-b:#245c50;--scene-opacity:.17}
html[data-theme="visions"]{--gold:#ff82d1;--ice:#3ff4e4;--red:#ff82d1;--success:#3ff4e4;--warning:#ffd15c;--display:'Cormorant Garamond',serif;--hero-a:#4e326f;--hero-b:#1f6266;--scene-opacity:.2}
body{background:var(--bg);transition:color .22s ease}
.shell{position:relative;isolation:isolate;background:radial-gradient(circle at 82% 10%,color-mix(in srgb,var(--ice) 5%,transparent),transparent 34%),var(--bg)}
.sidebar{z-index:2;background:color-mix(in srgb,var(--side) 94%,transparent)}
.content-wrap{position:relative;z-index:1}.topbar{background:color-mix(in srgb,var(--top) 95%,transparent)}
.brand,.page-head h1,.card h2,.card h3,.metric,.section-title,.dialog-head h2{font-family:var(--display)}
.brand-mark,.brand-accent,.breadcrumb strong,.progress-label strong{color:var(--gold)}
.sidebar-caption,.nav-heading,.eyebrow{color:var(--ice)}
.nav-item:hover{background:var(--hover);color:var(--text)}
.nav-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 21%,transparent),color-mix(in srgb,var(--ice) 7%,transparent));box-shadow:inset 3px 0 var(--gold);color:var(--text)}
.pulse-dot.live{background:var(--ice);box-shadow:none;outline:3px solid var(--line);outline-offset:1px}
.connect-button,.button-primary{background:var(--gold);color:#101722}.connect-button:hover,.button-primary:hover{background:color-mix(in srgb,var(--gold) 82%,white)}
.button-quiet:hover,.button-outline:hover{border-color:var(--ice);color:var(--ice)}
#profile-button{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,transparent);color:var(--gold)}
.page-head h1{width:max-content;max-width:100%;color:var(--gold);text-shadow:none}
.card{background:color-mix(in srgb,var(--panel) 96%,transparent);border-color:var(--line)}
.hero-card{background:linear-gradient(125deg,var(--hero-a),color-mix(in srgb,var(--hero-a) 45%,var(--hero-b)) 58%,var(--hero-b));border-color:color-mix(in srgb,var(--gold) 40%,var(--line));box-shadow:0 18px 55px #0005}
.hero-card:after{color:color-mix(in srgb,var(--gold) 13%,transparent)}.hero-card p{color:var(--text);opacity:.82}
.progress-track,.bar-mini{background:var(--panel2)}.progress-fill,.bar-mini span{background:linear-gradient(90deg,var(--ice),var(--gold))}
.input,.select{background:var(--panel2)}.input:focus,.select:focus{border-color:var(--ice);box-shadow:0 0 0 2px color-mix(in srgb,var(--ice) 12%,transparent)}
.pill{background:var(--panel2)}.pill.active{background:color-mix(in srgb,var(--gold) 13%,var(--panel2));border-color:var(--gold);color:var(--gold)}
table{background:var(--panel)}th{background:var(--panel2);color:var(--ice)}th,td{border-bottom-color:var(--line)}tbody tr:hover{background:var(--hover)}
.status-chip{background:color-mix(in srgb,var(--success) 15%,var(--panel2));color:var(--success)}.status-chip.missing{background:color-mix(in srgb,var(--red) 16%,var(--panel2));color:color-mix(in srgb,var(--red) 76%,white)}
.catalog-card{background:var(--panel)}.catalog-card:hover{border-color:var(--ice);background:var(--hover)}.catalog-card.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel))}
.notice{border-color:color-mix(in srgb,var(--ice) 38%,var(--line));background:color-mix(in srgb,var(--ice) 8%,var(--panel));color:var(--text)}.notice.warn{border-color:color-mix(in srgb,var(--warning) 45%,var(--line));background:color-mix(in srgb,var(--warning) 10%,var(--panel));color:var(--text)}
.check-row input{accent-color:var(--gold)}
dialog{background:color-mix(in srgb,var(--panel) 97%,transparent);border-color:color-mix(in srgb,var(--gold) 26%,var(--line));backdrop-filter:blur(10px)}dialog::backdrop{background:#070b12c7}.dialog-head h2{color:var(--gold)}dialog input{background:var(--panel2);border-color:var(--line)}
#toast{background:var(--panel2);color:var(--text);border-color:var(--gold)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ice);outline-offset:2px}

/* Keep the API form opaque: backdrop filters can expand a native dialog's scroll area. */
#key-dialog{background:var(--panel);backdrop-filter:none;max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere}
#key-dialog .dialog-head{gap:12px}
#key-dialog .dialog-head>div{min-width:0}
#key-dialog .icon-button{flex-shrink:0;min-width:44px;min-height:44px}
#key-dialog .dialog-actions{flex-wrap:wrap}
#key-dialog .dialog-actions button{min-height:44px}
#key-consent-dialog{width:min(560px,calc(100vw - 24px));background:var(--panel);backdrop-filter:none;max-height:calc(100dvh - 24px);overflow-y:auto;overflow-wrap:anywhere}
#key-consent-dialog .dialog-head{gap:12px}
#key-consent-dialog .dialog-head>div{min-width:0}
#key-consent-dialog .dialog-head h2{margin-top:0}
#key-consent-dialog .icon-button{flex-shrink:0;min-width:44px;min-height:44px}
.key-consent-list{display:grid;gap:14px;list-style:none;margin:20px 0;padding:0}
.key-consent-list li{display:grid;gap:4px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.key-consent-list strong{font-size:var(--type-body);color:var(--text)}
.key-consent-list span{font-size:var(--type-supporting);line-height:1.55;color:var(--muted)}
#key-consent-dialog .key-consent-check{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:11px;margin:18px 0 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:var(--type-body);line-height:1.5;cursor:pointer}
#key-consent-dialog .key-consent-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold)}
#key-consent-dialog .dialog-actions{flex-wrap:wrap}
#key-consent-dialog .dialog-actions button{min-height:44px}
.profile-account-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.profile-account-copy{min-width:0}.profile-account-copy h2{margin:0 0 7px;font:600 15px var(--display);color:var(--ice)}.profile-account-name,.profile-account-email{display:block;overflow-wrap:anywhere}.profile-account-name{font-size:14px;line-height:1.45}.profile-account-email{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.45}.profile-sign-out{min-height:44px;border-color:color-mix(in srgb,var(--red) 55%,var(--line));color:var(--red);white-space:nowrap}.profile-sign-out:hover:not(:disabled){border-color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--red)}.profile-sync-note{margin:13px 0 0}.profile-sign-out.is-loading:before{width:12px;height:12px}
.profile-api-cache{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.profile-api-cache .button-outline{width:100%;min-height:44px}
.profile-theme{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.profile-section-head h3{font:600 17px var(--display);color:var(--ice);margin:0 0 4px}.profile-section-head p{margin:0 0 14px}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-choice{min-height:74px;text-align:left;display:grid;grid-template-columns:52px 1fr 18px;gap:11px;align-items:center;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:12px}.theme-choice:first-child{grid-column:1/-1}.theme-choice:hover{border-color:var(--ice);transform:translateY(-1px)}.theme-choice[aria-checked="true"]{border-color:var(--gold);background:linear-gradient(115deg,color-mix(in srgb,var(--gold) 18%,var(--panel2)),color-mix(in srgb,var(--ice) 10%,var(--panel2)));box-shadow:none}
.theme-swatches{display:flex;width:48px;height:34px;border-radius:8px;overflow:hidden}.theme-swatches i{flex:1;background:var(--swatch)}.theme-choice strong,.theme-choice small{display:block}.theme-choice small{color:var(--muted);margin-top:3px;font-size:11px}.theme-choice b{color:var(--gold);opacity:0}.theme-choice[aria-checked="true"] b{opacity:1}

.theme-atmosphere{position:fixed;left:232px;right:0;bottom:0;height:315px;z-index:0;pointer-events:none;color:var(--gold);opacity:var(--scene-opacity);filter:drop-shadow(0 12px 22px #0005);overflow:hidden}.theme-atmosphere svg{display:none;width:100%;height:100%}html[data-theme="tyria"] [data-theme-scene="tyria"],html[data-theme="maguuma"] [data-theme-scene="maguuma"],html[data-theme="elona"] [data-theme-scene="elona"],html[data-theme="cantha"] [data-theme-scene="cantha"],html[data-theme="soto"] [data-theme-scene="soto"],html[data-theme="janthir"] [data-theme-scene="janthir"],html[data-theme="visions"] [data-theme-scene="visions"]{display:block}
.auth-locked .theme-atmosphere{display:none}
@media(max-width:800px){.theme-atmosphere{left:0}.theme-grid{grid-template-columns:1fr}.theme-choice:first-child{grid-column:auto}}
@media(max-width:560px){.profile-account-panel{grid-template-columns:1fr;gap:14px}.profile-sign-out{width:100%}}
@media(prefers-reduced-motion:reduce){body,.theme-choice{transition:none}}

/* Authenticated feature laboratory */
.lab-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.feature-create{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-weight:700}.feature-create svg{width:18px;height:18px}.feature-create.idea{border-color:color-mix(in srgb,var(--gold) 48%,var(--line));color:var(--gold)}.feature-create.bug{border-color:color-mix(in srgb,var(--red) 48%,var(--line));color:color-mix(in srgb,var(--red) 82%,white)}.feature-create:hover{background:var(--hover)}.lab-intro{max-width:68ch;margin:-16px 0 24px;color:var(--muted);font-size:var(--type-body);line-height:1.6}.lab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-block:1px solid var(--line)}.feature-tabs{display:flex;gap:4px}.feature-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:7px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700}.feature-tabs button svg{width:18px;height:18px}.feature-tabs button[data-feature-kind=idea] svg{color:var(--gold)}.feature-tabs button[data-feature-kind=bug] svg{color:var(--red)}.feature-tabs button[aria-selected=true]{background:var(--panel);color:var(--text)}.feature-tabs b{min-width:20px;color:var(--muted);font-size:var(--type-metadata);font-variant-numeric:tabular-nums;text-align:center}.feature-search{display:flex;align-items:center;gap:7px;min-width:min(340px,100%)}.feature-search>svg{width:17px;height:17px;color:var(--muted)}.feature-search .input{width:100%;min-width:0}.feature-workspace{display:grid;grid-template-columns:minmax(360px,1.08fr) minmax(300px,.92fr);gap:28px;padding-top:20px}.feature-list-panel{min-width:0}.feature-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:9px;color:var(--muted);font-size:var(--type-metadata)}.feature-list-head strong{color:var(--text);font-size:var(--type-supporting)}.feature-list{display:grid;border-top:1px solid var(--line)}.feature-list-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:68px;padding:10px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.feature-list-item:hover{background:var(--hover)}.feature-list-item[aria-pressed=true]{background:var(--panel)}.feature-type-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px}.feature-type-icon svg{width:18px;height:18px}.feature-type-icon.idea{background:color-mix(in srgb,var(--gold) 13%,var(--panel));color:var(--gold)}.feature-type-icon.bug{background:color-mix(in srgb,var(--red) 13%,var(--panel));color:var(--red)}.feature-list-copy{min-width:0}.feature-list-copy strong,.feature-list-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-list-copy strong{font-size:var(--type-supporting);line-height:1.4}.feature-list-copy small{margin-top:4px;color:var(--muted);font-size:var(--type-metadata)}.feature-list-meta{display:grid;justify-items:end;gap:5px}.feature-stage{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;font-size:var(--type-metadata);font-weight:700}.feature-stage.idea{background:color-mix(in srgb,var(--ice) 12%,transparent);color:var(--ice)}.feature-stage.planned{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.feature-stage.building{background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold)}.feature-stage.testing{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.feature-stage.released{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.feature-signal{color:var(--muted);font-size:var(--type-metadata);font-weight:600;white-space:nowrap}.feature-signal b{color:var(--text);font-variant-numeric:tabular-nums}.feature-detail{align-self:start;min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.feature-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-kind{display:flex;align-items:center;gap:8px;font-weight:700}.feature-kind svg{width:19px;height:19px}.feature-kind.idea{color:var(--gold)}.feature-kind.bug{color:var(--red)}.feature-detail time{color:var(--muted);font-size:var(--type-metadata)}.feature-detail h2{margin:18px 0 10px;font:650 22px/1.3 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}.feature-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:var(--type-metadata)}.feature-detail-meta>span:not(.feature-stage):not(:last-child):after{content:'·';margin-left:8px}.feature-detail-fields{display:grid;gap:15px;margin:20px 0;padding-block:17px;border-block:1px solid var(--line)}.feature-detail-fields div{min-width:0}.feature-detail-fields dt{margin-bottom:4px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.feature-detail-fields dd{margin:0;font-size:var(--type-supporting);line-height:1.55;overflow-wrap:anywhere}.feature-response{padding:13px;border-radius:10px;background:var(--panel2)}.feature-response strong{font-size:var(--type-metadata);color:var(--muted)}.feature-response p{margin:5px 0 0;color:var(--text);font-size:var(--type-supporting)}.feature-detail-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:17px}.feature-vote{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:9px;padding:8px 11px;font-weight:700}.feature-vote:hover{border-color:var(--gold);color:var(--gold)}.feature-vote.voted{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,var(--panel2));color:var(--gold)}.feature-vote:disabled{opacity:.55;cursor:wait}.feature-route-link{margin-left:auto;border:0;background:transparent;color:var(--ice);text-decoration:underline;text-underline-offset:4px}.feature-detail-empty{display:grid;align-content:center;min-height:220px;color:var(--muted);text-align:center}.feature-detail-empty strong{color:var(--text)}.feature-detail-empty p{margin:6px 0 0}.feature-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.feature-save-success{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--success) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--success) 9%,var(--panel));color:var(--text)}.feature-save-success strong,.feature-save-success span{display:block}.feature-save-success span{margin-top:3px;color:var(--muted);font-size:var(--type-supporting)}.feature-save-success button{border:0;background:transparent;color:var(--muted);font-size:18px}.feature-loading,.feature-load-error{display:grid;justify-items:center;gap:14px;padding:44px 16px;border-bottom:1px solid var(--line);color:var(--muted);text-align:center}.feature-load-error strong{color:var(--text)}#feature-dialog{width:min(640px,calc(100vw - 24px))}.feature-dialog-head{gap:18px}.feature-dialog-heading{display:flex;align-items:flex-start;gap:11px}.feature-dialog-heading h2{margin:0}.feature-dialog-heading p{margin:5px 0 0}.feature-dialog-kind{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:9px}.feature-dialog-kind svg{width:20px;height:20px}.feature-dialog-kind.idea{background:color-mix(in srgb,var(--gold) 13%,var(--panel2));color:var(--gold)}.feature-dialog-kind.bug{background:color-mix(in srgb,var(--red) 13%,var(--panel2));color:var(--red)}.feature-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.feature-form-grid label{display:grid;gap:7px;margin:0;color:var(--text)}.feature-field-full{grid-column:1/-1}.feature-form-grid input,.feature-form-grid select,.feature-form-grid textarea{width:100%;min-width:0;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:var(--text);line-height:1.5}.feature-form-grid input,.feature-form-grid select{min-height:43px}.feature-form-grid textarea{min-height:86px;resize:vertical}.feature-form-grid :is(input,select,textarea):focus{outline:2px solid var(--ice);outline-offset:2px;border-color:transparent}.feature-privacy{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--type-metadata)}
@media(max-width:900px){.feature-workspace{grid-template-columns:minmax(0,1fr)}.feature-detail{order:2}}
@media(max-width:600px){.lab-head-actions{display:grid;grid-template-columns:1fr 1fr}.feature-create{min-height:44px;padding-inline:8px}.lab-intro{margin-top:-12px}.lab-toolbar{align-items:stretch;flex-direction:column}.feature-tabs{display:grid;grid-template-columns:1fr 1fr}.feature-tabs button{justify-content:center;min-height:44px}.feature-search{width:100%}.feature-search .input{font-size:16px;min-height:44px}.feature-list-item{grid-template-columns:34px minmax(0,1fr) minmax(80px,auto);min-height:72px;padding-inline:3px}.feature-list-meta .feature-stage{white-space:normal;text-align:center}.feature-detail{padding:17px}.feature-route-link{width:100%;margin-left:0;padding:10px 0;text-align:left}.feature-form-grid{grid-template-columns:minmax(0,1fr)}.feature-field-full{grid-column:auto}.feature-form-grid :is(input,select,textarea){font-size:16px}#feature-dialog{padding:18px}.feature-dialog-kind{width:32px;height:32px;flex-basis:32px}.feature-dialog-heading h2{font-size:20px}}
.sidebar-foot{padding-block:16px;align-items:flex-start}.sidebar-status{display:grid;gap:4px;min-width:0}.sidebar-status small{color:#71869d;font:600 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em;overflow-wrap:anywhere}.sidebar-foot .pulse-dot{margin-top:3px;flex:0 0 auto}

/* User dock */
.sidebar{overflow:hidden}.sidebar #nav{min-height:0;overflow-y:auto}.sidebar-account{position:relative;margin-top:auto;flex:0 0 auto;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 88%,#08111d)}.sidebar-user{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:13px 16px;border:0;background:transparent;color:var(--text);text-align:left}.sidebar-user:hover,.sidebar-user[aria-expanded="true"]{background:color-mix(in srgb,var(--gold) 8%,var(--panel2))}.sidebar-avatar{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 22%,var(--panel2)),color-mix(in srgb,var(--ice) 14%,var(--panel2)));color:var(--gold);font:700 13px var(--display)}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong,.sidebar-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy strong{font-size:12px}.sidebar-user-copy small{margin-top:3px;color:var(--muted);font-size:10px}.sidebar-user-chevron{color:var(--gold);font-size:14px;text-align:center}.sidebar-account-menu{max-height:min(58vh,520px);overflow-y:auto;padding:13px;background:color-mix(in srgb,var(--panel) 98%,#08111d);border-bottom:1px solid var(--line);box-shadow:0 -18px 45px #02060d66}.sidebar-account-menu[hidden]{display:none}.sidebar-account .sidebar-foot{margin-top:0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);padding:9px 16px 12px}.sidebar-account .sidebar-status{gap:2px}.sidebar-account #sync-label{font-size:10px}.sidebar-account #build-version{font-size:8px}
.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait!important}.is-loading:before{content:'';width:13px;height:13px;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:account-spin .7s linear infinite}.is-loading:disabled{opacity:.72}@keyframes account-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.is-loading:before{animation-duration:1.4s}}

/* Shared data-loading language: preserve the destination's geometry while the API resolves. */
.loading-state{display:grid;gap:18px;max-width:1480px;margin-inline:auto}.loading-status{display:flex;align-items:flex-start;gap:12px;color:var(--muted)}.loading-status strong{display:block;color:var(--text);font:600 16px/1.4 var(--display)}.loading-status p{max-width:70ch;margin:3px 0 0;font-size:var(--type-supporting);line-height:1.5}.loading-spinner{width:18px;height:18px;flex:0 0 18px;margin-top:2px;border:2px solid var(--line);border-top-color:var(--ice);border-radius:50%;animation:loading-spin .85s linear infinite}.loading-layout{display:grid;gap:16px}.loading-line,.loading-avatar,.loading-index,.loading-list-mark,.loading-control,.loading-fields>span{position:relative;display:block;overflow:hidden;background:color-mix(in srgb,var(--text) 8%,var(--panel2))}.loading-line{width:min(var(--loading-width,100%),100%);height:12px;border-radius:5px}.loading-line-secondary{height:9px;margin-top:8px}.loading-line:after,.loading-avatar:after,.loading-index:after,.loading-list-mark:after,.loading-control:after,.loading-fields>span:after{content:'';position:absolute;inset:0;width:42%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 12%,transparent),transparent);transform:translateX(-130%);animation:loading-shimmer 1.55s ease-in-out infinite}.loading-controls{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(130px,1fr));gap:10px}.loading-control{height:52px;border-radius:8px}.loading-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.loading-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.loading-card-head{display:grid;grid-template-columns:54px minmax(0,1fr) 52px;align-items:center;gap:14px;padding:17px;background:var(--panel2)}.loading-avatar{width:54px;height:54px;border-radius:12px}.loading-card-count{justify-self:end}.loading-card-rows{padding:4px 17px}.loading-row,.loading-list-row{display:grid;grid-template-columns:28px minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:64px;border-bottom:1px solid var(--line)}.loading-row:last-child,.loading-list-row:last-child{border-bottom:0}.loading-index{width:18px;height:10px;border-radius:4px}.loading-table{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.loading-table-head,.loading-table-row{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(120px,.75fr));align-items:center;gap:18px;padding-inline:16px}.loading-table-head{min-height:42px;background:var(--panel2)}.loading-table-row{min-height:66px;border-top:1px solid var(--line)}.loading-list{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.loading-list-row{padding-inline:15px}.loading-list-mark{width:28px;height:28px;border-radius:8px}.loading-guided,.loading-catalog,.loading-detail{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.loading-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.loading-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.loading-fields>span{height:66px;border-radius:9px}.loading-catalog{display:grid;gap:16px}.loading-detail{display:grid;gap:22px}.loading-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-block:18px;border-block:1px solid var(--line)}.loading-state-compact{gap:12px;padding:18px 14px}.loading-state-compact .loading-status p{font-size:var(--type-metadata)}.loading-state-compact .loading-list{border-inline:0;border-radius:0}.loading-state-compact .loading-list-row{min-height:58px;padding-inline:0}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-shimmer{to{transform:translateX(340%)}}@media(prefers-reduced-motion:reduce){.loading-spinner,.loading-line:after,.loading-avatar:after,.loading-index:after,.loading-list-mark:after,.loading-control:after,.loading-fields>span:after{animation:none}}
@media(max-width:900px){.loading-card-grid{grid-template-columns:1fr}.loading-card:nth-child(n+3){display:none}.loading-table-head,.loading-table-row{grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(100px,.7fr))}.loading-table-head>*:nth-child(4),.loading-table-row>*:nth-child(4){display:none}.loading-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.loading-status{align-items:flex-start}.loading-controls{grid-template-columns:1fr 1fr}.loading-control-wide{grid-column:1/-1}.loading-fields{grid-template-columns:1fr}.loading-guided,.loading-catalog,.loading-detail{padding:16px}.loading-section-heading{align-items:flex-start}.loading-section-heading>div{min-width:0}.loading-section-heading>.loading-line{width:64px!important}.loading-card-head{grid-template-columns:48px minmax(0,1fr)}.loading-avatar{width:48px;height:48px}.loading-card-count{display:none}.loading-row{grid-template-columns:24px minmax(0,1fr)}.loading-row>.loading-line:last-child{grid-column:2}.loading-table-head{display:none}.loading-table{display:grid;gap:12px;border:0;background:transparent;overflow:visible}.loading-table-row{grid-template-columns:1fr 1fr;gap:16px 10px;min-height:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.loading-table-row>div:first-child{grid-column:1/-1}.loading-table-row>*:nth-child(4){display:block}.loading-list-row{grid-template-columns:28px minmax(0,1fr)}.loading-list-row>.loading-line:last-child{grid-column:2}.loading-detail-grid{grid-template-columns:1fr 1fr}}

/* Legible sidebar type scale */
.shell{grid-template-columns:252px minmax(0,1fr)}.theme-atmosphere{left:252px}.sidebar-user{grid-template-columns:42px minmax(0,1fr) 18px;gap:11px;padding:15px 17px}.sidebar-avatar{width:42px;height:42px;font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700}.sidebar-user-copy strong{font-size:.875rem;line-height:1.25}.sidebar-user-copy small{margin-top:4px;font-size:.75rem;font-weight:500;line-height:1.35}.sidebar-account-menu{padding:16px}.sidebar-account .sidebar-foot{padding:11px 17px 14px;gap:10px}.sidebar-account .sidebar-status{gap:4px}.sidebar-account #sync-label{font-size:.75rem;font-weight:600;line-height:1.35}.sidebar-account #build-version{color:color-mix(in srgb,var(--muted) 88%,white);font-size:.6875rem;line-height:1.4;letter-spacing:.01em}.sidebar-account .pulse-dot{margin-top:5px}@media(max-width:800px){.sidebar{width:252px}.theme-atmosphere{left:0}}

/* Keep the technical status readable without growing the sidebar footer. */
.sidebar-account .sidebar-foot{align-items:center}
.sidebar-account .sidebar-status{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap}
.sidebar-account #sync-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-account #build-version{flex:0 0 auto;overflow-wrap:normal;white-space:nowrap}
.sidebar-account .pulse-dot{margin-top:0}

/* Purchase sheet actions remain comfortably tappable on every viewport. */
.shopping-dialog-actions button,.shopping-list-dialog .material-copy-name{min-height:44px}

/* Legendary planning: collection, inventory and purchase decisions. */
.planning-head h1{letter-spacing:-.03em;text-shadow:none}.planning-head p{max-width:65ch;line-height:1.6}
.page-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.planner-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.planner-notice button{flex-shrink:0}
.project-overview{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.project-overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.project-overview h2{font:600 clamp(20px,2vw,28px) var(--display);margin:0;letter-spacing:-.02em}.project-overview h2 a{color:var(--text)}.project-overview p{color:var(--muted);font-size:13px;margin:9px 0 0;line-height:1.5}
.material-link{display:inline-flex;align-items:baseline;gap:7px;color:var(--text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ice) 35%,transparent);text-underline-offset:4px;line-height:1.5}.material-link:hover{color:var(--ice);text-decoration-color:currentColor}.external-icon{width:12px;height:12px;flex:none;color:var(--muted)}
.legendary-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 12px}.legendary-counts dt{font-size:12px;color:var(--muted);line-height:1.4}.legendary-counts dd{margin:7px 0 0;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums}.project-counts{max-width:660px;margin:25px 0}.project-counts dd{color:var(--gold)}
.recipe-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:20px}.recipe-components>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.recipe-components>div>span{white-space:nowrap;font-variant-numeric:tabular-nums}.stock-covered{color:var(--success)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 16px}.section-heading h2{font:600 19px var(--display);margin:0;letter-spacing:-.02em}.section-heading h2>span{margin-left:8px}.section-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}.section-heading .tabs span{margin-left:5px;font-variant-numeric:tabular-nums}
.cost-comparison{display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border-block:1px solid var(--line);padding:22px 0;gap:16px 32px}.cost-comparison>div{display:grid;gap:8px;padding-inline:24px}.cost-comparison>div+div{border-left:1px solid var(--line)}.cost-comparison>div>span{font-size:13px;color:var(--muted)}.cost-comparison strong{font-size:clamp(18px,2vw,25px);font-weight:600;font-variant-numeric:tabular-nums;color:var(--gold)}.cost-comparison small{font-size:12px;color:var(--muted)}.cost-comparison>p{grid-column:1/-1;margin:0;padding:0 24px;font-size:12px;line-height:1.6;color:var(--muted);max-width:75ch}
.price-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.price-controls p{line-height:1.5}.price-controls button{flex-shrink:0}.price-controls button:disabled{opacity:.6;cursor:wait}
.materials-table th{font-size:11px;text-transform:none;letter-spacing:0;color:var(--muted);padding:14px 12px}.materials-table th small{display:block;font-size:10px;font-weight:400;margin-top:5px}.materials-table td{padding:15px 12px}.materials-table .material-name{white-space:normal;min-width:170px;max-width:280px}.material-name>small{display:block;margin-top:4px;font-size:11px}.price-cell strong{display:block;font-weight:600;font-variant-numeric:tabular-nums}.price-cell small{display:block;margin-top:5px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.materials-table .is-covered .material-name .material-link{color:var(--muted)}
.shopping-materials-table{table-layout:fixed;font-size:var(--type-supporting)}.shopping-materials-table col.material-col{width:30%}.shopping-materials-table col.quantity-col{width:10%}.shopping-materials-table col.cost-col{width:15%}.shopping-materials-table th{padding:10px 12px;line-height:1.35}.shopping-materials-table th small{margin-top:3px;font-size:var(--type-metadata)}.shopping-materials-table td{height:54px;padding:8px 12px;line-height:1.4;vertical-align:middle}.shopping-materials-table .material-name{min-width:0;max-width:none}.shopping-materials-table .price-cell{padding-inline:10px}.shopping-materials-table .price-line{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:0;white-space:nowrap}.shopping-materials-table .price-line+.price-line{margin-top:2px}.shopping-materials-table .price-line-label{color:var(--muted);font-weight:500}.shopping-materials-table .material-row-coin :is(td:nth-child(2),td:nth-child(3),td:nth-child(4),td:nth-child(5)) .coin-value{justify-content:flex-end;gap:5px;font-size:var(--type-supporting)}
.shopping-list-dialog{width:min(620px,calc(100vw - 24px));height:min(700px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden}.shopping-list-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.shopping-list-dialog .dialog-head{align-items:center;gap:16px;padding:16px 18px 10px}.shopping-list-dialog .dialog-head h2{margin:0 0 3px;font-size:21px}.shopping-list-dialog .dialog-head p{margin:0;font-size:var(--type-metadata)}.shopping-dialog-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px}.shopping-dialog-close svg{width:20px;height:20px}.shopping-dialog-actions{padding:0 18px 12px}.shopping-dialog-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px}.shopping-dialog-actions svg,.material-copy-name svg{width:16px;height:16px;flex:0 0 16px}.shopping-dialog-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line) transparent;scrollbar-width:thin;list-style:none;margin:0;padding:0 18px 8px;border-top:1px solid var(--line)}.shopping-dialog-list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto 44px;align-items:center;gap:8px;min-height:52px;border-bottom:1px solid var(--line)}.shopping-dialog-list .material-item-icon{width:28px;height:28px;flex-basis:28px;border-radius:5px}.shopping-dialog-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-supporting)}.shopping-item-quantity{min-width:34px;color:var(--gold);font-size:var(--type-supporting);font-variant-numeric:tabular-nums;text-align:right}.material-copy-name{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted)}.material-copy-name:hover{background:var(--hover);color:var(--ice)}.material-copy-name:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.planning-notes{margin-top:22px;max-width:75ch}.planning-notes p{font-size:12px;color:var(--muted);line-height:1.7;margin:9px 0}
.collection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;padding:18px 0;margin-bottom:24px;border-block:1px solid var(--line);font-size:13px}.collection-summary strong{font-size:20px;font-variant-numeric:tabular-nums;margin-right:5px;color:var(--gold)}.collection-summary>span:last-child{margin-left:auto}.ownership-filter{margin-bottom:8px}.catalog-toolbar .input{min-width:180px}
.legendary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.legendary-entry{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}.legendary-entry.selected{border-color:var(--gold)}.legendary-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.legendary-entry h3{font-size:15px;font-weight:600;margin:0;min-width:0}.legendary-entry .status-chip{flex-shrink:0;font-size:10px}.legendary-entry .legendary-counts{gap:8px;margin-top:auto;padding-top:24px}.legendary-entry .legendary-counts dt{font-size:11px}.legendary-entry .legendary-counts dd{font-size:21px}.legendary-detail{font-size:11px;color:var(--muted);margin:2px 0 18px;line-height:1.5}.legendary-entry>button{width:100%;min-height:40px;font-size:12px}.legendary-entry>button:disabled{opacity:.55;cursor:not-allowed}.legendary-entry>button:disabled:hover{color:var(--muted);border-color:var(--line)}
.materials-table-wrap{scrollbar-color:var(--line) var(--panel);scrollbar-width:thin}.planning-head~* ::selection{background:var(--gold);color:var(--bg)}.catalog-toolbar input{caret-color:var(--gold)}
@media(max-width:1250px){.legendary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.shell{grid-template-columns:minmax(0,1fr)}.planner-notice{align-items:flex-start;flex-direction:column}.project-overview-head{flex-wrap:wrap}.project-overview{padding:20px}.section-heading{align-items:flex-start;flex-wrap:wrap}.recipe-components{grid-template-columns:1fr}.cost-comparison{gap:16px 0}.cost-comparison>div{padding-inline:16px}.cost-comparison>p{padding-inline:16px}.collection-summary>span:last-child{margin-left:0}}
@media(max-width:600px){.legendary-grid{grid-template-columns:1fr}.planning-head{align-items:flex-start;flex-direction:column}.cost-comparison strong{font-size:16px}.cost-comparison small{font-size:11px}.price-controls{align-items:flex-start}.price-controls button{font-size:12px}.legendary-counts dt{font-size:11px}.materials-table-wrap{border:0;border-radius:0;overflow:visible}.materials-table{display:block;background:transparent}.materials-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.materials-table tbody{display:grid;gap:12px}.materials-table tr{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:16px;gap:16px 12px}.materials-table td{display:block;grid-column:span 2;padding:0;border:0;white-space:normal;text-align:left}.materials-table td:before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.materials-table .material-name{grid-column:1/-1;max-width:none;min-width:0;font-weight:600}.materials-table .material-name:before{display:none}.materials-table .price-cell{grid-column:span 3;border-top:1px solid var(--line);padding-top:12px}.materials-table .price-cell strong{font-size:13px}.materials-table .price-cell small{font-size:11px}.ownership-filter .pill{min-height:40px}}
@media(max-width:600px){.shopping-list-dialog{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}.shopping-list-dialog .dialog-head{padding:13px 14px 8px}.shopping-list-dialog .dialog-head h2{font-size:19px}.shopping-dialog-actions{padding:0 14px 10px}.shopping-dialog-list{padding-inline:14px}.shopping-dialog-list li{min-height:50px;gap:7px}.shopping-dialog-list strong{font-size:13px}.shopping-item-quantity{min-width:28px;font-size:12px}}

/* Inventory locations and character selection share the planning table. */
.inventory-locations{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:26px}.inventory-location{display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:16px;text-align:left;min-width:0}.inventory-location>span{font-size:12px;line-height:1.4;min-height:34px}.inventory-location strong{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}.inventory-location small{font-size:11px;color:var(--muted)}.inventory-location:hover{background:var(--hover);border-color:var(--ice)}.inventory-location.active{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.inventory-location.active strong{color:var(--gold)}
.inventory-toolbar{align-items:flex-end;gap:16px}.inventory-search{flex:1;min-width:180px}.inventory-character{flex:0 1 290px;min-width:200px}.inventory-toolbar label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:var(--muted)}.inventory-toolbar input,.inventory-toolbar select{width:100%;min-width:0}.inventory-heading{margin-bottom:10px}.inventory-hint{max-width:75ch;line-height:1.6;margin:0 0 20px}.inventory-item-link{align-items:center;gap:10px;overflow-wrap:anywhere}.inventory-item-link img{border-radius:5px;flex:none;object-fit:contain;background:var(--panel2)}.inventory-table{table-layout:fixed;font-size:var(--type-supporting)}.inventory-table col.item-col{width:35%}.inventory-table col.location-col{width:9%}.inventory-table col.total-col{width:20%}.inventory-table.inventory-compact col.item-col{width:72%}.inventory-table.inventory-compact col.total-col{width:28%}.inventory-table th{padding:10px 12px;line-height:1.35}.inventory-table td{height:52px;padding:8px 12px;line-height:1.4;vertical-align:middle}.inventory-table .material-name{min-width:0;max-width:none}.inventory-table .inventory-item-link{display:flex;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap}.inventory-table .inventory-item-link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-table td:not(.material-name){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-locations{color:var(--muted);line-height:1.6;font-weight:400}.item-locations b{font-weight:600;font-variant-numeric:tabular-nums}.inventory-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.inventory-pagination>div{display:flex;gap:8px}.inventory-pagination button:disabled{opacity:.45;cursor:not-allowed}
.inventory-heading{align-items:center}.inventory-heading>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.inventory-view-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.inventory-view-switch button{min-height:36px;padding:7px 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}.inventory-view-switch button:hover{color:var(--text)}.inventory-view-switch button.active{background:var(--panel2);color:var(--gold)}.inventory-view-switch button:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.inventory-compact-groups{display:grid;gap:14px}.inventory-compact-group{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.inventory-compact-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.inventory-compact-head h3{margin:0;font:600 15px var(--display)}.inventory-compact-head>span{color:var(--muted);font-size:12px}.inventory-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:7px}.inventory-icon-item{display:grid;justify-items:center;min-width:0;color:var(--text);text-decoration:none}.inventory-icon-visual{position:relative;display:grid;width:48px;height:48px;place-items:center;overflow:visible;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.inventory-icon-visual img{width:100%;height:100%;border-radius:8px;object-fit:cover}.inventory-icon-visual strong{position:absolute;top:-5px;right:-5px;max-width:46px;padding:1px 4px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text);font-size:10px;font-variant-numeric:tabular-nums;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.inventory-icon-placeholder{color:var(--muted);font-size:21px}.inventory-icon-item>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.inventory-icon-item:hover .inventory-icon-visual{border-color:var(--ice);background:var(--hover)}.inventory-icon-item:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:8px}
.inventory-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px}.inventory-main{min-width:0}.inventory-side-menu{position:sticky;top:var(--app-anchor-offset);padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.inventory-side-menu nav{display:grid;gap:3px}.inventory-side-link,.inventory-character-link{display:grid;width:100%;min-width:0;min-height:44px;align-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);text-align:left}.inventory-side-link{grid-template-columns:20px minmax(0,1fr) auto;gap:9px;padding:9px 10px;font-size:13px;font-weight:650}.inventory-side-link svg{width:18px;height:18px}.inventory-side-link small,.inventory-character-link small{color:inherit;font-size:12px;font-variant-numeric:tabular-nums}.inventory-side-link:hover,.inventory-character-link:hover{background:var(--hover);color:var(--text)}.inventory-side-link.active,.inventory-character-link.active{background:color-mix(in srgb,var(--gold) 15%,var(--panel2));color:var(--gold)}.inventory-character-links{display:grid;gap:2px;padding:2px 0 5px 28px}.inventory-character-link{grid-template-columns:12px minmax(0,1fr) auto;gap:7px;padding:7px 9px;font-size:12px;font-weight:600}.inventory-character-link>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-character-mark{color:var(--ice);font-size:8px}.inventory-character-link:nth-child(3n+2) .inventory-character-mark{color:var(--success)}.inventory-character-link:nth-child(3n) .inventory-character-mark{color:var(--red)}.inventory-toolbar{margin-bottom:24px}.inventory-toolbar .inventory-search{width:100%}
.inventory-character-link{grid-template-columns:20px minmax(0,1fr) auto}.inventory-character-profession{display:grid;width:20px;height:20px;place-items:center;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--ice) 12%,transparent);color:var(--ice);font-size:11px;font-weight:700}.inventory-character-profession img{width:20px;height:20px;object-fit:contain}.inventory-character-link.profession-warrior .inventory-character-profession,.inventory-character-link.profession-engineer .inventory-character-profession{color:var(--gold)}.inventory-character-link.profession-ranger .inventory-character-profession,.inventory-character-link.profession-necromancer .inventory-character-profession{color:var(--success)}.inventory-character-link.profession-mesmer .inventory-character-profession,.inventory-character-link.profession-revenant .inventory-character-profession{color:var(--red)}
.inventory-side-link{font-size:var(--type-supporting);line-height:1.35}.inventory-character-link{font-size:var(--type-metadata);line-height:1.35}.inventory-character-profession{font-size:var(--type-metadata)}.inventory-compact-head h3{font-size:16px;line-height:1.35}.inventory-compact-head>span,.inventory-side-link small,.inventory-character-link small{font-size:var(--type-metadata);line-height:1.35}.inventory-icon-visual strong{max-width:52px;padding:2px 5px;font-size:var(--type-metadata);font-weight:650;line-height:1.2}.inventory-view-switch button{font-size:var(--type-metadata);line-height:1.35}.inventory-toolbar label{font-size:var(--type-metadata)}
.inventory-character-link{--profession-color:var(--ice)}.inventory-character-link.profession-guardian{--profession-color:#72c1d9}.inventory-character-link.profession-warrior{--profession-color:#ffd166}.inventory-character-link.profession-engineer{--profession-color:#d09c59}.inventory-character-link.profession-ranger{--profession-color:#8cdc82}.inventory-character-link.profession-thief{--profession-color:#c08f95}.inventory-character-link.profession-elementalist{--profession-color:#f68a87}.inventory-character-link.profession-mesmer{--profession-color:#b679d5}.inventory-character-link.profession-necromancer{--profession-color:#52a76f}.inventory-character-link.profession-revenant{--profession-color:#d16e5a}.inventory-character-link>span:nth-child(2){color:color-mix(in srgb,var(--profession-color) 78%,var(--text));font-weight:650}.inventory-character-link .inventory-character-profession{color:var(--profession-color);background:color-mix(in srgb,var(--profession-color) 14%,transparent)}.inventory-character-link.active>span:nth-child(2){color:color-mix(in srgb,var(--profession-color) 88%,var(--text))}
.inventory-toolbar label{font-size:12px;line-height:1.4}.inventory-toolbar .input{font-size:16px;line-height:1.5}.inventory-heading h2{font-size:20px;line-height:1.35}.inventory-heading>div:first-child>.small{font-size:14px;line-height:1.45}.inventory-hint{font-size:14px;line-height:1.55}
@media(max-width:1100px){.inventory-locations{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-location>span{min-height:0}}
@media(max-width:800px){.inventory-workspace{grid-template-columns:minmax(0,1fr)}.inventory-side-menu{position:static}.inventory-side-menu nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.inventory-character-links{display:none}.inventory-side-menu:has([data-inventory-scope="characters"].active) .inventory-character-links{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.inventory-side-link{border:1px solid color-mix(in srgb,var(--line) 72%,transparent)}}
@media(max-width:600px){.inventory-locations{gap:7px;margin-bottom:22px}.inventory-location{padding:12px;gap:6px}.inventory-location>span{font-size:11px;min-height:30px}.inventory-location small{font-size:10px}.inventory-character{flex:1 1 100%}.inventory-table .material-name{max-width:none}.inventory-table.inventory-compact td:not(.material-name){grid-column:1/-1}.inventory-pagination{align-items:flex-start;flex-wrap:wrap}.inventory-heading{align-items:flex-start;gap:12px}.inventory-heading>div:first-child{display:grid;gap:3px}.inventory-view-switch button{min-height:44px}.inventory-compact-group{padding:14px 12px}.inventory-icon-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px 6px}.inventory-icon-visual{width:44px;height:44px}}
@media(max-width:460px){.inventory-side-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* A project collection can be empty, singular or plural. */
.project-roster{border-block:1px solid var(--line);margin-bottom:22px}.project-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.project-row:last-child{border-bottom:0}.project-row h2{font:600 16px var(--display);margin:0 0 7px}.project-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.project-row p strong{color:var(--gold);font-variant-numeric:tabular-nums}.project-row-actions{display:flex;gap:8px;flex-shrink:0}.project-selector{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:22px 0}.project-selector label{font-size:13px;font-weight:600}.project-selector select{max-width:100%}.project-selector p{flex-basis:100%;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.no-projects p{max-width:55ch;margin:12px auto 22px;line-height:1.6}.no-projects button{min-height:42px}
@media(max-width:600px){.project-row{align-items:flex-start;flex-direction:column;gap:12px}.project-row-actions{flex-wrap:wrap}.project-selector select{width:100%}.project-row-actions button{min-height:40px}}

/* Project workspace: a persistent queue and one focused planning surface. */
.project-workspace{display:grid;grid-template-columns:228px minmax(0,1fr);gap:28px;align-items:start}.project-rail{position:sticky;top:20px;align-self:start;height:max-content;min-width:0;overflow-anchor:none}.project-queue{border:0}.project-queue>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 16px;border-bottom:1px solid var(--line);font-weight:600;font-size:15px;list-style:none;cursor:pointer}.project-queue>summary::-webkit-details-marker{display:none}.project-queue>summary small{color:var(--muted);font-size:11px;font-weight:400}.project-queue-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px;max-height:calc(100dvh - 260px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.queue-combined{width:100%;text-align:left;padding:13px 14px;margin-top:16px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);display:flex;flex-direction:column;gap:5px}.queue-combined span{font-size:13px;font-weight:600}.queue-combined small{color:var(--muted);font-size:11px}.queue-combined small span{font-size:11px;font-weight:400}.queue-combined.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.queue-entry{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.queue-entry.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 6%,var(--panel))}.queue-select{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:14px 14px 10px;text-align:left;color:var(--text);background:transparent;border:0}.queue-select:hover{background:var(--hover)}.queue-item-name{font-weight:600;font-size:13px;line-height:1.45}.project-item-icon{object-fit:contain;border-radius:6px;flex:none;background:var(--panel2)}.queue-select .project-item-icon{width:36px;height:36px}.project-item-placeholder{width:36px;height:36px;display:grid;place-items:center;background:var(--panel2);border-radius:6px;color:var(--gold);flex:none}.project-item-placeholder svg{width:23px;height:23px}.queue-select .project-meter{grid-column:1/-1}.project-meter{display:flex;align-items:center;gap:10px;min-width:0}.project-meter progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:var(--panel2);min-width:24px}.project-meter progress::-webkit-progress-bar{background:var(--panel2)}.project-meter progress::-webkit-progress-value{background:var(--gold);border-radius:4px}.project-meter progress::-moz-progress-bar{background:var(--gold);border-radius:4px}.project-meter>span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;min-width:42px;text-align:right;white-space:nowrap}.queue-entry-controls{padding:0 10px 9px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.queue-entry-controls label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);min-height:32px;cursor:pointer}.queue-entry-controls input{margin:0;accent-color:var(--gold);width:14px;height:14px}.queue-entry-controls>div{display:flex;gap:2px}.queue-entry-controls button{width:30px;height:30px;padding:6px;border:0;border-radius:5px;color:var(--muted);background:transparent}.queue-entry-controls button:hover{background:var(--hover);color:var(--text)}.queue-entry-controls button:disabled{opacity:.35;cursor:default}.queue-entry-controls svg{width:18px;height:18px}.queue-entry.paused .queue-item-name{color:var(--muted)}.queue-entry.paused progress::-webkit-progress-value{background:var(--muted)}.queue-add{width:100%;min-height:40px;font-size:12px}.project-queue-body>p{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 0}
.project-detail{min-width:0;container-type:inline-size}.project-detail .planner-notice{margin-bottom:18px;padding:12px;font-size:12px}.project-detail .planner-notice button{font-size:12px}.project-brief{padding:0 0 22px;border-bottom:1px solid var(--line)}.project-brief-title{display:flex;align-items:flex-start;gap:14px}.project-brief-title>.project-item-placeholder{width:56px;height:56px}.project-brief-title>.project-item-placeholder svg{width:30px;height:30px}.project-brief-title>div{flex:1;min-width:0}.project-brief h2{font:600 clamp(21px,2.2vw,29px) var(--display);letter-spacing:-.025em;margin:0;line-height:1.3;overflow-wrap:anywhere}.project-brief h2 .material-link{display:inline;line-height:1.3;text-decoration:none}.project-brief h2 .external-icon{margin-left:8px}.project-brief p{color:var(--muted);font-size:12px;line-height:1.6;margin:7px 0 0}.project-brief-title>button{font-size:11px;padding:8px 10px}.project-state{display:inline-block;padding:2px 7px;margin-left:5px;background:color-mix(in srgb,var(--success) 12%,var(--panel));color:var(--success);border-radius:4px;font-size:10px}.project-state.paused{color:var(--muted);background:var(--panel2)}.project-facts{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0}.project-facts>div{display:flex;align-items:baseline;gap:8px}.project-facts dt{font-size:12px;color:var(--muted)}.project-facts dd{font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;margin:0}.project-overall{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:20px;font-size:12px;color:var(--muted)}.project-overall .project-meter>span{color:var(--gold);font-weight:600}.project-brief .paused-explanation{margin-top:16px}.combined-brief .project-overall{margin-top:20px}.project-detail .cost-comparison{margin:0 0 28px;padding:20px 0 0;background:transparent;border:0;gap:12px 24px}.project-detail .cost-comparison>div{padding:0}.project-detail .cost-comparison>div+div{border:0}.project-detail .cost-comparison strong{font-size:21px}.project-detail .cost-comparison>p{padding:0;font-size:11px}.project-detail .cost-comparison small{font-size:11px}.workspace-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.workspace-section-title h2{font:600 16px var(--display);margin:0;letter-spacing:-.02em}.workspace-section-title>span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.stage-note{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 12px;max-width:70ch}.recipe-stages{margin:0 0 30px}.stage-list{border-block:1px solid var(--line)}.recipe-stage{border-bottom:1px solid var(--line)}.recipe-stage:last-child{border-bottom:0}.recipe-stage>summary{display:grid;grid-template-columns:18px minmax(0,1fr) 150px;gap:10px;align-items:center;list-style:none;padding:14px 0;cursor:pointer}.recipe-stage>summary::-webkit-details-marker{display:none}.recipe-stage>summary:hover .stage-name{color:var(--ice)}.stage-status{color:var(--muted);width:18px;height:18px}.stage-status svg{width:18px;height:18px}.recipe-stage[open] .stage-status:not(.complete){transform:rotate(90deg)}.stage-status.complete{color:var(--success)}.stage-name{font-size:13px;font-weight:500;line-height:1.5}.stage-parts{padding:0 0 16px 28px}.stage-wiki{font-size:12px;margin-bottom:8px}.stage-part{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;align-items:center;padding:10px 0;font-size:12px}.stage-part small{display:block;color:var(--muted);font-size:11px;margin-top:5px;line-height:1.5}.stage-part .material-link{color:var(--muted)}.project-material-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-material-search{flex:1;min-width:150px}.project-material-search input{width:100%;font-size:12px;min-width:0}.project-material-order select{font-size:12px;max-width:180px}.project-material-tools .pill{min-height:39px}.project-material-tools .pill span{margin-left:4px}.project-materials .price-controls{margin:8px 0 14px}.project-materials .price-controls button{font-size:11px;padding:7px 10px}.project-detail .materials-table{font-size:12px}.project-detail .materials-table th{padding:12px 9px;font-size:10px}.project-detail .materials-table td{padding:13px 9px}.project-detail .materials-table .material-name{min-width:170px;max-width:260px}.project-detail .material-name .project-meter{max-width:150px;margin:7px 0 0;gap:8px}.project-detail .material-name .project-meter progress{height:3px}.project-detail .material-name .project-meter>span{font-size:10px;min-width:35px}.project-detail .price-cell strong{font-size:11px}.project-detail .price-cell small{font-size:10px}.project-detail .planning-notes{margin-top:18px}.project-detail .planning-notes p{font-size:11px}#project-detail-heading:focus{outline:none}
@media(min-width:1200px){.project-queue>summary{cursor:pointer}.project-queue>summary:focus-visible{outline:2px solid var(--ice)}}
@media(max-width:1199px){.project-workspace{grid-template-columns:minmax(0,1fr);gap:22px}.project-rail{position:static}.project-queue{border:1px solid var(--line);border-radius:12px;background:var(--panel)}.project-queue>summary{padding:15px 16px;border:0}.project-queue>summary:after{content:'+';font-size:20px;font-weight:400;color:var(--gold)}.project-queue[open]>summary:after{content:'−'}.project-queue>summary small{margin-left:auto}.project-queue-body{padding:0 16px 16px}.project-queue-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px;margin-top:10px}.queue-combined{margin-top:0}.queue-add{width:auto}.project-detail .cost-comparison strong{font-size:22px}}
@media(max-width:600px){.project-workspace{gap:20px}.project-queue-list{grid-template-columns:1fr;max-height:260px}.queue-entry-controls label{min-height:40px}.queue-entry-controls button{width:40px;height:40px;padding:10px}.project-brief-title{gap:10px;flex-wrap:wrap}.project-brief-title>.project-item-icon,.project-brief-title>.project-item-placeholder{width:44px;height:44px}.project-brief-title>div{flex-basis:calc(100% - 60px)}.project-brief-title>button{margin-left:54px;min-height:36px}.project-brief h2{font-size:23px}.project-facts{gap:12px 20px;margin:18px 0}.project-facts>div{display:grid;gap:5px}.project-facts dt{font-size:11px}.project-overall{grid-template-columns:1fr;gap:10px}.project-detail .cost-comparison{gap:12px 16px;margin-bottom:24px}.project-detail .cost-comparison strong{font-size:16px}.project-detail .cost-comparison small{font-size:10px}.recipe-stage>summary{grid-template-columns:18px minmax(0,1fr) 86px;gap:7px}.recipe-stage>summary .project-meter progress{display:none}.recipe-stage>summary .project-meter{justify-content:flex-end}.stage-parts{padding-left:25px}.stage-part{grid-template-columns:minmax(0,1fr) 75px;gap:10px}.stage-part .project-meter progress{display:none}.stage-part .project-meter{justify-content:flex-end}.project-material-search{flex-basis:100%}.project-material-order{flex:1}.project-material-order select{width:100%;max-width:none}.project-detail .materials-table td{padding:0}.project-detail .materials-table .material-name{min-width:0;max-width:none}.project-detail .materials-table .price-cell{padding-top:12px}.project-detail .price-cell strong{font-size:13px}.project-detail .price-cell small{font-size:11px}.project-detail .material-name .project-meter{max-width:180px}}
@media(prefers-reduced-motion:no-preference){.queue-select,.queue-combined{transition:background .15s ease-out}.stage-status{transition:transform .15s ease-out}}

/* Legendary Armory: collection first, selected recipe alongside. */
.armory-page{min-width:0}.armory-summary{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:28px;margin:24px 0 28px}.armory-summary>div{display:flex;flex-direction:column;gap:7px;min-width:0}.armory-summary>div>span,.armory-summary small{font-size:12px;color:var(--muted)}.armory-summary strong{font-size:27px;font-weight:500;font-variant-numeric:tabular-nums}.armory-summary strong small{font-size:15px}.armory-summary progress{width:100%;height:5px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:var(--panel2)}.armory-summary progress::-webkit-progress-bar{background:var(--panel2)}.armory-summary progress::-webkit-progress-value{background:var(--gold)}.armory-summary progress::-moz-progress-bar{background:var(--gold)}
.armory-recommendation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin:24px 0;padding:22px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.armory-recommendation.recovery{border-color:color-mix(in srgb,var(--cyan) 38%,var(--line));background:color-mix(in srgb,var(--cyan) 6%,var(--panel))}.armory-recommendation-main{display:flex;align-items:flex-start;gap:15px;min-width:0}.armory-recommendation-main>div{min-width:0}.armory-recommendation h2{margin:4px 0 6px;font:600 22px var(--display);line-height:1.3}.armory-recommendation p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.armory-recommendation-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:13px;font-size:12px;color:var(--muted)}.armory-recommendation-facts b{color:var(--text);font-weight:600}.armory-recommendation-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:180px}.armory-recommendation-actions .button-quiet{font-size:11px}.armory-recommendation-note{grid-column:1/-1;padding-top:13px;border-top:1px solid var(--line);font-size:11px!important}.armory-recommendation>.button-primary{justify-self:end}
.armory-types{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}.armory-types button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:12px 0;font-size:14px;font-weight:600}.armory-types button[aria-pressed=true]{color:var(--gold);border-bottom-color:var(--gold)}.armory-types button:hover{color:var(--text)}.armory-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.armory-toolbar label{display:flex;flex:1;flex-direction:column;gap:7px;min-width:160px;color:var(--muted);font-size:12px}.armory-toolbar .armory-search{flex:2;min-width:200px}.armory-toolbar .input,.armory-toolbar .select{width:100%;min-width:0;font-size:13px;min-height:42px}.armory-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin:16px 0 24px}.armory-filter-summary label{display:flex;align-items:center;gap:8px}.armory-filter-summary input{width:16px;height:16px;accent-color:var(--gold)}
.armory-workspace{display:block}.armory-catalog{min-width:0}.armory-section{margin-bottom:30px}.armory-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.armory-section-heading h2{font-size:17px;margin:0;line-height:1.5}.armory-section-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.armory-section-heading>small{font-size:12px;color:var(--muted);text-align:right}.armory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.armory-tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden;display:flex;flex-direction:column}.armory-tile.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.armory-tile:hover{background:color-mix(in srgb,var(--text) 5%,var(--panel))}.armory-select{border:0;background:transparent;color:var(--text);display:flex;flex-direction:column;gap:12px;padding:14px 12px 10px;width:100%;min-width:0;text-align:left;flex:1}.armory-tile-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.armory-item-icon,.armory-icon-placeholder{flex-shrink:0;object-fit:contain;border-radius:6px;background:var(--panel2)}.armory-icon-placeholder{display:grid;place-items:center;width:48px;height:48px;color:var(--muted);font:600 22px var(--display)}.armory-copy-count{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.armory-copy-count b{font-size:19px;color:var(--text);font-weight:500}.armory-tile.unlocked .armory-copy-count b{color:var(--success)}.armory-item-name{font-weight:600;font-size:13px;line-height:1.45;overflow-wrap:anywhere;min-height:38px}.armory-item-status{font-size:12px;color:var(--muted);margin-top:auto}.armory-item-status.ready{color:var(--success)}.armory-tile-cost{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:6px;width:100%;min-width:0;border-top:1px solid var(--line);padding-top:9px;font-size:12px;color:var(--muted)}.armory-tile-cost b{max-width:100%;margin-left:auto;color:var(--gold);font-weight:500;font-variant-numeric:tabular-nums}.armory-tile-footer{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 12px 12px;font-size:11px;color:var(--muted)}.armory-tile-footer a{color:var(--muted);text-underline-offset:3px;padding:3px 0}.armory-tile-footer a:hover{color:var(--gold)}
.armory-inspector{position:sticky;top:90px;max-height:calc(100dvh - 110px);overflow-y:auto;background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:12px;min-width:0}.armory-inspector-title{display:flex;align-items:center;gap:12px}.armory-inspector-title>div{min-width:0}.armory-inspector h2{font-size:20px;line-height:1.4;margin:0;overflow-wrap:anywhere}.armory-inspector h2 a{color:var(--text);text-decoration:none}.armory-inspector h2 a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.armory-inspector-title p{color:var(--muted);font-size:12px;margin:6px 0 0}.armory-facts{display:grid;gap:12px;margin:24px 0}.armory-facts>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.armory-facts dt{color:var(--muted)}.armory-facts dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.armory-complete{color:var(--success);font-size:13px;font-weight:600}.armory-recipe-progress{padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.armory-recipe-progress .project-meter{margin-top:10px}.armory-explanation{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0}.armory-costs{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.armory-costs h3{font-size:13px;margin:0 0 16px}.armory-costs .cost-comparison{display:block;margin:0;padding:0;border:0}.armory-costs .cost-comparison>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;margin-bottom:12px}.armory-costs .cost-comparison>div>span{font-size:12px}.armory-costs .cost-comparison strong{font-size:16px;color:var(--gold);line-height:1.5}.armory-costs .cost-comparison small{width:100%;font-size:11px}.armory-costs .cost-comparison p{margin:12px 0 0;font-size:11px}.armory-price-refresh .price-controls{display:block;margin:12px 0}.armory-price-refresh .price-controls p{font-size:11px}.armory-price-refresh button{padding:8px 10px;font-size:12px}.armory-material-preview{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.armory-material-preview summary{font-size:13px;cursor:pointer;padding:4px 0}.armory-material-preview ul{list-style:none;padding:0;margin:12px 0}.armory-material-preview li{font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.armory-material-preview li small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:6px}.armory-project-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.armory-project-actions>button{flex:1}.armory-project-state{font-size:12px;color:var(--success)}.armory-wiki{display:block;text-align:center;font-size:12px;color:var(--gold);margin-top:16px;text-underline-offset:4px}.armory-back{display:none}.armory-page .planning-notes{margin-top:20px}
@media(max-width:1199px){.armory-workspace{display:block}.armory-inspector{display:none;position:static;max-height:none;overflow:visible;max-width:640px;margin:0 auto 24px}.armory-inspector.is-open{display:block}.armory-workspace.detail-open .armory-catalog{display:none}.armory-back{display:block;margin-bottom:20px;min-height:44px}.armory-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
@media(max-width:600px){.armory-summary{grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:20px}.armory-summary>div:first-child{grid-column:1/-1}.armory-summary strong{font-size:24px}.armory-summary small{line-height:1.5}.armory-types{gap:8px 20px}.armory-types button{min-height:44px;font-size:13px}.armory-toolbar{gap:12px}.armory-toolbar label{min-width:0;flex-basis:calc(50% - 6px)}.armory-toolbar .armory-search{flex-basis:100%}.armory-toolbar .input,.armory-toolbar .select{font-size:16px;min-height:44px}.armory-filter-summary{align-items:flex-start;flex-wrap:wrap;font-size:12px}.armory-filter-summary label{min-height:32px}.armory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.armory-section-heading{align-items:flex-start}.armory-section-heading h2{font-size:16px}.armory-section-heading>small{font-size:11px;max-width:105px}.armory-select{padding:12px 10px 8px;gap:10px}.armory-item-icon{width:44px;height:44px}.armory-copy-count b{font-size:17px}.armory-item-name{font-size:13px;min-height:38px}.armory-item-status{font-size:11px}.armory-tile-footer{padding:0 10px 8px}.armory-tile-footer a{display:flex;align-items:center;min-height:40px}.armory-inspector{padding:18px}.armory-inspector-title .armory-item-icon{width:56px;height:56px}.armory-price-refresh button{min-height:44px}.armory-wiki{padding:12px}.armory-material-preview summary{min-height:44px}}
@media(max-width:600px){.armory-recommendation{grid-template-columns:1fr;padding:18px}.armory-recommendation-actions{min-width:0}.armory-recommendation-actions button,.armory-recommendation>.button-primary{width:100%;justify-self:stretch}.armory-recommendation-note{grid-column:1}.armory-recommendation-main .armory-item-icon,.armory-recommendation-main .armory-icon-placeholder{width:48px;height:48px}.armory-recommendation h2{font-size:20px}}

/* Legendary armor path comparison. */
.armor-page{min-width:0}.armor-weight-picker{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;margin-bottom:28px;border-block:1px solid var(--line)}.armor-weight-picker h2,.armor-section-head h2{margin:0;font:600 18px var(--display);letter-spacing:-.02em}.armor-weight-picker p,.armor-section-head p{margin:5px 0 0;color:var(--muted);font-size:14px}.armor-weight-picker .pill{min-width:82px}.armor-paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 30px}.armor-path{display:flex;flex-direction:column;gap:8px;min-width:0;padding:17px;text-align:left;color:var(--text);border:1px solid var(--line);border-radius:12px;background:var(--panel)}.armor-path:hover{border-color:var(--ice);background:var(--hover)}.armor-path.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--panel))}.armor-path-mode{color:var(--ice);font-size:12px;font-weight:700}.armor-path>strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}.armor-path>span:not(.armor-path-mode){color:var(--muted);font-size:12px;line-height:1.5}.armor-path>span b{color:var(--text);font-weight:600}.armor-path>small{margin-top:auto;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5}.armor-decision{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:0;border-block:1px solid var(--line)}.armor-decision-main{padding:26px 28px 26px 0}.armor-decision-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.armor-decision-title>div>span{color:var(--ice);font-size:13px;font-weight:600}.armor-decision-title h2{margin:5px 0 0;font:600 clamp(22px,2.3vw,30px) var(--display);line-height:1.3;letter-spacing:-.025em}.armor-decision-title>a{flex-shrink:0;font-size:13px;text-underline-offset:4px}.armor-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:28px 0}.armor-facts div{padding-top:12px;border-top:1px solid var(--line)}.armor-facts dt{color:var(--muted);font-size:12px}.armor-facts dd{margin:5px 0 0;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.armor-progress{display:grid;gap:9px}.armor-progress span{font-size:13px;color:var(--muted)}.armor-progress progress{width:100%;height:7px;appearance:none;border:0;border-radius:7px;overflow:hidden;background:var(--panel2)}.armor-progress progress::-webkit-progress-bar{background:var(--panel2)}.armor-progress progress::-webkit-progress-value{background:var(--gold)}.armor-progress progress::-moz-progress-bar{background:var(--gold)}.armor-source-note{max-width:70ch;margin:15px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.armor-requirements{padding:26px 0 26px 28px;border-left:1px solid var(--line)}.armor-requirements ul{list-style:none;margin:17px 0 0;padding:0}.armor-requirement{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.armor-requirement:last-child{border-bottom:0}.armor-requirement>div{min-width:0}.armor-requirement>div strong,.armor-requirement>div span{display:block}.armor-requirement>div strong{font-size:13px}.armor-requirement>div span{margin-top:4px;color:var(--muted);font-size:12px}.armor-requirement.covered>div strong{color:var(--success)}.armor-requirement dl{display:grid;grid-template-columns:repeat(3,minmax(48px,auto));gap:12px;margin:0;text-align:right}.armor-requirement dl div{min-width:0}.armor-requirement dt{color:var(--muted);font-size:12px}.armor-requirement dd{margin:3px 0 0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.armor-action{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px;padding:18px 0}.armor-action>div{min-width:0}.armor-action strong{font-size:16px}.armor-action p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.armor-action button,.armor-action a{flex-shrink:0}.armor-action.unavailable,.armor-action.complete{border-top:0}.armor-action.unavailable{align-items:flex-start}.armor-action.unavailable>p{max-width:65ch}
@media(max-width:1100px){.armor-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.armor-decision{grid-template-columns:1fr}.armor-decision-main{padding-right:0}.armor-requirements{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:600px){.page-head-actions{width:100%;display:grid}.page-head-actions button{width:100%}.armor-weight-picker{align-items:flex-start;flex-direction:column}.armor-weight-picker .tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.armor-weight-picker .pill{min-width:0}.armor-paths{grid-template-columns:1fr}.armor-path{min-height:0}.armor-decision-main,.armor-requirements{padding-block:22px}.armor-decision-title{flex-direction:column;gap:12px}.armor-facts{gap:16px 12px}.armor-facts dd{font-size:16px}.armor-requirement{grid-template-columns:1fr;gap:10px}.armor-requirement dl{text-align:left}.armor-action{align-items:stretch;flex-direction:column}.armor-action button,.armor-action a{width:100%;text-align:center}}
@media(max-width:340px){.armory-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.armory-tile{transition:background .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}}

.armory-toolbar input::placeholder{color:var(--muted)}

/* Legendary details open as a focused modal instead of competing with the collection grid. */
dialog.armory-detail-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--gold) 34%,var(--line));background:var(--panel)}
dialog.armory-detail-dialog::backdrop{background:#050912d1;backdrop-filter:blur(4px)}
.armory-dialog-scroll{max-height:calc(100dvh - 34px);overflow-y:auto;padding:26px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.armory-dialog-close{position:absolute;z-index:2;top:15px;right:15px;display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:var(--panel2);border:1px solid var(--line)}
.armory-dialog-close:hover{color:var(--gold);border-color:var(--gold)}
.armory-detail-dialog .armory-inspector-title{padding-right:48px}.armory-detail-dialog .armory-inspector-title .eyebrow{display:block;margin-bottom:5px}.armory-detail-dialog .armory-inspector-title h2{font:600 clamp(23px,3vw,30px) var(--display);line-height:1.25;margin:0;overflow-wrap:anywhere}.armory-detail-dialog .armory-inspector-title h2:focus{outline:none}.armory-detail-dialog .armory-inspector-title h2 a{color:var(--text);text-decoration:none}.armory-detail-dialog .armory-inspector-title h2 a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.armory-detail-dialog .armory-inspector-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.armory-detail-dialog.is-missing .armory-inspector-title .armory-item-icon{filter:grayscale(.95);opacity:.6}
.armory-ownership-status{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:11px;margin:22px 0 20px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.armory-ownership-status>svg{width:22px;height:22px}.armory-ownership-status strong{font-size:13px}.armory-ownership-status p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.armory-ownership-status>b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.armory-detail-dialog.is-missing .armory-ownership-status{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:color-mix(in srgb,var(--red) 9%,var(--panel))}.armory-detail-dialog.is-missing .armory-ownership-status>svg,.armory-detail-dialog.is-missing .armory-ownership-status>b{color:var(--red)}.armory-detail-dialog.is-owned .armory-ownership-status{border-color:color-mix(in srgb,var(--success) 45%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--panel))}.armory-detail-dialog.is-owned .armory-ownership-status>svg,.armory-detail-dialog.is-owned .armory-ownership-status>b{color:var(--success)}
.armory-detail-dialog .armory-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--line)}.armory-detail-dialog .armory-facts>div{display:block;padding:0 13px;border-right:1px solid var(--line)}.armory-detail-dialog .armory-facts>div:first-child{padding-left:0}.armory-detail-dialog .armory-facts>div:last-child{border:0}.armory-detail-dialog .armory-facts dt{font-size:11px}.armory-detail-dialog .armory-facts dd{margin-top:6px;font-size:17px}.armory-detail-dialog .armory-costs .cost-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.armory-detail-dialog .armory-costs .cost-comparison>p{grid-column:1/-1}.armory-detail-dialog .armory-project-actions{position:sticky;bottom:-26px;z-index:1;margin:20px -2px 0;padding:16px 2px 2px;background:linear-gradient(180deg,transparent,var(--panel) 14px)}.armory-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font-size:11px}.armory-dialog-footer kbd{padding:2px 6px;border:1px solid var(--line);border-radius:4px;background:var(--panel2);font:inherit}.armory-dialog-footer .armory-wiki{margin:0;padding:8px 0;text-align:right}
.armory-detail-more{margin-top:14px;padding-top:8px;border-top:1px solid var(--line)}.armory-detail-more>summary{display:flex;align-items:center;min-height:44px;color:var(--ice);font-size:13px;font-weight:700;cursor:pointer}.armory-detail-more-body{padding:2px 0 16px}.armory-detail-more .armory-set-panel{margin:0 0 18px}.armory-detail-more .armory-costs{margin-top:16px;padding-top:16px}
@media(max-width:600px){dialog.armory-detail-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:13px}.armory-dialog-scroll{max-height:calc(100dvh - 18px);padding:18px 16px}.armory-dialog-close{top:10px;right:10px;width:44px;height:44px}.armory-detail-dialog .armory-inspector-title{gap:11px;padding-right:45px}.armory-detail-dialog .armory-inspector-title .armory-item-icon,.armory-detail-dialog .armory-inspector-title .armory-icon-placeholder{width:54px;height:54px}.armory-ownership-status{grid-template-columns:22px minmax(0,1fr);align-items:start;margin:16px 0;padding:12px}.armory-ownership-status>b{grid-column:2}.armory-detail-dialog .armory-facts{grid-template-columns:1fr 1fr;gap:16px 0}.armory-detail-dialog .armory-facts>div:nth-child(2){border:0}.armory-detail-dialog .armory-facts>div:nth-child(3){padding-left:0}.armory-detail-dialog .armory-costs .cost-comparison{grid-template-columns:1fr}.armory-detail-dialog .armory-costs .cost-comparison>p{grid-column:auto}.armory-detail-dialog .armory-project-actions{bottom:-18px}.armory-dialog-footer>span{display:none}.armory-dialog-footer .armory-wiki{min-height:44px;margin-left:auto}}

/* Responsive adaptation: the application shell becomes a drawer on tablets and phones. */
.sidebar-scrim{display:none}
.armory-category-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-4px 0 20px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.armory-category-action>div{display:grid;gap:4px}.armory-category-action strong{font-size:13px}.armory-category-action span{color:var(--muted);font-size:12px;line-height:1.5}.armory-category-action button{flex-shrink:0}
.mastery-table-wrap{margin-top:18px}
@media(max-width:960px){
  body.sidebar-open{overflow:hidden}.shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:min(288px,84vw);height:100dvh;min-height:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 60px #0008}.sidebar.open{transform:none}.sidebar-scrim{position:fixed;inset:0;z-index:29;width:100%;height:100%;border:0;background:#050912b8;backdrop-filter:blur(2px)}.sidebar.open+.sidebar-scrim{display:block}.mobile-menu{display:grid;place-items:center;min-width:44px;min-height:44px}.topbar{height:calc(66px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(17px,env(safe-area-inset-right)) 0 max(17px,env(safe-area-inset-left));position:sticky;top:0;z-index:20}.top-status{display:none}main{padding:24px max(17px,env(safe-area-inset-right)) calc(70px + env(safe-area-inset-bottom)) max(17px,env(safe-area-inset-left))}.theme-atmosphere{left:0}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.toolbar .input,.toolbar .select{min-height:44px}.armory-toolbar .input,.armory-toolbar .select,.project-material-search input,.project-material-order select{min-height:44px;font-size:16px}.button-primary,.button-outline,.button-quiet,.connect-button,.pill,.project-row-actions button,.project-brief-title>button,.project-material-tools .pill{min-height:44px}.nav-item{min-height:44px}.sidebar-user{min-height:52px}.armory-types button{min-width:44px}.queue-entry-controls label{min-height:44px}.queue-entry-controls button{width:44px;height:44px;padding:10px}
}
@media(max-width:700px){
  .responsive-table-wrap{border:0;border-radius:0;overflow:visible}.responsive-table{display:block;background:transparent}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.responsive-table tbody{display:grid;gap:12px}.responsive-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.responsive-table td{display:block;padding:0;border:0;white-space:normal;text-align:left}.responsive-table td:not(.responsive-table-title):before{content:attr(data-label);display:block;margin-bottom:5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.responsive-table-title{grid-column:1/-1;color:var(--text);font-weight:600;overflow-wrap:anywhere}.mastery-table tr{grid-template-columns:1fr 1fr}.mastery-table td:not(.responsive-table-title){grid-column:span 1}
  .page-head{align-items:flex-start;flex-direction:column}.page-head>button,.page-head>div+button{width:100%}.row{align-items:flex-start;flex-wrap:wrap}.check-row{min-height:52px}.check-row label{flex:1;line-height:1.5}.dialog-actions button{min-height:44px}dialog{max-height:calc(100dvh - 24px);overflow-y:auto;padding:20px}.empty{padding:28px 18px}.armory-category-action{align-items:stretch;flex-direction:column}.armory-category-action button{min-height:44px;width:100%}
}
@media(max-width:480px){
  .topbar{gap:6px}.mobile-menu{margin-right:auto}.top-actions{gap:6px}.breadcrumb{display:none}.connect-button{min-height:44px;padding:8px 9px;font-size:12px}.toolbar{align-items:stretch}.toolbar>.input,.toolbar>button:not(.pill){width:100%}.hero-actions>button,.stack>button{min-height:44px}.card{padding:18px}.metric{font-size:25px}.inventory-pagination>div{width:100%}.inventory-pagination button{flex:1;min-height:44px}#toast{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));text-align:center}
}
@media(pointer:coarse){.button-primary,.button-outline,.button-quiet,.pill,.catalog-card,.inventory-location,.armory-types button,.armory-wiki{min-height:44px}.icon-button{min-width:44px;min-height:44px}.routine-row,summary{touch-action:manipulation}}

/* Ownership is visible through icon treatment, text and a status symbol. */
.armory-tile.unlocked{border-color:color-mix(in srgb,var(--success) 45%,var(--line));background:color-mix(in srgb,var(--success) 5%,var(--panel))}
.armory-tile:hover,.armory-tile:focus-within{border-color:color-mix(in srgb,var(--gold) 65%,var(--line));background:color-mix(in srgb,var(--gold) 8%,var(--panel));box-shadow:0 12px 28px #0004}.armory-tile:hover .armory-item-name,.armory-tile:focus-within .armory-item-name{color:var(--gold)}
.armory-tile.not-owned .armory-item-icon,.armory-tile.not-owned:hover .armory-item-icon,.armory-tile.not-owned:focus-within .armory-item-icon{filter:grayscale(.95);opacity:.6}
.armory-tile.selected{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--panel))}
.armory-tile.unlocked .armory-item-icon{filter:none;opacity:1}
.armory-item-status{display:flex;align-items:center;gap:6px;line-height:1.5}
.armory-item-status svg{width:15px;height:15px;flex-shrink:0}
.armory-item-status.is-owned,.armory-craftable{color:var(--success)}
.armory-craftable{font-size:11px;line-height:1.5}

.armory-completion-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:5px 7px;border-radius:6px;background:color-mix(in srgb,var(--gold) 15%,var(--panel));color:var(--gold);font-size:11px;font-weight:600;line-height:1.5;margin-top:auto}
.armory-completion-badge svg{width:16px;height:16px;flex-shrink:0}
.armory-next-copy{font-size:11px;color:var(--muted);line-height:1.5}
.armory-complete{display:grid;grid-template-columns:22px 1fr;gap:6px 8px;color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel));padding:14px;border-radius:8px}
.armory-complete svg{width:22px;height:22px;grid-row:1/3}.armory-complete p{grid-column:2;margin:0;font-size:12px;line-height:1.5;color:var(--muted)}

/* Batch planning belongs to the selected item's set and weight. */
.armory-set-panel{border-top:1px solid var(--line);padding-top:18px;margin:20px 0}
.armory-set-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.armory-set-heading h3{font-size:13px;line-height:1.5;margin:0}.armory-set-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}
.armory-set-pieces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.armory-set-piece{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font-size:11px;min-width:0}.armory-set-piece .armory-item-icon{width:32px;height:32px}.armory-set-piece small{font-size:10px;color:var(--muted)}.armory-set-piece.owned{border-color:var(--success)}.armory-set-piece.owned small{color:var(--success)}.armory-set-piece.queued small{color:var(--gold)}.armory-set-piece:hover{border-color:var(--gold)}.armory-set-panel>button{width:100%;font-size:12px;display:flex;justify-content:center;gap:6px;min-height:42px}.armory-set-panel>p{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0 0}

@media(hover:hover) and (prefers-reduced-motion:no-preference){.armory-tile:hover{transform:translateY(-2px)}}
.armory-tile-meta{display:grid;justify-items:end;gap:4px;min-width:0}.armory-weapon-type{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--ice);font-size:12px;font-weight:650;line-height:1;white-space:nowrap}.armory-weapon-type svg{width:16px;height:16px;flex:none}.armory-inspector-title .armory-weapon-type{justify-content:flex-start;color:var(--muted);margin-top:3px}@media(max-width:600px){.armory-weapon-type span{display:none}.armory-weapon-type svg{width:18px;height:18px}.armory-inspector-title .armory-weapon-type span{display:inline}}

/* Legendary cards prioritize the item itself and keep repeated operational data compact. */
.armory-select{gap:8px;padding:12px 12px 9px}.armory-item-icon,.armory-icon-placeholder{width:42px;height:42px}.armory-item-name{min-height:0;line-height:1.35}.armory-item-status{margin-top:0;line-height:1.35}.armory-tile-cost{margin-top:1px;padding-top:8px}.armory-tile-footer{padding:0 12px 10px}.armory-tile-meta{min-height:27px;align-content:start}
@media(max-width:600px){.armory-select{gap:8px;padding:12px 10px 8px}.armory-item-icon,.armory-icon-placeholder{width:44px;height:44px}.armory-item-name{min-height:0}.armory-tile-footer{padding:0 10px 8px}}

/* Shared application shell: themes change atmosphere, never navigation geometry. */
html[data-theme="modern"]{--gold:#f5cc62;--ice:#5bd6ee;--red:#ff837f;--success:#72d7a4;--warning:#f5cc62;--display:'Sora',sans-serif;--hero-a:#22354d;--hero-b:#393447;--scene-opacity:0}
html[data-theme="aurene"]{--bg:#09111c;--panel:#111b2a;--panel2:#172335;--line:#33445d;--text:#f4f7fb;--muted:#aab8cc;--gold:#f5c84c;--ice:#8ed7eb;--red:#ff958d;--success:#70d6a1;--warning:#f5c84c;--side:#0c1522;--top:#0d1725;--hover:#202f45;--active:#202f45;--display:'Sora',sans-serif;--hero-a:#13233a;--hero-b:#2a1b45;--scene-opacity:0}
.shell{display:grid;grid-template-columns:204px minmax(0,1fr);grid-template-rows:58px minmax(calc(100vh - 58px),auto);min-height:100vh}
.topbar{grid-column:1/-1;grid-row:1;position:sticky;top:0;z-index:24;height:58px;padding:0 18px 0 14px;justify-content:flex-start;background:color-mix(in srgb,var(--top) 97%,transparent)}
.topbar .brand{min-width:176px;padding:0;font:700 17px var(--display);letter-spacing:-.03em}
.topbar .brand-mark{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--gold);color:#171208;font:700 11px 'DM Sans',sans-serif;letter-spacing:0}
.topbar .breadcrumb{display:none}.topbar .top-actions{margin-left:auto;gap:10px}.topbar .connect-button{min-height:36px;padding:7px 12px;font-size:12px}.topbar .top-status{font-size:11px}
.sidebar{grid-column:1;grid-row:2;position:sticky;top:58px;width:auto;height:calc(100vh - 58px);min-height:0;padding:17px 0;background:color-mix(in srgb,var(--side) 96%,transparent)}
.sidebar-caption{padding:0 18px 12px;color:var(--muted);font-size:9px;letter-spacing:.12em}.nav-group{margin-bottom:12px}.nav-heading{padding:0 18px 6px;color:var(--muted);font-size:9px;letter-spacing:.1em}.nav-item{width:calc(100% - 16px);min-height:38px;margin:2px 8px;padding:8px 10px;border-radius:8px;font-size:12px}.nav-item.active{box-shadow:inset 2px 0 var(--gold)}.sidebar-foot{padding:13px 16px;font-size:10px}.sidebar-user{padding:11px 14px}.sidebar-avatar{width:32px;height:32px}.sidebar-user-copy strong{font-size:11px}.sidebar-user-copy small{font-size:9px}
.content-wrap{grid-column:2;grid-row:2;min-width:0}.content-wrap main{max-width:1680px;padding:20px 22px 70px}.theme-atmosphere{left:204px;top:58px}
.page-head{margin-bottom:18px}.page-head h1{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.03em;margin-top:0}.page-head p{font-size:12px}.planning-head h1{color:var(--text)}

/* Fast Farming-inspired denomination component, shared by every gold value. */
.coin-value{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-variant-numeric:tabular-nums}.coin-denomination{display:inline-flex;align-items:center;gap:3px}.coin-number{font-weight:700;line-height:1}.coin-denomination.gold .coin-number{color:#f4ca53}.coin-denomination.silver .coin-number{color:#c2cad4}.coin-denomination.copper .coin-number{color:#e58259}.coin-token{display:inline-block;width:11px;height:8px;border:1px solid #ffffff3d;border-radius:50%;transform:rotate(-18deg);box-shadow:inset -2px -1px 2px #0006,inset 2px 1px 2px #fff4,0 1px 1px #0005}.coin-denomination.gold .coin-token{background:radial-gradient(circle at 35% 30%,#ffe89a,#d89d28 72%)}.coin-denomination.silver .coin-token{background:radial-gradient(circle at 35% 30%,#eef2f6,#8793a2 72%)}.coin-denomination.copper .coin-token{background:radial-gradient(circle at 35% 30%,#f4b185,#a95231 72%)}.metric .coin-value{font-size:19px}.price-cell .coin-value{justify-content:flex-end;font-size:11px}.cost-comparison .coin-value{font-size:18px}.armory-tile-cost .coin-value{max-width:100%;gap:4px;font-size:10px}.armory-tile-cost .coin-denomination{gap:2px}.armory-tile-cost .coin-token{width:9px;height:7px}

/* Appearance is independent from expansion color themes. */
html[data-appearance="light"]{color-scheme:light;--bg:#f3f6fa;--panel:#ffffff;--panel2:#e9eef5;--line:#c8d2df;--text:#172234;--muted:#53647a;--side:#edf2f7;--top:#ffffff;--hover:#dde6f0;--active:#d7e0eb;--hero-a:#e8eef5;--hero-b:#eee8f0;--shadow:0 20px 60px #24364f20}
html[data-appearance="light"][data-theme="modern"],html[data-appearance="light"][data-theme="tyria"]{--gold:#875b00;--ice:#006d87;--red:#a52d42;--success:#087347;--warning:#875b00}
html[data-appearance="light"][data-theme="aurene"]{--gold:#7a5900;--ice:#00667c;--red:#a33142;--success:#087247;--warning:#7a5900}
html[data-appearance="light"][data-theme="maguuma"]{--gold:#477500;--ice:#964700;--red:#a32935;--success:#477500;--warning:#8b5700}
html[data-appearance="light"][data-theme="elona"]{--gold:#835800;--ice:#a82c50;--red:#a82c50;--success:#087347;--warning:#835800}
html[data-appearance="light"][data-theme="cantha"]{--gold:#006f52;--ice:#7a5a00;--red:#a52d50;--success:#006f52;--warning:#7a5a00}
html[data-appearance="light"][data-theme="soto"]{--gold:#663eaa;--ice:#006f83;--red:#9d2873;--success:#087153;--warning:#7e5a00}
html[data-appearance="light"][data-theme="janthir"]{--gold:#805400;--ice:#006f59;--red:#a53b29;--success:#006f59;--warning:#805400}
html[data-appearance="light"][data-theme="visions"]{--gold:#9b286e;--ice:#006f67;--red:#9b286e;--success:#006f67;--warning:#805900}
html[data-appearance="light"] .connect-button,html[data-appearance="light"] .button-primary{color:#fff}html[data-appearance="light"] dialog::backdrop{background:#17223480}html[data-appearance="light"] .nav-item{color:var(--muted)}html[data-appearance="light"] .nav-item.active,html[data-appearance="light"] .nav-item:hover{color:var(--text)}html[data-appearance="light"] .coin-denomination.gold .coin-number{color:#875b00}html[data-appearance="light"] .coin-denomination.silver .coin-number{color:#596779}html[data-appearance="light"] .coin-denomination.copper .coin-number{color:#9a4326}


@media(max-width:960px){.shell{display:block}.topbar{height:58px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.topbar .brand{min-width:0;margin-right:auto}.topbar .top-status{display:none}.topbar .breadcrumb{display:none}.sidebar{position:fixed;top:0;width:min(288px,84vw);height:100dvh;padding-top:calc(17px + env(safe-area-inset-top));z-index:30}.content-wrap main{padding:18px max(14px,env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.theme-atmosphere{left:0;top:58px}}
@media(max-width:520px){.topbar .brand>span:last-child{display:none}.topbar .connect-button{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appearance-grid{grid-template-columns:1fr}}

/* Projects keep the queue compact and make non-purchasable work the first decision. */
.project-workspace{grid-template-columns:210px minmax(0,1fr);gap:14px}.project-rail{top:76px}.project-queue{padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.project-queue>summary{padding:2px 3px 10px;font-size:12px}.project-queue-list{gap:6px;margin:8px 0}.queue-combined{margin-top:10px;padding:10px;border-radius:9px}.queue-entry{border-radius:10px}.queue-select{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:9px 9px 7px}.queue-select .project-item-icon,.queue-select .project-item-placeholder{width:32px;height:32px}.queue-item-name{font-size:11px}.queue-entry-controls{padding:0 7px 6px 9px}.queue-entry-controls label{font-size:10px}.queue-entry-controls button{width:28px;height:28px}.project-queue-body>p{font-size:10px}
.project-detail{display:grid;gap:12px}.project-detail .planner-notice{margin:0}.project-brief{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.project-brief-title{align-items:center;gap:12px}.project-brief-title>.project-item-icon,.project-brief-title>.project-item-placeholder{width:48px;height:48px}.project-brief h2{font-size:19px}.project-facts{margin:13px 0;gap:10px 20px}.project-facts dt{font-size:10px}.project-facts dd{font-size:14px}.project-overall{gap:12px}.project-detail .cost-comparison{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;gap:8px}.project-detail .cost-comparison>div{min-height:68px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.project-detail .cost-comparison>div+div{border:1px solid var(--line)}.project-detail .cost-comparison>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.project-detail .cost-comparison strong{font-size:16px}.project-detail .cost-comparison>p{grid-column:1/-1;margin:-2px 0 4px;font-size:10px}.recipe-stages{margin:4px 0 12px}.recipe-stage>summary{padding:10px 0}.stage-note{font-size:11px;margin-bottom:8px}.project-materials{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.project-materials>.workspace-section-title{padding:14px 15px 10px;margin:0;border-bottom:1px solid var(--line)}.project-materials>.project-material-tools{padding:9px 15px}.project-materials>.price-controls{padding:0 15px 9px;margin:0}.project-material-groups{border:0;border-radius:0}.project-detail .materials-table{font-size:13px;table-layout:fixed}.project-detail .materials-table th{padding:10px;font-size:10px}.project-detail .materials-table td{height:56px;padding:7px 10px}.project-material-table thead th{white-space:normal;line-height:1.35}.project-material-table th:first-child{width:18%}.project-material-table th:nth-child(2){width:17%}.project-material-table th:nth-child(3),.project-material-table th:nth-child(4),.project-material-table th:nth-child(6){width:8%}.project-material-table th:nth-child(5){width:10%}.project-material-table th:nth-child(7),.project-material-table th:nth-child(8){width:15.5%}
.project-material-table th:first-child{width:17%}.project-material-table th:nth-child(2){width:27%}.project-material-table th:nth-child(3),.project-material-table th:nth-child(4),.project-material-table th:nth-child(6){width:7%}.project-material-table th:nth-child(5){width:9%}.project-material-table th:nth-child(7),.project-material-table th:nth-child(8){width:13%}
.farm-priority{display:flex;align-items:center;gap:14px;padding:10px 15px;border-block:1px solid var(--line);background:var(--panel2)}.farm-priority>div{flex:1}.farm-priority strong{font-size:11px}.farm-priority p{margin:2px 0 0;color:var(--muted);font-size:10px}.farm-priority>a{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--gold) 7%,var(--panel));color:var(--gold);font-size:10px;font-weight:700;text-decoration:none;white-space:nowrap}.farm-priority>a:hover{background:color-mix(in srgb,var(--gold) 12%,var(--panel))}
.material-allocation-note{margin:0;padding:10px 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ice) 5%,var(--panel));color:var(--muted);font-size:12px;line-height:1.55}
.material-group th{height:auto!important;padding:0!important;border-top:1px solid var(--line);text-align:left;white-space:normal;background:var(--panel2)}.material-group th>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px}.material-group th>div>span:nth-child(2){min-width:0}.material-group.play th{background:color-mix(in srgb,var(--gold) 8%,var(--panel2))}.material-group.vendor th{background:color-mix(in srgb,var(--warning) 7%,var(--panel2))}.material-group.resource th{background:color-mix(in srgb,var(--ice) 5%,var(--panel2))}.material-group-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:var(--panel)}.material-group.play .material-group-icon{color:var(--gold)}.material-group.vendor .material-group-icon{color:var(--warning)}.material-group.market .material-group-icon,.material-group.resource .material-group-icon{color:var(--ice)}.material-group.unknown .material-group-icon{color:var(--muted)}.material-group-icon svg{width:16px;height:16px}.material-group strong{display:block;color:var(--text);font-size:12px;text-transform:none;letter-spacing:0}.material-group small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:400;text-transform:none;letter-spacing:0}.material-group b{color:var(--muted);font-size:10px;font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap}.material-row-play{background:color-mix(in srgb,var(--gold) 2.5%,var(--panel))}.material-row-vendor{background:color-mix(in srgb,var(--warning) 2%,var(--panel))}.material-source{white-space:normal}.material-kind{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid;border-radius:6px;font-size:9px;font-weight:700;white-space:nowrap}.material-kind.play{border-color:color-mix(in srgb,var(--gold) 40%,var(--line));background:color-mix(in srgb,var(--gold) 8%,var(--panel));color:var(--gold)}.material-kind.vendor{border-color:color-mix(in srgb,var(--warning) 44%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--panel));color:var(--warning)}.material-kind.market,.material-kind.resource{border-color:color-mix(in srgb,var(--ice) 40%,var(--line));background:color-mix(in srgb,var(--ice) 7%,var(--panel));color:var(--ice)}.material-kind.unknown{border-color:var(--line);background:var(--panel2);color:var(--muted)}.farm-guide{display:block;margin-top:5px;color:var(--gold);font-size:10px;font-weight:600;text-decoration:none}.farm-guide:hover{text-decoration:underline;text-underline-offset:3px}.price-cell.unavailable>span{color:var(--muted);font-size:10px}.project-detail .price-cell strong{font-size:11px}.project-detail .price-cell small .coin-value{margin-right:3px}.vendor-currency strong{color:var(--text)}

.resource-acquisition,.account-bound-source{display:flex;align-items:center;gap:6px 8px;min-width:0}.resource-acquisition small{min-width:0;flex:1;color:var(--text);font-size:var(--type-metadata);line-height:1.35;white-space:normal}.account-bound-source .farm-guide{flex:0 0 auto;margin-top:0;white-space:nowrap}.account-bound-icon,.market-source-icon,.resource-source-link{display:inline-grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border:1px solid;border-radius:6px}.account-bound-icon{border-color:color-mix(in srgb,var(--gold) 40%,var(--line));background:color-mix(in srgb,var(--gold) 8%,var(--panel));color:var(--gold)}.market-source-icon,.resource-source-link{border-color:color-mix(in srgb,var(--ice) 40%,var(--line));background:color-mix(in srgb,var(--ice) 7%,var(--panel));color:var(--ice)}.account-bound-icon svg,.market-source-icon svg,.resource-source-link svg{width:15px;height:15px}.resource-source-link:hover{background:color-mix(in srgb,var(--ice) 13%,var(--panel))}

/* The materials grid reads as four zones: identity, acquisition, progress, and cost. */
.project-material-table col.material-col{width:23%}.project-material-table col.acquisition-col{width:27%}.project-material-table col.progress-col{width:5.5%}.project-material-table col.missing-col{width:5.5%}.project-material-table col.cost-col{width:14%}
.project-material-table thead th,.project-material-table thead th:first-child,.project-material-table thead th:nth-child(2){width:auto}
.project-material-table thead{text-align:left}.project-material-table .material-table-zones th{height:34px;padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel2) 72%,var(--panel));color:var(--text);font-weight:700;letter-spacing:.01em}.project-material-table .material-table-zones th[colspan]{text-align:center}.project-material-table .material-table-zones th:nth-child(3){border-left:1px solid var(--line)}
.project-material-table .material-table-columns th{height:42px;padding:7px 10px;background:color-mix(in srgb,var(--panel2) 42%,var(--panel));text-align:center;font-weight:600}.project-material-table .material-table-columns th:first-child,.project-material-table .material-table-columns th:nth-child(5){border-left:1px solid var(--line)}
.project-material-table tbody tr:not(.material-group){transition:background-color .14s ease}.project-material-table tbody tr:not(.material-group):hover{background:color-mix(in srgb,var(--ice) 4%,var(--panel))}
.project-material-table .material-need,.project-material-table .material-owned,.project-material-table .material-allocated,.project-material-table .material-missing{text-align:center}.project-material-table .material-need,.project-material-table .cost-primary{border-left:1px solid color-mix(in srgb,var(--line) 78%,transparent)}
.materials-table .material-shortage{color:var(--red)}.project-material-table .material-missing{background:transparent}.project-material-table .material-missing.material-shortage{background:color-mix(in srgb,var(--red) 7%,transparent)}.project-material-table .material-missing strong{font-size:var(--type-supporting);font-weight:750;font-variant-numeric:tabular-nums}.project-material-table .material-missing.material-shortage strong{color:var(--red)}.project-material-table .is-covered .material-missing{background:color-mix(in srgb,var(--success) 4%,transparent)}
.project-material-table .material-row-coin :is(.material-need,.material-owned,.material-allocated,.material-missing) .coin-value{display:inline-grid;grid-template-columns:max-content;justify-content:center;gap:3px;white-space:normal}.project-material-table .material-row-coin :is(.material-need,.material-owned,.material-allocated,.material-missing) .coin-denomination{justify-self:end}
.project-material-table .price-cell{padding-inline:12px}.project-material-table .price-cell strong,.project-material-table .price-cell small{line-height:1.45}.project-material-table .price-cell.unavailable{vertical-align:middle}
.project-material-table .price-line{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:7px;margin:0}.project-material-table .price-line+.price-line{margin-top:2px}.project-material-table .price-line-label{color:var(--muted);font-size:var(--type-metadata);font-weight:500;text-align:left}.project-material-table .price-line-label::after{content:":"}.project-material-table .price-line>.coin-value{justify-self:end}.project-material-table .vendor-currency .price-line>span:last-child{justify-self:end}
@media(min-width:701px){.project-detail .project-material-table td{height:48px;padding-block:4px}.project-material-table .material-identity{display:block;min-width:0}.project-material-table .material-identity>.project-meter{display:none}.project-material-table .material-name>.stock-covered{display:none}.project-material-table .material-item-icon{width:32px;height:32px;flex-basis:32px}.project-material-table .material-item-display{gap:8px;line-height:1.35}.project-material-table .material-item-display>span{min-width:0;overflow:hidden}.project-material-table .material-link-compact{display:flex;align-items:center;gap:5px;max-width:100%;min-width:0;font-size:var(--type-supporting);line-height:1.35;white-space:nowrap}.project-material-table .material-link-compact .material-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-material-table .material-link-compact .external-icon{width:11px;height:11px;flex:0 0 auto;margin:0;vertical-align:initial}.project-material-table .material-source{line-height:1.35}.project-material-table .farm-guide{margin-top:3px}.project-material-table .farm-guide-compact{font-size:var(--type-metadata)}}
@media(max-width:1199px){.project-workspace{grid-template-columns:minmax(0,1fr)}.project-queue{padding:0}.project-queue>summary{padding:14px 16px}.project-queue-body{padding:0 14px 14px}.project-rail{top:auto}}
@media(max-width:700px){.farm-priority{align-items:flex-start;flex-direction:column}.farm-priority>a{min-height:40px}.project-material-table{display:block}.project-material-table colgroup{display:none}.project-material-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.project-material-table tbody{display:grid;gap:0}.project-material-table .material-group{display:block;width:100%;padding:0;border:0;border-radius:0}.project-material-table .material-group th{display:block;width:100%;box-sizing:border-box}.material-group th>div{grid-template-columns:30px minmax(0,1fr)}.material-group b{grid-column:2;white-space:normal}.project-material-table tr:not(.material-group){grid-template-columns:repeat(2,minmax(0,1fr));margin:10px;border-radius:10px}.project-material-table td{grid-column:span 1!important}.project-material-table .material-name,.project-material-table .material-source{grid-column:1/-1!important}.project-material-table .material-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(76px,34%);align-items:center;gap:10px}.project-material-table .material-identity>.project-meter{margin:0}.project-material-table .price-cell{grid-column:span 1!important}.project-material-table .material-source:before{content:attr(data-label);display:block;margin-bottom:6px;color:var(--muted);font-size:10px}.project-material-table .material-need,.project-material-table .cost-primary{border-left:0}.project-material-table .material-missing{border-radius:7px}.project-material-table .material-row-coin :is(.material-need,.material-owned,.material-allocated,.material-missing) .coin-value{grid-template-columns:repeat(2,max-content);gap:3px 5px}.project-material-table .material-row-coin :is(.material-need,.material-owned,.material-allocated,.material-missing) .coin-denomination.gold{grid-column:1/-1;justify-self:center}.project-detail .cost-comparison{grid-template-columns:1fr}.project-detail .cost-comparison>p{grid-column:auto}}

/* System typography: 16px reading text, 14px supporting text, 12px metadata floor. */
:root{--type-metadata:12px;--type-supporting:14px;--type-body:16px;--type-lead:18px}
body{font-size:var(--type-body);line-height:1.55}.nav-item{font-size:var(--type-supporting)}.page-head p{font-size:15px;line-height:1.6}.topbar .top-status,.topbar .connect-button,
.sidebar-caption,.nav-heading,.eyebrow{font-size:var(--type-metadata)}.sidebar-user-copy strong{font-size:var(--type-supporting)}.sidebar-user-copy small,.sidebar-account #sync-label,.sidebar-account #build-version{font-size:var(--type-metadata)}
.small,.card-label,.metric-sub,.progress-label,.breadcrumb,.status-chip,.pill,.catalog-card span,.notice,dialog p,dialog label,#toast,.profile-account-email,.theme-choice small,.feature-card-head time,.feature-stage,.feature-signal{font-size:var(--type-supporting)}.catalog-card strong,.profile-account-name{font-size:var(--type-body)}
table,.materials-table{font-size:15px}th,.materials-table th{font-size:var(--type-metadata)}.materials-table th small,.material-name>small,.price-cell small{font-size:var(--type-metadata)}
.armory-summary>div>span,.armory-summary small,.armory-types button,.armory-toolbar label,.armory-filter-summary,.armory-section-heading>small,.armory-inspector-title p,.armory-facts>div,.armory-complete,.armory-recipe-progress,.armory-explanation,.armory-costs h3,.armory-costs .cost-comparison>div>span,.armory-costs .cost-comparison small,.armory-price-refresh .price-controls p,.armory-material-preview summary,.armory-material-preview li,.armory-material-preview li small,.armory-project-state,.armory-wiki,.armory-dialog-footer,.armory-category-action span{font-size:var(--type-supporting)}
.armory-item-name{font-size:15px}.armory-item-status,.armory-next-copy,.armory-craftable,.armory-tile-cost,.armory-tile-footer,.armory-completion-badge,.armory-set-heading h3,.armory-set-heading>span,.armory-set-piece,.armory-set-piece small,.armory-set-panel>button,.armory-set-panel>p{font-size:13px}.armory-tile-cost .coin-value{font-size:var(--type-metadata)}
.project-queue>summary,.queue-item-name{font-size:var(--type-supporting)}.queue-entry-controls label,.project-queue-body>p,.queue-combined small,.project-meter>span{font-size:var(--type-metadata)}.project-facts dt,.project-detail .cost-comparison>div>span,.project-detail .cost-comparison>p{font-size:var(--type-supporting)}.project-facts dd{font-size:var(--type-lead)}.stage-note,.stage-name,.stage-part,.stage-part small,.workspace-section-title>span{font-size:var(--type-supporting)}
.project-detail .materials-table{font-size:15px}.project-detail .materials-table th{font-size:var(--type-metadata)}.material-group strong{font-size:var(--type-supporting)}.material-group small,.material-group b,.farm-priority p{font-size:var(--type-metadata)}.farm-priority strong,.farm-priority>a,.farm-guide,.price-cell.unavailable>span,.project-detail .price-cell strong,.project-detail .price-cell small,.material-allocation-note{font-size:var(--type-metadata)}.material-kind{font-size:11px}
.section-heading p,.cost-comparison small,.cost-comparison>p,.planning-notes,.project-overview p,.legendary-counts dt,.recipe-components>div,.inventory-location small,.inventory-hint,.inventory-pagination,.item-locations{font-size:var(--type-supporting)}
.input,.select,.button-primary,.button-outline,.button-quiet,.connect-button{font-size:var(--type-supporting);line-height:1.4}
.material-item-display{display:flex;align-items:center;gap:10px;min-width:0}.material-item-display>span{min-width:0}.material-item-icon{width:36px;height:36px;flex:0 0 36px;border-radius:7px;object-fit:contain;background:var(--panel2)}.material-item-icon-placeholder{display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);font-size:16px}.material-name>.project-meter{margin-left:46px}
@media(max-width:700px){.material-item-icon{width:40px;height:40px;flex-basis:40px}.material-name>.project-meter{margin-left:50px}.project-material-table .material-source:before{font-size:11px}}

/* Keep every visible interface label readable; 12px is the metadata floor. */
.topbar .brand-mark,.project-queue>summary small,.project-queue>summary small span,.queue-combined small span,.project-state,.project-brief-title>.button-quiet,.project-detail .cost-comparison small,.project-detail .cost-comparison small span,.project-materials>.price-controls button,.project-material-table .price-cell>span{font-size:var(--type-metadata)}
.project-detail .project-meter>span,.material-kind{font-size:var(--type-metadata)}
.project-detail .material-name .project-meter>span{font-size:var(--type-metadata)}
.project-detail .price-cell .coin-value{font-size:var(--type-metadata)}
.project-detail .planning-notes p{font-size:var(--type-supporting)}
.price-cell .coin-value{font-size:var(--type-metadata)}
/* Character builds: profession first, templates grouped for fast comparison. */
.build-overview{max-width:1480px;margin-inline:auto}.build-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 28px;padding:20px 0;border-block:1px solid var(--line)}.build-summary>div{padding-inline:24px;border-right:1px solid var(--line)}.build-summary>div:first-child{padding-left:0}.build-summary>div:last-child{border-right:0}.build-summary dt{color:var(--muted);font-size:var(--type-supporting);line-height:1.5}.build-summary dd{margin:4px 0 0;color:var(--text);font:700 28px/1.25 var(--display);font-variant-numeric:tabular-nums}.build-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.build-character{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.build-character-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;background:color-mix(in srgb,var(--panel2) 78%,var(--panel));border-bottom:1px solid var(--line)}.build-profession-icon{display:grid;width:58px;height:58px;place-items:center;overflow:hidden;color:var(--gold)}.build-profession-icon img,.build-profession-icon svg{width:58px;height:58px;object-fit:contain}.build-character-identity{min-width:0}.build-character-identity small{display:block;margin-bottom:3px;color:var(--gold);font-size:var(--type-metadata);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.build-character-identity h2{margin:0;font:600 20px/1.3 var(--display);overflow-wrap:anywhere}.build-character-count{display:grid;justify-items:end;align-self:stretch;align-content:center;min-width:64px;padding-left:16px;border-left:1px solid var(--line)}.build-character-count strong{font:700 24px/1.2 var(--display);font-variant-numeric:tabular-nums}.build-character-count small{color:var(--muted);font-size:var(--type-metadata)}.build-template-list{list-style:none;margin:0;padding:4px 20px 10px}.build-template{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:11px 0;border-bottom:1px solid var(--line)}.build-template:last-child{border-bottom:0}.build-template-index{color:var(--muted);font-size:var(--type-metadata);font-variant-numeric:tabular-nums}.build-template-copy{display:grid;min-width:0;gap:3px}.build-template-copy strong{font-size:var(--type-supporting);font-weight:600;line-height:1.4;overflow-wrap:anywhere}.build-template-copy small{color:var(--muted);font-size:var(--type-metadata)}.build-template-state{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--type-metadata);font-weight:600;white-space:nowrap}.build-template-state:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--muted)}.build-template.is-active .build-template-state{color:var(--success)}.build-template.is-active .build-template-state:before{background:var(--success);outline:4px solid color-mix(in srgb,var(--success) 13%,transparent)}.build-template.is-active .build-template-copy strong{color:var(--text)}.build-template-empty{margin:0;padding:24px 20px;color:var(--muted);font-size:var(--type-supporting)}
@media(max-width:900px){.build-character-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.build-summary{margin-bottom:20px}.build-summary>div{padding-inline:12px}.build-summary dd{font-size:24px}.build-character-grid{gap:14px}.build-character-head{grid-template-columns:50px minmax(0,1fr);gap:12px;padding:16px}.build-profession-icon,.build-profession-icon img,.build-profession-icon svg{width:50px;height:50px}.build-character-count{grid-column:1/-1;display:flex;justify-content:flex-start;gap:5px;min-width:0;padding:11px 0 0;border-left:0;border-top:1px solid var(--line)}.build-character-count strong{font:700 var(--type-supporting)/1.4 var(--display)}.build-character-count small{font-size:var(--type-supporting)}.build-template-list{padding-inline:16px}.build-template{grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:72px}.build-template-state{grid-column:2;justify-self:start}.build-template-copy strong{font-size:var(--type-body)}}
/* Dashboard: decisions first, details in their dedicated pages. */
.dashboard{max-width:1360px;min-width:0;margin-inline:auto}.dashboard .page-head{align-items:center;margin-bottom:16px}.dashboard-sync{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:var(--type-supporting)}.dashboard .page-head h1{color:var(--text);text-shadow:none}
.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,.72fr);gap:24px;align-items:start}.dashboard-columns>*{min-width:0}.dashboard-project-overview{min-width:0}.dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 20px;padding:14px 0;border-block:1px solid var(--line)}.dashboard-summary>div{min-width:0;padding:0 14px;border-right:1px solid var(--line)}.dashboard-summary>div:first-child{padding-left:0}.dashboard-summary>div:last-child{padding-right:0;border-right:0}.dashboard-summary dt,.dashboard-summary small{color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.dashboard-summary dd{margin:4px 0 2px;font-size:21px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.35}.dashboard-summary dd>span:not(.coin-value){font-size:14px;color:var(--muted)}.dashboard-summary .coin-value{font-size:17px;flex-wrap:wrap;gap:5px}
.dashboard-project-needs{padding-top:2px}.dashboard-needs-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.dashboard-needs-head h2{margin:0;font:600 18px/1.4 var(--display)}.dashboard-needs-head p{margin:3px 0 0;color:var(--muted);font-size:var(--type-supporting)}.dashboard-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-section-head :is(h2,h3){margin:0;font:600 16px/1.4 var(--display)}.dashboard-section-head button{flex-shrink:0;min-height:44px;padding-block:7px;font-size:var(--type-supporting)}.dashboard-note{margin:5px 0 10px;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.dashboard-section{margin:0}.dashboard-today{padding-left:24px;border-left:1px solid var(--line)}.dashboard-today-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.dashboard-today-head>span{font:700 22px/1.3 var(--display)}.dashboard-today-head p{margin:3px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.dashboard-today>.dashboard-section{padding-top:18px}.dashboard-today>.dashboard-section+.dashboard-section{margin-top:18px;border-top:1px solid var(--line)}
.dashboard-list,.dashboard-routine{list-style:none;padding:0;margin:0}.dashboard-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:9px 0;border-bottom:1px solid var(--line)}.dashboard-list li>div{display:grid;gap:2px;min-width:0}.dashboard-list strong{font-size:var(--type-supporting);font-weight:600;overflow-wrap:anywhere}.dashboard-list li>div>span{color:var(--muted);font-size:var(--type-metadata)}.dashboard-list a,.dashboard-guide{color:var(--ice);font-size:var(--type-metadata);text-underline-offset:4px}.dashboard-list a{display:flex;align-items:center;min-height:40px;max-width:45%;flex-shrink:0}.dashboard-list .coin-value{font-size:var(--type-supporting);flex-wrap:wrap;justify-content:flex-end}.dashboard-guide{display:inline-flex;align-items:center;min-height:40px;margin-top:5px}.dashboard-vault-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.dashboard-vault-row>div{display:grid;gap:3px}.dashboard-vault-row strong{font-size:var(--type-supporting)}.dashboard-vault-row span{font-size:var(--type-metadata);line-height:1.45}.dashboard-vault-row>b{white-space:nowrap;font-size:18px;font-variant-numeric:tabular-nums}.dashboard-acclaim{display:flex;justify-content:space-between;gap:12px;margin-block:12px 0;color:var(--muted);font-size:var(--type-metadata)}.dashboard-acclaim strong{color:var(--text)}.dashboard-routine li{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--type-supporting);line-height:1.45}.dashboard-routine li>.muted{font-size:var(--type-metadata)}.dashboard-done{text-decoration:line-through;color:var(--muted)}.dashboard :is(button,a):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:1320px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.dashboard-today{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:20px 0 0;border-top:1px solid var(--line);border-left:0}.dashboard-today-head{grid-column:1/-1}.dashboard-today>.dashboard-section+.dashboard-section{margin-top:0;border-top:0}}
@media(max-width:760px){.dashboard-priority-grid{grid-template-columns:minmax(0,1fr)}.dashboard-today{grid-template-columns:minmax(0,1fr)}.dashboard-today>.dashboard-section+.dashboard-section{margin-top:18px;border-top:1px solid var(--line)}}
@media(max-width:600px){.dashboard .page-head{align-items:flex-start}.dashboard-sync{justify-content:flex-start;margin-top:8px}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:12px}.dashboard-summary>div{padding:10px 12px;border-bottom:1px solid var(--line)}.dashboard-summary>div:nth-child(2n){padding-right:0;border-right:0}.dashboard-summary>div:nth-child(2n+1){padding-left:0}.dashboard-summary>div:nth-last-child(-n+2){border-bottom:0}.dashboard-summary .coin-value{font-size:16px}.dashboard-summary dd{font-size:21px}.dashboard-columns{gap:20px}.dashboard-section-head{align-items:center}.dashboard-list li{gap:10px}.dashboard-list li>b{max-width:48%}.dashboard-needs-head p{max-width:36ch}}
.dashboard-list a,.dashboard-guide{min-height:44px}

/* One recommendation shared by Dashboard and Projects. */
.project-next-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 24px;margin:18px 0;padding:18px 0;border-block:1px solid var(--line)}
.project-group-heading{display:grid;gap:4px;padding:8px 2px 2px}.project-group-heading h2{margin:0;font:600 18px/1.4 var(--display);letter-spacing:-.02em}.project-group-heading p{max-width:70ch;margin:0;color:var(--muted);font-size:var(--type-supporting);line-height:1.55}.project-preflight{display:grid;gap:8px}
.project-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 12px;border-block:1px solid var(--line)}.project-snapshot>div{min-width:0;padding:12px 14px;border-right:1px solid var(--line)}.project-snapshot>div:first-child{padding-left:0}.project-snapshot>div:last-child{padding-right:0;border-right:0}.project-snapshot dt{color:var(--muted);font-size:var(--type-metadata)}.project-snapshot dd{min-height:24px;margin:4px 0 2px;font-size:var(--type-supporting);font-weight:700;line-height:1.45;overflow-wrap:anywhere}.project-snapshot dd>.coin-value{font-size:var(--type-supporting)}.project-snapshot small{display:block;color:var(--muted);font-size:var(--type-metadata);line-height:1.4}.project-snapshot .blocked dd,.project-snapshot .blocked small{color:var(--warning)}.project-snapshot .ready dd{color:var(--success)}
.project-section{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.project-section>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:14px;min-height:72px;padding:13px 17px;list-style:none;cursor:pointer}.project-section>summary::-webkit-details-marker{display:none}.project-section>summary:hover{background:var(--hover)}.project-section-copy{display:grid;gap:4px;min-width:0}.project-section-copy>strong{font:600 17px/1.4 var(--display)}.project-section-copy>small{max-width:68ch;color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.project-section-status{padding:5px 8px;border-radius:6px;background:var(--panel2);color:var(--muted);font-size:var(--type-metadata);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.project-section-chevron{width:20px;height:20px;color:var(--muted);transition:transform .18s ease-out}.project-section[open] .project-section-chevron{transform:rotate(180deg)}.project-section-body{padding:16px 17px;border-top:1px solid var(--line)}
.recipe-stages{margin:0}.recipe-stages .stage-note{margin-bottom:8px}.project-materials.has-blockers{border-color:color-mix(in srgb,var(--warning) 55%,var(--line))}.project-materials.is-ready{border-color:color-mix(in srgb,var(--success) 45%,var(--line))}.project-materials.has-blockers .project-section-status{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.project-materials.is-ready .project-section-status{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.project-materials>.project-section-body{padding:0}.project-materials>.project-section-body>.project-material-tools{padding:12px 15px 9px}.project-materials>.project-section-body>.price-controls{margin:0;padding:0 15px 10px}.project-materials>.project-section-body>.planning-notes{max-width:none;margin:0;padding:4px 15px 12px;border-top:1px solid var(--line)}
.project-section-copy>small.is-warning{color:var(--warning)}
.project-material-costs{padding:14px 15px;border-bottom:1px solid var(--line)}.project-material-costs .project-group-heading{padding:0}.project-material-costs .cost-comparison{margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
.clover-planner{border-color:color-mix(in srgb,var(--gold) 52%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 7%,var(--panel)),var(--panel) 55%)}.clover-planner.is-pending .project-section-status{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.clover-planner.is-complete .project-section-status{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.clover-planner .project-section-body{display:grid;gap:16px}.clover-context{max-width:72ch;margin:0;color:var(--muted);font-size:var(--type-supporting);line-height:1.55}
.clover-presets{display:flex;flex-wrap:wrap;gap:8px}.clover-presets button{min-height:44px}.clover-route-groups{display:grid;gap:18px}.clover-route-group{display:grid;gap:9px}.clover-route-group>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.clover-route-group h3{margin:0;font:600 16px/1.4 var(--display)}.clover-route-group>div:first-child>p{max-width:62ch;margin:0;color:var(--muted);font-size:var(--type-metadata);line-height:1.45;text-align:right}.clover-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px}.clover-route{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:start;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 75%,transparent)}.clover-route.is-selected{border-color:color-mix(in srgb,var(--gold) 58%,var(--line));background:color-mix(in srgb,var(--gold) 7%,var(--panel2))}.clover-route>span:first-child{display:grid;gap:4px;min-width:0}.clover-route strong{font-size:var(--type-supporting)}.clover-route small,.clover-route em{color:var(--muted);font-size:var(--type-metadata);font-style:normal;line-height:1.4}.clover-route .clover-saving{color:var(--success)}.clover-route-control{display:grid;align-self:start;justify-items:stretch;gap:4px}.clover-route-control>small{text-align:center}.clover-route input{width:72px;min-height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:600 16px/1 var(--body);text-align:center}.clover-route:focus-within{border-color:var(--gold);outline:2px solid color-mix(in srgb,var(--gold) 35%,transparent);outline-offset:2px}.clover-source-link{display:inline-flex;align-items:center;min-height:44px;justify-self:start;color:var(--ice);font-size:var(--type-supporting);text-underline-offset:4px}
.clover-result{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 14px;padding:12px 14px;border-radius:10px;background:var(--panel2)}.clover-result>span{grid-row:1/3;padding:5px 8px;border-radius:6px;background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning);font-size:var(--type-metadata);font-weight:700;text-transform:uppercase}.clover-result strong{font-size:var(--type-supporting)}.clover-result small{color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.clover-result.complete>span{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.cost-comparison.is-provisional strong{color:var(--muted);font-size:var(--type-supporting)}
.resource-readiness,.project-crafting{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}.resource-readiness.has-shortage,.project-crafting.has-shortage{border-color:color-mix(in srgb,var(--warning) 48%,var(--line))}.resource-readiness>summary,.project-crafting>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:14px;min-height:70px;padding:13px 17px;list-style:none;cursor:pointer}.resource-readiness>summary::-webkit-details-marker,.project-crafting>summary::-webkit-details-marker{display:none}.resource-readiness>summary:hover,.project-crafting>summary:hover{background:var(--hover)}.collapsible-section-copy{display:grid;gap:4px;min-width:0}.collapsible-section-copy>strong{font:600 17px/1.4 var(--display)}.collapsible-section-copy>small{max-width:68ch;color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.collapsible-section-status{padding:5px 8px;border-radius:6px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-size:var(--type-metadata);font-weight:700;white-space:nowrap}.has-shortage .collapsible-section-status{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.collapsible-section-chevron{width:20px;height:20px;color:var(--muted);transition:transform .18s ease-out}.resource-readiness[open] .collapsible-section-chevron,.project-crafting[open] .collapsible-section-chevron{transform:rotate(180deg)}.collapsible-section-body{padding:0 17px 15px;border-top:1px solid var(--line)}.resource-readiness ul,.project-crafting ul{list-style:none;margin:0;padding:0}.resource-readiness-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,42%);gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.resource-readiness-name,.project-crafting-item{display:flex;align-items:center;gap:11px;min-width:0}.resource-readiness-name>span,.project-crafting-item>span{display:grid;gap:4px;min-width:0}.resource-readiness-name strong{font-size:var(--type-body)}.resource-readiness-name small,.project-crafting-item small{color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.resource-readiness-name small>span{color:var(--text)}.resource-readiness-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.resource-readiness-row dl>div{min-width:0}.resource-readiness-row dt{color:var(--muted);font-size:var(--type-metadata)}.resource-readiness-row dd{margin:3px 0 0;font-size:var(--type-supporting);font-weight:700;font-variant-numeric:tabular-nums}.resource-readiness-row.is-short dd:last-child{color:var(--warning)}.resource-readiness-note,.resource-readiness-foot,.project-crafting-note{margin:10px 0 0;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.resource-readiness-note,.project-crafting-row.is-blocked>div:last-child>strong{color:var(--warning)}
.resource-readiness-preview{display:flex;flex-wrap:wrap;gap:3px 12px}.resource-readiness-preview-item{overflow-wrap:anywhere}.resource-readiness-preview-item em{margin-left:4px;color:var(--warning);font-size:var(--type-metadata);font-style:normal}.resource-readiness.is-unconfirmed .collapsible-section-status{background:var(--panel2);color:var(--muted)}
.resource-readiness-preview{display:grid;gap:3px}.resource-readiness-preview-item strong{color:var(--text);font-weight:700}.resource-readiness-preview-item.is-short strong{color:var(--warning)}.resource-readiness-preview-item.is-simulated strong{color:var(--gold)}.resource-readiness-preview-item.is-covered strong{color:var(--success)}
.resource-readiness{scroll-margin-top:70px}
.resource-readiness>summary{min-height:62px;padding-block:10px}.resource-readiness>.collapsible-section-body{padding-bottom:10px}.resource-readiness-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,42%);gap:18px;align-items:end;padding:8px 0 3px}.resource-readiness-columns>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.resource-readiness-columns>div>span{color:var(--muted);font-size:var(--type-metadata);line-height:1.35}.resource-readiness-columns>div>span+span{padding-left:12px}.resource-readiness-group{padding-top:5px}.resource-readiness-group+.resource-readiness-group{margin-top:2px;border-top:1px solid var(--line)}.resource-readiness-group h3{margin:0;padding:2px 0;color:var(--muted);font:600 var(--type-supporting)/1.35 var(--body)}.resource-readiness-group.is-short h3{color:var(--warning)}.resource-readiness-group.is-covered h3{color:var(--success)}.resource-readiness-group.is-simulated h3{color:var(--gold)}.resource-readiness-group .resource-readiness-row:last-child{border-bottom:0}
.resource-readiness-row{min-height:46px;gap:6px 18px;padding:5px 0}.resource-readiness-name{gap:9px}.resource-readiness-name>.material-item-icon{width:32px;height:32px;flex-basis:32px}.resource-readiness-name>span{gap:1px}.resource-readiness-name small{line-height:1.3}.resource-readiness-row dl{gap:0}.resource-readiness-row dl>div+div{padding-left:12px;border-left:1px solid var(--line)}.resource-readiness-row dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.resource-readiness-row dd{margin:0;font-size:var(--type-body);line-height:1.25}.resource-readiness-row.is-short .resource-gap dd{color:var(--warning)}.resource-readiness-row.is-simulated .resource-gap dd{color:var(--gold)}.resource-readiness-row.is-covered .resource-gap dd{color:var(--success)}.resource-allocation-note{grid-column:2;margin:0;color:var(--muted);font-size:var(--type-metadata);line-height:1.4}.resource-allocation-note>span:first-child{color:var(--text)}.resource-readiness-foot{margin-top:7px}
.resource-readiness .resource-readiness-row.is-short dd{color:var(--text)}.resource-readiness .resource-readiness-row.is-short .resource-gap dd{color:var(--red)}
.project-crafting-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(180px,1fr) minmax(220px,1.2fr);gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.project-crafting-row>div:not(.project-crafting-item){display:grid;gap:4px;min-width:0}.project-crafting-row>div>span{color:var(--muted);font-size:var(--type-metadata)}.project-crafting-row>div>strong{font-size:var(--type-supporting);line-height:1.45;overflow-wrap:anywhere}.project-crafting-row>div>small{color:var(--muted);font-size:var(--type-metadata)}.project-crafting-row.is-ready>div:last-child>strong{color:var(--success)}

/* Project disclosures: restrained jewel states with a dedicated icon tile. */
.project-preflight{gap:10px}
.project-section,.resource-readiness,.project-crafting{border-color:var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 96%,var(--bg))}
.project-section.state-ready,.project-section.state-blocked,.project-section.state-pending,.resource-readiness.state-ready,.resource-readiness.state-blocked,.resource-readiness.state-pending,.project-crafting.state-ready,.project-crafting.state-blocked,.project-crafting.state-pending,.resource-readiness.has-shortage,.project-crafting.has-shortage,.project-materials.has-blockers,.project-materials.is-ready{border-color:var(--line)}
.project-section>summary,.resource-readiness>summary,.project-crafting>summary{grid-template-columns:38px minmax(0,1fr) auto 20px;min-height:68px;padding:11px 17px;gap:14px;background:transparent!important}
.project-section>summary:hover,.resource-readiness>summary:hover,.project-crafting>summary:hover{background:var(--hover)!important}
.project-section-state{width:36px;height:36px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:9px;background:var(--panel2)!important;color:var(--muted)}
.project-section-state svg{width:19px;height:19px;stroke-width:1.65}
.project-section-state.ready{border-color:color-mix(in srgb,var(--success) 38%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--success) 74%,var(--ice))}
.project-section-state.blocked{border-color:color-mix(in srgb,var(--warning) 32%,var(--line));background:color-mix(in srgb,var(--warning) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--warning) 48%,var(--red))}
.project-section-state.pending{border-color:color-mix(in srgb,var(--ice) 25%,var(--line));background:color-mix(in srgb,var(--ice) 7%,var(--panel2))!important;color:color-mix(in srgb,var(--ice) 50%,var(--muted))}
.project-section-copy,.collapsible-section-copy{gap:0;padding-left:14px;border-left:1px solid color-mix(in srgb,var(--line) 82%,transparent)}
.project-section-copy>strong,.collapsible-section-copy>strong{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.project-section-status,.collapsible-section-status{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)!important;color:var(--muted)!important;font-size:var(--type-metadata);font-weight:650;letter-spacing:.005em}
.state-ready :is(.project-section-status,.collapsible-section-status),.project-materials.is-ready .project-section-status{border-color:color-mix(in srgb,var(--success) 33%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--success) 74%,var(--ice))!important}
.state-blocked :is(.project-section-status,.collapsible-section-status),.has-shortage .collapsible-section-status,.project-materials.has-blockers .project-section-status{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:color-mix(in srgb,var(--warning) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--warning) 48%,var(--red))!important}
.state-pending :is(.project-section-status,.collapsible-section-status){border-color:color-mix(in srgb,var(--ice) 22%,var(--line));background:color-mix(in srgb,var(--ice) 6%,var(--panel2))!important;color:color-mix(in srgb,var(--ice) 50%,var(--muted))!important}
.project-section-chevron,.collapsible-section-chevron{width:20px;height:20px;color:var(--muted)}
@media(max-width:700px){
  .project-section>summary,.resource-readiness>summary,.project-crafting>summary{grid-template-columns:36px minmax(0,1fr) 20px;min-height:68px;padding:11px 14px;gap:11px}
  .project-section-state{width:34px;height:34px}
  .project-section-copy,.collapsible-section-copy{padding-left:11px}
}

.craft-discipline-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.craft-discipline-badge{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:2px 7px 2px 3px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);white-space:nowrap}.craft-discipline-badge img{width:24px;height:24px;object-fit:contain}.craft-discipline-badge b{font-size:var(--type-metadata);font-weight:700;font-variant-numeric:tabular-nums}.craft-discipline-text{font-size:var(--type-metadata)}.craft-discipline-summary{flex-wrap:nowrap}.craft-discipline-badge.is-compact{gap:3px;min-height:24px;padding:0;border:0;border-radius:0;background:transparent}.craft-discipline-more{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 4px;border:1px solid var(--line);border-radius:5px;background:var(--panel2);font-size:var(--type-metadata);font-variant-numeric:tabular-nums;white-space:nowrap}.project-crafting-character,.craft-path-character{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-crafting-row.is-ready .project-crafting-character>span:first-child{color:var(--success)}.project-crafting-character .craft-discipline-badge{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 7%,var(--panel))}
.project-craft-path{margin-top:16px;scroll-margin-top:72px}.project-craft-path .project-section-status.is-ready{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.project-craft-path>.project-section-body{display:grid;gap:20px;padding:17px}.craft-path-map{display:grid;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.craft-path-map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.craft-path-map-heading>strong{font:600 16px/1.4 var(--display)}.craft-path-map-heading>span{color:var(--muted);font-size:var(--type-supporting)}.craft-path-fronts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.craft-path-node{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px 10px;min-width:0;padding:11px 12px;border-radius:10px;background:var(--panel2)}.craft-path-node>span:first-child{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--gold)}.craft-path-node>span:first-child svg{width:18px;height:18px}.craft-path-node>strong{font-size:var(--type-supporting);line-height:1.35;overflow-wrap:anywhere}.craft-path-node>small{color:var(--muted);font-size:var(--type-metadata);line-height:1.35}.craft-path-node.ready>span:first-child,.craft-path-final.ready>span:first-child{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.craft-path-node.ready>small,.craft-path-final.ready>small{color:var(--success)}.craft-path-node.refreshing>span:first-child,.craft-path-final.refreshing>span:first-child{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.craft-path-converge{display:flex;align-items:center;gap:12px;color:var(--muted)}.craft-path-converge>span{height:1px;flex:1;background:var(--line)}.craft-path-converge>b{font-size:var(--type-metadata);font-weight:600}.craft-path-final{justify-self:center;min-width:min(100%,250px)}.craft-path-final>span:first-child{overflow:hidden}.craft-path-final .project-item-icon,.craft-path-final .project-item-placeholder{width:40px;height:40px;border-radius:50%}.craft-path-final>span:first-child:has(.project-item-icon,.project-item-placeholder){width:40px;height:40px;background:transparent}.craft-path-lanes{display:grid;gap:22px}.craft-path-lane{min-width:0}.craft-path-lane-heading{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding-bottom:10px;border-bottom:1px solid var(--line)}.craft-path-lane-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold)}.craft-path-lane-icon svg{width:20px;height:20px}.craft-path-lane-heading h3{margin:0;font:600 16px/1.4 var(--display)}.craft-path-lane-heading p{margin:3px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.craft-path-lane-heading>b{align-self:center;padding:5px 8px;border-radius:6px;background:var(--panel2);color:var(--muted);font-size:var(--type-metadata);white-space:nowrap}.craft-path-lane.is-ready .craft-path-lane-heading>b{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.craft-path-lane>ul{list-style:none;margin:0;padding:0}.craft-path-material{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;border-bottom:1px solid var(--line)}.craft-path-material>div{display:grid;gap:3px;min-width:0}.craft-path-material strong{font-size:var(--type-supporting);overflow-wrap:anywhere}.craft-path-material small{color:var(--muted);font-size:var(--type-metadata)}.craft-path-material>a{display:flex;align-items:center;min-height:44px;color:var(--ice);font-size:var(--type-metadata);text-underline-offset:3px}.craft-path-material>b{font-size:var(--type-supporting);font-weight:600}.craft-path-task{display:grid;grid-template-columns:36px minmax(150px,1fr) minmax(320px,1.6fr) auto;align-items:center;gap:10px 14px;min-height:76px;border-bottom:1px solid var(--line)}.craft-path-task-copy{display:grid;gap:3px;min-width:0}.craft-path-task-copy>strong{font-size:var(--type-supporting)}.craft-path-task-copy>small{color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.craft-path-task dl{display:grid;grid-template-columns:70px minmax(130px,1.1fr) minmax(130px,1.2fr) minmax(100px,.8fr);gap:9px;margin:0}.craft-path-task dl>div{min-width:0}.craft-path-task dt{color:var(--muted);font-size:var(--type-metadata)}.craft-path-task dd{margin:3px 0 0;font-size:var(--type-metadata);font-weight:600;line-height:1.4;overflow-wrap:anywhere}.craft-path-task-state{padding:5px 8px;border-radius:6px;background:var(--panel2);color:var(--muted);font-size:var(--type-metadata);font-weight:600;white-space:nowrap}.craft-path-task.ready .craft-path-task-state{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.craft-path-task.profession .craft-path-task-state,.craft-path-task.materials .craft-path-task-state{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.craft-path-loading{padding:16px 0;color:var(--muted);font-size:var(--type-supporting)}.craft-path-finish{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding-top:2px}.craft-path-finish>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.craft-path-finish>span svg{width:20px;height:20px}.craft-path-finish>div{min-width:0}.craft-path-finish strong{font-size:var(--type-body)}.craft-path-finish p{max-width:72ch;margin:4px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.5}.craft-path-finish>a{display:flex;align-items:center;min-height:44px;color:var(--ice);font-size:var(--type-supporting)}.craft-path-finish.ready>span{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}
.craft-path-rule{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.craft-path-rule>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--gold)}.craft-path-rule svg{width:18px;height:18px}.craft-path-rule>div{display:grid;gap:2px}.craft-path-rule strong{font-size:var(--type-supporting)}.craft-path-rule small{color:var(--muted);font-size:var(--type-metadata);line-height:1.4}.craft-path-flow{--path-line:color-mix(in srgb,var(--muted) 58%,var(--line));position:relative;display:grid;grid-template-columns:repeat(var(--path-front-count),minmax(0,1fr));grid-template-rows:76px 104px 80px;gap:24px 10px;margin-top:4px}.craft-path-split-line,.craft-path-merge-line{position:absolute;z-index:0;left:calc(50% / var(--path-front-count));right:calc(50% / var(--path-front-count));height:1px;background:var(--path-line)}.craft-path-split-line{top:88px}.craft-path-merge-line{top:216px}.craft-path-choice,.craft-path-flow>.craft-path-node{position:relative;z-index:1;box-sizing:border-box;background:var(--panel2)}.craft-path-choice{grid-column:1/-1;grid-row:1;justify-self:center;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:min(100%,310px);height:76px;padding:10px 12px;border-radius:10px}.craft-path-choice>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ice) 13%,transparent);color:var(--ice)}.craft-path-choice svg{width:18px;height:18px}.craft-path-choice>div,.craft-path-node-copy{display:grid;gap:3px;min-width:0}.craft-path-choice strong,.craft-path-node-copy strong{font-size:var(--type-supporting);line-height:1.35;overflow-wrap:anywhere}.craft-path-choice small,.craft-path-node-copy small{color:var(--muted);font-size:var(--type-metadata);line-height:1.35}.craft-path-choice::after,.craft-path-flow>[data-path-front]::before,.craft-path-flow>[data-path-front]::after,.craft-path-flow>.craft-path-final::before{position:absolute;left:50%;z-index:-1;width:1px;height:12px;background:var(--path-line);content:""}.craft-path-choice::after,.craft-path-flow>[data-path-front]::after{top:100%}.craft-path-flow>[data-path-front]::before,.craft-path-flow>.craft-path-final::before{bottom:100%}.craft-path-flow>[data-path-front]{grid-row:2;height:104px}.craft-path-flow>.craft-path-node{grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;gap:3px 10px;padding:10px 11px}.craft-path-flow>.craft-path-node>.craft-path-node-icon{grid-row:1/4}.craft-path-flow>.craft-path-node>b{grid-column:2;justify-self:start;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--gold) 11%,transparent);color:var(--gold);font-size:12px;line-height:1.35;font-weight:650}.craft-path-flow>.craft-path-node.ready>b{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.craft-path-flow>.craft-path-node.refreshing>b{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.craft-path-flow>.craft-path-final{grid-column:1/-1;grid-row:3;justify-self:center;width:min(100%,310px);height:80px;min-width:0}.craft-path-flow>.craft-path-final>.craft-path-node-icon{grid-row:1}.craft-path-flow>.craft-path-final .project-item-icon,.craft-path-flow>.craft-path-final .project-item-placeholder{width:34px;height:34px}.craft-path-flow>.craft-path-final>.craft-path-node-icon:has(.project-item-icon,.project-item-placeholder){width:34px;height:34px;background:transparent}.craft-path-flow>.craft-path-node.ready .craft-path-node-copy small,.craft-path-flow>.craft-path-final.ready .craft-path-node-copy small{color:var(--success)}
.craft-path-flow.is-complete{grid-template-columns:1fr;grid-template-rows:76px 80px}.craft-path-flow.is-complete>.craft-path-split-line,.craft-path-flow.is-complete>.craft-path-merge-line{display:none}.craft-path-flow.is-complete>.craft-path-final{grid-row:2}
@media(max-width:900px){.clover-routes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.clover-presets{display:grid;grid-template-columns:1fr}.clover-presets button{width:100%}.clover-route-group>div:first-child{display:grid;gap:3px}.clover-route-group>div:first-child>p{text-align:left}.clover-routes{grid-template-columns:1fr}.clover-route{grid-template-columns:minmax(0,1fr) 72px}.clover-route input{width:72px}.clover-result{grid-template-columns:1fr}.clover-result>span{grid-row:auto;justify-self:start}}
@media(max-width:700px){.resource-readiness>summary,.project-crafting>summary{grid-template-columns:minmax(0,1fr) 20px;gap:10px;padding:13px 14px}.collapsible-section-status{grid-column:1;grid-row:2;justify-self:start}.collapsible-section-chevron{grid-column:2;grid-row:1/3}.collapsible-section-body{padding:0 14px 14px}.resource-readiness-row,.project-crafting-row{grid-template-columns:1fr;gap:11px}.resource-readiness-row dl{padding-left:47px}.project-crafting-row>div:not(.project-crafting-item){padding-left:47px}}
@media(max-width:900px){.craft-path-fronts{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-path-task{grid-template-columns:36px minmax(0,1fr) auto}.craft-path-task dl{grid-column:2/-1;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:12px}.craft-path-task-state{grid-column:3;grid-row:1}}
@media(max-width:600px){.project-craft-path>.project-section-body{padding:14px}.craft-path-map-heading{align-items:flex-start;flex-direction:column}.craft-path-fronts{grid-template-columns:1fr}.craft-path-node{min-height:58px}.craft-path-lane-heading{grid-template-columns:38px minmax(0,1fr)}.craft-path-lane-heading>b{grid-column:2;justify-self:start;white-space:normal}.craft-path-material{grid-template-columns:36px minmax(0,1fr)}.craft-path-material>a,.craft-path-material>b{grid-column:2;justify-self:start}.craft-path-task{grid-template-columns:36px minmax(0,1fr)}.craft-path-task dl{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0}.craft-path-task-state{grid-column:2;grid-row:auto;justify-self:start;margin-bottom:12px}.craft-path-finish{grid-template-columns:38px minmax(0,1fr)}.craft-path-finish>a{grid-column:2;justify-self:start}}
@media(max-width:900px){.craft-path-flow{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:8px;margin-top:4px}.craft-path-split-line,.craft-path-merge-line{display:none}.craft-path-flow::before{position:absolute;top:38px;bottom:40px;left:28px;width:1px;background:var(--path-line);content:""}.craft-path-choice,.craft-path-flow>[data-path-front],.craft-path-flow>.craft-path-final{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;height:auto;min-height:68px}.craft-path-choice::after,.craft-path-flow>[data-path-front]::before,.craft-path-flow>[data-path-front]::after,.craft-path-flow>.craft-path-final::before{display:none}.craft-path-flow>.craft-path-node{grid-template-rows:auto auto auto}.craft-path-flow>.craft-path-final>.craft-path-node-icon{grid-row:1/3}}
@media(max-width:700px){.resource-readiness-columns{display:none}.resource-readiness-group{padding-top:7px}.resource-readiness-row{padding:8px 0}.resource-readiness-row dl{padding-left:0}.resource-readiness-row dt{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.resource-readiness-row dd{margin-top:2px}.resource-allocation-note{grid-column:1}}
@media(max-width:700px){.project-section>summary{grid-template-columns:minmax(0,1fr) 20px;gap:10px;padding:13px 14px}.project-section-status{grid-column:1;grid-row:2;justify-self:start;white-space:normal}.project-section-chevron{grid-column:2;grid-row:1/3}.project-section-body{padding:14px}.project-materials>.project-section-body{padding:0}.project-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.project-snapshot>div{padding:11px;border-bottom:1px solid var(--line)}.project-snapshot>div:nth-child(2){border-right:0}.project-snapshot>div:nth-last-child(-n+2){border-bottom:0}.project-snapshot>div:first-child{padding-left:11px}.project-snapshot>div:last-child{padding-right:11px}}
@media(max-width:420px){.project-snapshot{grid-template-columns:1fr}.project-snapshot>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.project-snapshot>div:last-child{border-bottom:0!important}}
.project-action-copy{min-width:0}.project-action-label{display:block;margin-bottom:5px;color:var(--muted);font-size:var(--type-supporting)}
.project-action-copy h2,.project-action-copy h3{margin:0;color:var(--text);font:600 20px/1.35 var(--display);overflow-wrap:anywhere}
.project-action-copy p{max-width:68ch;margin:6px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.55}
.project-action-project strong{color:var(--text)}
.project-action-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.project-action-controls button{min-height:44px}
.project-action-progress{display:grid;align-self:center;gap:8px;min-width:220px;color:var(--muted);font-size:var(--type-supporting)}
.project-action-progress .project-meter{width:100%}
.dashboard-action{grid-template-columns:minmax(0,1fr) minmax(200px,260px) auto;align-items:center;margin:0 0 14px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.dashboard-action .project-action-copy h2{font-size:clamp(22px,2.2vw,30px)}
.dashboard-action .project-action-project{margin-top:10px}
@media(max-width:1000px){.dashboard-action{grid-template-columns:minmax(0,1fr) minmax(200px,260px)}.dashboard-action .project-action-controls{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:650px){.project-next-action,.dashboard-action{grid-template-columns:minmax(0,1fr);align-items:start}.dashboard-action{padding:18px}.project-action-progress{width:100%;min-width:0}.project-action-controls{justify-content:flex-start}.project-action-controls button{flex:1 1 100%}}

/* Profile consolidates account health, synchronization and preferences. */
#profile-page{max-width:1680px;margin-inline:auto}
#profile-page .page-head{margin-bottom:28px}
#profile-page .page-head h1{margin:0}
#profile-page .page-head p{max-width:62ch}
#profile-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:36px;align-items:start}
#profile-content>div{min-width:0}
#profile-content p{font-size:var(--type-supporting);line-height:1.6;color:var(--muted)}
#profile-content h2{margin:0 0 8px;font:600 18px var(--display)}
#profile-content button{min-height:44px}
#profile-content .profile-section-head h2{color:var(--text)}
#profile-content .profile-section-head p{margin:0 0 16px}
.profile-account-settings,.profile-visual-settings{padding-left:32px;border-left:1px solid var(--line)}
.profile-visual-settings{grid-column:2}
.profile-guest{display:block}
#profile-content .profile-guest .stack{margin-top:12px}
#profile-content .profile-account-panel{align-items:start}
.profile-display-name-form{display:grid;gap:7px;max-width:360px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.profile-display-name-form>label{color:var(--muted);font-size:var(--type-supporting);font-weight:700}
.profile-display-name-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.profile-display-name-controls .input{min-width:0;min-height:44px;background:var(--panel2)}
.profile-display-name-controls .button-primary{min-height:44px;white-space:nowrap}
.profile-display-name-hint{margin:0;color:var(--muted);font-size:var(--type-metadata);line-height:1.45}
.profile-display-name-form .form-error{margin:2px 0 0}
#profile-content .profile-api-cache{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.profile-readiness{display:grid;grid-template-columns:12px minmax(0,1fr);gap:13px;align-items:start;margin:20px 0;padding:18px 0;border-block:1px solid var(--line)}
.profile-readiness-mark{width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--muted)}
.profile-readiness.is-ready .profile-readiness-mark{background:var(--success);outline:5px solid color-mix(in srgb,var(--success) 13%,transparent)}
.profile-readiness.has-warning .profile-readiness-mark{background:var(--gold);outline:5px solid color-mix(in srgb,var(--gold) 13%,transparent)}
.profile-readiness.is-checking .profile-readiness-mark{background:var(--ice);animation:readiness-pulse 1.1s ease-in-out infinite alternate}
.profile-readiness strong{display:block;font-size:var(--type-body)}
#profile-content .profile-readiness p{margin:3px 0 0}
@keyframes readiness-pulse{to{opacity:.35;transform:scale(.75)}}
@media(prefers-reduced-motion:reduce){.profile-readiness.is-checking .profile-readiness-mark{animation:none}}
.profile-game-identity{display:grid;gap:4px;margin-block:18px}
.profile-game-identity>strong{font-size:var(--type-lead);overflow-wrap:anywhere}
.profile-game-identity>span{color:var(--muted);font-size:var(--type-supporting);line-height:1.5}
.profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
#profile-content .profile-actions button{white-space:normal}
.profile-cache-note{flex:1 1 100%;color:var(--muted);font-size:12px;line-height:1.45}
.profile-connection{margin-top:10px}
#profile-content summary{min-height:44px;padding-block:12px;cursor:pointer;color:var(--text);font-size:var(--type-body);font-weight:600}
#profile-content summary:hover{color:var(--ice)}
.profile-connection-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}
.profile-remove-key{color:var(--red)}
.profile-remove-key:hover{color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent)}
.profile-privacy{margin-bottom:0}
.profile-next-action{display:grid;gap:3px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.profile-next-action>span{color:var(--muted);font-size:var(--type-supporting)}
.profile-next-action>strong{font-size:var(--type-body);overflow-wrap:anywhere}
.profile-next-action>button{justify-self:start;margin-top:6px}
.profile-preferences{margin-top:24px;padding-top:12px;border-top:1px solid var(--line)}
#profile-content .profile-preferences .profile-appearance{margin-top:12px;padding-top:0;border:0}
#profile-content :is(button,summary,select):focus-visible{outline:2px solid var(--ice);outline-offset:3px}
@media(min-width:1600px){
  .content-wrap main:has(#profile-page){padding-bottom:0}
  #profile-page .page-head{margin-bottom:20px}
  #profile-content{grid-template-columns:minmax(460px,1.12fr) minmax(300px,.74fr) minmax(400px,1fr);gap:28px}
  .profile-account-settings,.profile-visual-settings{grid-column:auto;padding-left:28px}
  #profile-content .profile-appearance{margin-top:0}
  .profile-preferences{margin-top:16px;padding-top:8px}
  .profile-readiness{margin:14px 0;padding:14px 0}
  .profile-next-action{margin-top:16px;padding-top:14px}
  .profile-preferences>summary{margin-bottom:4px}
  .profile-theme{margin-top:0;padding-top:0;border-top:0}
  .profile-theme .profile-section-head p{margin-bottom:10px}
  .theme-grid{gap:5px}
  .theme-choice{grid-template-columns:36px minmax(0,1fr) 14px;gap:8px;min-height:49px;padding:5px 8px;border-radius:10px}
  .theme-swatches{width:34px;height:26px;border-radius:6px}
  .theme-choice strong{font-size:var(--type-supporting)}
  .theme-choice small{margin-top:1px;font-size:var(--type-metadata);line-height:1.35}
}
@media(max-width:1100px){
  #profile-content{grid-template-columns:minmax(0,1fr);gap:32px}
  .profile-account-settings,.profile-visual-settings{grid-column:auto;padding:24px 0 0;border-top:1px solid var(--line);border-left:0}
}
@media(max-width:560px){
  #profile-page .page-head{margin-bottom:22px}
  .profile-actions>button,.profile-connection-actions>button{flex:1 1 100%}
  .profile-display-name-controls{grid-template-columns:1fr}
  .profile-display-name-controls .button-primary{width:100%}
}
#profile-content .profile-appearance { border:0; padding:0; min-width:0; margin:20px 0 24px; }
.profile-appearance legend { padding:0; margin-bottom:4px; color:var(--text); font:600 17px var(--display); }
.appearance-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
#profile-content .appearance-option { display:grid; grid-template-columns:minmax(0,1fr) 18px; align-content:start; gap:16px 8px; margin:0; padding:16px; min-height:132px; border:1px solid var(--line); border-radius:12px; background:var(--panel); cursor:pointer; }
#profile-content .appearance-option:hover { background:var(--panel2); }
#profile-content .appearance-option:has(:checked) { border-color:var(--gold); background:color-mix(in srgb,var(--gold) 8%,var(--panel)); }
.appearance-icon { display:flex; align-items:center; height:28px; color:var(--muted); }
.appearance-icon svg { width:26px; height:26px; }
.appearance-option:has(:checked) .appearance-icon { color:var(--gold); }
#profile-content .appearance-option input { width:18px; height:18px; margin:3px 0 0; padding:0; accent-color:var(--gold); align-self:start; }
.appearance-copy { grid-column:1/-1; min-width:0; }
.appearance-copy strong { display:block; font-size:16px; font-weight:600; }
.appearance-copy small { display:block; margin-top:3px; font-size:12px; font-weight:400; line-height:1.5; color:var(--muted); }
#profile-content .appearance-status { display:flex; align-items:center; gap:7px; margin:12px 0 0; font-size:12px; color:var(--muted); }
.appearance-status svg { width:14px; height:14px; flex-shrink:0; color:var(--gold); }
#profile-content .appearance-option:has(:focus-visible) { outline:2px solid var(--ice); outline-offset:3px; }
@media(max-width:560px) {
  .appearance-options { grid-template-columns:1fr; gap:8px; }
  #profile-content .appearance-option { grid-template-columns:28px minmax(0,1fr) 18px; align-items:center; min-height:76px; gap:12px; padding:14px; }
  .appearance-copy { grid-column:2; grid-row:1; }
  #profile-content .appearance-option input { grid-column:3; grid-row:1; margin:0; align-self:center; }
}

/* Compact account actions; game sections live in the main navigation. */
.sidebar-account-menu{position:absolute;bottom:calc(100% + 8px);left:8px;width:min(280px,calc(100vw - 32px));display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:var(--panel)}
.sidebar-menu-action{width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:var(--type-supporting);font-weight:600;line-height:1.4;text-align:left;overflow-wrap:anywhere}
.sidebar-menu-action:hover{background:var(--hover)}
.sidebar-menu-action[hidden]{display:none}
.sidebar-account-menu #sidebar-sign-out{margin-top:4px;color:var(--red)}
.sidebar-account-menu #sidebar-sign-out:hover{background:color-mix(in srgb,var(--red) 10%,var(--panel));color:color-mix(in srgb,var(--red) 82%,white)}
.sidebar-account-menu #sidebar-sign-out svg{color:currentColor}
.sidebar-account-menu .form-error{margin:8px 12px;font-size:var(--type-supporting);overflow-wrap:anywhere}

/* Account controls float above the dock without resizing navigation. */
.sidebar{overflow:visible}
.sidebar #nav{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.sidebar-account{background:var(--side)}
.sidebar-user{grid-template-columns:32px minmax(0,1fr) 14px;gap:8px;padding:12px}
.sidebar-user:hover,.sidebar-user[aria-expanded="true"]{background:var(--hover)}
.sidebar-avatar{border:0;border-radius:8px;background:var(--panel2);color:var(--text)}
.sidebar-user-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.sidebar-user-chevron{width:14px;height:14px;color:var(--muted)}
.sidebar-user[aria-expanded="true"] .sidebar-user-chevron{transform:rotate(180deg)}
.sidebar-account .sidebar-foot{padding:0 12px 12px;border-top:0;gap:8px;align-items:baseline}
.sidebar-account .sidebar-status{display:grid;gap:2px;white-space:normal}
.sidebar-account #sync-label{white-space:normal;overflow:visible}
.sidebar-account #build-version{font-weight:400;color:var(--muted)}
.sidebar-menu-action{display:flex;align-items:center;gap:10px}
.sidebar-menu-action svg{width:28px;height:20px;flex-shrink:0;color:var(--muted)}
.sidebar-menu-action.is-loading svg{display:none}

/* Navigation icons use the same calm, semantic color vocabulary as the app. */
.nav-item{gap:10px}.nav-icon{--nav-tone:var(--muted);display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border:1px solid color-mix(in srgb,var(--nav-tone) 30%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--nav-tone) 10%,var(--panel2));color:var(--nav-tone)}.nav-icon svg{width:16px;height:16px}.nav-icon-today{--nav-tone:var(--gold)}.nav-icon-collection{--nav-tone:color-mix(in srgb,var(--red) 64%,var(--gold))}.nav-icon-planning{--nav-tone:color-mix(in srgb,var(--gold) 42%,var(--ice))}.nav-icon-materials{--nav-tone:var(--ice)}.nav-icon-market{--nav-tone:var(--success)}.nav-icon-activities{--nav-tone:color-mix(in srgb,var(--ice) 58%,var(--gold))}.nav-icon-admin{--nav-tone:color-mix(in srgb,var(--red) 55%,var(--ice))}.nav-icon-more{--nav-tone:color-mix(in srgb,var(--red) 72%,var(--gold))}.nav-item:hover .nav-icon{background:color-mix(in srgb,var(--nav-tone) 16%,var(--panel2));border-color:color-mix(in srgb,var(--nav-tone) 52%,var(--line))}.nav-item.active .nav-icon{border-color:var(--nav-tone);background:color-mix(in srgb,var(--nav-tone) 19%,var(--panel2));color:var(--nav-tone)}

/* Dense conventional navigation: colored section headers keep the hierarchy legible. */
#nav{padding:0 10px 12px}.nav-section{--section-tone:var(--muted);margin:8px 0 0}.nav-section:first-child{margin-top:0}.nav-section-today{--section-tone:var(--gold)}.nav-section-collection{--section-tone:color-mix(in srgb,var(--red) 64%,var(--gold))}.nav-section-planning{--section-tone:color-mix(in srgb,var(--gold) 42%,var(--ice))}.nav-section-materials{--section-tone:var(--ice)}.nav-section-market{--section-tone:var(--success)}.nav-section-activities{--section-tone:color-mix(in srgb,var(--ice) 58%,var(--gold))}.nav-section-admin{--section-tone:color-mix(in srgb,var(--red) 55%,var(--ice))}.nav-section-more{--section-tone:color-mix(in srgb,var(--red) 72%,var(--gold))}.nav-section-title{margin:0;padding:6px 10px;border-left:2px solid var(--section-tone);border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--section-tone) 12%,transparent),transparent 82%);color:color-mix(in srgb,var(--section-tone) 70%,var(--text));font-size:var(--type-metadata);font-weight:800;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}.nav-section-items{display:grid;gap:1px;padding:3px 0 0}.nav-section-items .nav-item{position:relative;width:100%;min-height:38px;margin:0;padding:3px 8px;gap:7px;border-radius:7px;color:var(--muted);font-size:var(--type-supporting);font-weight:600}.nav-section-items .nav-icon{--nav-tone:var(--section-tone);width:29px;height:29px;flex-basis:29px;border:0;border-radius:8px;background:color-mix(in srgb,var(--section-tone) 8%,transparent);color:color-mix(in srgb,var(--section-tone) 78%,var(--text))}.nav-section-items .nav-icon svg{width:19px;height:19px;stroke-width:1.8}.nav-section-items .nav-item:hover{background:color-mix(in srgb,var(--hover) 78%,transparent);color:var(--text)}.nav-section-items .nav-item:hover .nav-icon{background:color-mix(in srgb,var(--section-tone) 14%,transparent);color:var(--section-tone)}.nav-section-items .nav-item.active{background:color-mix(in srgb,var(--section-tone) 8%,var(--panel2));box-shadow:none;color:var(--text)}.nav-section-items .nav-item.active::after{position:absolute;top:9px;bottom:9px;left:0;width:2px;border-radius:2px;background:var(--section-tone);content:""}.nav-section-items .nav-item.active .nav-icon{background:color-mix(in srgb,var(--section-tone) 17%,transparent);color:var(--section-tone)}
/* Flip Finder turns live Trading Post quotes into capital-aware decisions. */
.flip-finder{max-width:1540px;margin-inline:auto}.market-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.market-title-row{display:flex;align-items:center;gap:10px}.market-head h1{margin:0;color:var(--gold);font:700 clamp(26px,2.6vw,35px)/1.2 var(--display);letter-spacing:-.03em}.market-head p{margin:6px 0 0;color:var(--muted);font-size:var(--type-supporting)}.market-beta{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:5px;background:color-mix(in srgb,var(--gold) 14%,var(--panel));color:var(--gold);font-size:var(--type-metadata);font-weight:800;letter-spacing:.08em}.market-beta-warning{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warning) 48%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--warning) 8%,var(--panel));color:var(--muted);font-size:var(--type-supporting);line-height:1.55}.market-beta-warning svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:var(--warning)}.market-beta-warning strong{color:var(--text)}
.market-controls{display:grid;grid-template-columns:minmax(145px,.72fr) minmax(235px,1.15fr) minmax(125px,.62fr) minmax(220px,1.25fr);gap:12px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.market-controls label{display:grid;gap:7px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.market-controls fieldset{min-width:0;margin:0;padding:0;border:0}.market-controls legend{margin-bottom:7px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.market-controls .input{width:100%;min-height:44px;background:var(--panel2)}.market-input-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel2);overflow:hidden}.market-input-unit:focus-within{outline:2px solid var(--ice);outline-offset:2px}.market-input-unit .input{border:0;border-radius:0;outline:0}.market-input-unit>span{padding-right:11px;color:var(--muted);font-size:var(--type-supporting)}.market-strategy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.market-strategy button{min-width:0;min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.market-strategy button[aria-pressed="true"]{background:var(--panel);color:var(--text);box-shadow:0 2px 7px #0002}.market-strategy button:focus-visible{outline:2px solid var(--ice);outline-offset:1px}.market-scan-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:42px;padding:9px 2px;color:var(--muted);font-size:var(--type-supporting)}.market-status-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.market-status-dot.loading{background:var(--ice);animation:market-pulse 1.2s ease-in-out infinite}.market-status-dot.error{background:var(--red)}@keyframes market-pulse{50%{opacity:.35}}
.market-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:5px 0 11px}.market-results-head h2{margin:0;font:600 18px/1.4 var(--display);letter-spacing:-.02em}.market-results-head>span{color:var(--muted);font-size:var(--type-supporting)}.market-opportunities{display:grid;gap:9px}.market-opportunities>.empty{margin-top:2px}.market-opportunity{display:grid;grid-template-columns:minmax(200px,1.3fr) repeat(3,minmax(135px,.78fr)) minmax(175px,1fr);align-items:center;gap:15px;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.market-opportunity.best{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));background:color-mix(in srgb,var(--gold) 4%,var(--panel))}.market-item{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.market-rank{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:var(--panel2);color:var(--muted);font-size:var(--type-metadata);font-weight:800}.market-opportunity.best .market-rank{background:color-mix(in srgb,var(--gold) 16%,var(--panel));color:var(--gold)}.market-item>div{min-width:0}.market-item a{display:block;overflow:hidden;color:var(--text);font-size:var(--type-supporting);font-weight:700;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.market-item a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.market-item small{display:block;margin-top:4px;color:var(--muted);font-size:var(--type-metadata)}.market-metric{text-align:right;font-variant-numeric:tabular-nums}.market-metric>small{display:block;margin-bottom:5px;color:var(--muted);font-size:var(--type-metadata)}.market-metric>strong{display:block;font-size:var(--type-supporting)}.market-metric .coin-value{justify-content:flex-end;font-size:var(--type-supporting)}.market-profit>strong,.market-profit>span{color:var(--success)}.market-profit>span{display:block;margin-top:4px;font-size:var(--type-metadata);font-weight:700}.market-plan{text-align:right;font-variant-numeric:tabular-nums}.market-plan>strong{display:block;margin-bottom:4px;font-size:var(--type-supporting)}.market-plan>small{display:block;margin-top:3px;color:var(--muted);font-size:var(--type-metadata)}.market-plan .coin-value{font-size:var(--type-metadata)}.market-liquidity{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:5px;background:color-mix(in srgb,var(--success) 12%,var(--panel2));color:var(--success);font-size:var(--type-metadata);font-weight:700}.market-liquidity.medium{background:color-mix(in srgb,var(--warning) 12%,var(--panel2));color:var(--warning)}.market-liquidity.low{background:color-mix(in srgb,var(--red) 11%,var(--panel2));color:var(--red)}.market-method{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}.market-method svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:var(--ice)}.market-method p{margin:0;font-size:var(--type-supporting);line-height:1.55}.market-method strong{color:var(--text)}
@media(max-width:1180px){.market-controls{grid-template-columns:1fr 1fr}.market-opportunity{grid-template-columns:minmax(190px,1.15fr) repeat(3,minmax(125px,.75fr));}.market-plan{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.market-plan>strong,.market-plan>small,.market-liquidity{margin:0}}
@media(max-width:760px){.market-head{align-items:stretch;flex-direction:column}.market-head>button{width:100%;min-height:44px}.market-controls{grid-template-columns:1fr}.market-results-head{align-items:flex-start;flex-direction:column;gap:3px}.market-opportunity{grid-template-columns:1fr 1fr;gap:15px 12px}.market-item{grid-column:1/-1;padding-bottom:11px;border-bottom:1px solid var(--line)}.market-metric{text-align:left}.market-metric .coin-value{justify-content:flex-start}.market-plan{grid-column:1/-1;display:block;text-align:left}.market-plan>strong{margin-bottom:5px}.market-plan>small{margin-top:3px}.market-liquidity{margin-top:7px}}
@media(max-width:400px){.market-opportunity{grid-template-columns:1fr}.market-item,.market-plan{grid-column:1}.market-metric{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.market-metric>small{margin:0}.market-profit>span{grid-column:2}}
@media(prefers-reduced-motion:reduce){.market-status-dot.loading{animation:none}}

/* Build details add the selected elite specialization and an accessible disclosure. */
.build-character-head{grid-template-columns:64px minmax(0,1fr) auto}.build-class-icons{position:relative;width:64px;height:60px}.build-elite-icon{position:absolute;right:0;bottom:-2px;display:grid;width:32px;height:32px;place-items:center;border:2px solid var(--panel2);border-radius:8px;background:var(--panel)}.build-elite-icon img,.build-elite-icon svg{width:28px;height:28px;object-fit:contain}.build-template-list{list-style:none}.build-template{display:block;min-height:0;padding:0}.build-template>summary{display:grid;grid-template-columns:28px 34px minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:66px;padding:11px 0;cursor:pointer;list-style:none}.build-template>summary::-webkit-details-marker{display:none}.build-template>summary:hover .build-template-copy strong{color:var(--gold)}.build-template>summary:focus-visible{outline:2px solid var(--ice);outline-offset:3px}.build-template-spec-icon{display:grid;width:34px;height:34px;place-items:center}.build-template-spec-icon img,.build-template-spec-icon svg{width:34px;height:34px;object-fit:contain}.build-template-chevron{width:20px;height:20px;color:var(--muted);transition:transform .15s ease-out}.build-template[open] .build-template-chevron{transform:rotate(180deg)}.build-template-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;margin:0 -20px;padding:20px;background:var(--panel2);border-top:1px solid var(--line)}.build-template-detail h3{margin:0 0 12px;font-size:var(--type-supporting)}.build-specializations,.build-skills{display:grid;gap:10px}.build-specialization,.build-skill{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.build-specialization>span,.build-skill>span{display:grid;width:38px;height:38px;place-items:center}.build-specialization img,.build-specialization svg{width:38px;height:38px;object-fit:contain}.build-specialization strong,.build-skill strong{display:block;font-size:var(--type-metadata);line-height:1.45}.build-specialization small,.build-skill small{display:block;color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.build-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.build-skill{grid-template-columns:34px minmax(0,1fr)}.build-skill>span,.build-skill img,.build-skill svg{width:34px;height:34px;object-fit:contain}.build-template-detail p{margin:0;color:var(--muted);font-size:var(--type-supporting)}
@media(max-width:520px){.build-character-head{grid-template-columns:58px minmax(0,1fr)}.build-class-icons{width:58px}.build-template>summary{grid-template-columns:24px 32px minmax(0,1fr) 20px;gap:8px;min-height:78px}.build-template-spec-icon,.build-template-spec-icon img,.build-template-spec-icon svg{width:32px;height:32px}.build-template-state{grid-column:3;justify-self:start}.build-template-chevron{grid-column:4;grid-row:1/3}.build-template-detail{grid-template-columns:1fr;gap:20px;margin-inline:-16px;padding:18px 16px}.build-skills{grid-template-columns:1fr}}

/* Builds become a daily decision tool before the searchable account catalog. */
.build-roulette{margin-bottom:34px;padding:22px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--gold) 5%,var(--panel))}.build-roulette-title,.build-catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.build-roulette-title h2,.build-catalog-head h2{margin:0;font:600 20px/1.4 var(--display)}.build-roulette-title p,.build-catalog-head p{margin:4px 0 0;color:var(--muted);font-size:var(--type-supporting)}.build-roulette-title>span,.build-catalog-head>span{color:var(--muted);font-size:var(--type-supporting);white-space:nowrap}.build-draw-empty{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.build-draw-empty h2{margin:0;font:600 24px/1.35 var(--display)}.build-draw-empty p{max-width:66ch;margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting)}.build-draw-result{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:20px;padding:20px 0;border-block:1px solid var(--line)}.build-draw-icons{position:relative;width:76px;height:70px}.build-draw-icons>span:first-child,.build-draw-icons>span:first-child img,.build-draw-icons>span:first-child svg{display:grid;width:66px;height:66px;object-fit:contain}.build-draw-icons>span:last-child{position:absolute;right:0;bottom:0;display:grid;width:40px;height:40px;place-items:center;border:2px solid var(--panel);border-radius:9px;background:var(--panel2)}.build-draw-icons>span:last-child img,.build-draw-icons>span:last-child svg{width:36px;height:36px;object-fit:contain}.build-draw-result>div:nth-child(2){min-width:0}.build-draw-result small{color:var(--gold);font-size:var(--type-metadata);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.build-draw-result h2{margin:3px 0 0;font:700 25px/1.3 var(--display);overflow-wrap:anywhere}.build-draw-result p{margin:3px 0;color:var(--muted);font-size:var(--type-supporting)}.build-draw-result strong{font-size:var(--type-body)}.build-draw-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:270px}.build-draw-actions button{min-height:42px}.build-draw-settings{margin-top:12px}.build-draw-settings>summary{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:var(--type-supporting);font-weight:600;cursor:pointer}.build-draw-settings>summary:hover{color:var(--gold)}.build-draw-controls{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr)) repeat(3,minmax(150px,auto));gap:12px;align-items:end;padding:14px 0 6px}.build-draw-controls>label:not(.build-check),.build-filters>label{display:grid;gap:7px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.build-draw-controls .select,.build-filters .select,.build-filters .input{width:100%;min-height:44px}.build-check{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--text);font-size:var(--type-supporting)}.build-check input{width:18px;height:18px;accent-color:var(--gold)}.build-excluded{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.build-excluded>strong{margin-right:5px;font-size:var(--type-supporting)}.build-excluded button{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 9px;border:1px solid var(--line)}.build-excluded button b{font-size:18px}.build-catalog-head{align-items:end;margin-bottom:16px}.build-filters{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(4,minmax(135px,.8fr)) auto;gap:10px;align-items:end;margin-bottom:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.build-filters .button-quiet{min-height:44px}.build-template-empty{display:grid;gap:4px}.build-character.has-active{border-color:color-mix(in srgb,var(--success) 26%,var(--line))}.build-empty{grid-column:1/-1}
@media(max-width:1180px){.build-draw-controls{grid-template-columns:1fr 1fr}.build-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.build-search{grid-column:span 2}}
@media(max-width:700px){.build-roulette{margin-bottom:28px;padding:18px 16px}.build-roulette-title,.build-catalog-head,.build-draw-empty{align-items:stretch;flex-direction:column;gap:10px}.build-roulette-title>span,.build-catalog-head>span{white-space:normal}.build-draw-empty>button{width:100%;min-height:44px}.build-draw-result{grid-template-columns:62px minmax(0,1fr);align-items:start}.build-draw-icons{width:60px;height:58px}.build-draw-icons>span:first-child,.build-draw-icons>span:first-child img,.build-draw-icons>span:first-child svg{width:54px;height:54px}.build-draw-icons>span:last-child{width:32px;height:32px}.build-draw-icons>span:last-child img,.build-draw-icons>span:last-child svg{width:28px;height:28px}.build-draw-actions{grid-column:1/-1;min-width:0;width:100%}.build-draw-actions button{min-height:44px}.build-draw-controls,.build-filters{grid-template-columns:1fr}.build-search{grid-column:auto}.build-filters .button-quiet{width:100%}}
@media(max-width:360px){.build-draw-actions{grid-template-columns:1fr}}

/* The wheel reads as a deliberate draw: quick passes, then a confident arrival. */
.build-draw-result{position:relative;isolation:isolate;overflow:hidden}.build-spin-label{display:none}.build-roulette.is-spinning{box-shadow:0 14px 32px #0005}.build-roulette.is-spinning .build-draw-actions{opacity:.12;visibility:hidden}.build-roulette.is-spinning .build-spin-label{position:absolute;z-index:2;top:50%;right:34px;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));border-radius:8px;background:var(--panel);color:var(--gold);font-size:var(--type-supporting);font-weight:700;transform:translateY(-50%)}.build-roulette.is-spinning .build-spin-label:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold);animation:build-spin-pulse .55s ease-in-out infinite alternate}.build-roulette.is-spinning .build-draw-result:after{content:'';position:absolute;z-index:-1;inset:0 auto 0 -28%;width:28%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 12%,transparent),transparent);transform:skewX(-12deg);animation:build-spin-scan .52s linear infinite}.build-roulette.is-settled .build-draw-icons{animation:build-spin-arrive .46s cubic-bezier(.16,1,.3,1)}.build-roulette.is-settled .build-draw-copy{animation:build-copy-arrive .38s cubic-bezier(.16,1,.3,1)}
@keyframes build-spin-scan{to{transform:translateX(560%) skewX(-12deg)}}@keyframes build-spin-pulse{to{opacity:.35;transform:scale(.72)}}@keyframes build-spin-arrive{0%{opacity:.45;filter:brightness(1.8) blur(3px);transform:scale(.88)}100%{opacity:1;filter:none;transform:none}}@keyframes build-copy-arrive{0%{opacity:.35;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0)}}
@media(max-width:700px){.build-roulette.is-spinning .build-spin-label{top:0;right:0;bottom:auto;left:auto;justify-content:center;transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){.build-roulette.is-spinning .build-draw-result:after,.build-roulette.is-spinning .build-spin-label:before{animation:none}.build-roulette.is-settled .build-draw-icons,.build-roulette.is-settled .build-draw-copy{animation-duration:.16s;animation-name:build-reduced-confirm}@keyframes build-reduced-confirm{from{opacity:.55}to{opacity:1}}}

/* Craft answers the daily decision: what remains, whether it is ready, and who should do it. */
.craft-screen{max-width:1320px;margin-inline:auto}.craft-page-head{align-items:center;margin-bottom:20px}.craft-page-head h1{margin:0 0 6px;color:var(--gold);font:700 clamp(28px,3vw,38px)/1.15 var(--display);letter-spacing:-.03em}.craft-page-head>div>p{max-width:68ch}.craft-reset{display:flex;align-items:baseline;gap:6px;margin:0;color:var(--muted);font-size:var(--type-supporting);white-space:nowrap}.craft-reset strong{color:var(--text);font-variant-numeric:tabular-nums}
.craft-recommendation{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.9fr) auto;align-items:center;gap:24px;margin:0 0 24px;padding:20px 0;border-block:1px solid var(--line)}.craft-recommendation-item{display:flex;align-items:flex-start;gap:14px;min-width:0}.craft-recommendation-item>div{min-width:0}.craft-recommendation h2{margin:0 0 7px;font:600 clamp(19px,2vw,24px)/1.35 var(--display);letter-spacing:-.025em}.craft-recommendation-item strong{display:block;font-size:15px;overflow-wrap:anywhere}.craft-recommendation p{margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.55}.craft-recommendation-decision{min-width:0;padding-left:24px;border-left:1px solid var(--line)}.craft-recommendation-decision>p{margin-top:0;color:var(--text)}.craft-recommendation-decision dl{display:grid;gap:7px;margin:12px 0 0}.craft-recommendation-decision dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.craft-recommendation-decision dt{color:var(--muted);font-size:var(--type-metadata)}.craft-recommendation-decision dd{margin:0;font-size:var(--type-metadata);font-weight:600;overflow-wrap:anywhere}.craft-recommendation-action{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:170px}.craft-recommendation-action .button-primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.craft-confidence{color:var(--muted);font-size:var(--type-metadata);line-height:1.45;text-align:center}.craft-recommendation.ready .craft-confidence{color:var(--success)}.craft-recommendation.blocked .craft-confidence{color:var(--warning)}.craft-recommendation.complete{grid-template-columns:minmax(0,1fr) auto}.craft-recommendation.complete .craft-confidence{color:var(--success)}.craft-refresh{margin:-12px 0 20px}
.craft-warning{margin:0 0 12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--warning) 48%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--warning) 8%,var(--panel));color:var(--text);font-size:var(--type-supporting);line-height:1.5}.craft-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:28px;align-items:start}.craft-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.craft-section-head h2,.craft-detail h2{margin:0;font:600 18px/1.35 var(--display);letter-spacing:-.02em}.craft-section-head p,.craft-detail>p{margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.5}.craft-filter{display:flex;padding:3px;border-radius:9px;background:var(--panel2)}.craft-filter button{min-height:36px;padding:6px 11px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.craft-filter button[aria-pressed="true"]{background:var(--panel);color:var(--text);box-shadow:0 3px 9px #0002}.craft-filter button:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.craft-daily-list{border-top:1px solid var(--line)}.craft-daily-row{display:grid;grid-template-columns:12px 40px minmax(190px,1fr) minmax(140px,auto) auto;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.craft-daily-row:hover{background:color-mix(in srgb,var(--ice) 5%,transparent)}.craft-daily-row.selected{background:color-mix(in srgb,var(--gold) 8%,var(--panel));box-shadow:inset 2px 0 var(--gold)}.craft-daily-row:focus-visible{outline:2px solid var(--ice);outline-offset:-2px}.craft-status-mark{width:9px;height:9px;border-radius:50%;background:var(--warning)}.craft-daily-row.done .craft-status-mark{background:var(--success)}.craft-daily-row.unknown .craft-status-mark{background:var(--muted)}.craft-item-icon{display:grid;width:40px;height:40px;place-items:center;overflow:hidden;border-radius:8px;background:var(--panel2)}.craft-item-icon img{width:40px;height:40px;object-fit:contain}.craft-item-fallback{display:grid;width:100%;height:100%;place-items:center;color:var(--gold);font-weight:800}.craft-row-copy{min-width:0}.craft-row-copy strong{display:block;overflow-wrap:anywhere;font-size:var(--type-supporting)}.craft-row-copy small{display:block;margin-top:4px;color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.craft-ready{color:var(--muted);font-size:var(--type-metadata);line-height:1.4;text-align:right}.craft-ready.ready{color:var(--success)}.craft-ready.missing{color:var(--red)}.craft-row-state{display:inline-flex;justify-content:center;min-width:70px;padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--warning) 10%,var(--panel));color:var(--warning);font-size:var(--type-metadata);font-weight:700}.craft-daily-row.done .craft-row-state,.craft-row-state.done{background:color-mix(in srgb,var(--success) 10%,var(--panel));color:var(--success)}.craft-daily-row.unknown .craft-row-state,.craft-row-state.unknown{background:var(--panel2);color:var(--muted)}
.craft-list-empty{margin:0;padding:22px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--type-supporting)}
.craft-detail{min-width:0;padding-left:26px;border-left:1px solid var(--line)}.craft-detail-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--muted);font-size:var(--type-metadata)}.craft-detail-block{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.craft-detail-block>span{display:block;margin-bottom:7px;color:var(--muted);font-size:var(--type-metadata)}.craft-detail-block>strong{display:block;font-size:var(--type-supporting);line-height:1.45}.craft-detail-block>small{display:block;margin-top:5px;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.craft-ingredient-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.craft-ingredient-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:var(--type-supporting)}.craft-ingredient-list li>span:first-child{overflow-wrap:anywhere}.craft-ingredient-list li>span:last-child{flex:none;color:var(--success);font-variant-numeric:tabular-nums}.craft-ingredient-list li.is-missing>span:last-child{color:var(--red)}.craft-result{display:grid;gap:3px;margin-top:15px;padding:11px 12px;border-radius:9px}.craft-result.ready,.craft-result.done{background:color-mix(in srgb,var(--success) 9%,var(--panel));color:var(--success)}.craft-result.missing{background:color-mix(in srgb,var(--red) 9%,var(--panel));color:var(--red)}.craft-result strong{font-size:var(--type-supporting)}.craft-result small{color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.craft-wiki{margin-top:14px;font-size:var(--type-supporting)}
.craft-disciplines{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.craft-disciplines>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;cursor:pointer;list-style-position:inside}.craft-disciplines>summary strong,.craft-disciplines>summary small{display:block}.craft-disciplines>summary strong{font:600 17px var(--display)}.craft-disciplines>summary small{margin-top:4px;color:var(--muted);font-size:var(--type-supporting)}.craft-disciplines>summary>b{color:var(--muted);font-size:var(--type-supporting);font-weight:600}.craft-disciplines>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin:16px 0 0;padding:0;list-style:none}.craft-disciplines li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 0;border-bottom:1px solid var(--line)}.craft-disciplines li strong,.craft-disciplines li small{display:block}.craft-disciplines li strong{font-size:var(--type-supporting)}.craft-disciplines li small{margin-top:3px;color:var(--muted);font-size:var(--type-metadata)}.craft-disciplines li>b{color:var(--warning);font-size:var(--type-supporting);font-variant-numeric:tabular-nums}.craft-disciplines li>b.is-maxed{color:var(--success)}.craft-disciplines li>b small{display:inline;font-weight:400}.craft-empty{color:var(--muted);font-size:var(--type-supporting)}
@media(max-width:1040px){.craft-recommendation{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr)}.craft-recommendation-action{grid-column:1/-1;align-items:flex-start}.craft-recommendation-action .button-primary{min-width:190px}.craft-confidence{text-align:left}.craft-workspace{grid-template-columns:1fr}.craft-detail{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.craft-disciplines>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.craft-page-head{align-items:flex-start;flex-direction:column}.craft-recommendation,.craft-recommendation.complete{grid-template-columns:1fr;gap:18px}.craft-recommendation-decision{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}.craft-recommendation-action{grid-column:1;align-items:stretch}.craft-recommendation-action .button-primary,.craft-refresh{width:100%}.craft-confidence{text-align:center}.craft-daily-row{grid-template-columns:12px 40px minmax(0,1fr) auto;gap:9px;padding-block:12px}.craft-ready{grid-column:3;text-align:left}.craft-row-state{grid-column:4;grid-row:1/span 2}.craft-disciplines>summary{align-items:flex-start;flex-direction:column}.craft-disciplines>ul{grid-template-columns:1fr}.craft-section-head{align-items:flex-start;flex-direction:column}.craft-filter{width:100%}.craft-filter button{flex:1;min-height:44px}.craft-detail-status{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:380px){.craft-daily-row{grid-template-columns:10px 36px minmax(0,1fr)}.craft-item-icon,.craft-item-icon img{width:36px;height:36px}.craft-row-state{grid-column:3;grid-row:auto;justify-self:start}.craft-ready{grid-column:3}.craft-detail{padding-top:18px}}

/* Project-driven farming priorities. */
.farm-page{max-width:1180px;margin-inline:auto;min-width:0}.farm-page>.notice{margin-bottom:20px}.farm-focus{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:30px;padding:26px 0;border-block:1px solid var(--line)}.farm-focus-main{display:flex;align-items:flex-start;gap:16px;min-width:0}.farm-focus-main>.material-item-icon{width:48px;height:48px}.farm-focus-main>div{min-width:0}.farm-focus h2{margin:0;font:600 clamp(23px,2.5vw,31px)/1.25 var(--display);letter-spacing:-.025em;overflow-wrap:anywhere}.farm-focus-main p{margin:7px 0 0;color:var(--muted);font-size:14px}.farm-focus-main p strong{color:var(--text)}.farm-focus dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 0}.farm-focus dl>div{padding-top:12px;border-top:1px solid var(--line)}.farm-focus dt{color:var(--muted);font-size:12px}.farm-focus dd{margin:5px 0 0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.farm-focus-action{display:flex;align-items:stretch;justify-content:center;flex-direction:column;gap:8px}.farm-focus-action p{margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.6}.farm-focus-action .button-primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.farm-support{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;color:var(--muted);font-size:12px}.farm-support a{text-underline-offset:4px}.farm-section-head{margin:24px 0 10px}.farm-section-head h2{margin:0;font:600 18px var(--display)}.farm-section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.farm-queue ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));column-gap:24px;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.farm-queue li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:86px;padding:12px 0;border-bottom:1px solid var(--line)}.farm-row-copy{display:flex;align-items:center;gap:12px;min-width:0}.farm-row-copy>div{min-width:0}.farm-row-copy strong,.farm-row-copy span{display:block}.farm-row-copy strong{font-size:14px;overflow-wrap:anywhere}.farm-row-copy>div>span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.farm-row-copy b{display:inline;color:var(--text)}.farm-row-actions{display:grid;justify-items:end;gap:3px;flex-shrink:0;text-align:right}.farm-row-actions a{font-size:13px;text-underline-offset:4px}.farm-row-actions small{color:var(--warning);font-size:12px}.farm-unknown,.farm-market{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:18px 0;border-top:1px solid var(--line)}.farm-unknown h2,.farm-market strong{margin:0;font:600 16px var(--display)}.farm-unknown p,.farm-market p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.farm-unknown button,.farm-market button{flex-shrink:0}
.farm-session-controls{display:flex;align-items:center;gap:24px;padding:13px 0;border-block:1px solid var(--line)}.farm-session-controls>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.farm-session-controls span{margin-right:3px;color:var(--muted);font-size:var(--type-metadata);font-weight:650}.farm-session-controls button{min-height:44px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:var(--type-supporting);font-weight:700}.farm-session-controls button[aria-pressed=true]{border-color:color-mix(in srgb,var(--gold) 48%,var(--line));background:color-mix(in srgb,var(--gold) 9%,var(--panel));color:var(--gold)}.farm-session{position:relative;margin-top:24px}.farm-session-warning{grid-column:1/-1;margin:0}.farm-activity-kind{display:block;margin-bottom:7px;color:var(--ice);font-size:var(--type-metadata);font-weight:750}.farm-cadence{max-width:65ch;padding-top:13px;border-top:1px solid var(--line);line-height:1.55}.farm-support strong{color:var(--text)}
@media(max-width:800px){.farm-focus{grid-template-columns:1fr}.farm-focus-action{padding-top:20px;border-top:1px solid var(--line)}}
@media(max-width:600px){.farm-session-controls{align-items:flex-start;flex-direction:column;gap:12px}.farm-session-controls>div{width:100%}.farm-session-controls span{width:100%}.farm-session-controls button{flex:1}.farm-focus{gap:20px;padding-block:22px}.farm-focus dl{grid-template-columns:1fr;gap:12px}.farm-support{align-items:flex-start;flex-direction:column;gap:5px}.farm-queue ul{grid-template-columns:1fr}.farm-queue li{align-items:flex-start;grid-template-columns:1fr;gap:8px}.farm-row-actions{justify-items:start;text-align:left}.farm-unknown,.farm-market{align-items:stretch;flex-direction:column}.farm-unknown button,.farm-market button{width:100%}}

/* Primary navigation uses real links so browser history and link actions stay native. */
.nav-item{text-decoration:none}

/* Routine: one short decision queue, with provenance and reset visible. */
.routine-page{max-width:1120px;margin-inline:auto}.routine-page .page-head{align-items:center}.routine-reset{display:grid;justify-items:end;gap:2px;min-width:190px}.routine-reset span,.routine-reset small{color:var(--muted);font-size:var(--type-supporting)}.routine-reset strong{font:700 24px/1.25 var(--display);font-variant-numeric:tabular-nums}.routine-queue{display:grid;margin-top:22px;border-top:1px solid var(--line)}.routine-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.routine-index{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-weight:700}.routine-item.done .routine-index{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--panel));color:var(--success)}.routine-item.deferred{opacity:.72}.routine-copy{min-width:0}.routine-copy h2{margin:7px 0 4px;font:600 19px/1.4 var(--display)}.routine-copy p{margin:0;color:var(--text);font-size:var(--type-supporting)}.routine-copy small{display:block;margin-top:6px;color:var(--muted);font-size:var(--type-metadata)}.routine-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:var(--type-metadata)}.routine-certainty{display:inline-flex;align-items:center;min-height:25px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-weight:700}.routine-certainty.api{border-color:color-mix(in srgb,var(--success) 45%,var(--line));color:var(--success)}.routine-certainty.plan{border-color:color-mix(in srgb,var(--gold) 45%,var(--line));color:var(--gold)}.routine-certainty.partial{border-color:color-mix(in srgb,var(--warning) 45%,var(--line));color:var(--warning)}.routine-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:330px}.routine-check{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:8px;color:var(--text);font-size:var(--type-supporting);cursor:pointer}.routine-check input{width:18px;height:18px;accent-color:var(--gold)}.routine-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px}.routine-footer p{margin:0;color:var(--muted);font-size:var(--type-supporting)}.routine-footer strong{color:var(--text)}.routine-page :is(button,input):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.routine-page .page-head{align-items:flex-start}.routine-reset{justify-items:start}.routine-item{grid-template-columns:40px minmax(0,1fr);gap:14px;padding-block:20px}.routine-actions{grid-column:1/-1;justify-content:stretch;max-width:none}.routine-actions>*{flex:1;justify-content:center;min-height:44px}.routine-footer{align-items:stretch;flex-direction:column}.routine-footer button{width:100%}}

/* Wizard's Vault: prevent loss first, objective inventory second. */
.vault-page{max-width:1180px;margin-inline:auto}.vault-focus{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0;border-block:1px solid var(--line)}.vault-focus>div{max-width:70ch}.vault-focus h2{margin:0 0 7px;font:650 23px/1.35 var(--display)}.vault-focus p{margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.6}.vault-focus.urgent h2{color:var(--warning)}.vault-focus.ready h2{color:var(--gold)}.vault-focus.unknown h2{color:var(--ice)}.vault-focus .button-primary{flex-shrink:0;text-decoration:none}.vault-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:24px 0;border-bottom:1px solid var(--line)}.vault-ledger>div{display:grid;gap:3px;padding:0 24px;border-right:1px solid var(--line)}.vault-ledger>div:first-child{padding-left:0}.vault-ledger>div:last-child{padding-right:0;border-right:0}.vault-ledger dt,.vault-ledger small{color:var(--muted);font-size:var(--type-supporting)}.vault-ledger dd{margin:2px 0;font:700 25px/1.35 var(--display);font-variant-numeric:tabular-nums}.vault-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:34px;padding:32px 0}.vault-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.vault-section-head h2,.vault-spend h2{margin:0;font:600 19px/1.4 var(--display)}.vault-section-head p,.vault-spend p{margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.55}.vault-section-head>div:last-child{display:grid;justify-items:end;gap:3px;color:var(--muted);font-size:var(--type-metadata);font-variant-numeric:tabular-nums}.vault-claims ul,.vault-objective-period ul{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--line)}.vault-claims li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.vault-claims li>div{display:grid;gap:3px}.vault-claims li strong{font-size:var(--type-body)}.vault-claims li span{color:var(--muted);font-size:var(--type-supporting)}.vault-claims li>b{color:var(--gold);font-size:var(--type-lead);white-space:nowrap}.vault-empty{margin:16px 0 0;padding:22px 0;border-block:1px dashed var(--line);color:var(--muted);font-size:var(--type-supporting)}.vault-spend{display:flex;align-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;padding-left:28px;border-left:1px solid var(--line)}.vault-spend>div{width:100%}.vault-spend small{display:block;margin-top:10px;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.vault-details{border-block:1px solid var(--line)}.vault-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;cursor:pointer}.vault-details>summary>span:first-child{display:grid;gap:3px}.vault-details>summary strong{font-size:var(--type-body)}.vault-details>summary small,.vault-details>summary>span:last-child{color:var(--muted);font-size:var(--type-supporting)}.vault-objective-period{padding:20px 0}.vault-objective-period+.vault-objective-period{border-top:1px solid var(--line)}.vault-objective-period>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.vault-objective-period>div>span{color:var(--muted);font-size:var(--type-supporting)}.vault-objective-period li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.vault-objective-period li>div{display:grid;gap:3px}.vault-objective-period li>div:last-child{justify-items:end;white-space:nowrap}.vault-objective-period li span{color:var(--muted);font-size:var(--type-supporting)}.vault-source-error{padding:18px 0;color:var(--warning);font-size:var(--type-supporting)}.vault-source-note{max-width:75ch;margin:18px 0 0;color:var(--muted);font-size:var(--type-metadata);line-height:1.6}.vault-page :is(a,button,summary):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:850px){.vault-workspace{grid-template-columns:minmax(0,1fr)}.vault-spend{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:620px){.vault-focus{align-items:stretch;flex-direction:column}.vault-focus .button-primary{text-align:center}.vault-ledger{grid-template-columns:minmax(0,1fr)}.vault-ledger>div{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.vault-ledger>div:first-child{padding-top:0}.vault-ledger>div:last-child{padding-bottom:0;border-bottom:0}.vault-section-head{display:grid}.vault-section-head>div:last-child{justify-items:start}.vault-objective-period>div,.vault-objective-period li{align-items:flex-start;flex-direction:column}.vault-objective-period li>div:last-child{justify-items:start}.vault-details>summary>span:last-child{display:none}}

/* About: purpose, optional support and project accountability in one reading flow. */
.nav-icon svg{width:18px;height:18px}.about-page{max-width:1120px;margin-inline:auto}.about-page>.page-head{align-items:center;margin-bottom:14px}.about-page>.page-head>div{display:flex;align-items:baseline;gap:18px;min-width:0}.about-page>.page-head h1{flex:0 0 auto;margin-block:0}.about-page>.page-head p{white-space:nowrap}
.about-intro{padding:18px 0 20px;border-block:1px solid var(--line)}.about-purpose{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start;gap:44px}.about-purpose h2{max-width:19ch;margin:0;font:650 clamp(30px,3.2vw,38px)/1.12 var(--display);letter-spacing:-.03em;text-wrap:balance}.about-purpose-copy>p{max-width:68ch;margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.62}.about-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 0;padding:0;list-style:none}.about-capabilities li{display:grid;align-content:start;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.about-capabilities strong{font-size:var(--type-supporting);line-height:1.35}.about-capabilities span{color:var(--muted);font-size:var(--type-metadata);line-height:1.45}
.about-support{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;align-items:stretch;margin:18px 0;padding:18px 22px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--gold) 8%,var(--panel))}.about-support-heart{display:grid;align-items:center;justify-items:start;padding-right:36px;border-right:1px solid var(--line)}.about-support-copy{display:grid;align-content:center;justify-items:center;padding-inline:36px;color:var(--text);text-align:center}.about-support h2,.about-maker h2,.about-trust h2{margin:0;font-weight:650;line-height:1.35;font-family:var(--display)}.about-support h2{font:650 clamp(30px,3.2vw,38px)/1.12 var(--display);letter-spacing:-.03em;text-wrap:balance}.about-support-copy p{margin:9px 0 0;color:var(--text);font-size:var(--type-body);font-weight:500;line-height:1.55}.about-support-note{display:block;max-width:68ch;margin-top:10px;color:var(--text);font-size:var(--type-supporting);font-weight:500;line-height:1.5}.about-support-icon{display:grid;width:144px;height:144px;place-items:center;border:1px solid color-mix(in srgb,var(--red) 58%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--red) 16%,var(--panel));box-shadow:0 8px 22px #0004;color:var(--red)}.about-support-icon svg{width:76px;height:76px;overflow:visible}.about-heart-body{fill:currentColor;filter:drop-shadow(0 7px 9px #0006)}.about-heart-shine{fill:none;stroke:color-mix(in srgb,var(--red) 12%,white);stroke-width:4;stroke-linecap:round;opacity:.8}.about-heart-spark{fill:var(--gold);stroke:color-mix(in srgb,var(--gold) 68%,white);stroke-width:1}.about-support-action{display:grid;align-items:center;justify-items:end;padding-left:36px;border-left:1px solid var(--line)}.about-coffee{display:grid;width:144px;min-height:144px;aspect-ratio:1;place-items:center;align-content:center;gap:12px;padding:18px;border-radius:14px;background:var(--gold);box-shadow:0 8px 22px #0004;color:#17130a;font-size:17px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}.about-coffee:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 26px #0005}.about-coffee:active{transform:translateY(0)}.about-coffee-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;background:color-mix(in srgb,#17130a 12%,transparent)}.about-coffee-icon svg{width:29px;height:29px}
.about-after{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:42px;padding:18px 0 0;border-top:1px solid var(--line)}.about-community{display:grid;align-content:start}.about-maker h2,.about-trust h2{font-size:21px}.about-maker p,.about-trust-head p{margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.55}.about-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.about-actions a,.about-actions button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px}.about-actions a{text-decoration:none}.about-actions svg,.about-sources svg{width:18px;height:18px;flex:0 0 auto}.about-feedback{display:grid;gap:2px;margin-top:13px}.about-feedback strong{font-size:var(--type-supporting)}.about-feedback span{color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.about-trust-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 0;padding:0;border-block:1px solid var(--line);list-style:none}.about-trust-points li{display:grid;align-content:start;gap:5px;padding:10px 14px;border-right:1px solid var(--line)}.about-trust-points li:first-child{padding-left:0}.about-trust-points li:last-child{padding-right:0;border-right:0}.about-trust-points strong{font-size:var(--type-supporting)}.about-trust-points span{color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.about-sources{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:7px 0;color:var(--muted);font-size:var(--type-metadata)}.about-sources>a{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding-inline:3px;color:var(--text);text-underline-offset:4px}.about-page :is(a,button):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:960px){.about-purpose,.about-after{grid-template-columns:minmax(0,1fr)}.about-purpose{gap:16px}.about-after{gap:24px}.about-community{padding-bottom:24px;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.about-page>.page-head>div{display:block}.about-page>.page-head h1{margin-bottom:6px}.about-page>.page-head p{white-space:normal}.about-intro{padding-block:22px}.about-purpose h2{font-size:30px}.about-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.about-support{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-inline:-4px;padding:20px 16px}.about-support-copy{grid-column:1/-1;grid-row:1;justify-items:center;padding:18px;border-bottom:1px solid var(--line);text-align:center}.about-support-heart{grid-column:1;grid-row:2;width:100%;padding:0;border:0}.about-support-icon{width:100%;max-width:144px;height:auto;aspect-ratio:1}.about-support-action{grid-column:2;grid-row:2;width:100%;padding:0;border:0}.about-coffee{width:100%;max-width:144px;min-height:0}.about-actions{display:grid}.about-actions a,.about-actions button{width:100%}.about-trust-points{grid-template-columns:minmax(0,1fr)}.about-trust-points li,.about-trust-points li:first-child,.about-trust-points li:last-child{gap:3px;padding:11px 0;border-right:0;border-bottom:1px solid var(--line)}.about-trust-points li:last-child{border-bottom:0}.about-sources{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:500px){.about-capabilities{grid-template-columns:minmax(0,1fr)}}

/* Decision tools: mastery, fractal and exchange screens share a compact operating rhythm. */
.decision-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:22px}.decision-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:var(--type-supporting)}.mastery-controls{align-items:end;flex-wrap:wrap}.mastery-controls label{min-width:min(280px,100%)}.mastery-next,.fractal-brief{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.7fr);gap:28px;padding:28px 0;border-block:1px solid var(--line)}.mastery-next>div>span,.fractal-brief>div>span{color:var(--gold);font-size:var(--type-supporting);font-weight:700}.mastery-next h2,.fractal-brief h2{margin:7px 0;font:650 25px/1.35 var(--display)}.mastery-next p,.fractal-brief p{margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.6}.mastery-next dl,.fractal-brief dl{display:grid;margin:0}.mastery-next dl>div,.fractal-brief dl>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.mastery-next dt,.fractal-brief dt{color:var(--muted);font-size:var(--type-supporting)}.mastery-next dd,.fractal-brief dd{margin:0;font-weight:700}.mastery-action,.fractal-action{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:20px;border-top:1px solid var(--line)}.mastery-action p,.fractal-action p{max-width:65ch}.mastery-action small{max-width:48ch;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.mastery-action a,.fractal-action a{flex-shrink:0;text-decoration:none}.exchange-page{max-width:1080px;margin-inline:auto}.exchange-planner{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:36px;padding:28px 0;border-block:1px solid var(--line)}.exchange-form{display:grid;align-content:start;gap:12px}.exchange-form fieldset{margin:0 0 5px;padding:0;border:0}.exchange-form legend,.exchange-form>label{margin-bottom:7px;color:var(--muted);font-size:var(--type-supporting);font-weight:600}.exchange-direction{display:grid;grid-template-columns:1fr 1fr;gap:6px}.exchange-direction button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted)}.exchange-direction button[aria-pressed="true"]{border-color:var(--gold);color:var(--text);background:color-mix(in srgb,var(--gold) 10%,var(--panel))}.exchange-input{display:flex;align-items:center}.exchange-input input{width:100%;border-radius:8px 0 0 8px}.exchange-input span{display:grid;min-height:43px;padding:0 13px;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;color:var(--muted);font-size:var(--type-supporting)}.exchange-form>p{color:var(--muted);font-size:var(--type-supporting)}.exchange-result,.exchange-empty{display:grid;align-content:center;gap:12px;min-height:240px;padding-left:34px;border-left:1px solid var(--line)}.exchange-result>span{color:var(--muted);font-size:var(--type-supporting)}.exchange-result>strong,.exchange-empty>strong{font:650 27px/1.3 var(--display)}.exchange-result dl{display:grid;margin:5px 0 0}.exchange-result dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.exchange-result dt{color:var(--muted)}.exchange-result dd{margin:0}.exchange-empty p{color:var(--muted)}.exchange-note{display:flex;justify-content:space-between;gap:24px;padding-top:18px;color:var(--muted);font-size:var(--type-supporting)}.exchange-note p{margin:0}.exchange-note a{flex-shrink:0}.build-intent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.build-intent label{display:grid;gap:6px;color:var(--muted);font-size:var(--type-supporting)}.build-readiness-note{display:block;max-width:62ch;margin-top:8px;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.build-draw-actions a{text-decoration:none}.lab-page{max-width:1180px;margin-inline:auto}.lab-summary{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:20px 0;border-block:1px solid var(--line)}.lab-summary p{max-width:60ch;margin:0;color:var(--muted)}.lab-summary label{display:grid;gap:6px;min-width:min(360px,100%);color:var(--muted);font-size:var(--type-supporting)}.lab-access{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0;border-block:1px solid var(--line)}.lab-access h2{margin:0 0 7px}.lab-access p{max-width:65ch;margin:0;color:var(--muted)}.lab-access>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.feature-card-foot>div{display:flex;gap:6px;flex-wrap:wrap}.sync-invite{position:fixed;right:22px;bottom:22px;z-index:30;width:min(520px,calc(100vw - 32px));padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 48px #0007;color:var(--text)}.sync-invite h2{margin:0 0 6px;font:650 19px/1.4 var(--display)}.sync-invite p{margin:0;color:var(--muted);font-size:var(--type-supporting)}.sync-invite-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.sync-invite[hidden]{display:none}
@media(max-width:760px){.mastery-next,.fractal-brief,.exchange-planner{grid-template-columns:minmax(0,1fr)}.mastery-action,.fractal-action{align-items:stretch;flex-direction:column}.mastery-action a,.fractal-action a{text-align:center}.exchange-result,.exchange-empty{min-height:0;padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.exchange-note,.lab-summary,.lab-access{align-items:stretch;flex-direction:column}.build-intent{grid-template-columns:minmax(0,1fr)}.sync-invite{right:16px;bottom:16px}.sync-invite-actions>*{flex:1}}

.fractal-page{max-width:1280px;margin-inline:auto}.fractal-account-note{display:flex;align-items:center;justify-content:space-between;gap:18px}.fractal-account-note .button-outline{flex-shrink:0}.fractal-toolbar{display:flex;align-items:end;gap:18px;margin-bottom:16px}.fractal-toolbar>label{display:grid;gap:6px}.fractal-toolbar>label>span,.fractal-tier>span{color:var(--muted);font-size:var(--type-supporting);font-weight:600}.fractal-toolbar select{min-width:220px}.fractal-tier{display:flex;align-items:center;gap:6px}.fractal-tier>span{margin-right:4px}.fractal-tier button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-weight:650}.fractal-tier button[aria-pressed="true"]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--panel));color:var(--text)}.fractal-reset{margin:0 0 11px auto;color:var(--muted);font-size:var(--type-supporting);font-variant-numeric:tabular-nums}.fractal-reset strong{color:var(--text)}.fractal-focus{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.55fr);gap:24px;padding:24px 0;border-block:1px solid var(--line)}.fractal-focus-copy>span{color:var(--gold);font-size:var(--type-supporting);font-weight:700}.fractal-focus h2{margin:6px 0 7px;font:650 22px/1.3 var(--display)}.fractal-focus h2 span{white-space:nowrap}.fractal-focus p{margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.55}.fractal-sequence{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:16px}.fractal-sequence>span:not(.fractal-sequence-next){display:inline-flex;gap:6px;align-items:center;min-height:36px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised,var(--panel));font-size:var(--type-supporting)}.fractal-sequence-next{color:var(--muted);font-size:var(--type-metadata)}.fractal-focus dl{display:grid;margin:0}.fractal-focus dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.fractal-focus dt{color:var(--muted);font-size:var(--type-supporting)}.fractal-focus dd{max-width:210px;margin:0;text-align:right;font-size:var(--type-supporting);font-weight:700}.fractal-focus .fractal-ar-note{grid-column:1/-1;padding-top:15px;border-top:1px solid var(--line);font-size:var(--type-supporting)}.fractal-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;margin-top:16px}.fractal-list{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.fractal-list>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line)}.fractal-list h2{margin:0 0 3px;font:650 18px/1.35 var(--display)}.fractal-list header p{margin:0;color:var(--muted);font-size:var(--type-supporting)}.fractal-list header>strong{color:var(--gold);font-size:var(--type-supporting);white-space:nowrap}.fractal-list ol{margin:0;padding:0;list-style:none}.fractal-list li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.fractal-list li:last-child{border-bottom:0}.fractal-scale{display:grid;min-height:38px;place-items:center;border-radius:8px;background:var(--surface-raised,var(--bg));color:var(--blue);font-weight:700;font-variant-numeric:tabular-nums}.fractal-row-copy{display:grid;gap:2px}.fractal-row-copy strong{font-size:var(--type-body)}.fractal-row-copy small{color:var(--muted);font-size:var(--type-metadata)}.fractal-range-state{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--ok) 12%,var(--panel));color:var(--ok);font-size:var(--type-metadata);font-weight:700}.fractal-followup{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding:16px 18px;border-block:1px solid var(--line)}.fractal-followup h3{margin:0 0 3px;font:650 17px/1.35 var(--display)}.fractal-followup p{margin:0;color:var(--muted);font-size:var(--type-supporting)}.fractal-followup .button-outline{flex-shrink:0}.fractal-tomorrow{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.fractal-tomorrow summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;cursor:pointer}.fractal-tomorrow summary>span:first-child{display:grid;gap:2px}.fractal-tomorrow summary small,.fractal-tomorrow summary>span:last-child{color:var(--muted);font-size:var(--type-metadata)}.fractal-tomorrow>div{padding:0 18px 14px;color:var(--muted);font-size:var(--type-supporting)}.fractal-tomorrow p{margin:6px 0}.fractal-tomorrow p>strong{color:var(--text)}.fractal-source{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-top:14px;color:var(--muted);font-size:var(--type-metadata)}.fractal-source p{max-width:75ch;margin:0}.fractal-source a{flex-shrink:0}
@media(max-width:900px){.fractal-focus,.fractal-grid{grid-template-columns:minmax(0,1fr)}.fractal-focus dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fractal-focus dl>div{display:grid}.fractal-focus dd{max-width:none;text-align:left}.fractal-toolbar{align-items:stretch;flex-wrap:wrap}.fractal-reset{width:100%;margin:0}}
@media(max-width:620px){.fractal-account-note,.fractal-toolbar,.fractal-followup,.fractal-source{align-items:stretch;flex-direction:column}.fractal-toolbar select{width:100%;min-width:0}.fractal-tier{flex-wrap:wrap}.fractal-tier>span{width:100%}.fractal-focus{padding:20px 0}.fractal-focus dl{grid-template-columns:minmax(0,1fr)}.fractal-sequence{align-items:stretch;flex-direction:column}.fractal-sequence>span:not(.fractal-sequence-next){width:100%}.fractal-list>header{flex-direction:column}.fractal-list header>strong{white-space:normal}.fractal-list li{grid-template-columns:44px minmax(0,1fr);padding:12px 14px}.fractal-range-state{grid-column:2;justify-self:start}.fractal-followup .button-outline{width:100%}.fractal-tomorrow summary{align-items:flex-start}.fractal-source a{align-self:flex-start}}

/* About actions retain a 44px pointer target without enlarging their labels. */
.about-feedback button,.about-sources>a{min-height:44px}
.about-sources>a{padding-inline:3px}
.about-page>.page-head{align-items:center}

/* The active indicator uses a neutral focus ring instead of a colored glow. */
.build-template.is-active .build-template-state:before{box-shadow:0 0 0 4px #0003}

/* Projects typography: preserve hierarchy without dropping below the 12px contract floor. */
.project-workspace{grid-template-columns:230px minmax(0,1fr);gap:20px}
.project-queue>summary,.queue-item-name{font-size:var(--type-supporting)}
.project-queue>summary small,.queue-combined small,.queue-combined small span,.queue-entry-controls label,.project-queue-body>p,.project-meter>span{font-size:var(--type-metadata)}
.project-brief p,.project-facts dt,.project-overall,.project-detail .cost-comparison>div>span,.stage-note,.stage-name,.stage-part,.stage-part small,.stage-wiki,.workspace-section-title>span{font-size:var(--type-supporting)}
.project-brief-title>.button-quiet,.project-state{font-size:var(--type-metadata)}
.project-facts dd{font-size:var(--type-lead)}
.project-detail .cost-comparison>p,.project-detail .cost-comparison small,.project-detail .cost-comparison small span{font-size:var(--type-metadata)}
.project-materials .price-controls button{font-size:var(--type-supporting)}
.project-detail .materials-table{font-size:15px}
.project-detail .materials-table th,.project-detail .materials-table th small,.project-detail .price-cell strong,.project-detail .price-cell small,.project-detail .price-cell .coin-value,.project-detail .material-name .project-meter>span,.project-material-table .price-cell>span{font-size:var(--type-metadata)}
.material-group strong{font-size:var(--type-supporting)}
.material-group small,.material-group b,.material-kind,.farm-priority p,.farm-priority strong,.farm-priority>a,.farm-guide,.price-cell.unavailable>span,.material-allocation-note{font-size:var(--type-metadata)}
.project-material-table .material-source:before{font-size:var(--type-metadata)}
@media(max-width:1199px){.project-workspace{grid-template-columns:minmax(0,1fr)}}

/* One queue entry can reserve the recipe for several new copies. */
.queue-item-name b{color:var(--gold);font-size:var(--type-metadata);font-variant-numeric:tabular-nums}.queue-entry-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.queue-order{display:flex;gap:2px}.project-quantity-control{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px;padding-top:7px;border-top:1px solid var(--line)}.project-quantity-control select{width:58px;min-height:32px;padding:4px 23px 4px 8px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);font-size:var(--type-metadata);font-variant-numeric:tabular-nums}.project-quantity-control select:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.queue-quantity-note{padding-top:9px;border-top:1px solid var(--line);color:var(--warning)!important}.project-brief-title p>strong{color:var(--gold);font-variant-numeric:tabular-nums}

/* The project queue is a horizontal context switcher above the planning surface. */
.project-workspace{grid-template-columns:minmax(0,1fr);gap:22px}.project-rail{position:static;height:auto;overflow-anchor:none}.project-queue{padding:0;border:0;border-block:1px solid var(--line);border-radius:0;background:transparent}.project-queue>summary{min-height:44px;padding:8px 2px;border:0;cursor:pointer}.project-queue>summary small{margin-left:auto}.project-queue-body{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:start;gap:10px;padding:0 0 12px}.queue-combined{min-height:106px;margin:0;padding:13px;border-radius:10px}.project-queue-list{display:flex;gap:8px;max-height:none;margin:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.queue-entry{flex:0 0 220px;border-radius:10px}.queue-select{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:10px 10px 7px}.queue-select .project-item-icon,.queue-select .project-item-placeholder{grid-row:1/3;width:38px;height:38px}.queue-select .project-meter{grid-column:2}.queue-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-entry-controls{padding:0 8px 8px 56px}.queue-entry-controls button{width:32px;height:32px;padding:7px}.project-quantity-control{margin-left:-48px}.queue-add{min-height:44px;white-space:nowrap}.project-queue-body>p{grid-column:1/-1;margin:0;padding:0 2px}.queue-quantity-note{margin-top:-4px!important}.project-detail{width:100%}
@media(max-width:760px){.project-workspace{gap:18px}.project-queue{margin-inline:-2px}.project-queue-body{grid-template-columns:minmax(0,1fr);gap:9px}.queue-combined{min-height:58px;margin:0}.project-queue-list{margin-inline:-2px;padding:0 2px 4px}.queue-entry{flex-basis:min(230px,82vw)}.queue-add{width:100%}.project-queue-body>p{grid-column:auto}.project-queue>summary:after{content:none}.queue-entry-controls label{min-height:40px}}
@media(max-width:600px){.project-quantity-control select{min-height:44px;width:68px;font-size:16px}.project-quantity-control{min-height:52px}}

/* Dense queue: two information bands, no detached action or explanatory row. */
.project-queue-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:52px;padding:6px 2px}.project-queue-header>div{display:flex;align-items:baseline;gap:12px;min-width:0}.project-queue-header strong{font:650 var(--type-supporting)/1.35 var(--display)}.project-queue-header>div>span,.project-queue-header>small{color:var(--muted);font-size:var(--type-metadata)}.project-queue-header>small{white-space:nowrap}.project-queue-header .queue-add{min-height:38px;padding-block:6px}.project-queue-body{grid-template-columns:156px minmax(0,1fr);gap:8px;padding-bottom:9px}.queue-combined{min-height:92px;padding:10px 12px;border-radius:var(--radius-control,8px)}.project-queue-list{gap:6px}.queue-entry{flex-basis:210px;border-radius:var(--radius-control,8px)}.queue-select{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:7px 8px 4px}.queue-select .project-item-icon,.queue-select .project-item-placeholder{width:34px;height:34px;border-radius:var(--radius-control,8px)}.queue-select .project-meter{gap:6px}.queue-select .project-meter progress{height:4px}.queue-select .project-meter>span{min-width:38px}.queue-entry-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;padding:0 6px 6px 49px}.queue-entry-controls label{min-height:30px}.queue-entry-controls button{width:30px;height:30px;padding:6px}.queue-entry-controls .project-quantity-control{grid-column:auto;display:flex;gap:5px;min-height:30px;margin:0;padding:0;border:0}.queue-entry-controls .project-quantity-control select{width:48px;min-height:30px;padding:3px 20px 3px 6px}.queue-order{gap:0}.queue-quantity-note{grid-column:1/-1;margin:0!important;padding:4px 2px 0;border-top:1px solid var(--line)}
@media(max-width:760px){.project-queue-header{grid-template-columns:minmax(0,1fr) auto}.project-queue-header>div{display:grid;gap:2px}.project-queue-header .queue-add{grid-column:1/-1;width:100%}.project-queue-body{grid-template-columns:minmax(0,1fr)}.queue-combined{min-height:56px}.queue-entry{flex-basis:min(210px,78vw)}}
@media(max-width:600px){.queue-entry-controls .project-quantity-control{min-height:40px}.queue-entry-controls .project-quantity-control select{width:58px;min-height:40px;font-size:16px}.queue-entry-controls button{width:40px;height:40px;padding:10px}.queue-entry-controls label{min-height:40px}}
.queue-entry .queue-entry-controls{padding:1px 6px 6px}.queue-entry .queue-entry-controls button{width:28px;height:30px;padding:5px}.queue-entry .queue-entry-controls .project-quantity-control{gap:4px}.queue-entry .queue-entry-controls .project-quantity-control select{width:62px;padding-inline:8px 24px}
.queue-entry .queue-select{grid-template-columns:34px minmax(0,1fr);grid-template-rows:34px auto;align-items:center;padding:7px 8px 5px}.queue-entry .queue-select .project-item-icon,.queue-entry .queue-select .project-item-placeholder{grid-column:1;grid-row:1}.queue-entry .queue-item-name{grid-column:2;grid-row:1}.queue-entry .queue-select .project-meter{grid-column:1/-1;grid-row:2;width:100%;padding-top:1px}
@media(max-width:600px){.queue-entry .queue-entry-controls{grid-template-columns:minmax(0,1fr) auto auto}.queue-entry .queue-entry-controls label{min-height:44px}.queue-entry .queue-entry-controls button{width:44px;height:44px;padding:11px}.queue-entry .queue-entry-controls .project-quantity-control{min-height:44px}.queue-entry .queue-entry-controls .project-quantity-control select{width:62px;min-height:44px;padding-inline:7px 22px}}

/* Queue cards read as identity + state, progress, then editable planning controls. */
.project-queue-list .queue-entry{position:relative;flex-basis:228px}
.queue-entry .queue-item-name{width:calc(100% - 68px);padding-right:0}
.queue-entry.paused .queue-item-name{width:calc(100% - 84px)}
.queue-entry .queue-entry-controls{grid-template-columns:minmax(0,1fr) auto}
.queue-entry .queue-active{position:absolute;z-index:1;top:3px;right:6px;min-height:38px}
.queue-entry .queue-entry-controls .project-quantity-control{grid-column:1;grid-row:1;justify-content:flex-start}
.queue-entry .queue-order{grid-column:2;grid-row:1;justify-content:flex-end}
@media(max-width:760px){.project-queue-list .queue-entry{flex-basis:min(272px,88vw)}}
@media(max-width:600px){
  .queue-entry .queue-entry-controls{grid-template-columns:minmax(0,1fr) auto;gap:0 8px;padding-top:3px}
  .queue-entry .queue-active{top:2px;right:7px}
  .queue-entry .queue-entry-controls .project-quantity-control{grid-column:1;grid-row:1}
  .queue-entry .queue-order{grid-column:2;grid-row:1;padding:0;border:0}
}

/* Projects use one compact operating rhythm: act, prepare, then consult details. */
.project-detail{gap:14px}
#project-detail-heading:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.project-detail .project-next-action{margin:14px 0;padding:14px 0;gap:12px 20px}
.project-detail .project-action-label{margin-bottom:3px;font-size:var(--type-metadata);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.project-detail .project-action-copy h2,.project-detail .project-action-copy h3{font-size:18px;letter-spacing:-.02em}
.project-detail .project-action-copy p{margin-top:4px}
.project-snapshot{margin:10px 0 9px}
.project-snapshot>div{padding-block:9px}
.project-snapshot dd{min-height:20px;margin-block:2px;font-variant-numeric:tabular-nums}
.project-group-heading{padding-top:8px}
.project-activities{display:grid;gap:8px;padding:2px 0}.project-activities .project-group-heading{padding-top:2px}.project-activity-list{display:grid;border-top:1px solid var(--line)}.project-activity{display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.project-activity:hover{background:var(--hover)}.project-activity:focus-visible{position:relative;z-index:1;outline:2px solid var(--gold);outline-offset:-2px}.project-activity.is-primary{margin-block:4px;padding-inline:12px;border-block:1px solid color-mix(in srgb,var(--gold) 44%,var(--line));background:color-mix(in srgb,var(--gold) 8%,var(--panel))}.project-activity.is-primary:hover{background:color-mix(in srgb,var(--gold) 13%,var(--panel))}.project-activity-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--panel2);color:var(--ice)}.project-activity-icon svg{width:18px;height:18px}.project-activity-icon.strategy{color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}.project-activity-icon.resource{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.project-activity-icon.market{color:var(--ice);background:color-mix(in srgb,var(--ice) 14%,transparent)}.project-activity-copy{display:grid;min-width:0;gap:2px}.project-activity-copy strong{font:600 var(--type-supporting)/1.35 var(--display);overflow-wrap:anywhere}.project-activity-copy small{color:var(--muted);font-size:var(--type-metadata);line-height:1.4;overflow-wrap:anywhere}.project-activity-impact{color:var(--muted);font-size:var(--type-metadata);font-weight:700;white-space:nowrap}.project-activity.is-primary .project-activity-impact{color:var(--gold)}.project-activity-arrow{color:var(--muted);font-size:24px;font-weight:300;line-height:1}.project-activity:hover .project-activity-arrow{color:var(--ice)}
.project-information-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0 8px;border-block:1px solid var(--line)}
.project-information-nav>button{display:grid;align-content:center;gap:3px;min-height:64px;padding:9px 16px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}
.project-information-nav>button:first-child{padding-left:4px}.project-information-nav>button:last-child{border-right:0}.project-information-nav>button:hover{background:var(--hover)}
.project-information-nav>button:focus-visible{position:relative;z-index:1;outline:2px solid var(--ice);outline-offset:-2px}
.project-information-nav strong{font:600 var(--type-supporting)/1.35 var(--display)}.project-information-nav span{color:var(--muted);font-size:var(--type-metadata);line-height:1.4}
.project-information-group{display:grid;gap:12px;padding-top:4px;scroll-margin-top:calc(var(--shell-header-height,64px) + 18px)}
.project-information-group+.project-information-group{margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}
.project-information-group>.project-group-heading{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);align-items:baseline;gap:20px;padding-top:0}
.project-information-group>.project-group-heading h2{margin:0;font:650 17px/1.4 var(--display)}
.project-information-group>.project-group-heading p{margin:0;color:var(--muted);font-size:var(--type-supporting);line-height:1.5}
.project-section>summary,.resource-readiness>summary,.project-crafting>summary{min-height:66px;padding-block:11px}
.project-section-copy>strong,.collapsible-section-copy>strong{font-size:16px;letter-spacing:-.015em}
.project-section-body{padding-block:15px}
.resource-readiness>summary{align-items:start;padding-top:13px;padding-bottom:13px}
.resource-readiness>summary .collapsible-section-status,.resource-readiness>summary .collapsible-section-chevron{margin-top:2px}
@media(max-width:760px){.project-information-nav{grid-template-columns:minmax(0,1fr)}.project-information-nav>button,.project-information-nav>button:first-child{min-height:56px;padding:9px 4px;border-right:0;border-bottom:1px solid var(--line)}.project-information-nav>button:last-child{border-bottom:0}.project-information-group>.project-group-heading{grid-template-columns:minmax(0,1fr);gap:2px}.project-information-group+.project-information-group{padding-top:14px}}

.resource-readiness-covered{padding-top:6px}
.resource-readiness-covered>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:42px;padding:4px 0;color:var(--success);font-size:var(--type-supporting);font-weight:600;list-style:none;cursor:pointer}
.resource-readiness-covered>summary::-webkit-details-marker{display:none}
.resource-readiness-covered>summary small{color:var(--muted);font-size:var(--type-metadata);font-weight:500}
.resource-readiness-covered>summary .project-section-chevron{width:18px;height:18px}
.resource-readiness-covered[open]>summary .project-section-chevron{transform:rotate(180deg)}
.resource-readiness-covered:not([open]){border-top:1px solid var(--line)}
.resource-readiness-covered:not([open]) ul{display:none}

.project-crafting-columns{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(180px,1fr) minmax(220px,1.2fr);gap:16px;padding:8px 0 4px;color:var(--muted);font-size:var(--type-metadata);line-height:1.35}
.project-crafting-row{min-height:52px;padding:7px 0}
.project-crafting-row>div:not(.project-crafting-item)>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-crafting-item>.material-item-icon{width:32px;height:32px;flex-basis:32px}
.project-crafting-item>span{gap:1px}
.craft-discipline-badge{min-height:28px}
.resource-cost-empty{text-align:center!important}
.resource-cost-empty>span[aria-hidden="true"]{color:var(--muted)}
.planning-help{padding:0!important}
.planning-help>summary{display:flex;align-items:center;min-height:44px;padding:0 15px;color:var(--muted);font-size:var(--type-supporting);font-weight:600;list-style:none;cursor:pointer}
.planning-help>summary::-webkit-details-marker{display:none}
.planning-help>summary:after{margin-left:auto;color:var(--muted);content:"+";font-size:18px;font-weight:400}
.planning-help[open]>summary:after{content:"−"}
.planning-help>div{padding:0 15px 12px}
.planning-help>div p{margin:0}
.planning-help>div p+p{margin-top:8px}

/* Project panels expose one scannable state; explanations stay inside the expanded panel. */
.project-section>summary,.resource-readiness>summary,.project-crafting>summary{grid-template-columns:34px minmax(0,1fr) auto 20px;align-items:center;min-height:64px;padding:10px 16px;gap:12px}
.project-section-state{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--panel2);color:var(--muted)}
.project-section-state svg{width:18px;height:18px}
.state-ready{border-color:color-mix(in srgb,var(--success) 44%,var(--line))}
.state-blocked{border-color:color-mix(in srgb,var(--warning) 58%,var(--line))}
.state-pending{border-color:color-mix(in srgb,var(--gold) 38%,var(--line))}
.state-ready>summary{background:color-mix(in srgb,var(--success) 5%,var(--panel))}
.state-blocked>summary{background:color-mix(in srgb,var(--warning) 7%,var(--panel))}
.state-pending>summary{background:color-mix(in srgb,var(--gold) 5%,var(--panel))}
.state-ready>summary:hover{background:color-mix(in srgb,var(--success) 9%,var(--panel))}
.state-blocked>summary:hover{background:color-mix(in srgb,var(--warning) 11%,var(--panel))}
.state-pending>summary:hover{background:color-mix(in srgb,var(--gold) 9%,var(--panel))}
.project-section-state.ready{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}
.project-section-state.blocked{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}
.project-section-state.pending{background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold)}
.state-ready :is(.project-section-status,.collapsible-section-status){background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}
.state-blocked :is(.project-section-status,.collapsible-section-status){background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}
.state-pending :is(.project-section-status,.collapsible-section-status){background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold)}
.project-section-intro{max-width:72ch;margin:12px 0 10px;color:var(--muted);font-size:var(--type-supporting);line-height:1.5}
.project-section-intro.is-warning{color:var(--warning)}
.project-materials>.project-section-body>.project-section-intro{max-width:none;margin:0;padding:12px 15px;border-bottom:1px solid var(--line)}
.project-craft-path>.project-section-body>.project-section-intro{margin:0}

@container (max-width:800px) and (min-width:701px){
  .project-material-groups{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}
  .project-material-table{min-width:800px}
}
@media(max-width:700px){
  .project-section>summary,.resource-readiness>summary,.project-crafting>summary{grid-template-columns:32px minmax(0,1fr) 20px;min-height:64px;padding:10px 13px;gap:10px}
  .project-section-state{grid-column:1;grid-row:1/3}
  .project-section-copy,.collapsible-section-copy{grid-column:2;grid-row:1}
  .project-section-status,.collapsible-section-status{grid-column:2;grid-row:2;justify-self:start;white-space:normal}
  .project-section-chevron,.collapsible-section-chevron{grid-column:3;grid-row:1/3}
  .project-material-table{min-width:0}
  .project-crafting-columns{display:none}
  .project-crafting-row{gap:8px;padding:10px 0}
  .project-crafting-row>div:not(.project-crafting-item)>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .resource-readiness-covered>summary{grid-template-columns:minmax(0,1fr) auto 18px}
  .project-activity{grid-template-columns:32px minmax(0,1fr) 16px;gap:10px;min-height:68px}.project-activity-icon{grid-column:1;grid-row:1/3}.project-activity-copy{grid-column:2;grid-row:1}.project-activity-impact{grid-column:2;grid-row:2;justify-self:start}.project-activity-arrow{grid-column:3;grid-row:1/3}.project-activity.is-primary{padding-inline:10px}
}

/* Final project-disclosure prototype layer. */
.project-preflight{gap:12px}.project-section,.resource-readiness,.project-crafting{border-color:var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 96%,var(--bg))}.project-section.state-ready,.project-section.state-blocked,.project-section.state-pending,.resource-readiness.state-ready,.resource-readiness.state-blocked,.resource-readiness.state-pending,.project-crafting.state-ready,.project-crafting.state-blocked,.project-crafting.state-pending,.resource-readiness.has-shortage,.project-crafting.has-shortage,.project-materials.has-blockers,.project-materials.is-ready{border-color:var(--line)}.project-section>summary,.resource-readiness>summary,.project-crafting>summary{grid-template-columns:38px minmax(0,1fr) auto 20px;min-height:68px;padding:11px 17px;gap:14px;background:transparent!important}.project-section>summary:hover,.resource-readiness>summary:hover,.project-crafting>summary:hover{background:var(--hover)!important}.project-section-state{width:36px;height:36px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:9px;background:var(--panel2)!important;color:var(--muted)}.project-section-state svg{width:19px;height:19px;stroke-width:1.65}.project-section-state.ready{border-color:color-mix(in srgb,var(--success) 38%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--success) 74%,var(--ice))}.project-section-state.blocked{border-color:color-mix(in srgb,var(--warning) 32%,var(--line));background:color-mix(in srgb,var(--warning) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--warning) 48%,var(--red))}.project-section-state.pending{border-color:color-mix(in srgb,var(--ice) 25%,var(--line));background:color-mix(in srgb,var(--ice) 7%,var(--panel2))!important;color:color-mix(in srgb,var(--ice) 50%,var(--muted))}.project-section-copy,.collapsible-section-copy{gap:0;padding-left:14px;border-left:1px solid color-mix(in srgb,var(--line) 82%,transparent)}.project-section-copy>strong,.collapsible-section-copy>strong{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:-.015em;line-height:1.35}.project-section-status,.collapsible-section-status{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)!important;color:var(--muted)!important;font-size:var(--type-metadata);font-weight:650;letter-spacing:.005em}.state-ready :is(.project-section-status,.collapsible-section-status),.project-materials.is-ready .project-section-status{border-color:color-mix(in srgb,var(--success) 33%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--success) 74%,var(--ice))!important}.state-blocked :is(.project-section-status,.collapsible-section-status),.has-shortage .collapsible-section-status,.project-materials.has-blockers .project-section-status{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:color-mix(in srgb,var(--warning) 9%,var(--panel2))!important;color:color-mix(in srgb,var(--warning) 48%,var(--red))!important}.state-pending :is(.project-section-status,.collapsible-section-status){border-color:color-mix(in srgb,var(--ice) 22%,var(--line));background:color-mix(in srgb,var(--ice) 6%,var(--panel2))!important;color:color-mix(in srgb,var(--ice) 50%,var(--muted))!important}.project-section-chevron,.collapsible-section-chevron{width:20px;height:20px;color:var(--muted)}
@media(max-width:700px){.project-section>summary,.resource-readiness>summary,.project-crafting>summary{grid-template-columns:36px minmax(0,1fr) 20px;min-height:68px;padding:11px 14px;gap:11px}.project-section-state{width:34px;height:34px}.project-section-copy,.collapsible-section-copy{padding-left:11px}}

/* Semantic project icons replace generic state glyphs inside the shared tiles. */
:is(.resource-readiness,.project-crafting,.recipe-stages,.project-materials,.project-craft-path) .project-section-state>svg{display:none}
:is(.resource-readiness,.project-crafting,.recipe-stages,.project-materials,.project-craft-path) .project-section-state::after{width:19px;height:19px;background:currentColor;content:""}
.resource-readiness .project-section-state::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6M10 3v4l-4.8 6.7A4.6 4.6 0 0 0 9 21h6a4.6 4.6 0 0 0 3.8-7.3L14 7V3M8.5 15h7' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6M10 3v4l-4.8 6.7A4.6 4.6 0 0 0 9 21h6a4.6 4.6 0 0 0 3.8-7.3L14 7V3M8.5 15h7' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.project-crafting .project-section-state::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v16H7zM10 8h4M10 12h4M10 16h2M18.5 6l.7 1.7 1.8.7-1.8.7-.7 1.7-.7-1.7-1.8-.7 1.8-.7z' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h10v16H7zM10 8h4M10 12h4M10 16h2M18.5 6l.7 1.7 1.8.7-1.8.7-.7 1.7-.7-1.7-1.8-.7 1.8-.7z' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.recipe-stages .project-section-state::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='5' r='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='6' cy='18' r='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='18' cy='18' r='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M12 7v5M6 16v-2h12v2M12 12l-6 4m6-4 6 4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='5' r='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='6' cy='18' r='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='18' cy='18' r='2' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M12 7v5M6 16v-2h12v2M12 12l-6 4m6-4 6 4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.project-materials .project-section-state::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 7 4v10l-7 4-7-4V7zM5 7l7 4 7-4M12 11v10' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 7 4v10l-7 4-7-4V7zM5 7l7 4 7-4M12 11v10' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.project-craft-path .project-section-state::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5h5c2.8 0 2.8 5 5.6 5H19M16 7l3 3-3 3M5 19h5c2.8 0 2.8-5 5.6-5H19M16 12l3 2-3 3' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5h5c2.8 0 2.8 5 5.6 5H19M16 7l3 3-3 3M5 19h5c2.8 0 2.8-5 5.6-5H19M16 12l3 2-3 3' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Vivid state language: red blocks, gold asks, cyan progresses, green confirms. */
.project-section-state.ready{border-color:color-mix(in srgb,var(--success) 72%,var(--line));background:color-mix(in srgb,var(--success) 20%,var(--panel2))!important;color:var(--success)}
.project-section-state.blocked{border-color:color-mix(in srgb,var(--red) 72%,var(--line));background:color-mix(in srgb,var(--red) 20%,var(--panel2))!important;color:var(--red)}
.project-section-state.pending{border-color:color-mix(in srgb,var(--ice) 68%,var(--line));background:color-mix(in srgb,var(--ice) 18%,var(--panel2))!important;color:var(--ice)}
.project-section-status,.collapsible-section-status{font-weight:700}
.state-ready :is(.project-section-status,.collapsible-section-status),.project-materials.is-ready .project-section-status{border-color:color-mix(in srgb,var(--success) 62%,var(--line));background:color-mix(in srgb,var(--success) 17%,var(--panel2))!important;color:var(--success)!important}
.state-blocked :is(.project-section-status,.collapsible-section-status),.has-shortage .collapsible-section-status,.project-materials.has-blockers .project-section-status{border-color:color-mix(in srgb,var(--red) 62%,var(--line));background:color-mix(in srgb,var(--red) 17%,var(--panel2))!important;color:var(--red)!important}
.state-pending :is(.project-section-status,.collapsible-section-status){border-color:color-mix(in srgb,var(--ice) 58%,var(--line));background:color-mix(in srgb,var(--ice) 15%,var(--panel2))!important;color:var(--ice)!important}
.clover-planner.state-blocked .project-section-state{border-color:color-mix(in srgb,var(--gold) 72%,var(--line));background:color-mix(in srgb,var(--gold) 20%,var(--panel2))!important;color:var(--gold)}
.clover-planner.state-blocked .project-section-status{border-color:color-mix(in srgb,var(--gold) 62%,var(--line));background:color-mix(in srgb,var(--gold) 17%,var(--panel2))!important;color:var(--gold)!important}
.procurement-planner .project-section-state{border-color:color-mix(in srgb,var(--ice) 68%,var(--line));background:color-mix(in srgb,var(--ice) 18%,var(--panel2))!important;color:var(--ice)}
.procurement-planner .project-section-status{border-color:color-mix(in srgb,var(--ice) 58%,var(--line));background:color-mix(in srgb,var(--ice) 15%,var(--panel2))!important;color:var(--ice)!important}

/* Administration keeps authority changes beside the affected account. */
.admin-user-provider>strong,.admin-user-provider>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-page{max-width:1540px;margin-inline:auto}.admin-page-head{margin-bottom:20px}.admin-page-head p{max-width:68ch}.admin-context{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-block:1px solid var(--line);color:var(--muted);font-size:var(--type-supporting)}.admin-context p{margin:0;line-height:1.5}.admin-context p strong{color:var(--text);font-variant-numeric:tabular-nums}.admin-context>span{flex:0 0 auto;font-size:var(--type-metadata)}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,420px) auto;align-items:end;justify-content:space-between;gap:16px;padding:20px 0 14px}.admin-search{display:grid;gap:7px;color:var(--muted);font-size:var(--type-supporting);font-weight:650}.admin-search .input{min-height:44px;background:var(--panel2)}.admin-toolbar>button{min-height:44px}.admin-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 0}.admin-user-list{border-block:1px solid var(--line)}.admin-user-head,.admin-user-row{display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(175px,.78fr) minmax(190px,.82fr) minmax(230px,1fr);gap:18px;align-items:center}.admin-user-head{min-height:38px;padding:6px 12px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.admin-user-row{min-height:68px;padding:8px 12px;border-top:1px solid var(--line);background:transparent}.admin-user-row:hover{background:var(--hover)}.admin-user-row.is-confirming{align-items:start;background:color-mix(in srgb,var(--gold) 5%,var(--panel))}.admin-user-row>div{min-width:0}.admin-user-row strong,.admin-user-row span,.admin-user-row time,.admin-user-row small{overflow-wrap:anywhere}.admin-user-identity,.admin-user-provider,.admin-user-access{display:grid;gap:3px}.admin-user-primary{display:flex;align-items:baseline;gap:9px;min-width:0}.admin-user-primary>strong{min-width:0;overflow:hidden;font-size:var(--type-body);text-overflow:ellipsis;white-space:nowrap}.admin-user-primary>span{flex:0 0 auto;color:var(--muted);font-size:var(--type-metadata);white-space:nowrap}.admin-user-meta{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;color:var(--muted);font-size:var(--type-metadata);font-weight:600;line-height:1.4;white-space:nowrap}.admin-user-meta>b{color:var(--gold)}.admin-user-provider>span,.admin-user-access{color:var(--muted);font-size:var(--type-supporting);line-height:1.45}.admin-user-provider>strong{font-size:var(--type-supporting);font-weight:650}.admin-user-role{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-role-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);font-size:var(--type-metadata);font-weight:750}.admin-role-badge.admin{border-color:color-mix(in srgb,var(--gold) 42%,var(--line));background:color-mix(in srgb,var(--gold) 9%,var(--panel2));color:var(--gold)}.admin-role-action{min-height:44px;text-align:right}.admin-role-action:not(:disabled){color:var(--ice)}.admin-role-confirm{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%}.admin-role-confirm p{grid-column:1/-1;margin:0 0 2px;font-size:var(--type-supporting);line-height:1.45}.admin-role-confirm button{min-height:40px}.admin-list-state{display:grid;justify-items:center;gap:8px;padding:48px 18px;color:var(--muted);text-align:center}.admin-list-state strong{color:var(--text);font-size:var(--type-body)}.admin-list-state p{max-width:52ch;margin:0;line-height:1.5}.admin-list-state button{margin-top:8px;min-height:44px}.admin-access-state{display:grid;justify-items:start;gap:9px;max-width:680px;padding:28px 0;border-block:1px solid var(--line)}.admin-access-state h2,.admin-access-state p{margin:0}.admin-access-state h2{font:650 22px/1.3 var(--display)}.admin-access-state p{color:var(--muted);line-height:1.6}.admin-access-state button{margin-top:8px;min-height:44px}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;color:var(--muted);font-size:var(--type-supporting)}.admin-pagination>span{font-variant-numeric:tabular-nums}.admin-pagination>div{display:flex;align-items:center;gap:8px}.admin-pagination button{min-height:44px}.admin-pagination strong{padding-inline:6px;color:var(--text);font-size:var(--type-supporting);white-space:nowrap}.admin-user-skeleton{min-height:68px}.admin-user-skeleton>span{height:13px;width:var(--skeleton-width,72%);border-radius:5px;background:var(--panel2);animation:admin-skeleton 1.2s ease-in-out infinite alternate}.admin-user-skeleton>span:not(:first-child){width:64%}@keyframes admin-skeleton{to{opacity:.42}}@media(prefers-reduced-motion:reduce){.admin-user-skeleton>span{animation:none}}
@media(max-width:1050px){.admin-user-head,.admin-user-row{grid-template-columns:minmax(210px,1.2fr) minmax(155px,.75fr) minmax(190px,1fr)}.admin-user-head>span:nth-child(3){display:none}.admin-user-access{display:none}.admin-user-role{align-items:flex-start;flex-direction:column}.admin-role-action{width:100%;text-align:left}.admin-role-confirm{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.admin-page-head{margin-bottom:16px}.admin-context{align-items:flex-start;flex-direction:column;gap:7px;padding-block:12px}.admin-toolbar{grid-template-columns:minmax(0,1fr);padding-top:16px}.admin-toolbar>button{width:100%}.admin-search .input{font-size:16px}.admin-notice{align-items:flex-start;flex-direction:column}.admin-user-head{display:none}.admin-user-body{display:grid;gap:12px;padding-block:12px}.admin-user-row{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.admin-user-row:first-child{border-top:1px solid var(--line)}.admin-user-row>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:4px 10px;align-items:start}.admin-user-row>div::before{grid-column:1;grid-row:1/5;color:var(--muted);content:attr(data-label);font-size:var(--type-metadata);font-weight:700}.admin-user-row>div>*{grid-column:2}.admin-user-primary{display:grid;gap:2px}.admin-user-primary>strong{white-space:normal}.admin-user-primary>span{white-space:normal}.admin-user-meta{flex-wrap:wrap;white-space:normal}.admin-user-access{display:grid}.admin-user-role{align-items:start}.admin-role-action{width:auto}.admin-role-confirm{grid-template-columns:1fr 1fr}.admin-role-confirm p{grid-column:1/-1}.admin-pagination{align-items:stretch;flex-direction:column}.admin-pagination>div{display:grid;grid-template-columns:1fr auto 1fr}.admin-pagination button{padding-inline:8px;white-space:normal}.admin-pagination button:last-child{text-align:right}.admin-user-skeleton{display:grid}.admin-user-skeleton::before{display:none}.admin-user-skeleton>span{grid-column:auto;width:var(--skeleton-width,72%)}}
.admin-role-confirm button{min-height:44px}
@media(max-width:700px){.admin-user-provider>strong,.admin-user-provider>span{overflow:visible;white-space:normal}}
.admin-user-row.is-confirming .admin-user-role{display:grid;gap:8px}
@media(max-width:700px){.admin-user-role .admin-role-confirm{grid-column:1/-1;width:100%}}
.admin-user-access{gap:4px}.admin-user-access>strong{color:var(--text);font-size:var(--type-supporting)}.admin-user-access>span{color:var(--muted);font-size:var(--type-metadata)}.admin-presence{display:flex;align-items:center;gap:7px}.admin-presence::before{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--muted);content:""}.admin-presence.is-online{color:var(--success)}.admin-presence.is-online::before{background:var(--success);outline:3px solid color-mix(in srgb,var(--success) 14%,transparent)}.admin-access-denied{position:relative}.admin-access-denied .eyebrow{color:var(--gold)}.admin-access-denied small{max-width:64ch;color:var(--muted);line-height:1.5}
.admin-user-row.is-confirming .admin-role-badge{justify-self:start}
.admin-permissions{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.admin-section-head>div{min-width:0}.admin-section-head h2{margin:0;font:650 20px/1.3 var(--display)}.admin-section-head p{max-width:70ch;margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting);line-height:1.5}.admin-section-head .admin-role-badge{flex:0 0 auto}.admin-permission-body{border-block:1px solid var(--line)}.admin-permission-row{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr) 96px;gap:20px;align-items:center;min-height:88px;padding:14px 10px;border-bottom:1px solid var(--line)}.admin-permission-row:last-child{border-bottom:0}.admin-permission-kind{display:grid;gap:3px;min-width:0}.admin-permission-kind strong{font-size:var(--type-body)}.admin-permission-kind span,.admin-permission-row label>span{color:var(--muted);font-size:var(--type-metadata)}.admin-permission-rules{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px;min-width:0}.admin-permission-check,.admin-permission-fixed{display:grid;align-content:center;min-width:0;min-height:48px;padding:6px 9px;border-radius:8px;background:var(--panel2)}.admin-permission-check{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;cursor:pointer}.admin-permission-check input{width:18px;height:18px;margin:0;accent-color:var(--gold)}.admin-permission-fixed{gap:2px}.admin-permission-fixed>span{color:var(--muted);font-size:var(--type-metadata)}.admin-permission-fixed>strong{font-size:var(--type-supporting);font-weight:650;overflow-wrap:anywhere}.admin-permission-row>button{min-height:44px}.admin-permission-note{margin:12px 0 0;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.admin-permission-state{display:grid;justify-items:start;gap:8px;padding:24px 10px;border-bottom:1px solid var(--line);color:var(--muted)}
.admin-module-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px 28px}.admin-module-group{min-width:0}.admin-module-group h3{margin:0;padding:0 0 7px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--type-metadata);letter-spacing:.06em;text-transform:uppercase}.admin-module-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:center;gap:12px;min-height:52px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.admin-module-row>span:first-child{display:grid;min-width:0;gap:1px}.admin-module-row strong{overflow:hidden;font-size:var(--type-supporting);text-overflow:ellipsis;white-space:nowrap}.admin-module-row small{color:var(--muted);font-size:var(--type-metadata)}.admin-module-access{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;min-width:0}.admin-module-access input{width:18px;height:18px;margin:0;accent-color:var(--gold)}.admin-module-access b{min-width:0;color:var(--muted);font-size:var(--type-metadata);font-weight:650;text-align:right}.admin-module-access input:checked+b{color:var(--success)}
.admin-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--line)}.admin-action-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,auto);align-items:center;gap:18px;min-height:82px;padding:12px 10px}.admin-action-row+label{border-left:1px solid var(--line)}.admin-action-row>span:first-child{display:grid;min-width:0;gap:2px}.admin-action-row strong{font-size:var(--type-supporting)}.admin-action-row small{color:var(--muted);font-size:var(--type-metadata);line-height:1.4}.admin-action-row code{width:max-content;margin-top:3px;color:var(--muted);font-size:var(--type-metadata)}
@media(max-width:1280px){.admin-permission-row{grid-template-columns:minmax(140px,190px) minmax(0,1fr)}.admin-permission-rules{grid-template-columns:repeat(3,minmax(120px,1fr))}.admin-permission-row>button{grid-column:2;justify-self:end;min-width:112px}}
@media(max-width:800px){.admin-section-head{align-items:flex-start;flex-direction:column;gap:12px}.admin-permission-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 0}.admin-permission-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-permission-row>button{grid-column:auto;justify-self:stretch}.admin-module-groups,.admin-action-list{grid-template-columns:minmax(0,1fr)}.admin-action-row+label{border-top:1px solid var(--line);border-left:0}}
@media(max-width:460px){.admin-permission-rules{grid-template-columns:minmax(0,1fr)}.admin-permission-check,.admin-permission-fixed{min-height:44px}.admin-module-row,.admin-action-row{grid-template-columns:minmax(0,1fr);gap:7px;padding:9px 0}.admin-module-access{grid-template-columns:20px minmax(0,1fr)}.admin-module-access b{text-align:left}}

/* The top control keeps desktop navigation available in expanded and icon-only states. */
.sidebar-mode-button{display:grid;width:40px;height:40px;min-width:40px;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel2) 70%,transparent);color:var(--muted);transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.sidebar-mode-button svg{width:22px;height:22px}.sidebar-mode-button:hover{border-color:color-mix(in srgb,var(--gold) 65%,var(--line));background:color-mix(in srgb,var(--gold) 10%,var(--panel2));color:var(--gold)}.sidebar-mode-button:active{transform:scale(.96)}.sidebar-mode-button:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
@media(min-width:961px){
  .mobile-menu{display:grid}.shell{grid-template-columns:244px minmax(0,1fr);transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)}.sidebar{transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.theme-atmosphere{transition:left .22s cubic-bezier(.2,.8,.2,1)}
  html[data-sidebar-mode="compact"] .shell{grid-template-columns:68px minmax(0,1fr)}html[data-sidebar-mode="compact"] .theme-atmosphere{left:68px}
  html[data-sidebar-mode="compact"] .sidebar-caption,html[data-sidebar-mode="compact"] .nav-section-title,html[data-sidebar-mode="compact"] .nav-label,html[data-sidebar-mode="compact"] .sidebar-user-copy,html[data-sidebar-mode="compact"] .sidebar-user-chevron,html[data-sidebar-mode="compact"] .sidebar-foot{display:none}
  html[data-sidebar-mode="compact"] #nav{padding-inline:11px}html[data-sidebar-mode="compact"] .nav-section{margin-top:5px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--line) 66%,transparent)}html[data-sidebar-mode="compact"] .nav-section:first-child{padding-top:0;border-top:0}html[data-sidebar-mode="compact"] .nav-section-items .nav-item{width:46px;min-height:44px;margin:auto;padding:8px;justify-content:center}
  html[data-sidebar-mode="compact"] .sidebar #nav{overflow-x:hidden}
  html[data-sidebar-mode="compact"] .sidebar-account{margin-inline:-8px}html[data-sidebar-mode="compact"] .sidebar-user{display:grid;width:52px;min-height:54px;margin:auto;padding:6px;grid-template-columns:40px;justify-content:center}html[data-sidebar-mode="compact"] .sidebar-avatar{width:40px;height:40px}
  html[data-sidebar-mode="compact"] .sidebar-account-menu{left:calc(100% + 8px);bottom:8px;width:min(280px,calc(100vw - 92px));border:1px solid var(--line);border-radius:12px;box-shadow:none}
}
@media(max-width:960px){.sidebar{width:min(286px,86vw)}.sidebar-mode-button{width:44px;height:44px;min-width:44px}.sidebar-mode-button svg{width:22px;height:22px}.nav-section{margin-top:11px}.nav-section-items .nav-item{min-height:44px;font-size:var(--type-supporting)}}
@media(prefers-reduced-motion:reduce){.sidebar-mode-button,.shell,.sidebar,.theme-atmosphere{transition:none!important}}

/* Responsive layout scale: the 252px desktop rail is part of the available space.
   Large desktop (1440px+) keeps the full grids; medium desktop (961–1439px)
   trades density for readable, actionable columns. Tablet and phone rules above
   continue to own the drawer and single-column compositions. */
@media (min-width:961px) and (max-width:1439px){
  main{padding-inline:clamp(24px,2.25vw,32px)}
  .grid-4,.dashboard-summary,.armor-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3,.catalog,.legendary-grid,.craft-path-fronts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-locations{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-snapshot>div{border-bottom:1px solid var(--line)}
  .project-snapshot>div:nth-child(2n){border-right:0}
  .project-snapshot>div:nth-last-child(-n+2){border-bottom:0}
}

/* Dense operational views: preserve every value while removing idle desktop space. */
@media (min-width:701px){
  .craft-daily-row{min-height:64px;padding-block:8px;gap:10px}
  .craft-row-copy small{margin-top:2px}
  .farm-queue li{min-height:60px;padding-block:8px;gap:16px}
  .farm-row-copy>div>span{margin-top:2px}
  .armory-grid{grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:8px}
  .armory-select{gap:8px;padding:11px 10px 8px}
  .armory-item-name{min-height:36px}
  .armory-tile-cost{padding-top:7px}
  .armory-tile-footer{padding:0 10px 9px}
  .build-character-grid{gap:12px}
  .build-template{gap:10px;min-height:58px;padding-block:8px}
}
.procurement-planner .project-section-body{display:grid;gap:12px}.procurement-routes{display:grid;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.procurement-route{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.1fr);align-items:center;gap:16px;padding:13px 14px;border-bottom:1px solid var(--line)}.procurement-route:last-child{border-bottom:0}.procurement-route-copy{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.procurement-route-copy>span{display:grid;gap:3px;min-width:0}.procurement-route-copy strong{font-size:var(--type-supporting)}.procurement-route-copy small,.procurement-route label>span,.procurement-route label>small,.procurement-footnote{color:var(--muted);font-size:var(--type-metadata);line-height:1.4}.procurement-route label{display:grid;gap:5px;min-width:0}.procurement-route .select{width:100%;min-height:44px}.procurement-costs{display:flex;flex-wrap:wrap;gap:5px 14px}.procurement-costs>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:var(--type-metadata)}.procurement-costs b{color:var(--text);font-weight:600}.procurement-footnote{max-width:75ch;margin:0}.procurement-route:focus-within{background:var(--hover)}
@media(max-width:700px){.procurement-route{grid-template-columns:1fr;gap:10px;padding:12px}.procurement-route label{padding-left:46px}.procurement-route .select{width:100%}}

/* Event planner */
.events-page{min-width:0}.events-page svg{width:18px;height:18px}.events-page.focus .events-standard,.event-focus-view{display:none}.events-page.focus .event-focus-view{display:block}.event-featured{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.event-live-label{display:inline-flex;align-items:center;gap:7px;color:var(--success);font-size:var(--type-metadata);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.event-live-label::before{width:8px;height:8px;border-radius:50%;background:currentColor;content:""}.event-featured h2{margin:6px 0 5px;font:650 22px/1.3 var(--display)}.event-featured p{margin:0;color:var(--muted);font-size:var(--type-supporting)}.event-featured-reason{display:block;margin-top:12px;font-size:var(--type-supporting)}.event-featured-action{display:grid;justify-items:end;min-width:250px}.event-featured-action>strong{font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.event-featured-action>span{color:var(--muted);font-size:var(--type-metadata)}.event-featured-action>div{display:flex;gap:8px;margin-top:12px}.event-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end;margin-top:16px}.event-filters label{display:grid;gap:6px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.event-filters select{width:100%;min-height:44px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--text);font-size:var(--type-supporting)}.event-filters p{display:flex;align-items:center;gap:5px;min-height:44px;margin:0;color:var(--muted);font-size:var(--type-supporting);white-space:nowrap}.event-filters p strong{color:var(--text)}.event-agenda>section{margin-top:20px}.event-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}.event-section-head h2{margin:0;font-size:17px}.event-section-head span{color:var(--muted);font-size:var(--type-metadata)}.event-list{border-top:1px solid var(--line)}.event-row{display:grid;grid-template-columns:92px minmax(190px,1.2fr) minmax(150px,.8fr) minmax(190px,1fr) auto;gap:14px;align-items:center;min-height:76px;border-bottom:1px solid var(--line)}.event-row.done{opacity:.68}.event-row time,.event-name,.event-map,.event-impact{display:grid;gap:3px;min-width:0}.event-row time strong{font-variant-numeric:tabular-nums}.event-row time span,.event-name span,.event-map span,.event-impact span{color:var(--muted);font-size:var(--type-metadata)}.event-name>strong,.event-map>strong,.event-impact>strong{overflow:hidden;text-overflow:ellipsis;font-size:var(--type-supporting)}.event-name>strong,.event-map>strong{white-space:nowrap}.event-impact>strong{color:var(--ice)}.event-certainty.api{color:var(--success)!important}.event-certainty.api::before{content:"✓ "}.event-row-actions{display:flex;gap:4px}.event-row-actions .icon-button{min-width:42px}.event-row-actions .selected{color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.event-row-actions .success{color:var(--success)}.events-note{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--type-supporting);line-height:1.5}.page-head-actions .selected{border-color:var(--gold);color:var(--gold)}
.event-focus-active .topbar,.event-focus-active .sidebar,.event-focus-active .sidebar-scrim{display:none!important}.event-focus-active .content-wrap{margin:0!important}.event-focus-active #main{max-width:none!important;padding:0!important}.event-focus-active .theme-atmosphere{display:none}.event-focus-view{min-height:100vh;padding:24px 34px;background:var(--bg)}.event-focus-view>header{display:flex;align-items:center;justify-content:space-between}.event-focus-view>header>strong{font:650 18px/1.3 var(--display)}.event-focus-view>header button{display:flex;align-items:center;gap:7px}.event-focus-main{display:grid;justify-items:center;max-width:900px;margin:72px auto 42px;text-align:center}.event-focus-main h1{margin:10px 0 4px;font:700 36px/1.2 var(--display);letter-spacing:-1.2px}.event-focus-main p{margin:0;color:var(--muted)}.event-focus-countdown{margin-top:28px;color:var(--gold);font-size:54px;font-variant-numeric:tabular-nums;letter-spacing:-2px}.event-focus-countdown+span{color:var(--muted);font-size:var(--type-supporting)}.event-focus-main>div{display:flex;gap:10px;margin-top:24px}.event-focus-next{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}.event-focus-next h2{margin:17px 0 5px;color:var(--muted);font-size:var(--type-metadata);letter-spacing:.08em;text-transform:uppercase}.event-focus-next>div{display:grid;grid-template-columns:90px minmax(220px,1fr) minmax(160px,.7fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.event-focus-next time{font-weight:750;font-variant-numeric:tabular-nums}.event-focus-next span{color:var(--muted);font-size:var(--type-supporting)}
@media(max-width:980px){.event-row{grid-template-columns:78px minmax(180px,1fr) minmax(160px,.8fr) auto}.event-impact{grid-column:2/4}.event-row-actions{grid-column:4;grid-row:1/3}.event-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.event-filters p{grid-column:1/-1;min-height:auto}.event-featured{align-items:start}}
@media(max-width:640px){.event-featured{grid-template-columns:1fr;padding:17px}.event-featured-action{justify-items:start;min-width:0}.event-featured-action>div{flex-wrap:wrap}.event-filters{grid-template-columns:1fr}.event-filters p{grid-column:auto}.event-row{grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding:12px 0}.event-map,.event-impact{grid-column:2}.event-row-actions{grid-column:3;grid-row:1/4;flex-direction:column}.event-name>strong,.event-map>strong{white-space:normal}.event-section-head span{display:none}.event-focus-view{padding:18px 16px}.event-focus-view>header>strong{font-size:15px}.event-focus-main{margin:52px auto 34px}.event-focus-main h1{font-size:28px}.event-focus-countdown{font-size:44px}.event-focus-next>div{grid-template-columns:65px minmax(0,1fr) auto}.event-focus-next>div>span{display:none}}
.events-page button{min-height:44px}.events-page .icon-button{min-width:44px}

/* Event operations center: one decision now, a route next, full detail on demand. */
.events-page{--event-surface:color-mix(in srgb,var(--panel) 88%,var(--bg));--event-deep:color-mix(in srgb,var(--bg) 84%,#06131a);--event-glow:color-mix(in srgb,var(--ice) 22%,transparent)}
.events-page .page-head{margin-bottom:20px}.events-page .page-head h1{letter-spacing:-.03em}.events-page .page-head p{max-width:62ch}.events-page :is(.button-outline,.button-primary){display:inline-flex;align-items:center;justify-content:center;gap:8px}.events-page :is(button,select):focus-visible{outline:2px solid var(--gold);outline-offset:3px}.events-page ::selection{background:color-mix(in srgb,var(--gold) 35%,transparent);color:var(--text)}
.event-mission{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(290px,.72fr);gap:14px;min-height:322px}.event-featured{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;overflow:hidden;padding:30px;border:0;border-radius:16px;background:linear-gradient(105deg,color-mix(in srgb,var(--event-deep) 94%,transparent) 0 42%,transparent 72%),radial-gradient(circle at 78% 38%,var(--event-glow),transparent 31%),linear-gradient(145deg,var(--event-deep),color-mix(in srgb,var(--panel2) 76%,#0d2831));box-shadow:0 22px 50px -34px #000}.event-featured::before,.event-featured::after{position:absolute;z-index:-1;border:1px solid color-mix(in srgb,var(--ice) 24%,transparent);border-radius:50%;content:""}.event-featured::before{right:9%;top:9%;width:210px;height:210px;box-shadow:0 0 0 34px color-mix(in srgb,var(--ice) 5%,transparent),0 0 0 72px color-mix(in srgb,var(--ice) 3%,transparent)}.event-featured::after{right:18%;top:27%;width:82px;height:82px;border-color:color-mix(in srgb,var(--gold) 48%,transparent);box-shadow:0 16px 40px -20px var(--gold)}.event-featured-copy{align-self:start;max-width:660px}.event-featured h2{max-width:18ch;margin:12px 0 8px;font:650 32px/1.1 var(--display);letter-spacing:-.03em;text-wrap:balance}.event-featured p{line-height:1.5}.event-featured-reason{display:inline-flex;margin-top:42px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--text);font-weight:650;backdrop-filter:blur(8px)}.event-featured-action{position:relative;z-index:1;justify-items:end;min-width:245px}.event-featured-action>strong{color:var(--gold);font-size:38px;font-weight:650;letter-spacing:-.03em}.event-featured-action>span{color:color-mix(in srgb,var(--muted) 88%,white)}
.event-route{display:flex;flex-direction:column;padding:22px;border-radius:16px;background:var(--event-surface);box-shadow:inset 0 0 0 1px var(--line)}.event-route header{display:flex;justify-content:space-between;gap:12px}.event-route h2,.event-timeline h2,.event-agenda-heading h2{margin:0;font:650 17px/1.3 var(--display);letter-spacing:-.02em}.event-route header p,.event-timeline header p,.event-agenda-heading p{margin:5px 0 0;color:var(--muted);font-size:var(--type-metadata);line-height:1.45}.event-route header>strong{color:var(--gold);font-size:18px;font-variant-numeric:tabular-nums}.event-route progress{width:100%;height:5px;margin:17px 0 10px;border:0;border-radius:10px;background:var(--panel2);overflow:hidden}.event-route progress::-webkit-progress-bar{background:var(--panel2)}.event-route progress::-webkit-progress-value{background:var(--gold)}.event-route progress::-moz-progress-bar{background:var(--gold)}.event-route ol{display:grid;margin:0;padding:0;list-style:none}.event-route-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;border-bottom:1px solid var(--line)}.event-route-item:last-child{border-bottom:0}.event-route-index{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:12px;font-weight:750}.event-route-item>span:nth-child(2){display:grid;gap:4px;min-width:0}.event-route-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-supporting)}.event-route-item small{overflow:hidden;color:var(--muted);font-size:var(--type-metadata);text-overflow:ellipsis;white-space:nowrap}.event-route-item time{color:var(--muted);font-size:var(--type-metadata);font-variant-numeric:tabular-nums}.event-route-item.done{opacity:.66}.event-route-item.done .event-route-index{border-color:var(--success);color:var(--success)}.event-route-empty{padding:24px 0;color:var(--muted);font-size:var(--type-supporting)}
.event-timeline{margin-top:14px;padding:20px 22px;border-radius:16px;background:var(--event-surface);box-shadow:inset 0 0 0 1px var(--line)}.event-timeline>header{display:flex;align-items:end;justify-content:space-between;gap:24px}.event-filter-bar{display:flex;align-items:end;gap:8px}.event-filter-bar label{display:grid;gap:5px}.event-filter-bar label>span{color:var(--muted);font-size:var(--type-metadata);font-weight:700}.event-filter-bar select{min-width:142px;height:42px;padding:0 34px 0 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font-size:var(--type-supporting)}.event-timeline-axis{display:grid;grid-template-columns:repeat(5,1fr);margin-top:22px;color:var(--muted);font-size:var(--type-metadata);font-variant-numeric:tabular-nums}.event-timeline-axis time:last-child{text-align:right}.event-timeline-track{position:relative;height:114px;margin-top:8px;border-block:1px solid var(--line);background:linear-gradient(90deg,transparent calc(25% - 1px),var(--line) 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),var(--line) 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),var(--line) 75%,transparent calc(75% + 1px))}.event-timeline-track>i{position:absolute;z-index:2;top:-7px;bottom:-7px;left:1.5%;width:2px;background:var(--gold);box-shadow:0 0 18px color-mix(in srgb,var(--gold) 65%,transparent)}.event-timeline-track>i::before{position:absolute;top:-1px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold);content:""}.event-timeline-track>p{margin:42px 0;color:var(--muted);font-size:var(--type-supporting)}.event-timeline-block{position:absolute;z-index:1;left:var(--event-left);top:calc(10px + var(--event-lane)*48px);width:var(--event-width);height:40px;overflow:hidden;padding:7px 10px;border:0;border-radius:8px;background:color-mix(in srgb,var(--panel2) 82%,var(--ice));color:var(--text);text-align:left;transition:background .18s ease-out,transform .18s ease-out}.event-timeline-block:hover{z-index:3;background:color-mix(in srgb,var(--panel2) 62%,var(--ice));transform:translateY(-2px)}.event-timeline-block.selected{background:color-mix(in srgb,var(--panel2) 68%,var(--gold))}.event-timeline-block strong,.event-timeline-block span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-timeline-block strong{font-size:12px}.event-timeline-block span{margin-top:2px;color:color-mix(in srgb,var(--text) 72%,transparent);font-size:10px}
.event-agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 4px}.event-agenda-heading>strong{color:var(--muted);font-size:var(--type-supporting)}.event-agenda>section{margin-top:14px}.event-list{border-top:1px solid var(--line)}.event-row{padding-inline:10px;transition:background .18s ease-out}.event-row:hover{background:color-mix(in srgb,var(--panel2) 54%,transparent)}.event-row-actions .icon-button{display:grid;place-items:center;border-radius:8px}.event-row-actions .icon-button:hover{background:var(--hover)}
.event-focus-view{position:relative;overflow:hidden;background:radial-gradient(circle at 72% 30%,var(--event-glow),transparent 28%),linear-gradient(145deg,var(--event-deep),var(--bg))}.event-focus-view::before{position:absolute;right:8%;top:15%;width:330px;height:330px;border:1px solid color-mix(in srgb,var(--ice) 18%,transparent);border-radius:50%;box-shadow:0 0 0 60px color-mix(in srgb,var(--ice) 3%,transparent),0 0 0 120px color-mix(in srgb,var(--ice) 2%,transparent);content:""}.event-focus-view>*{position:relative}.event-focus-main{margin-top:9vh}.event-focus-main h1{max-width:18ch;font-size:44px;letter-spacing:-.03em;text-wrap:balance}.event-focus-countdown{font-size:72px;font-weight:650;letter-spacing:-.03em}.event-focus-next{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 80%,transparent);padding:0 18px}
@media(max-width:1180px){.event-mission{grid-template-columns:minmax(0,1.45fr) minmax(270px,.8fr)}.event-featured{grid-template-columns:1fr}.event-featured-action{justify-items:start}.event-featured-reason{margin-top:24px}.event-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.event-timeline>header{align-items:start;flex-direction:column}.event-filter-bar select{width:100%;min-width:0}}
@media(max-width:860px){.event-mission{grid-template-columns:1fr}.event-featured{min-height:300px}.event-route{min-height:auto}.event-route ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.event-route-item{grid-template-columns:26px minmax(0,1fr);align-content:center;border:0}.event-route-item time{grid-column:2}.event-route-item small{display:none}.event-row{grid-template-columns:78px minmax(180px,1fr) minmax(160px,.8fr) auto}.event-impact{grid-column:2/4}.event-row-actions{grid-column:4;grid-row:1/3}}
@media(max-width:640px){.events-page .page-head{align-items:flex-start}.events-page .page-head-actions{margin-top:14px}.event-mission{min-height:0}.event-featured{min-height:390px;padding:22px 18px}.event-featured::before{right:-26%;top:4%;width:190px;height:190px}.event-featured h2{max-width:13ch;font-size:27px}.event-featured p{max-width:28ch}.event-featured-reason{margin-top:22px}.event-featured-action>strong{font-size:34px}.event-featured-action>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.event-featured-action button{padding-inline:8px}.event-route{padding:18px}.event-route ol{grid-template-columns:1fr}.event-route-item{grid-template-columns:30px minmax(0,1fr) auto;min-height:58px;border-bottom:1px solid var(--line)}.event-route-item time{grid-column:auto}.event-route-item small{display:block}.event-timeline{padding:18px 14px}.event-filter-bar{grid-template-columns:1fr 1fr}.event-filter-bar label:last-child{grid-column:1/-1}.event-timeline-axis time:nth-child(even){visibility:hidden}.event-timeline-track{height:150px;overflow:hidden}.event-timeline-block{top:calc(9px + var(--event-lane)*63px);height:54px;padding:9px}.event-timeline-block span{font-size:12px}.event-agenda-heading{align-items:start;flex-direction:column;margin-top:24px}.event-row{grid-template-columns:58px minmax(0,1fr) auto;padding:12px 4px}.event-map,.event-impact{grid-column:2}.event-row-actions{grid-column:3;grid-row:1/4;flex-direction:column}.event-name>strong,.event-map>strong{white-space:normal}.event-focus-main h1{font-size:32px}.event-focus-countdown{font-size:52px}.event-focus-view::before{right:-50%;width:260px;height:260px}}

/* Agenda rows keep table density but gain enough shape to scan at game speed. */
.event-list{display:grid;gap:6px;border-top:0}.event-row{position:relative;min-height:78px;padding:10px 9px 10px 12px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--panel2) 46%,transparent),color-mix(in srgb,var(--panel) 60%,transparent));box-shadow:0 12px 28px -28px #000;overflow:hidden}.event-row::after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,color-mix(in srgb,var(--ice) 5%,transparent),transparent 34%);content:""}.event-row.active{border-color:color-mix(in srgb,var(--gold) 44%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 10%,var(--panel2)),color-mix(in srgb,var(--panel) 70%,transparent))}.event-row:hover{border-color:color-mix(in srgb,var(--ice) 45%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--ice) 10%,var(--panel2)),color-mix(in srgb,var(--panel) 72%,transparent))}.event-row>*{position:relative;z-index:1}.event-time{position:relative;display:grid!important;align-content:center;min-height:56px;padding:8px 8px 8px 17px;border-radius:9px;background:color-mix(in srgb,var(--bg) 62%,transparent)}.event-time>i{position:absolute;left:7px;top:11px;bottom:11px;width:2px;border-radius:2px;background:var(--ice)}.event-row.active .event-time>i{background:var(--gold);box-shadow:0 0 12px color-mix(in srgb,var(--gold) 65%,transparent)}.event-time strong{font-size:16px}.event-time span{margin-top:3px}.event-name{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px!important}.event-name>span:last-child{display:grid;gap:4px;min-width:0}.event-name>span:last-child>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-supporting)}.event-name small{color:var(--muted);font-size:var(--type-metadata)}.event-expansion-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--ice) 26%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--ice) 8%,var(--panel2));color:var(--ice);font-size:10px;font-weight:800;letter-spacing:.05em}.event-impact>strong{display:flex;align-items:center;gap:7px;color:var(--text)}.event-impact>strong svg{width:15px;height:15px;flex:0 0 auto;color:var(--gold)}.event-certainty{width:max-content;padding:3px 7px;border-radius:6px;background:color-mix(in srgb,var(--bg) 52%,transparent)}.event-row-actions{padding:4px;border-radius:10px;background:color-mix(in srgb,var(--bg) 48%,transparent)}
@media(max-width:640px){.event-list{gap:8px}.event-row{grid-template-columns:64px minmax(0,1fr) auto;padding:10px}.event-time{min-height:62px;padding-inline:13px 5px}.event-time>i{left:5px}.event-name{grid-template-columns:32px minmax(0,1fr)}.event-expansion-mark{width:32px;height:32px;border-radius:8px}.event-map{padding-left:43px}.event-impact{padding:8px 0 2px 43px;border-top:1px solid color-mix(in srgb,var(--line) 64%,transparent)}.event-row-actions{align-self:start}.event-impact>strong{white-space:normal}}

/* Expansion is a stable data category: color accelerates scanning, the label preserves meaning. */
.event-expansion-core{--expansion-color:#c8954e}.event-expansion-hot{--expansion-color:#69a96a}.event-expansion-pof{--expansion-color:#d07c58}.event-expansion-eod{--expansion-color:#5d9fc1}.event-expansion-soto{--expansion-color:#917bc0}.event-expansion-jw{--expansion-color:#c46d79}
.event-featured.use-expansion-color{--event-glow:color-mix(in srgb,var(--expansion-color) 30%,transparent);background:linear-gradient(105deg,color-mix(in srgb,var(--event-deep) 94%,transparent) 0 42%,transparent 72%),radial-gradient(circle at 78% 38%,var(--event-glow),transparent 31%),linear-gradient(145deg,var(--event-deep),color-mix(in srgb,var(--panel2) 72%,var(--expansion-color)))}.event-featured.use-expansion-color::after{border-color:color-mix(in srgb,var(--expansion-color) 58%,transparent);box-shadow:0 16px 40px -20px var(--expansion-color)}
.event-timeline-block.use-expansion-color{background:color-mix(in srgb,var(--panel2) 70%,var(--expansion-color))}.event-timeline-block.use-expansion-color:hover{background:color-mix(in srgb,var(--panel2) 52%,var(--expansion-color))}.event-timeline-block.use-expansion-color.selected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--expansion-color) 75%,white)}
.event-row.use-expansion-color{background:linear-gradient(90deg,color-mix(in srgb,var(--expansion-color) 8%,var(--panel2)),color-mix(in srgb,var(--panel) 66%,transparent))}.event-row.use-expansion-color:hover{border-color:color-mix(in srgb,var(--expansion-color) 52%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--expansion-color) 14%,var(--panel2)),color-mix(in srgb,var(--panel) 72%,transparent))}.event-row.use-expansion-color .event-time>i{background:var(--expansion-color)}.event-row.use-expansion-color .event-expansion-mark{border-color:color-mix(in srgb,var(--expansion-color) 48%,var(--line));background:color-mix(in srgb,var(--expansion-color) 12%,var(--panel2));color:color-mix(in srgb,var(--expansion-color) 78%,white)}
.event-section-head h2{display:flex;align-items:center;gap:9px}.event-section-head h2>i{width:9px;height:9px;border-radius:50%;background:var(--expansion-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--expansion-color) 13%,transparent)}
.event-view-options{position:relative}.event-view-options>summary{list-style:none;cursor:pointer}.event-view-options>summary::-webkit-details-marker{display:none}.event-view-options[open]>summary{border-color:var(--gold);color:var(--gold)}.event-view-options>div{position:absolute;z-index:12;top:calc(100% + 8px);right:0;display:grid;width:230px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 18px 45px -22px #000}.event-view-options label{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 9px;border-radius:8px;color:var(--text);font-size:var(--type-supporting);cursor:pointer}.event-view-options label:hover{background:var(--hover)}.event-view-options input{width:17px;height:17px;accent-color:var(--gold)}
.events-page.compact .event-row{min-height:60px;padding-block:5px}.events-page.compact .event-time{min-height:46px}.events-page.compact .event-expansion-mark{width:32px;height:32px}.events-page.compact .event-name{grid-template-columns:32px minmax(0,1fr)}.events-page.compact .event-name small,.events-page.compact .event-map span,.events-page.compact .event-certainty{display:none}.events-page.compact .event-agenda>section{margin-top:11px}
@media(max-width:640px){.event-view-options{position:static}.event-view-options>div{position:fixed;z-index:20;top:auto;right:12px;bottom:12px;left:12px;width:auto;padding:12px}.event-view-options label{min-height:48px}.event-timeline-block.use-expansion-color span{color:color-mix(in srgb,var(--text) 86%,transparent)}.events-page.compact .event-map,.events-page.compact .event-impact{display:none}.events-page.compact .event-row{grid-template-columns:58px minmax(0,1fr) auto}.events-page.compact .event-row-actions{grid-row:1}}

/* Timeline lanes are calculated from real overlap; the approved agenda below is unchanged. */
.event-timeline-track{height:calc(28px + var(--event-lanes,1)*48px);min-height:76px}
@media(max-width:640px){.event-timeline-axis{display:none}.event-timeline-track{display:grid;gap:8px;height:auto;min-height:0;margin-top:16px;border:0;background:none;overflow:visible}.event-timeline-track>i{display:none}.event-timeline-block{position:relative;left:auto;top:auto;width:100%;height:56px;padding:8px 11px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.event-timeline-block span{margin:0;font-size:var(--type-metadata)}.event-timeline-block:hover{transform:none}}

/* Farm: compare opportunities as a dense operational table, not stacked cards. */
.farm-queue-table-wrap{border-block:1px solid var(--line)}.farm-queue table{width:100%;border-collapse:collapse;table-layout:fixed}.farm-queue th{padding:10px 12px;color:var(--muted);font-size:var(--type-metadata);font-weight:750;letter-spacing:.04em;text-align:left}.farm-queue th:nth-child(1){width:39%}.farm-queue th:nth-child(2){width:12%}.farm-queue th:nth-child(3){width:21%}.farm-queue th:nth-child(4){width:28%}.farm-queue td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:middle}.farm-row-copy{gap:10px}.farm-row-copy strong{font-size:var(--type-supporting);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.farm-row-copy>div>span{margin-top:2px;font-size:var(--type-metadata);line-height:1.4}.farm-missing-cell strong{font-size:var(--type-supporting);font-variant-numeric:tabular-nums}.farm-project-cell b{font-size:var(--type-supporting);overflow-wrap:anywhere}.farm-row-actions{justify-items:start;gap:2px;text-align:left}.farm-row-actions a{font-size:var(--type-supporting)}.farm-row-actions small{font-size:var(--type-metadata)}.farm-row-actions .farm-guide-ready{color:var(--success)}
@media(max-width:700px){.farm-queue-table-wrap{border-block:0}.farm-queue table,.farm-queue tbody,.farm-queue tr,.farm-queue td{display:block;width:100%}.farm-queue thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.farm-queue tr{padding:12px 0;border-bottom:1px solid var(--line)}.farm-queue td{padding:0;border:0}.farm-queue td+td{margin:6px 0 0 46px}.farm-queue td[data-label]::before{content:attr(data-label) ': ';color:var(--muted);font-size:var(--type-metadata);font-weight:500}.farm-queue .farm-missing-cell,.farm-queue .farm-project-cell{display:inline-block;width:auto;margin-right:12px}.farm-queue .farm-action-cell{margin-top:8px}.farm-queue .farm-row-actions{display:block}.farm-queue .farm-row-actions small{display:block;margin-top:2px}}

/* Farm tracker: one shared grid keeps the operational surface dense and aligned. */
.farm-tracker-page{--farm-pad:18px;max-width:1120px}.farm-tracker-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 0 18px;border-bottom:1px solid var(--line)}.farm-tracker-head h1{margin:0;font:650 clamp(25px,3vw,34px)/1.2 var(--display);letter-spacing:-.025em}.farm-tracker-head p{margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting)}.farm-session-toggle{min-width:146px;white-space:nowrap}.farm-tracker-shell{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.9fr);margin-top:22px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.farm-tracker-mission,.farm-tracker-time{min-height:150px;padding:var(--farm-pad)}.farm-tracker-mission{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);gap:18px;border-right:1px solid var(--line)}.farm-tracker-mission h2{margin:0;font:650 19px/1.35 var(--display);letter-spacing:-.015em}.farm-tracker-mission p{margin:5px 0 0;color:var(--muted);font-size:var(--type-supporting)}.farm-impact{align-self:end;padding-left:18px;border-left:1px solid var(--line)}.farm-impact span,.farm-tracker-time>span,.farm-tracker-metrics>div>span{display:block;color:var(--muted);font-size:var(--type-metadata);font-weight:650}.farm-impact strong{display:block;margin-top:5px;color:var(--success);font-size:var(--type-supporting)}.farm-impact small,.farm-tracker-time small{display:block;margin-top:4px;color:var(--muted);font-size:var(--type-metadata)}.farm-tracker-time{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.farm-tracker-time>strong{margin-top:8px;font:500 clamp(31px,4vw,42px)/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.farm-tracker-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.farm-tracker-metrics>div{display:flex;justify-content:center;flex-direction:column;min-height:76px;padding:12px var(--farm-pad)}.farm-tracker-metrics>div+div{border-left:1px solid var(--line)}.farm-tracker-metrics strong,.farm-tracker-metrics .coin-value{margin-top:6px;font-size:17px;font-weight:750}.farm-tracker-metrics em{font-style:normal;font-weight:500}.farm-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px;padding-bottom:9px;border-bottom:1px solid var(--line)}.farm-section-title h2,.farm-manual h2{margin:0;font:650 17px/1.35 var(--display)}.farm-section-title p{margin:3px 0 0;color:var(--muted);font-size:var(--type-metadata)}.farm-section-title>span{color:var(--muted);font-size:var(--type-metadata)}.farm-gains-table table,.farm-history-detail table{width:100%;border-collapse:collapse}.farm-gains-table th,.farm-gains-table td,.farm-history-detail th,.farm-history-detail td{padding:9px 12px;border-bottom:1px solid var(--line);font-size:var(--type-supporting);text-align:left}.farm-gains-table th,.farm-history-detail th{color:var(--muted);font-size:var(--type-metadata)}.farm-gain-empty{height:54px;color:var(--muted)}.farm-manual{margin-top:22px;padding:var(--farm-pad);border:1px solid var(--line);border-radius:12px;background:var(--panel)}.farm-manual-grid{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(260px,1.35fr) minmax(110px,.42fr) 156px;align-items:end;gap:12px;margin-top:12px}.farm-manual-grid label{display:grid;gap:5px;color:var(--muted);font-size:var(--type-metadata);font-weight:650}.farm-manual-grid :is(input,select,button){width:100%;height:44px;min-width:0}.farm-manual-grid button{display:inline-flex;align-items:center;justify-content:center;padding-inline:12px;white-space:nowrap}.farm-manual>p{margin:10px 0 0;color:var(--muted);font-size:var(--type-metadata);line-height:1.5}.farm-history{margin-top:28px}.farm-history-head,.farm-history-row>summary{display:grid;grid-template-columns:1.25fr .8fr .8fr .9fr 1.5fr .6fr;align-items:center;gap:12px}.farm-history-head{padding:8px 14px;color:var(--muted);font-size:var(--type-metadata);font-weight:700}.farm-history-row{border-top:1px solid var(--line)}.farm-history-row:last-child{border-bottom:1px solid var(--line)}.farm-history-row>summary{min-height:48px;padding:7px 14px;cursor:pointer;font-size:var(--type-supporting);font-variant-numeric:tabular-nums;list-style:none}.farm-history-row>summary::-webkit-details-marker{display:none}.farm-history-row>summary:hover{background:color-mix(in srgb,var(--ice) 5%,transparent)}.farm-history-row>summary:focus-visible{outline:2px solid var(--ice);outline-offset:-2px}.farm-history-detail{padding:16px 14px 18px;background:color-mix(in srgb,var(--panel2) 62%,transparent)}.farm-history-detail>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.farm-history-detail>div:first-child span{color:var(--muted);font-size:var(--type-metadata)}.farm-history-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:14px 0}.farm-history-detail dt{color:var(--muted);font-size:var(--type-metadata)}.farm-history-detail dd{margin:4px 0 0;font-size:var(--type-supporting)}.farm-history-empty{margin:0;padding:20px 14px;border-block:1px solid var(--line);color:var(--muted);font-size:var(--type-supporting)}.farm-planning{margin-top:22px;border-top:1px solid var(--line)}.farm-planning>summary{padding:16px 0;color:var(--ice);font-size:var(--type-supporting);font-weight:700;cursor:pointer}
@media(max-width:820px){.farm-tracker-shell{grid-template-columns:1fr}.farm-tracker-mission{border-right:0;border-bottom:1px solid var(--line)}.farm-tracker-time{min-height:112px}.farm-manual-grid{grid-template-columns:1fr 1fr}.farm-manual-grid button{grid-column:2}.farm-history-head{display:none}.farm-history-row>summary{grid-template-columns:repeat(3,1fr);gap:5px 12px;padding-block:10px}.farm-history-row>summary>span::before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;font-weight:650}}
@media(max-width:560px){.farm-tracker-page{--farm-pad:14px}.farm-tracker-head{align-items:stretch;flex-direction:column}.farm-session-toggle{width:100%}.farm-tracker-mission{grid-template-columns:1fr}.farm-impact{align-self:auto;padding:12px 0 0;border-top:1px solid var(--line);border-left:0}.farm-tracker-metrics{grid-template-columns:1fr}.farm-tracker-metrics>div+div{border-top:1px solid var(--line);border-left:0}.farm-manual-grid{grid-template-columns:1fr}.farm-manual-grid button{grid-column:auto}.farm-history-row>summary{grid-template-columns:1fr 1fr}.farm-history-detail>div:first-child{align-items:flex-start;flex-direction:column}.farm-history-detail dl{grid-template-columns:1fr}.farm-section-title{align-items:flex-start;flex-direction:column}}
.farm-history-action{display:block;margin-top:2px;color:var(--ice);font-size:var(--type-metadata);font-weight:650}.farm-history-row[open] .farm-history-action{color:var(--muted)}
.fractal-sequence>span:not(.fractal-sequence-next),.fractal-scale{background:var(--panel2)}.fractal-scale{color:var(--ice)}.fractal-range-state{background:color-mix(in srgb,var(--success) 12%,var(--panel));color:var(--success)}
.fractal-character{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.fractal-character>div>span{display:block;margin-bottom:2px;color:var(--success);font-size:var(--type-metadata);font-weight:750}.fractal-character h2{margin:0;font:650 18px/1.35 var(--display)}.fractal-character p{margin:3px 0 0;color:var(--muted);font-size:var(--type-supporting)}.fractal-character p strong{color:var(--text)}.fractal-character .button-outline{flex-shrink:0}.fractal-character.is-blocked>div>span,.fractal-character.is-unknown>div>span{color:var(--muted)}
@media(max-width:620px){.fractal-character{align-items:stretch;flex-direction:column}.fractal-character .button-outline{width:100%}}
.top-search{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--muted)}.top-search:hover{border-color:var(--ice);color:var(--text)}.top-search kbd,.action-search-hint kbd{padding:2px 6px;border:1px solid var(--line);border-radius:5px;background:var(--panel2);color:var(--muted);font:600 12px/1.4 var(--body)}
.action-search-dialog{width:min(680px,calc(100vw - 24px));padding:0;overflow:hidden}.action-search-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.action-search-head label{margin:0;color:var(--text);font-size:14px}.action-search-head .icon-button{min-width:44px;min-height:44px}.action-search-dialog>input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:17px 18px;font-size:16px}.action-search-results{max-height:min(52vh,470px);overflow:auto}.action-search-results button{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:58px;padding:10px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.action-search-results button:hover,.action-search-results button[aria-selected="true"]{background:var(--panel2)}.action-search-results strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-search-results small,.search-kind{color:var(--muted);font-size:12px}.search-kind{text-transform:uppercase;letter-spacing:.07em}.action-search-hint{margin:0;padding:11px 18px;border-top:1px solid var(--line);font-size:12px}.action-search-empty{padding:22px 18px}.project-share-dialog{width:min(540px,calc(100vw - 24px))}.share-privacy{padding:12px;border:1px solid color-mix(in srgb,var(--success) 40%,var(--line));border-radius:10px;color:var(--text)}.share-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.share-link input{min-width:0}.share-revoke{margin-top:10px;color:var(--red)}.shared-plan ol{display:grid;gap:0;padding:0;list-style:none;border-top:1px solid var(--line)}.shared-plan li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.shared-plan li span{color:var(--muted);font-size:14px}
@media(max-width:700px){.top-search span,.top-search kbd{display:none}.top-search{width:44px;padding:0;justify-content:center}.top-search::before{content:"⌕";font-size:22px}.action-search-results button{grid-template-columns:1fr}.action-search-results .search-kind{display:none}.action-search-hint{display:none}.share-link{grid-template-columns:1fr}.share-link button{min-height:44px}.shared-plan li{align-items:flex-start;flex-direction:column}}
.top-search svg,.action-search-head svg{width:18px;height:18px;flex:0 0 auto}
@media(max-width:700px){.top-search::before{content:none!important}}
.shared-plan li>div{display:grid;gap:3px;min-width:0}.shared-plan li small{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
