:root{--bg:#0a1220;--sidebar:#0b1422;--panel:#111c2c;--panel2:#142238;--line:#2a3b52;--text:#f2f5fa;--muted:#8fa0b7;--mint:#69daa5;--gold:#ffbd57;--blue:#6fb8ff;--red:#ff6578;--purple:#b07cff;--shadow:0 18px 45px #02081766}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 80% 0,#172643 0,#0a1220 35%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:186px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(7,15,27,.94);border-right:1px solid var(--line);padding:26px 12px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.18em;font-weight:800;margin:0 7px 34px}.brand-mark{width:34px;height:34px;background:var(--mint);color:#092016;border-radius:4px;display:grid;place-items:center;font-family:Georgia,serif;font-weight:900;letter-spacing:.08em}
.brand-logo{width:40px;height:40px;object-fit:contain;display:block;flex:0 0 auto;filter:drop-shadow(0 2px 6px #0006)}
.auth-brand .brand-logo{width:46px;height:46px;margin-right:1px}
@media(max-width:680px){.brand-logo{width:36px;height:36px}.auth-brand .brand-logo{width:42px;height:42px}}
.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#a9b6c9;text-align:left;padding:12px 13px;border-radius:6px;font-weight:650;display:flex;gap:12px;align-items:center;cursor:pointer}.nav-item:hover,.nav-item.active{background:#20344f;color:var(--mint);box-shadow:inset 3px 0 var(--mint)}.settings-btn{margin-top:auto}.view{display:none}.view.active{display:block}main{padding:26px 30px 55px;max-width:1500px;width:100%;margin:auto}.topbar,.page-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:20px}.eyebrow{font:700 10px/1.4 Georgia,serif;letter-spacing:.17em;color:#94a5bd}.topbar h1,.page-title h1{font-size:22px;margin:9px 0 0;font-weight:500}.top-actions{display:flex;gap:10px}.gold-chip,.profile-chip{border:1px solid #665028;background:#171a1f;color:var(--gold);padding:9px 12px;border-radius:6px}.profile-chip{background:#101c2d;border-color:var(--line);display:flex;align-items:center;gap:9px;color:var(--text);cursor:pointer}.profile-letter{display:grid;place-items:center;width:31px;height:31px;background:var(--mint);color:#062016;border-radius:4px;font-weight:800}.profile-chip span:last-child{display:grid;text-align:left}.profile-chip small{color:var(--muted)}.hero-card{display:grid;grid-template-columns:180px 1fr;min-height:198px;border:1px solid #31445f;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#17263d,#101b2d);box-shadow:var(--shadow)}.avatar-pane{position:relative;background:#182943;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden}.pixel-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:12px 12px}.pixel-person{width:82px;height:112px;position:relative;image-rendering:pixelated;z-index:1}.pixel-person .hair{position:absolute;top:9px;left:18px;width:48px;height:20px;background:var(--hair-color,#101722);box-shadow:0 8px 0 var(--hair-color,#101722)}.pixel-person .head{position:absolute;top:25px;left:21px;width:42px;height:38px;background:#c37a55;border:5px solid #915338}.pixel-person .head i{position:absolute;top:11px;width:5px;height:5px;background:#121721}.pixel-person .head i:first-child{left:7px}.pixel-person .head i:last-child{right:7px}.pixel-person .torso{position:absolute;top:64px;left:17px;width:50px;height:39px;background:#5fb990;border-top:7px solid #4c9e7b;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.pixel-person .legs{position:absolute;top:101px;left:22px;width:40px;height:11px;background:#263b55;box-shadow:-7px 8px 0 #102135,29px 8px 0 #102135}.character-pane{padding:23px 25px}.title-line{margin-bottom:4px}.character-pane h2{font:800 31px/1 Georgia,serif;letter-spacing:.04em;margin:3px 0 5px}.muted{color:var(--muted);font-size:12px}.xp-row{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:10px;align-items:center;margin:14px 0 18px;font-size:10px}.xp-row b{color:var(--gold)}.xp-track{height:8px;background:#263852;border-radius:2px;overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,#f8b756,#ffe080);width:0}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.stat-card{border:1px solid #2e4059;background:#0f1a2b;border-radius:6px;padding:12px 13px;display:flex;align-items:center;gap:11px;min-height:55px}.stat-card small{display:block;font:700 9px Georgia,serif;color:#a9b7c9}.stat-card b{font:700 16px Georgia,serif}.stat-today{display:block;margin-top:3px;color:var(--mint);font:600 9px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;font-style:normal;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px;margin-top:16px}.panel{background:linear-gradient(180deg,#121e30,#0e1929);border:1px solid #2b3e57;border-radius:9px;padding:18px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel h3{font-size:16px;margin:5px 0 0;font-weight:500}.rings{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 16px 12px}.ring-wrap{display:grid;justify-items:center;gap:8px;font-size:12px;font-weight:700}.ring{--p:0%;width:98px;height:98px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring-color) var(--p),#263750 0);position:relative}.ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#132035;border:1px solid #708099}.ring>div{z-index:1;text-align:center}.ring b{display:block;font:700 17px Georgia,serif}.ring span{font-size:10px;color:var(--muted)}.ring i{font-style:normal}.calorie{--ring-color:var(--gold)}.protein{--ring-color:var(--mint)}.fiber{--ring-color:var(--blue)}.water-row{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.small-btn{border:1px solid #31517b;background:#122440;color:#dce8f6;border-radius:5px;padding:7px 10px;font-size:11px;cursor:pointer}.xp-reward{color:var(--gold);font-size:12px}.quest-list{margin-top:9px}.quest{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #23344b;font-size:12px}.quest:last-child{border-bottom:0}.quest .qname{display:flex;gap:10px;align-items:center}.checkmark{width:20px;height:20px;border:1px solid #36506c;border-radius:3px;display:grid;place-items:center;color:#89a0ba}.quest.done .checkmark{background:#164c3b;border-color:#1c6c50;color:var(--mint)}.quest .qstate{color:var(--muted)}.action-row{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:9px;margin:14px 0}.action-row button,.primary,.ghost{border:1px solid #2c405b;background:#111d2e;color:var(--text);border-radius:6px;padding:12px 14px;font-weight:750;cursor:pointer}.primary{background:var(--mint)!important;border-color:var(--mint)!important;color:#07170f!important}.ghost{background:transparent}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:-18px -18px 8px;padding:0 18px}.tab{border:0;background:transparent;color:#9eadc0;padding:15px 14px 12px;font-weight:700;cursor:pointer}.tab.active{color:var(--mint);border-bottom:2px solid var(--mint)}.tab span{background:#20455a;padding:2px 6px;border-radius:20px;margin-left:4px}.food-row{display:grid;grid-template-columns:40px 1fr auto auto;gap:12px;align-items:center;padding:14px 2px;border-bottom:1px solid #22334a}.food-row:last-child{border-bottom:0}.food-icon{width:36px;height:36px;border-radius:5px;background:#173349;display:grid;place-items:center}.food-name{font-size:13px}.food-meta{font-size:10px;color:var(--muted);margin-top:3px}.gains{display:flex;gap:5px}.gain{font-size:9px;padding:4px 5px;border-radius:3px;background:#123a2c;color:var(--mint)}.food-nutrition{text-align:right}.food-nutrition b{display:block;font:700 15px Georgia,serif}.food-nutrition small{color:var(--muted)}.empty{padding:38px 10px;text-align:center;color:var(--muted)}.history-row{display:grid;grid-template-columns:120px 1fr repeat(4,110px);gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.history-row strong{color:var(--mint)}.avatar-editor{display:flex;align-items:center;gap:30px}.pixel-person.large{transform:scale(1.65);margin:35px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:7px;color:#b8c5d7;font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{background:#0c1625;border:1px solid #31435d;color:#fff;border-radius:5px;padding:11px}.form-grid textarea{min-height:90px}.wide{grid-column:1/-1}.check{display:flex!important;align-items:center!important}.check input{width:auto}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.achievements{margin-top:16px}.achievement{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px}.achievement:last-child{border-bottom:0}.achievement b{font-size:13px}.achievement p{margin:4px 0 0;color:var(--muted);font-size:11px}.achievement .badge{font-size:10px;border:1px solid #40526a;padding:5px 7px;border-radius:4px;color:#8fa0b7;height:max-content}.achievement.earned .badge{border-color:#357e61;color:var(--mint);background:#12392d}dialog{border:1px solid #31435c;background:#111d2e;color:#fff;border-radius:10px;box-shadow:0 20px 70px #000a;max-width:650px;width:min(92vw,650px);padding:20px}dialog::backdrop{background:#030711c7}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:5px 0}.icon-btn{background:transparent;border:0;color:#fff;font-size:27px;cursor:pointer}.toast{position:fixed;right:22px;bottom:22px;background:#17263a;border:1px solid #38516f;color:#fff;padding:12px 16px;border-radius:7px;transform:translateY(120px);opacity:0;transition:.25s;z-index:10}.toast.show{transform:none;opacity:1}
@media(max-width:950px){.app-shell{grid-template-columns:72px 1fr}.brand span,.nav-item span{display:none}.brand{justify-content:center}.sidebar{padding-left:8px;padding-right:8px}.nav-item{justify-content:center;font-size:18px}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}.action-row{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.app-shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:68px;display:grid;grid-template-columns:repeat(6,1fr);padding:7px;background:#091321;border-top:1px solid #31435d;border-right:0}.brand{display:none}.sidebar nav{display:contents}.settings-btn{margin:0}.nav-item{padding:8px;border-radius:7px}.nav-item.active{box-shadow:inset 0 3px var(--mint)}main{padding:16px 13px 88px}.topbar{align-items:flex-start}.topbar h1{font-size:20px}.profile-chip small,.profile-chip b{display:none}.hero-card{grid-template-columns:118px 1fr}.character-pane{padding:16px 13px}.character-pane h2{font-size:25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.xp-row{grid-template-columns:auto 1fr;}.xp-row span{grid-column:2}.rings{gap:5px;padding-left:0;padding-right:0}.ring{width:82px;height:82px}.action-row{grid-template-columns:1fr 1fr}.food-row{grid-template-columns:34px 1fr auto}.gains{display:none}.history-row{grid-template-columns:90px 1fr 80px}.history-row span:nth-child(n+4){display:none}.form-grid{grid-template-columns:1fr}.wide,.form-actions{grid-column:1}.avatar-pane .small-btn{font-size:9px}.top-actions{gap:5px}.gold-chip{font-size:11px;padding:8px}.profile-chip{padding:6px}.profile-letter{width:29px;height:29px}}

/* Avatar v1 customization */
.pixel-person[data-body="female"] .hair{left:14px;width:56px;height:23px;box-shadow:0 8px 0 var(--hair-color,#101722),0 17px 0 -5px var(--hair-color,#101722)}
.pixel-person[data-body="female"] .head{top:27px}
.pixel-person[data-body="female"] .torso{left:19px;width:46px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
.pixel-person[data-body="female"] .legs{left:24px;width:36px}
.avatar-editor{align-items:stretch;gap:24px}
.avatar-preview-card{min-width:240px;min-height:310px;border:1px solid #2d415d;border-radius:8px;background:#182943;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;gap:28px}
.avatar-preview-card .pixel-grid{z-index:0}
.avatar-preview-card>*:not(.pixel-grid){z-index:1}
.avatar-form{flex:1;display:grid;align-content:start;gap:18px}
.avatar-form h3{margin:5px 0 0;font-size:16px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice-card{position:relative;border:1px solid #31435d;border-radius:7px;padding:14px;background:#0c1625;cursor:pointer;display:grid;gap:4px}
.choice-card input,.hair-choice input{position:absolute;opacity:0;pointer-events:none}
.choice-card.selected,.choice-card:has(input:checked){border-color:var(--mint);box-shadow:inset 0 0 0 1px var(--mint);background:#10251f}
.choice-title{font-weight:750}
.hair-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.hair-choice{position:relative;border:1px solid #31435d;border-radius:7px;padding:10px;display:flex;align-items:center;gap:8px;cursor:pointer;background:#0c1625;font-size:12px}
.hair-choice>span{width:19px;height:19px;border-radius:4px;border:1px solid #ffffff33;background:#101722}
.hair-choice[data-color="black"]>span{background:#101722}.hair-choice[data-color="brown"]>span{background:#5a3427}.hair-choice[data-color="blonde"]>span{background:#e5c365}.hair-choice[data-color="red"]>span{background:#a94732}.hair-choice[data-color="blue"]>span{background:#3979b8}.hair-choice[data-color="green"]>span{background:#3f8f69}.hair-choice[data-color="pink"]>span{background:#d96f9c}.hair-choice[data-color="white"]>span{background:#e8edf2}
.hair-choice.selected,.hair-choice:has(input:checked){border-color:var(--mint);box-shadow:inset 0 0 0 1px var(--mint)}
.avatar-note{line-height:1.6;margin:2px 0 0}
@media(max-width:800px){.avatar-editor{display:grid}.avatar-preview-card{min-width:0;min-height:250px}.hair-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Search foods */
.search-dialog{width:min(94vw,780px);max-width:780px}
.food-search-bar{display:grid;grid-template-columns:1fr auto;gap:10px}
.food-search-bar input{background:#0c1625;border:1px solid #31435d;color:#fff;border-radius:6px;padding:13px 14px;font-size:14px;outline:none}
.food-search-bar input:focus{border-color:var(--mint);box-shadow:0 0 0 2px #63c49a22}
.search-help{font-size:11px;color:var(--muted);line-height:1.5;margin:10px 0 4px}
.search-status{min-height:24px;padding:7px 1px;color:#aebcd0;font-size:11px}
.search-results{max-height:58vh;overflow:auto;border-top:1px solid var(--line)}
.search-result{width:100%;display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:12px 4px;cursor:pointer}
.search-result:hover{background:#17253a}
.search-result img,.search-food-placeholder{width:46px;height:46px;border-radius:6px;object-fit:contain;background:#fff}
.search-food-placeholder{background:#173349;display:grid;place-items:center;color:#9fb2c8}
.search-result-main{display:grid;gap:3px;min-width:0}
.search-result-main b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result-main small{font-size:10px;color:var(--mint)}
.search-result-main span{font-size:10px;color:#b9c6d7}
.search-result-main em{font-style:normal;font-size:10px;color:var(--muted)}
.search-add{font-size:11px;color:var(--mint);font-weight:700;white-space:nowrap}
@media(max-width:680px){.food-search-bar{grid-template-columns:1fr}.search-result{grid-template-columns:42px 1fr}.search-result img,.search-food-placeholder{width:40px;height:40px}.search-add{grid-column:2}}

/* Barcode scanner */
.barcode-dialog{width:min(94vw,720px);max-width:720px}
.scanner-stage{position:relative;min-height:320px;background:#040812;border:1px solid #31435d;border-radius:8px;overflow:hidden;display:grid;place-items:center}
#barcodeVideo,.scanner-stage video,.scanner-stage canvas{width:100%;height:320px;object-fit:cover;display:block}
.scan-frame{position:absolute;inset:50% auto auto 50%;width:min(72%,430px);height:145px;transform:translate(-50%,-50%);border:2px solid #63c49a99;border-radius:10px;box-shadow:0 0 0 999px #03071155;pointer-events:none;z-index:2}
.scan-frame span{position:absolute;width:28px;height:28px;border-color:var(--mint);border-style:solid}
.scan-frame span:nth-child(1){left:-2px;top:-2px;border-width:4px 0 0 4px;border-radius:8px 0 0 0}
.scan-frame span:nth-child(2){right:-2px;top:-2px;border-width:4px 4px 0 0;border-radius:0 8px 0 0}
.scan-frame span:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 8px}
.scan-frame span:nth-child(4){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 8px 0}
.scanner-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;background:#0c1625;color:#b8c5d7;z-index:3}
.scanner-fallback[hidden]{display:none}
#barcodeManualForm{margin-top:8px}
@media(max-width:680px){.scanner-stage,#barcodeVideo,.scanner-stage video,.scanner-stage canvas{min-height:280px;height:280px}.scan-frame{height:125px;width:82%}}

.food-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;margin-top:7px}
.danger-btn{border-color:#7b3d49!important;color:#ff9eaa!important;background:rgba(128,42,57,.12)!important}
.danger-btn:hover{background:rgba(128,42,57,.26)!important}


/* MacroQuest macro dashboard v1 */

.nutrition-overview{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding:18px 16px 12px}.calorie-focus{align-self:center}.macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.macro-card{min-height:82px;border:1px solid #2e4059;background:#0f1a2b;border-radius:7px;padding:12px 14px;display:grid;align-content:center;gap:4px}.macro-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#c8d3e2;font-size:12px;font-weight:750}.macro-heading small{font:800 9px/1 Georgia,serif;letter-spacing:.12em;padding:4px 6px;border-radius:4px;background:#16283d;color:#91a6be}.macro-card b{font:700 22px/1.1 Georgia,serif}.macro-target{font-size:10px;color:var(--muted)}.macro-target i{font-style:normal}.protein-macro{box-shadow:inset 3px 0 var(--mint)}.protein-macro .macro-heading small{color:var(--mint)}.carbs-macro{box-shadow:inset 3px 0 #7bc0ff}.carbs-macro .macro-heading small{color:#7bc0ff}.fat-macro{box-shadow:inset 3px 0 #d8a96b}.fat-macro .macro-heading small{color:#d8a96b}.fiber-macro{box-shadow:inset 3px 0 var(--blue)}.fiber-macro .macro-heading small{color:var(--blue)}
@media(max-width:680px){.nutrition-overview{grid-template-columns:1fr;padding:14px 0 10px}.calorie-focus{margin-bottom:4px}.macro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.macro-card{min-height:74px;padding:10px 11px}.macro-card b{font-size:19px}}

.gold-word{font-size:11px;font-weight:700;margin-left:2px}
.qstate{display:grid;justify-items:end;gap:3px}
.quest-gold{color:var(--gold);font-size:10px;font-weight:700}
.quest.done .quest-gold{color:var(--gold)}

/* MacroQuest authentication */
[hidden]{display:none!important}
.auth-screen{min-height:100vh;background:#070f1c;display:grid;place-items:center;padding:28px}
.auth-card{width:min(1220px,96vw);min-height:680px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.7fr);overflow:hidden;border:1px solid #2b3e59;border-radius:20px;background:#0c1727;box-shadow:0 28px 90px #0009}
.auth-art{min-height:680px;background:#08111e;position:relative;overflow:hidden}
.auth-art img{width:100%;height:100%;object-fit:cover;display:block}
.auth-panel{padding:48px 42px;display:flex;flex-direction:column;justify-content:center}
.auth-brand{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:900;letter-spacing:.18em;margin-bottom:34px}.auth-brand .brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:5px;background:var(--mint);color:#08131d;letter-spacing:0}
.auth-panel h1{font:700 clamp(34px,4vw,53px)/1.03 Georgia,serif;margin:9px 0 15px;max-width:520px}.auth-copy{color:#aebdd1;line-height:1.55;margin:0 0 28px;max-width:500px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #2b3d55;margin-bottom:20px}.auth-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#9faec2;padding:12px;font-weight:800;cursor:pointer}.auth-tab.active{color:var(--mint);border-color:var(--mint)}
.auth-form{display:grid;gap:15px}.auth-form label{display:grid;gap:7px;color:#c8d4e4;font-size:11px;font-weight:750}.auth-form input{background:#0a1524;border:1px solid #334760;border-radius:6px;color:#fff;padding:13px 14px;font-size:14px;outline:none}.auth-form input:focus{border-color:var(--mint);box-shadow:0 0 0 2px #63c49a22}.auth-submit{margin-top:3px;min-height:45px}
.auth-message{min-height:22px;margin-top:14px;color:#b6c7d9;font-size:12px;line-height:1.5}.auth-message.error{color:#ff9aaa}.auth-message.success{color:var(--mint)}.auth-fineprint,.auth-support{font-size:10px;color:#8092aa;line-height:1.5}.auth-support{margin-top:12px}.auth-support a{color:var(--mint)}
.account-panel{margin-top:18px}.account-panel h3{margin:5px 0 14px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-row>div{display:grid;gap:4px}
@media(max-width:900px){.auth-card{grid-template-columns:1fr}.auth-art{min-height:330px;max-height:42vh}.auth-panel{padding:34px 28px}.auth-screen{padding:0}.auth-card{width:100%;min-height:100vh;border-radius:0;border:0}}


/* Legal + policy links */
.auth-fineprint a,.auth-support a,.legal-panel a,.app-legal-footer a{color:#6edbb1;text-decoration:none}
.auth-fineprint a:hover,.auth-support a:hover,.legal-panel a:hover,.app-legal-footer a:hover{text-decoration:underline}
.legal-panel{margin-top:18px}
.legal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.app-legal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:24px 12px 8px;color:#7f93aa;font-size:12px}
.app-legal-footer a{font-weight:700}
.legal-page{min-height:100vh;background:#07111f;color:#eaf0f7;padding:40px 18px}
.legal-shell{max-width:860px;margin:0 auto}
.legal-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;color:#fff;font-weight:800;letter-spacing:.12em}
.legal-brand img{width:48px;height:48px;object-fit:contain}
.legal-card{background:#10233a;border:1px solid #243d5a;border-radius:18px;padding:34px}
.legal-card h1{margin-top:0;font-size:34px}
.legal-card h2{margin-top:30px;color:#fff;font-size:20px}
.legal-card p,.legal-card li{color:#b9c8d9;line-height:1.7}
.legal-card a{color:#6edbb1}
.legal-updated{color:#7f93aa;font-size:13px;margin-bottom:24px}
.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.legal-nav a{display:inline-block;background:#0b1a2c;border:1px solid #1d3550;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700}
@media(max-width:640px){.legal-card{padding:24px}.legal-card h1{font-size:28px}}


/* Owner-only, first-party analytics */
.analytics-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.analytics-range{display:flex;gap:8px;flex-wrap:wrap}
.analytics-range .active{border-color:#67d9b0;color:#67d9b0;box-shadow:0 0 0 1px rgba(103,217,176,.12) inset}
.analytics-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}
.analytics-summary>div{background:#0b192b;border:1px solid #263b54;border-radius:10px;padding:14px}
.analytics-summary b{display:block;font-size:1.35rem;color:#fff;margin-bottom:4px}
.analytics-summary span{display:block;color:#8da0b8;font-size:.78rem}
.analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.analytics-event-list,.analytics-daily-list{margin-top:8px;border:1px solid #263b54;border-radius:10px;overflow:hidden;background:#0b192b}
.analytics-row{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid #1d3048;font-size:.86rem}
.analytics-row:last-child{border-bottom:0}.analytics-row span{color:#9aabc0}.analytics-row b{color:#e9f2fa;text-align:right}
@media(max-width:900px){.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-columns{grid-template-columns:1fr}}

/* MacroQuest support / donation */
.support-panel{border-color:#3c5f67;background:linear-gradient(145deg,rgba(16,43,58,.96),rgba(12,31,48,.96));}
.support-panel h3{margin:6px 0 8px;}
.support-panel p{max-width:760px;margin:0 0 16px;}
.support-donate-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;background:#6edbb1;color:#07111f;text-decoration:none;font-weight:800;border:1px solid #86e7c2;box-shadow:0 8px 20px rgba(0,0,0,.18);}
.support-donate-btn:hover{filter:brightness(1.05);transform:translateY(-1px);}
.auth-support-note{margin:10px 0 0;text-align:center;color:#7f93aa;font-size:12px;line-height:1.5;}
.auth-support-note a{color:#6edbb1;text-decoration:none;font-weight:700;}
.auth-support-note a:hover{text-decoration:underline;}

/* CHAOS daily nutrient thresholds */
.chaos-nutrition-panel{border-color:#7c3549!important;background:linear-gradient(180deg,#211522,#151524)!important;margin-bottom:16px;box-shadow:inset 0 0 0 1px rgba(255,103,125,.06),var(--shadow)}
.chaos-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.chaos-eyebrow{color:#ff8294!important}.chaos-nutrition-panel h3{margin:5px 0 0}.chaos-score-pill{border:1px solid #914253;background:#2a1420;color:#ff91a0;border-radius:7px;padding:8px 11px;display:flex;align-items:baseline;gap:8px}.chaos-score-pill span{font-size:9px;font-weight:800;letter-spacing:.12em}.chaos-score-pill b{font:700 17px Georgia,serif}.chaos-nutrient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.chaos-nutrient-card{border:1px solid #4e2e3b;background:#121522;border-radius:7px;padding:13px}.chaos-nutrient-card.informational{border-style:dashed}.chaos-nutrient-card span{display:block;color:#cba8af;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.chaos-nutrient-card b{display:block;color:#fff;font:700 20px Georgia,serif;margin:5px 0}.chaos-nutrient-card small{display:block;color:#8fa0b7;font-size:10px;line-height:1.45}.chaos-explainer{margin:15px 0 0;color:#c1aeba;font-size:11px;line-height:1.65}.chaos-explainer strong{color:#ff91a0}.chaos-fda-note{margin:10px 0 0;padding:10px 12px;border-left:2px solid #a95063;background:#180f17;color:#9faec0;font-size:10px;line-height:1.6}.chaos-coverage{margin:9px 0 0!important;line-height:1.5}.chaos-source{margin:8px 0 0;font-size:10px}.chaos-source a{color:#7fb8ff;text-decoration:none}.chaos-source a:hover{text-decoration:underline}@media(max-width:900px){.chaos-nutrient-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.chaos-panel-head{align-items:center}.chaos-nutrient-grid{grid-template-columns:1fr}.chaos-score-pill{flex-direction:column;gap:1px;align-items:flex-end}}


/* MacroQuest mobile character-card fix v1 */

/* Never let dashboard content create sideways page scrolling. */
html,body{max-width:100%;overflow-x:hidden}
main,.hero-card,.character-pane,.stats-grid,.stat-card,.dashboard-grid,.panel{min-width:0}
.character-pane{overflow:hidden}
.stat-card>div{min-width:0}

/*
  On narrow phones the old layout reserved 118px for the avatar and then tried
  to fit two stat columns into the remaining space. The stat text forced the
  hero card wider than the viewport. Stack the avatar above the character
  details instead, then give the stats the full phone width.
*/
@media(max-width:560px){
  .hero-card{
    grid-template-columns:1fr!important;
    width:100%;
    overflow:hidden;
  }

  .avatar-pane{
    min-height:145px;
    padding:10px 14px;
    flex-direction:row!important;
    gap:18px!important;
    justify-content:center!important;
  }

  .avatar-pane .pixel-person.avatar-v6-host{
    width:92px!important;
    height:116px!important;
    margin:0!important;
    flex:0 0 92px;
  }

  .avatar-pane .small-btn{
    position:relative;
    z-index:2;
    font-size:10px!important;
    white-space:nowrap;
  }

  .character-pane{
    width:100%;
    padding:16px 14px 18px!important;
  }

  .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%;
  }

  .stat-card{
    min-width:0!important;
    padding:10px!important;
    gap:8px!important;
  }

  .stat-card>span{
    flex:0 0 auto;
  }

  .stat-card b{
    font-size:15px;
  }

  .stat-today{
    white-space:normal!important;
    overflow-wrap:anywhere;
    font-size:8px!important;
    line-height:1.25!important;
  }

  .xp-row{
    grid-template-columns:auto minmax(0,1fr)!important;
  }

  .xp-track{
    min-width:0;
  }
}

/* Extra-tight phones: keep every card comfortably inside the viewport. */
@media(max-width:380px){
  main{padding-left:10px!important;padding-right:10px!important}
  .character-pane{padding-left:11px!important;padding-right:11px!important}
  .stat-card{padding:9px 8px!important;gap:6px!important}
  .stat-card b{font-size:14px}
  .stat-today{font-size:7.5px!important}
  .top-actions{gap:4px!important}
  .gold-chip{padding:7px 8px!important}
}


/* MacroQuest tester cat-head cosmetic v1 */
.tester-badge{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:2px 5px;
  border:1px solid #8a6a2b;
  border-radius:4px;
  color:#ffd977;
  background:#2a2314;
  font:800 8px/1 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.08em;
  vertical-align:middle;
}
.choice-card.tester-cosmetic{
  border-color:#5f512c;
  background:linear-gradient(180deg,#181b26,#171c20);
}
.choice-card.tester-cosmetic:has(input:checked){
  border-color:#d1a94d;
  box-shadow:inset 0 0 0 1px #d1a94d;
  background:#252113;
}
.choice-card.cosmetic-disabled{
  opacity:.48;
  cursor:not-allowed;
}
.choice-card.cosmetic-disabled input{pointer-events:none}


/* MQ_CLICK_EDIT_FOOD_V1 */
.food-row-editable{cursor:pointer}
.food-row-editable:hover{filter:brightness(1.04)}
.food-row-editable:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.food-row-editable .food-actions button{position:relative;z-index:1}


/* MQ_LOGGED_FOOD_MISSING_NUTRITION_WARNING_V1 */
.food-missing-warning{margin-top:5px;font-size:11px;line-height:1.35;color:#f6bd60;font-weight:700;max-width:560px}
.food-row-editable:hover .food-missing-warning{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}

/* MQ_FOOD_DATABASE_SECTION_V1 */
.food-database-toolbar{display:flex;gap:18px;align-items:end;justify-content:space-between;flex-wrap:wrap}.food-database-search-label{min-width:min(520px,100%);flex:1}.food-database-search-label input{width:100%;margin-top:7px}.food-database-summary{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.food-database-list{display:grid;gap:10px}.food-database-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px 16px;border:1px solid #263b54;border-radius:10px;background:#102035}.food-database-card-main{min-width:0}.food-database-card .food-name{font-weight:800}.food-database-nutrients{font-size:13px;color:#b8c7d9;margin-top:6px;line-height:1.45}.food-database-warning{font-size:12px;color:#ffbf69;margin-top:7px}.food-database-actions{display:flex;gap:8px;align-items:center}.food-database-note{margin:12px 2px 0;max-width:900px}@media(max-width:720px){.food-database-summary{align-items:flex-start}.food-database-card{grid-template-columns:1fr}.food-database-actions{justify-content:flex-start}}

/* MQ_GLOBAL_FOOD_DATABASE_V1 */
.food-admin-list{display:grid;gap:10px;margin-top:12px}.food-admin-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px 16px;border:1px solid #2b405b;border-radius:10px;background:#102035}.food-admin-compare{display:grid;gap:5px;margin-top:8px;font-size:12px;color:#b9c8da}.food-admin-compare span:first-child{color:#91a2b8}.food-admin-compare span:last-child{color:var(--mint)}@media(max-width:720px){.food-admin-card{grid-template-columns:1fr}.food-admin-card .food-database-actions{justify-content:flex-start;flex-wrap:wrap}}


/* MQ_GLOBAL_PRIVATE_FOOD_EDIT_V1 */
.food-database-section{margin-top:16px}
.food-database-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.food-database-section-head h3{margin:4px 0 0}
.clickable-food-card{cursor:pointer}
.clickable-food-card:hover{transform:translateY(-1px);border-color:#496787}
.clickable-food-card .food-database-actions{position:relative;z-index:2}

/* MacroQuest Gold Shop v1 */
.shop-balance{border:1px solid #665028;background:#171a1f;color:var(--gold);padding:10px 14px;border-radius:7px;font-weight:800;white-space:nowrap}
.shop-hero-panel{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:14px}
.shop-hero-panel h3,.shop-merch-panel h3{margin:5px 0 7px}
.shop-hero-panel p,.shop-merch-panel p{margin:0;max-width:760px;line-height:1.55}
.shop-owned-summary{min-width:130px;text-align:center;border-left:1px solid var(--line);padding-left:22px}
.shop-owned-summary b{display:block;font:800 30px/1 Georgia,serif;color:var(--gold)}
.shop-owned-summary span{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.shop-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.shop-filter-row .small-btn.active{border-color:var(--mint);color:var(--mint);background:#12392d}
.shop-status{margin:8px 0 14px}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.shop-card{min-width:0;background:linear-gradient(180deg,#121e30,#0e1929);border:1px solid #2b3e57;border-radius:10px;padding:17px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:230px}
.shop-card.owned{border-color:#36684f}
.shop-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.shop-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #38516f;background:#13243a;border-radius:8px;font-size:20px;color:var(--gold)}
.shop-rarity{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.shop-card.rarity-rare .shop-rarity{color:#79bdff}.shop-card.rarity-epic .shop-rarity{color:#c394ff}.shop-card.rarity-legendary .shop-rarity{color:#ffd06f}
.shop-card h3{margin:6px 0 7px;font-size:17px}.shop-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;flex:1}
.shop-card-foot{margin-top:17px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.shop-price{font-size:11px;color:var(--gold);font-weight:750}.shop-owned-pill{font-size:10px;color:var(--mint);border:1px solid #357e61;background:#12392d;padding:6px 8px;border-radius:5px}
.shop-buy:disabled{opacity:.45;cursor:not-allowed}.shop-equipped{border-color:#357e61!important;color:var(--mint)!important;background:#12392d!important}
.shop-merch-panel{margin-top:18px}

/* Purchasable themes */
body[data-mq-theme="moonlit"]{--bg:#07101d;--sidebar:#06101f;--panel:#0d2038;--panel2:#13365c;--line:#315b86;--text:#f3f7ff;--muted:#9fb4cf;--mint:#8be3df;--gold:#ffd077;--blue:#9bcaff;background:radial-gradient(circle at 72% -10%,#24598f 0,#102d50 18%,#081526 48%,#050b14 100%)}
body[data-mq-theme="moonlit"] .sidebar{background:linear-gradient(180deg,rgba(5,15,30,.98),rgba(5,12,24,.98));border-right-color:#315b86}
body[data-mq-theme="moonlit"] .panel,body[data-mq-theme="moonlit"] .shop-card{background:linear-gradient(180deg,#12345a,#0a1b30);border-color:#35638f}
body[data-mq-theme="moonlit"] .hero-card{background:linear-gradient(135deg,#174673,#0b223e);border-color:#477aa8}
body[data-mq-theme="moonlit"] .avatar-pane{background:linear-gradient(180deg,#1e4b78,#102d4c)}
body[data-mq-theme="moonlit"] .nav-item:hover,body[data-mq-theme="moonlit"] .nav-item.active{background:#183d63;color:#a7eeea;box-shadow:inset 3px 0 #8be3df}
body[data-mq-theme="moonlit"] .form-grid input,body[data-mq-theme="moonlit"] .form-grid select,body[data-mq-theme="moonlit"] .form-grid textarea,body[data-mq-theme="moonlit"] dialog{background:#091a2e;border-color:#365f87}
body[data-mq-theme="moonlit"] .small-btn{background:#102b49;border-color:#3a6997}
body[data-mq-theme="moonlit"] .gold-chip,body[data-mq-theme="moonlit"] .shop-balance{background:#1b2637;border-color:#8d7446}

body[data-mq-theme="parchment"]{--bg:#17120d;--sidebar:#15100b;--panel:#211911;--panel2:#2b2118;--line:#5b4531;--text:#f5ead8;--muted:#bba98f;--mint:#b9d48b;--gold:#e4b667;--blue:#8eb6c7;background:radial-gradient(circle at 80% 0,#4b3420 0,#2a1e13 22%,#17120d 52%,#0e0b08 100%)}
body[data-mq-theme="parchment"] .sidebar{background:linear-gradient(180deg,#1b140d,#100c08);border-right-color:#624a32}
body[data-mq-theme="parchment"] .panel,body[data-mq-theme="parchment"] .shop-card{background:linear-gradient(180deg,#2b2117,#1a140f);border-color:#624a32}
body[data-mq-theme="parchment"] .hero-card{background:linear-gradient(135deg,#3a2a1b,#20170f);border-color:#765838}
body[data-mq-theme="parchment"] .avatar-pane{background:#2f2419}
body[data-mq-theme="parchment"] .nav-item:hover,body[data-mq-theme="parchment"] .nav-item.active{background:#342719;color:#d8e7b0;box-shadow:inset 3px 0 #b9d48b}
body[data-mq-theme="parchment"] .form-grid input,body[data-mq-theme="parchment"] .form-grid select,body[data-mq-theme="parchment"] .form-grid textarea,body[data-mq-theme="parchment"] dialog{background:#1a130d;border-color:#624a32}

body[data-mq-theme="neon-arcane"]{--bg:#090814;--sidebar:#0a0917;--panel:#15112a;--panel2:#1c1539;--line:#493b79;--mint:#6fffd3;--gold:#ffd56f;--blue:#65c7ff;--purple:#d98cff;background:radial-gradient(circle at 80% 0,#3c1c76 0,#1e1246 24%,#0c0a1c 52%,#070611 100%)}
body[data-mq-theme="neon-arcane"] .sidebar{background:linear-gradient(180deg,#100b25,#090716);border-right-color:#5d46a0}
body[data-mq-theme="neon-arcane"] .panel,body[data-mq-theme="neon-arcane"] .shop-card{background:linear-gradient(180deg,#21174a,#120d2d);border-color:#5d46a0}
body[data-mq-theme="neon-arcane"] .hero-card{background:linear-gradient(135deg,#2b1b61,#14113a);border-color:#8f66d7}
body[data-mq-theme="neon-arcane"] .avatar-pane{background:linear-gradient(180deg,#2e1d64,#17113d)}
body[data-mq-theme="neon-arcane"] .nav-item:hover,body[data-mq-theme="neon-arcane"] .nav-item.active{background:#2b1c59;color:#79ffdf;box-shadow:inset 3px 0 #6fffd3}
body[data-mq-theme="neon-arcane"] .form-grid input,body[data-mq-theme="neon-arcane"] .form-grid select,body[data-mq-theme="neon-arcane"] .form-grid textarea,body[data-mq-theme="neon-arcane"] dialog{background:#100b25;border-color:#5d46a0}

/* Purchasable character-card frames */
.hero-card{position:relative}
body[data-mq-frame="ironbound"] .hero-card{border:2px solid #7d8792;box-shadow:0 0 0 2px #303841,var(--shadow)}
body[data-mq-frame="gilded"] .hero-card{border-color:#6f5428;box-shadow:0 0 24px #ffbd5730,var(--shadow)}
body[data-mq-frame="gilded"] .pixel-person.avatar-v6-host::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:150px;
  height:188px;
  transform:translate(-50%,-50%);
  z-index:8;
  pointer-events:none;
  background:url("/frames/gilded-frame.png?v=3") center/contain no-repeat;
  filter:drop-shadow(0 0 5px #ffbd5780);
}
body[data-mq-frame="arcane"] .hero-card{border:2px solid #a877ff;box-shadow:0 0 0 2px #4f347e,0 0 28px #b07cff55,var(--shadow)}
.shop-frame-preview{
  height:104px;
  margin:11px 0 2px;
  border-radius:7px;
  background:#0a1524;
  position:relative;
  overflow:hidden;
}
.shop-frame-preview::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:5px;
  background:linear-gradient(135deg,#132640,#0b1728);
}
.shop-frame-preview.gilded::after{
  content:"";
  position:absolute;
  inset:4px;
  background:url("/frames/gilded-frame.png?v=3") center/contain no-repeat;
  filter:drop-shadow(0 0 4px #ffbd5770);
}
.shop-frame-preview.ironbound{border:2px solid #7d8792;box-shadow:inset 0 0 0 2px #303841}
.shop-frame-preview.arcane{border:2px solid #a877ff;box-shadow:inset 0 0 0 2px #4f347e,0 0 14px #b07cff55}
@media(max-width:680px){
  body[data-mq-frame="gilded"] .pixel-person.avatar-v6-host::after{
    width:126px;
    height:158px;
  }
}

@media(max-width:950px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .shop-grid{grid-template-columns:1fr}
  .shop-hero-panel{align-items:flex-start}
  .shop-owned-summary{min-width:90px;padding-left:14px}
  .shop-card{min-height:205px}
  .sidebar{overflow-x:auto;overflow-y:hidden;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(62px,1fr)}
  .sidebar nav{display:contents}
}
.shop-merch-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}
.merch-shop-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
@media(max-width:680px){.shop-merch-panel{align-items:stretch;flex-direction:column}.merch-shop-link{width:100%}}

/* Rotating daily quest deck + utility inventory */
.quest-rotation-note{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.utility-card .shop-icon{border-color:#5d4f79;background:#211a36;color:#c79cff}
.shop-card-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.shop-card-actions .primary,.shop-card-actions .small-btn{padding:8px 10px;font-size:10px}
.utility-use{border-color:#6a4f94!important;color:#d4b4ff!important;background:#21163a!important}
@media(max-width:680px){.shop-card-actions{width:100%;justify-content:stretch}.shop-card-actions .primary,.shop-card-actions .small-btn{flex:1}}
/* Macro goal questionnaire */
.macro-goal-settings-panel{margin-bottom:16px}
.macro-goal-settings-row{display:flex;align-items:center;justify-content:space-between;gap:22px}
.macro-goal-settings-row h3{margin:5px 0 6px}.macro-goal-settings-row p{margin:0;max-width:760px;line-height:1.55}
.macro-goal-mini-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.macro-goal-mini-summary span{border:1px solid var(--line);background:#0d1828;border-radius:6px;padding:7px 9px;color:var(--muted);font-size:10px}
.macro-goal-mini-summary b{color:var(--text);font-size:11px}
.macro-goal-dialog{width:min(96vw,900px);max-width:900px;max-height:90vh;overflow:auto;padding:22px 24px}
.macro-goal-dialog .modal-head{position:sticky;top:-22px;z-index:3;margin:-22px -24px 16px;padding:20px 24px 14px;background:linear-gradient(180deg,#102036 82%,rgba(16,32,54,.94));border-bottom:1px solid var(--line)}
.macro-goal-lead{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.6;max-width:760px}
.macro-goal-form{display:grid;gap:14px}
.macro-question-section{border:1px solid var(--line);background:linear-gradient(180deg,#102136,#0d1a2c);border-radius:10px;padding:16px}
.macro-question-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.macro-question-heading h3{margin:3px 0 3px;font-size:16px}
.macro-question-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.macro-step{flex:0 0 29px;height:29px;border-radius:999px;display:grid;place-items:center;background:#173750;border:1px solid #3d6f8d;color:var(--mint);font-weight:900}
.macro-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.macro-question-grid .wide{grid-column:1/-1}
.macro-question-grid label{min-width:0}
.macro-question-grid label>small{display:block;margin-top:6px;line-height:1.35}
.macro-inline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.macro-inline-fields.metric{grid-template-columns:repeat(2,minmax(0,1fr))}
.macro-goal-safety{border:1px solid #34506d;background:#0d1b2d;border-radius:8px;padding:13px 14px;color:#aebdd0;font-size:11px;line-height:1.55}
.macro-goal-safety b{color:var(--text)}
.macro-goal-actions{justify-content:space-between;position:sticky;bottom:-22px;z-index:2;margin:0 -24px -22px;padding:14px 24px 20px;background:linear-gradient(0deg,#102036 78%,rgba(16,32,54,.94));border-top:1px solid var(--line)}
#macroGoalResults h3{margin:6px 0 16px}
.macro-result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.macro-result-grid>div{border:1px solid var(--line);background:#0d1828;border-radius:8px;padding:13px;text-align:center}
.macro-result-grid span,.macro-result-grid small{display:block;color:var(--muted);font-size:10px}
.macro-result-grid b{display:block;margin:5px 0;font:800 23px/1 Georgia,serif;color:var(--mint)}
.macro-energy-estimate{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.macro-energy-estimate span{border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--muted);font-size:10px}
.macro-energy-estimate b{color:var(--gold)}
@media(max-width:680px){
  .macro-goal-settings-row{align-items:stretch;flex-direction:column}
  .macro-goal-settings-row>.primary{width:100%}
  .macro-goal-dialog{width:96vw;padding:18px 14px}
  .macro-goal-dialog .modal-head{top:-18px;margin:-18px -14px 14px;padding:17px 14px 12px}
  .macro-question-section{padding:13px}
  .macro-question-grid{grid-template-columns:1fr}
  .macro-question-grid .wide{grid-column:auto}
  .macro-inline-fields,.macro-inline-fields.metric{grid-template-columns:1fr 1fr}
  .macro-inline-fields label:last-child{grid-column:1/-1}
  .macro-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .macro-result-grid>div:first-child{grid-column:1/-1}
  .macro-goal-actions{flex-direction:column-reverse;bottom:-18px;margin:0 -14px -18px;padding:12px 14px 16px}
  .macro-goal-actions button{width:100%}
}