:root{
  --pq-bg:#060606;
  --pq-bg-2:#0b0d12;
  --pq-panel:#11151f;
  --pq-panel-2:#171d2a;
  --pq-panel-warm:#20180b;
  --pq-line:#2b3449;
  --pq-line-soft:#222838;
  --pq-gold:#ffc12d;
  --pq-gold-2:#d8a33a;
  --pq-gold-3:#7a5517;
  --pq-text:#f7f3e7;
  --pq-muted:#aeb8cc;
  --pq-success:#123d31;
  --pq-danger:#4a1515;
  --pq-radius:18px;
  --pq-font-title:Georgia,'Times New Roman',serif;
  --pq-font-body:InterPQ,system-ui,-apple-system,Segoe UI,sans-serif;
}
*{box-sizing:border-box}body{margin:0;background:var(--pq-bg);color:var(--pq-text);font-family:var(--pq-font-body)}button,input,textarea,select{font:inherit}.pq-loading{padding:40px}.pq-auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#251a0b,var(--pq-bg) 55%)}.pq-auth-card{width:min(560px,92vw);background:var(--pq-panel);border:1px solid var(--pq-line);border-radius:24px;padding:28px;box-shadow:0 30px 80px #0009}.pq-logo-row,.pq-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pq-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pq-gold-2),var(--pq-gold-3));color:#fff}.pq-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.pq-tabs button{border:1px solid var(--pq-line);background:#1a2030;color:#fff;border-radius:14px;padding:14px}.pq-tabs .active,.pq-btn-primary{background:linear-gradient(135deg,#e7b64a,#9b6e19)!important;color:#090909!important;border-color:var(--pq-gold-2)!important}.pq-form{display:grid;gap:12px}.pq-google-link{display:flex;align-items:center;justify-content:center;width:100%;margin-top:14px;border:1px solid #333;border-radius:14px;background:#101010;color:#fff;text-decoration:none;padding:14px;font-weight:800;box-shadow:0 12px 25px rgba(0,0,0,.35)}.pq-google-link:hover{background:#171717;border-color:#555}.pq-auth-card .pq-logo-row{justify-content:center;text-align:center}.pq-auth-card .pq-logo-row h1{font-family:var(--pq-font-title);color:var(--pq-gold);font-size:32px;margin:0}.pq-auth-card .pq-logo-row p{color:#b7bfd1;margin:.35rem 0 0}.pq-auth-card .pq-mark{display:none}.pq-input,.pq-textarea,.pq-select{width:100%;background:#080b11;border:1px solid #30384d;color:#fff;border-radius:12px;padding:12px}.pq-input:focus,.pq-textarea:focus,.pq-select:focus{outline:2px solid rgba(255,193,45,.55);border-color:var(--pq-gold-2)}.pq-textarea{min-height:108px;line-height:1.45}.pq-btn{border:1px solid #394156;background:var(--pq-panel-2);color:#fff;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.pq-btn:hover{filter:brightness(1.09)}.pq-btn-ghost{background:#0d1017}.pq-btn-danger{background:var(--pq-danger);border-color:#8c2424}.pq-success,.pq-error,.pq-warning{border-radius:12px;padding:12px;margin:10px 0}.pq-success{background:var(--pq-success);border:1px solid #1b775e}.pq-warning{background:#3b2a08;border:1px solid #b7791f;color:#ffe8ad}.pq-error{background:#431717;border:1px solid #943333}.pq-app{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.pq-sidebar{background:#0b0e15;border-right:1px solid #202637;padding:18px;position:sticky;top:0;height:100vh}.pq-brand{display:flex;gap:10px;align-items:center;margin-bottom:24px}.pq-brand small{display:block;color:#b7bfd1;font-size:11px}.pq-sidebar nav{display:grid;gap:8px}.pq-sidebar nav button{background:transparent;border:1px solid transparent;color:#d9deea;text-align:left;border-radius:10px;padding:12px}.pq-sidebar nav button.active{background:var(--pq-panel-2);border-color:#30394f}.pq-main{padding:0 24px 50px;min-width:0}.pq-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #222}.pq-title-brand{font-family:var(--pq-font-title);color:var(--pq-gold);font-size:24px}.pq-wallet{display:flex;gap:10px;align-items:center}.pq-wallet span{border:1px solid #333;border-radius:999px;padding:8px 14px;background:#101010}.pq-realm-picker{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center;margin:16px 0}.pq-page{max-width:1540px}.pq-display{font-family:var(--pq-font-title);color:var(--pq-gold);font-size:clamp(48px,7vw,88px);line-height:.88;margin:26px 0 8px;letter-spacing:-.04em}.pq-subtitle{color:#d6dbe7;margin-bottom:24px}.pq-card{background:var(--pq-panel);border:1px solid var(--pq-line);border-radius:var(--pq-radius);padding:18px;margin:14px 0}.pq-stat-grid,.pq-macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.pq-stat-grid strong{font-size:30px;display:block}.pq-badge{border:1px solid #35405a;border-radius:999px;padding:3px 9px;color:#d9e0ef;font-size:12px;white-space:nowrap}.pq-muted{color:var(--pq-muted)}.pq-gold{font-family:var(--pq-font-title);color:var(--pq-gold);font-size:24px}.pq-pad{padding:18px}.pq-quest-actions{display:flex;gap:10px;justify-content:flex-end;margin:10px 0 18px;flex-wrap:wrap}.pq-filter-bar{margin:20px 0}.pq-filters{display:grid;grid-template-columns:1fr 260px 260px;gap:12px;margin-top:12px;background:#101010;border:1px solid #333;border-radius:16px;padding:14px}.pq-raci{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.pq-tree{border-top:1px solid #222}.pq-tree-row{display:flex;align-items:center;gap:12px;padding:14px;min-height:64px}.pq-tree-title{flex:1;min-width:0}.pq-tree-title strong{display:block}.pq-tree-title small{display:block;color:var(--pq-muted);margin-top:5px}.pq-realm-row{justify-content:flex-start}.pq-round{width:38px;height:38px;min-width:38px;border-radius:50%;background:#090909;border:1px solid #555;color:#fff;font-weight:900}.pq-line{border-bottom:1px solid #252525}.pq-children{background:#202020;border:1px solid #343434;border-radius:16px;margin-left:18px;margin-bottom:18px;overflow:visible}.pq-quest{border-top:1px solid #3b3b3b}.pq-quest:first-child{border-top:0}.pq-objectives{padding:0 24px 16px 70px}.pq-objective{display:grid;grid-template-columns:minmax(280px,1fr) auto auto auto auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #333}.pq-objective small{display:block;color:var(--pq-muted);margin-top:4px}.pq-menu-wrap{position:relative;margin-left:auto}.pq-pop{position:absolute;right:0;top:44px;background:#252525;border:1px solid #3c3c3c;border-radius:14px;min-width:240px;z-index:20;padding:8px;box-shadow:0 18px 40px #0009}.pq-pop button{display:block;width:100%;background:transparent;border:0;color:#fff;text-align:left;padding:12px;border-radius:8px}.pq-pop button:hover{background:#333}.pq-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.pq-thread-list,.pq-chat-panel{background:var(--pq-panel);border:1px solid var(--pq-line);border-radius:18px;padding:14px}.pq-thread-list button{display:block;width:100%;margin:8px 0;text-align:left;background:#0d1017;color:#fff;border:1px solid #2c3448;border-radius:12px;padding:12px}.pq-thread-list button.active{border-color:var(--pq-gold-2);background:var(--pq-panel-warm)}.pq-thread-list small{display:block;color:#aab4c7;margin-top:4px}.pq-messages{min-height:420px;max-height:62vh;overflow:auto;padding:10px}.pq-msg{max-width:82%;border:1px solid #30394f;border-radius:16px;padding:14px;margin:12px 0;background:var(--pq-panel-2);line-height:1.45}.pq-msg.user{margin-left:auto;background:#221b10;border-color:#866022}.pq-msg.assistant{margin-right:auto}.pq-msg p{white-space:pre-wrap}.pq-router{background:#0d1017;border:1px solid #2c3448;border-radius:12px;padding:12px;margin:10px 0}.pq-table{width:100%;border-collapse:collapse;margin-top:10px}.pq-table th,.pq-table td{border-bottom:1px solid #333;padding:8px;text-align:left}.pq-table th{color:#f4d37a}.pq-attach{display:block;color:#f3c557}.pq-composer{border-top:1px solid #2c3448;padding-top:12px}.pq-period{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#101010;border:1px solid #333;border-radius:18px;padding:14px;margin-bottom:18px}.pq-macro-card{border:1px solid #333;border-radius:16px;padding:18px;background:linear-gradient(135deg,#151515,#222)}.pq-macro-card strong{display:block;font-size:28px}.pq-add-food{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;border:1px solid #333;border-radius:16px;padding:16px;margin:12px 0}.pq-sankey{display:grid;grid-template-columns:260px 1fr 180px;gap:12px;min-height:260px;position:relative;margin-top:20px}.pq-sankey-food,.pq-sankey-macro{background:#191919;border:1px solid #333;border-radius:10px;margin:7px 0;padding:8px;font-weight:800}.pq-sankey-flow{position:relative;overflow:hidden}.pq-flow-line{position:absolute;left:0;height:8px;border-radius:999px;background:linear-gradient(90deg,#43b74a,#d9cf50,#1d4d86);opacity:.55}.pq-bars{height:160px;display:flex;align-items:end;gap:8px;overflow:auto}.pq-bar-wrap{text-align:center;min-width:34px}.pq-bar{width:16px;background:#d79518;border-radius:4px;margin:auto}.pq-member{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:12px;border-top:1px solid #333}@media(max-width:900px){.pq-app{grid-template-columns:1fr}.pq-sidebar{height:auto;position:relative}.pq-chat-layout{grid-template-columns:1fr}.pq-sankey{grid-template-columns:1fr}.pq-objective{grid-template-columns:1fr auto}.pq-filters{grid-template-columns:1fr}.pq-realm-picker{grid-template-columns:1fr}}

/* Patch 2026-05-20: lock the app back to the original ProjectQuest black/gold brand language. */
:root{
  --pq-bg:#050505;
  --pq-bg-2:#080808;
  --pq-panel:#111111;
  --pq-panel-2:#171717;
  --pq-panel-warm:#211806;
  --pq-line:#333333;
  --pq-line-soft:#242424;
  --pq-gold:#ffc21f;
  --pq-gold-2:#d99a16;
  --pq-gold-3:#6f4a0d;
  --pq-text:#f7f7f2;
  --pq-muted:#b9c0ca;
  --pq-radius:18px;
  --pq-font-title:"Cinzel Decorative","Cinzel",Georgia,"Times New Roman",serif;
  --pq-font-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html,body,#projectquest-root{background:#050505!important;color:var(--pq-text);}
body{font-family:var(--pq-font-body);}
.pq-app{background:#050505;}
.pq-sidebar{background:#090b10!important;border-right:1px solid #222!important;}
.pq-main{background:#050505!important;}
.pq-topbar{background:#050505!important;border-bottom:1px solid #242424!important;}
.pq-title-brand{font-family:var(--pq-font-title);color:var(--pq-gold);letter-spacing:.02em;text-shadow:0 1px 0 #000;}
.pq-display{font-family:var(--pq-font-title)!important;color:var(--pq-gold)!important;letter-spacing:-.05em;text-shadow:0 2px 0 #000;}
.pq-card,.pq-thread-list,.pq-chat-panel,.pq-auth-card{background:#111!important;border-color:#333!important;box-shadow:none!important;}
.pq-card:hover{border-color:#484848;}
.pq-stat-grid .pq-card,.pq-macro-card{background:#111!important;border-color:#333!important;}
.pq-btn,.pq-btn-ghost{background:#111!important;border-color:#444!important;color:#fff!important;}
.pq-btn-primary,.pq-tabs .active{background:linear-gradient(180deg,#ffc34a,#b67812)!important;border-color:#c68a17!important;color:#060606!important;}
.pq-input,.pq-textarea,.pq-select{background:#090909!important;border-color:#3a3a3a!important;color:#fff!important;}
.pq-input:focus,.pq-textarea:focus,.pq-select:focus{outline:2px solid rgba(255,194,31,.55)!important;border-color:var(--pq-gold-2)!important;}
.pq-sidebar nav button{color:#f2f2ef!important;background:transparent!important;}
.pq-sidebar nav button.active{background:#171717!important;border-color:#555!important;color:#fff!important;}
.pq-brand-img{width:44px;height:44px;border-radius:14px;object-fit:cover;box-shadow:0 0 0 1px #72500f,0 8px 20px #0008;}
.pq-brand strong{font-family:var(--pq-font-title);color:var(--pq-text);font-size:17px;}
.pq-wallet span{background:#101010!important;border-color:#333!important;}
.pq-chat-layout{align-items:start;}
.pq-msg{background:#141414!important;border-color:#333!important;}
.pq-msg.user{background:#201806!important;border-color:#9b6b12!important;}
.pq-thread-list button{background:#090909!important;border-color:#333!important;}
.pq-thread-list button.active{background:#1d1505!important;border-color:#d99a16!important;}
.pq-router,.pq-composer{background:#090909!important;border-color:#333!important;}
.pq-table th{color:var(--pq-gold)!important;}
.pq-filter-bar,.pq-period{background:#080808!important;border-color:#333!important;}
.pq-filters{background:#0b0b0b!important;border-color:#333!important;}
.pq-tree{border-top:1px solid #333!important;}
.pq-children{background:#151515!important;border-color:#333!important;}
.pq-line,.pq-quest,.pq-objective{border-color:#333!important;}
.pq-menu-wrap{position:relative;display:inline-block;margin-left:auto;}
.pq-menu-wrap summary{list-style:none;cursor:pointer;user-select:none;}
.pq-menu-wrap summary::-webkit-details-marker{display:none;}
.pq-menu-summary{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid #444;background:#111;color:#fff;font-weight:900;}
.pq-menu-wrap[open] .pq-menu-summary{border-color:#fff;background:#202020;}
.pq-pop{background:#222!important;border-color:#444!important;}
.pq-pop button:hover{background:#333!important;}
.pq-fatal{padding:32px;color:#fff;background:#050505;min-height:100vh;}
.pq-fatal h1{font-family:var(--pq-font-title);color:var(--pq-gold);font-size:56px;}
.pq-fatal pre{background:#111;border:1px solid #333;border-radius:14px;padding:18px;white-space:pre-wrap;}
@media(max-width:900px){.pq-main{padding:0 14px 40px}.pq-display{font-size:52px}.pq-app{display:block}}

/* Patch 2026-05-20b: align standalone React shell with the legacy Tailwind ProjectQuest theme. */
:root{
  --pq-bg-rgb:10 10 10;
  --pq-bg-panel-rgb:23 23 23;
  --pq-bg-subtle-rgb:38 38 38;
  --pq-text-rgb:245 245 245;
  --pq-text-muted-rgb:163 163 163;
  --pq-border-rgb:38 38 38;
  --pq-border-soft-rgb:64 64 64;
  --pq-primary-300-rgb:252 211 77;
  --pq-primary-400-rgb:251 191 36;
  --pq-primary-500-rgb:245 158 11;
  --pq-primary-600-rgb:217 119 6;
  --pq-secondary-500-rgb:16 185 129;
  --pq-macro-protein-rgb:76,199,69;
  --pq-macro-carbs-rgb:27,60,107;
  --pq-macro-fat-rgb:247,240,99;
  --pq-macro-fiber-rgb:204,103,49;
  --pq-bg:#0a0a0a;
  --pq-bg-2:#050505;
  --pq-panel:#171717;
  --pq-panel-2:#262626;
  --pq-panel-warm:#1f1604;
  --pq-line:#262626;
  --pq-line-soft:#404040;
  --pq-gold:#f59e0b;
  --pq-gold-bright:#fbbf24;
  --pq-gold-soft:#fcd34d;
  --pq-gold-2:#d97706;
  --pq-gold-3:#451a03;
  --pq-text:#f5f5f5;
  --pq-muted:#a3a3a3;
  --pq-success:#064e3b;
  --pq-danger:#4c0519;
  --pq-radius:18px;
  --pq-font-title:"Cinzel Decorative",Cinzel,Georgia,"Times New Roman",serif;
  --pq-font-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html,body,#projectquest-root{background:var(--pq-bg)!important;color:var(--pq-text)!important;min-height:100%;}
body,.pq-app,.pq-main{font-family:var(--pq-font-body)!important;background:#0a0a0a!important;color:var(--pq-text)!important;}
.pq-sidebar{background:#050505!important;border-right:1px solid #262626!important;}
.pq-topbar{background:#0a0a0a!important;border-bottom:1px solid #262626!important;}
.pq-title-brand,.pq-brand strong,.pq-display,.pq-gold{font-family:var(--pq-font-title)!important;color:var(--pq-gold-bright)!important;}
.pq-title-brand{font-size:23px;letter-spacing:.025em;}
.pq-display{font-size:clamp(58px,6vw,96px)!important;line-height:.92!important;letter-spacing:-.06em!important;margin-top:22px!important;}
.pq-subtitle{color:#e5e5e5!important;}
.pq-card,.pq-thread-list,.pq-chat-panel,.pq-auth-card,.pq-macro-card{background:#171717!important;border:1px solid #404040!important;box-shadow:none!important;}
.pq-stat-grid .pq-card{background:#171717!important;border-color:#404040!important;}
.pq-stat-grid strong{color:#fff!important;}
.pq-btn,.pq-btn-ghost{background:#171717!important;border:1px solid #525252!important;color:#fff!important;border-radius:14px!important;}
.pq-btn-primary,.pq-tabs .active{background:linear-gradient(180deg,#fbbf24,#d97706)!important;border-color:#f59e0b!important;color:#050505!important;}
.pq-input,.pq-textarea,.pq-select{background:#0a0a0a!important;border:1px solid #525252!important;color:#fff!important;border-radius:14px!important;}
.pq-input::placeholder,.pq-textarea::placeholder{color:#737373!important;}
.pq-input:focus,.pq-textarea:focus,.pq-select:focus{outline:2px solid rgba(245,158,11,.55)!important;border-color:#f59e0b!important;box-shadow:none!important;}
.pq-sidebar nav button{color:#f5f5f5!important;background:transparent!important;border:1px solid transparent!important;font-weight:650;}
.pq-sidebar nav button.active{background:#171717!important;border-color:#525252!important;color:#fff!important;}
.pq-brand-img{width:48px!important;height:48px!important;border-radius:14px!important;object-fit:cover!important;box-shadow:0 0 0 1px #92400e,0 10px 24px #000!important;}
.pq-wallet span{background:#0a0a0a!important;border:1px solid #404040!important;color:#fff!important;}
.pq-realm-picker .pq-select{background:#0a0a0a!important;border-color:#404040!important;}
.pq-msg,.pq-thread-list button{background:#171717!important;border-color:#404040!important;}
.pq-msg.user{background:#1f1604!important;border-color:#92400e!important;}
.pq-thread-list button.active{background:#1f1604!important;border-color:#f59e0b!important;}
.pq-router,.pq-composer{background:#0a0a0a!important;border-color:#404040!important;}
.pq-table th{color:#fcd34d!important;}
.pq-filter-bar,.pq-period,.pq-filters{background:#0a0a0a!important;border-color:#404040!important;}
.pq-tree{border-top:1px solid #404040!important;}
.pq-line{border-bottom:1px solid #262626!important;}
.pq-children{background:#171717!important;border:1px solid #404040!important;}
.pq-quest,.pq-objective{border-color:#404040!important;}
.pq-round{background:#050505!important;border-color:#525252!important;color:#f5f5f5!important;}
.pq-menu-summary{background:#171717!important;border-color:#525252!important;color:#fff!important;}
.pq-pop{background:#262626!important;border-color:#404040!important;}
.pq-pop button:hover{background:#404040!important;}
.pq-badge{background:#0a0a0a!important;border-color:#404040!important;color:#e5e5e5!important;}
.pq-success{background:#064e3b!important;border-color:#10b981!important;color:#ecfdf5!important;}
.pq-error{background:#4c0519!important;border-color:#f43f5e!important;color:#fff1f2!important;}
.pq-fatal{padding:32px;background:#0a0a0a;color:#f5f5f5;min-height:100vh;}
.pq-fatal h1{font-family:var(--pq-font-title);color:#fbbf24;font-size:56px;}
.pq-fatal pre{background:#171717;border:1px solid #404040;border-radius:14px;padding:18px;white-space:pre-wrap;}

/* Patch 2026-05-20c: usability polish and richer filter panel. */
.pq-brand-img{box-shadow:none!important;border:1px solid #3a2a08!important;background:#050505!important;}
.pq-brand strong{color:#fbbf24!important;}
.pq-brand small{color:#d7d7d7!important;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pq-thread-list .pq-btn-primary,.pq-thread-list .pq-row .pq-btn{background:linear-gradient(180deg,#fbbf24,#d97706)!important;border-color:#f59e0b!important;color:#050505!important;text-align:center!important;justify-content:center!important;}
.pq-thread-list .pq-row{align-items:center;justify-content:space-between;gap:12px;}
.pq-thread-list .pq-row h3{margin-right:auto;}
.pq-filters-grid{grid-template-columns:repeat(4,minmax(180px,1fr))!important;align-items:end;}
.pq-filters-grid label{display:grid;gap:7px;color:#e5e5e5;font-size:13px;font-weight:700;}
.pq-filters-grid label:first-child{grid-column:1/-1;}
.pq-filter-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #262626;padding-top:12px;}
.pq-link-button{background:transparent;border:0;color:#fcd34d;text-decoration:underline;font-weight:800;cursor:pointer;padding:8px 0;}
.pq-router-group{display:grid;gap:3px;border-top:1px solid #262626;margin-top:8px;padding-top:8px;}
.pq-router-group b{color:#fcd34d;}
.pq-router-group small{display:block;color:#a3a3a3;margin-top:2px;}
.pq-table td:first-child{max-width:520px;white-space:normal;}
.pq-page{padding-bottom:64px;}
@media(max-width:1200px){.pq-filters-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important;}}
@media(max-width:700px){.pq-filters-grid{grid-template-columns:1fr!important;}.pq-filter-footer{display:grid;}.pq-brand-img{width:42px!important;height:42px!important;}}

/* Patch 2026-05-20c: restored Food History analytics, Character targets, diary/wallet pages. */
:root{
  --macro-protein:#45c846;
  --macro-carbs:#1e4f86;
  --macro-fat:#ece85e;
  --macro-fiber:#c86432;
}
.pq-space{justify-content:space-between}.pq-link-button{background:transparent;border:0;color:var(--pq-gold-bright,var(--pq-gold));font-weight:800;text-decoration:underline;cursor:pointer}.pq-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.pq-macro-grid-colored{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:stretch}.pq-macro-card{position:relative;overflow:hidden;min-height:112px;background:#111!important;border:1px solid #333!important}.pq-macro-fill{position:absolute;left:0;right:0;bottom:0;opacity:.72;transition:height .25s ease}.pq-macro-content{position:relative;z-index:2}.pq-macro-content span{display:block;font-weight:800;margin-bottom:6px}.pq-macro-content strong{font-size:32px;line-height:1.05}.pq-macro-content small{display:block;color:#fff;margin-top:4px}.pq-macro-content em{display:block;font-style:normal;color:#f5d072;margin-top:10px;font-size:12px}.pq-macro-calories .pq-macro-fill{background:linear-gradient(180deg,#333,#111)}.pq-macro-protein .pq-macro-fill{background:linear-gradient(180deg,var(--macro-protein),#1b5d1c)}.pq-macro-carbs .pq-macro-fill{background:linear-gradient(180deg,#2469b7,var(--macro-carbs))}.pq-macro-fat .pq-macro-fill{background:linear-gradient(180deg,var(--macro-fat),#8c8625)}.pq-macro-fiber .pq-macro-fill{background:linear-gradient(180deg,var(--macro-fiber),#74300f)}.pq-food-flow-card{min-height:420px}.pq-sankey{grid-template-columns:260px 1fr 220px;min-height:360px}.pq-sankey-meals{grid-template-columns:240px 210px 1fr 220px}.pq-sankey-mid{display:flex;flex-direction:column;justify-content:space-around;gap:12px}.pq-sankey-meal{background:#152719;border:1px solid #2e7332;border-radius:10px;padding:8px;font-weight:900}.pq-sankey-meal small,.pq-sankey-macro small{display:block;color:#d7dce7;font-size:11px}.pq-sankey-flow{min-height:340px}.pq-flow-line{box-shadow:0 0 20px #0009;opacity:.72}.pq-sankey-protein_g{border-color:var(--macro-protein)!important}.pq-sankey-carbs_g{border-color:var(--macro-carbs)!important}.pq-sankey-fat_g{border-color:var(--macro-fat)!important}.pq-sankey-fiber_g{border-color:var(--macro-fiber)!important}.pq-meal-row{margin:14px 0}.pq-stack{height:18px;background:#050505;border:1px solid #333;border-radius:999px;overflow:hidden;display:flex}.pq-stack span{display:block;height:100%}.pq-stack .protein{background:var(--macro-protein)}.pq-stack .carbs{background:var(--macro-carbs)}.pq-stack .fat{background:var(--macro-fat)}.pq-targets h2{font-size:24px;margin:0}.pq-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0}.pq-target-grid label{display:grid;gap:6px;color:#f4f4ee;font-weight:700}.pq-estimate-box{border:1px solid #333;border-radius:18px;padding:18px;margin:16px 0;background:#0d0d0d}.pq-diary-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:18px}.pq-diary-entry{border-top:1px solid #333;padding:12px 0}.pq-diary-entry p{white-space:pre-wrap;line-height:1.45}.pq-food-remaining-strip{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.pq-food-remaining-strip span{border:1px solid #333;border-radius:999px;padding:6px 10px;background:#0d0d0d;color:#f5d072}@media(max-width:1100px){.pq-macro-grid-colored{grid-template-columns:repeat(2,minmax(160px,1fr))}.pq-sankey,.pq-sankey-meals{grid-template-columns:1fr}.pq-diary-grid{grid-template-columns:1fr}}

/* 2026-05-20 Food History Sankey restoration */
.pq-food-flow-card{min-height:560px;overflow:hidden;}
.pq-sankey-wrap{margin-top:18px;}
.pq-sankey-toolbar-note{color:#e7eaf2;font-size:14px;margin:0 0 10px;}
.pq-sankey-canvas{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:18px;align-items:stretch;min-height:430px;}
.pq-sankey-svg{width:100%;height:auto;min-height:410px;display:block;overflow:visible;background:transparent;}
.pq-sankey-link{mix-blend-mode:screen;filter:drop-shadow(0 0 8px rgba(0,0,0,.65));}
.pq-sankey-node rect{fill:#181818;stroke:#3c3c3c;stroke-width:1.2;}
.pq-sankey-node.food rect{fill:#142316;stroke:#355c35;}
.pq-sankey-node.food:nth-of-type(odd) rect{fill:#141f2b;stroke:#29405f;}
.pq-sankey-node.meal rect{fill:#1a1a1a;stroke:#5b4d1f;}
.pq-sankey-node.macro.protein rect{stroke:var(--macro-protein);}
.pq-sankey-node.macro.carbs rect{stroke:var(--macro-carbs);}
.pq-sankey-node.macro.fat rect{stroke:var(--macro-fat);}
.pq-sankey-node.macro.fiber rect{stroke:var(--macro-fiber);}
.pq-sankey-node-title{font-family:var(--pq-font-body);font-size:13px;font-weight:900;fill:#fff;paint-order:stroke;stroke:#000;stroke-width:3px;stroke-linejoin:round;}
.pq-sankey-node-sub{font-size:11px;fill:#bfc8d8;paint-order:stroke;stroke:#000;stroke-width:2px;}
.pq-sankey-percent{height:100%;min-height:390px;border:1px solid #3c3c3c;border-radius:16px;background:#111;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:8px;box-shadow:inset 0 0 0 1px #000;}
.pq-sankey-percent-seg{position:relative;min-height:18px;border-radius:8px;margin:1px 0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:900;text-shadow:0 1px 2px #000;}
.pq-sankey-percent-seg.protein{background:linear-gradient(180deg,#43d44f,#1f7b25);color:#67ff70;}
.pq-sankey-percent-seg.carbs{background:linear-gradient(180deg,#235da4,#0f2b50);color:#367bdf;}
.pq-sankey-percent-seg.fat{background:linear-gradient(180deg,#f5ee62,#9c982e);color:#ffff55;}
.pq-sankey-percent-seg.fiber{background:linear-gradient(180deg,#d96f32,#8d3516);color:#ff7c39;}
.pq-sankey-percent-seg span{position:relative;z-index:2;white-space:nowrap;}
@media(max-width:900px){.pq-sankey-canvas{grid-template-columns:1fr}.pq-sankey-percent{height:48px;min-height:48px;flex-direction:row}.pq-sankey-percent-seg{height:100%!important}}

/* Food editor patch: intuitive day/meal/item editing at the bottom of Food History. */
.pq-food-editor{margin-top:28px}
.pq-food-day{border:1px solid var(--pq-line);border-radius:16px;margin:12px 0;background:#0b0b0b;overflow:hidden}
.pq-food-day-head,.pq-food-meal-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #292929}
.pq-food-day-title{flex:1;min-width:0}.pq-food-day-title strong{display:block;font-size:20px}.pq-food-day-title small{display:block;color:var(--pq-muted);margin-top:3px}.pq-round.small{width:30px;height:30px;min-width:30px;font-size:14px}.pq-food-meals{padding:10px 16px 16px}.pq-food-meal{border:1px solid #303030;border-radius:14px;margin:10px 0;background:#121212}.pq-food-meal-head strong{min-width:120px}.pq-food-meal-head span{flex:1;color:var(--pq-muted)}.pq-food-items{padding:8px 14px 14px}.pq-food-item-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:center;border-top:1px solid #292929;padding:12px 0}.pq-food-item-row:first-child{border-top:0}.pq-food-item-row small{display:block;color:var(--pq-muted);margin-top:3px}.pq-pill{border:1px solid #3a3a3a;border-radius:999px;padding:4px 9px;color:#f6d170;background:#151515;font-size:12px}.pq-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:80;display:grid;place-items:center;padding:24px}.pq-modal{width:min(980px,96vw);max-height:90vh;overflow:auto;background:#111;border:1px solid #454545;border-radius:20px;padding:22px;box-shadow:0 25px 80px #000}.pq-food-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0}.pq-food-edit-grid label{display:grid;gap:6px;color:var(--pq-muted);font-size:13px}.pq-food-edit-form .pq-row{margin-top:10px}
@media(max-width:800px){.pq-food-item-row{grid-template-columns:1fr}.pq-food-day-head,.pq-food-meal-head{align-items:flex-start;flex-wrap:wrap}}

/* Seer Action Engine v1 */
.pq-seer-action-review{border-color:rgba(255,194,41,.35);background:linear-gradient(180deg,rgba(20,20,18,.98),rgba(10,10,9,.98));}
.pq-action-group{border:1px solid rgba(255,255,255,.15);border-radius:18px;margin:14px 0;padding:14px;background:rgba(255,255,255,.025);}
.pq-action-group h4{font-family:var(--pq-font-display);font-size:1.25rem;color:var(--pq-gold);margin:0 0 10px;}
.pq-action-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;border:1px solid rgba(255,255,255,.13);border-left:5px solid var(--pq-gold);border-radius:14px;padding:12px 14px;margin:10px 0;background:rgba(0,0,0,.28);cursor:pointer;}
.pq-action-card input{margin-top:6px;transform:scale(1.15);accent-color:var(--pq-gold);}
.pq-action-card.create{border-left-color:#a855f7;}
.pq-action-card.move{border-left-color:#3b82f6;}
.pq-action-card.update{border-left-color:#f59e0b;}
.pq-action-card.close{border-left-color:#22c55e;}
.pq-action-main strong{color:#fff;}
.pq-action-main p{margin:.4rem 0;color:#ddd;}
.pq-before-after{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.pq-before-after div{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 10px;background:rgba(255,255,255,.04);font-size:.9rem;}
.pq-before-after span{color:#aaa;margin-right:6px;}
.pq-before-after b{color:#fff;}
.pq-mini-card.create{border-left:5px solid #a855f7;}
.pq-new-chat{box-shadow:0 0 0 1px rgba(255,194,41,.35),0 6px 20px rgba(255,166,0,.18);}

/* 2026-05-21: chat orchestration + mobile scroll cleanup */
.pq-router-note{margin:6px 0 10px!important;}
.pq-confirm-note{margin-top:12px;padding:10px 12px;border:1px solid #5b4513;border-radius:12px;background:#151007;color:#f8d678;font-weight:800;line-height:1.35;}
.pq-chat-panel-one-scroll{overflow:visible!important;}
.pq-messages-one-scroll{max-height:none!important;overflow:visible!important;min-height:0!important;padding:6px!important;}
.pq-chat-layout{align-items:start!important;}
.pq-chat-panel{position:relative!important;}
.pq-composer{position:sticky;bottom:0;background:#050505!important;border:1px solid #333!important;border-radius:16px;padding:12px!important;z-index:15;}
.pq-seer-action-review{scroll-margin-bottom:160px;}
.pq-trust-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;}
.pq-trust-options button{background:#0a0a0a;border:1px solid #404040;color:#f5f5f5;border-radius:14px;padding:14px;text-align:left;cursor:pointer;display:grid;gap:6px;}
.pq-trust-options button.active{border-color:#f59e0b;background:#1f1604;box-shadow:0 0 0 1px #f59e0b66 inset;}
.pq-trust-options span{color:#b8b8b8;font-size:13px;line-height:1.35;}
@media(max-width:900px){
  .pq-chat-layout{display:block!important;}
  .pq-thread-list{margin-bottom:14px;max-height:none!important;overflow:visible!important;}
  .pq-msg{max-width:100%!important;}
  .pq-composer{position:static!important;}
}

/* Patch: Food grouping + macro rail order */
.pq-sankey-percent{flex-direction:column!important;}
.pq-food-meal-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pq-food-item-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #333;}
.pq-modal-backdrop{position:fixed;inset:0;background:#000b;z-index:50;display:grid;place-items:center;padding:20px;}
.pq-modal{background:#111;border:1px solid #444;border-radius:18px;padding:18px;max-width:900px;width:min(900px,94vw);max-height:90vh;overflow:auto;}
.pq-food-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.pq-food-edit-grid label{display:grid;gap:6px;font-weight:800;}

/* Patch: non-destructive visual food groups */
.pq-food-group-card {
  border: 1px solid rgba(216, 163, 58, .45);
  background: rgba(216, 163, 58, .055);
  border-radius: 16px;
  padding: 12px;
  margin: 10px 0;
}
.pq-food-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.pq-food-group-head strong { color: var(--pq-primary-400, #ffc629); }
.pq-food-group-head small,
.pq-food-group-children small { display:block; color: var(--pq-text-muted, #aab2c0); margin-top: 3px; }
.pq-food-group-children { margin-top: 8px; padding-left: 16px; border-left: 2px solid rgba(216, 163, 58, .35); }
.pq-food-ingredient-row { background: rgba(255,255,255,.025); }
.pq-group-modal .pq-group-pick-list { display:grid; gap:8px; margin: 12px 0; max-height: 360px; overflow:auto; }
.pq-group-pick { display:flex; align-items:flex-start; gap:10px; border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:10px; background:rgba(0,0,0,.22); }
.pq-group-pick input { margin-top: 4px; }
.pq-group-pick small { display:block; color: var(--pq-text-muted, #aab2c0); margin-top: 3px; }

/* 2026-05-21 UX onboarding + RPG action queue + AI food lookup */
.pq-welcome-page .pq-intro-hero{position:relative;min-height:430px;border:1px solid #34280e;border-radius:28px;background:radial-gradient(circle at 50% 10%,rgba(255,198,41,.16),rgba(0,0,0,.25) 34%,#050505 70%);display:grid;place-items:center;text-align:center;overflow:hidden;padding:42px;margin-bottom:22px;}
.pq-rune-orb{width:112px;height:112px;border-radius:50%;border:2px solid var(--pq-gold,#ffc629);display:grid;place-items:center;margin:0 auto 18px;color:var(--pq-gold,#ffc629);font-family:var(--pq-font-display);font-size:68px;box-shadow:0 0 34px rgba(255,198,41,.34),inset 0 0 30px rgba(255,198,41,.10);animation:pqRunePulse 2.8s ease-in-out infinite;}
.pq-intro-title{font-family:var(--pq-font-display);font-size:clamp(3rem,8vw,8rem);line-height:.85;color:var(--pq-gold,#ffc629);margin:0;text-shadow:0 6px 30px rgba(255,166,0,.18);}
.pq-intro-sub{font-size:1.25rem;color:#e9e1c5;margin:14px 0 0;}
.pq-chaos-stack{position:absolute;inset:0;pointer-events:none;}
.pq-chaos-card{position:absolute;left:calc(8% + (var(--i) * 11%));top:calc(58% + ((var(--i) % 3) * 26px));transform:rotate(calc((var(--i) - 2) * 4deg));border:1px solid rgba(255,198,41,.32);background:rgba(16,16,16,.78);border-radius:14px;padding:10px 14px;color:#fff;font-weight:900;box-shadow:0 12px 25px rgba(0,0,0,.55);animation:pqCardGather 3.5s ease-in-out infinite alternate;}
.pq-intro-actions{position:relative;z-index:2;display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap;}
.pq-onboarding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.pq-onboarding-card{max-width:820px;}
.pq-step-runes{display:flex;gap:10px;margin-bottom:18px;}
.pq-step-runes button{width:42px;height:42px;border-radius:50%;border:1px solid #555;background:#111;color:#ddd;font-weight:900;cursor:pointer;}
.pq-step-runes button.active{background:var(--pq-gold,#ffc629);color:#050505;border-color:var(--pq-gold,#ffc629);box-shadow:0 0 20px rgba(255,198,41,.28);}
@keyframes pqRunePulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.04);filter:brightness(1.25)}}
@keyframes pqCardGather{from{opacity:.45;transform:translateY(16px) rotate(calc((var(--i) - 2) * 4deg));}to{opacity:.95;transform:translateY(0) rotate(calc((var(--i) - 2) * 2deg));}}

.pq-action-card{grid-template-columns:auto auto 1fr!important;position:relative;}
.pq-action-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;}
.pq-rpg-check{display:inline-grid;place-items:center;width:34px;height:34px;min-width:34px;border-radius:50%;border:2px solid rgba(255,198,41,.6);background:#0b0b0b;color:#ffc629;font-weight:1000;box-shadow:inset 0 0 0 2px rgba(0,0,0,.6);cursor:pointer;user-select:none;}
.pq-action-card input:checked + .pq-rpg-check,.pq-ai-food-card.selected .pq-rpg-check{background:linear-gradient(180deg,#ffd95a,#f5a400);color:#050505;border-color:#ffe38a;box-shadow:0 0 18px rgba(255,198,41,.35),inset 0 0 0 2px rgba(255,255,255,.15);}
.pq-action-card:has(input:checked){border-color:rgba(34,197,94,.45);box-shadow:0 0 0 1px rgba(34,197,94,.18),0 0 32px rgba(34,197,94,.08);}
.pq-action-card .pq-pill{font-size:12px;}

.pq-ai-food-box{display:grid;gap:12px;width:100%;}
.pq-add-food .pq-row{margin-bottom:10px;}
.pq-add-food-manual{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;}
.pq-ai-food-list{display:grid;gap:10px;margin:8px 0;}
.pq-ai-food-card{display:grid;grid-template-columns:auto 1fr;gap:12px;border:1px solid rgba(255,255,255,.14);border-left:5px solid rgba(255,198,41,.45);border-radius:14px;padding:12px;background:#101010;align-items:start;}
.pq-ai-food-card.selected{border-color:rgba(255,198,41,.65);background:rgba(255,198,41,.055);box-shadow:0 0 0 1px rgba(255,198,41,.16) inset;}
.pq-ai-food-main strong{color:#fff;}
.pq-ai-food-main small{display:block;color:#b8bdc7;margin-top:5px;}
.pq-ai-food-edit{margin-top:8px;}
.pq-ai-food-edit summary{color:#ffc629;cursor:pointer;font-weight:900;}
.pq-group-pick input{appearance:none;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,198,41,.55);background:#090909;position:relative;}
.pq-group-pick input:checked{background:linear-gradient(180deg,#ffd95a,#f5a400);border-color:#ffe38a;}
.pq-group-pick input:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#050505;font-weight:1000;font-size:14px;}

@media(max-width:760px){
  .pq-intro-hero{min-height:520px!important;padding:26px!important;}
  .pq-chaos-card{left:12%!important;right:12%;top:calc(56% + (var(--i) * 34px));font-size:13px;}
  .pq-action-card{grid-template-columns:auto 1fr!important;}
  .pq-action-card .pq-rpg-check{grid-row:1 / span 2;}
  .pq-add-food-manual{grid-template-columns:1fr;}
  .pq-ai-food-card{grid-template-columns:auto 1fr;}
}

/* V12 production-candidate UX hotfixes */
.pq-goal-callout{border:1px solid rgba(255,198,41,.32);background:rgba(255,198,41,.06);border-radius:16px;padding:12px;margin:14px 0;}
.pq-goal-callout strong{color:var(--pq-gold,#ffc629);display:block;margin-bottom:4px;}
.pq-action-card.pq-action-locked{opacity:.58;filter:grayscale(.45);border-style:dashed;background:rgba(255,255,255,.025);}
.pq-action-card.pq-action-locked .pq-rpg-check{border-color:#666;color:#888;background:#111;box-shadow:none;cursor:not-allowed;}
.pq-action-card.pq-action-locked input{cursor:not-allowed;}
.pq-pop button.disabled,.pq-pop button:disabled{opacity:.45;cursor:not-allowed;}
.pq-tree-row .pq-btn{white-space:nowrap;}
.pq-modal .pq-grid-3{align-items:end;}

/* V12.1 hotfix: usable top-right menu + empty-delete affordance */
.pq-main-menu{position:relative;display:inline-block;}
.pq-main-menu-pop{position:absolute;right:0;top:48px;width:min(360px,92vw);background:#171717;border:1px solid #444;border-radius:18px;padding:14px;z-index:100;box-shadow:0 24px 70px #000b;}
.pq-menu-section{border-bottom:1px solid #2e2e2e;padding:8px 0 12px;}
.pq-menu-section:last-of-type{border-bottom:0;}
.pq-menu-section small{display:block;color:#aeb6c8;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;}
.pq-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pq-menu-grid button,.pq-menu-logout{border:1px solid #3e3e3e;background:#101010;color:#fff;border-radius:12px;padding:11px 12px;text-align:left;font-weight:800;cursor:pointer;}
.pq-menu-grid button:hover,.pq-menu-logout:hover{border-color:#f0b526;background:#201a0b;}
.pq-menu-logout{width:100%;margin-top:10px;}
.pq-btn-danger{background:#5b1717!important;border-color:#8a2a2a!important;color:#fff!important;}
.pq-ai-food-card.selected{box-shadow:0 0 0 1px #f0b526 inset;}

/* V12.2 chat bulk actions and clearer action rows */
.pq-chat-toolbar{margin-bottom:1rem;}
.pq-thread-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;border-bottom:1px solid rgba(255,255,255,.09);padding:.25rem .35rem;}
.pq-thread-row>button:not(.pq-icon-btn){width:100%;text-align:left;background:transparent;border:0;color:inherit;padding:.85rem .6rem;border-radius:.75rem;}
.pq-thread-row.active>button:not(.pq-icon-btn),.pq-thread-row>button:not(.pq-icon-btn):hover{background:rgba(255,255,255,.06);}
.pq-thread-row strong{display:block;}
.pq-thread-row small{display:block;color:var(--pq-muted,#a9b3c1);margin-top:.2rem;}
.pq-icon-btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:inherit;border-radius:.7rem;padding:.55rem .65rem;cursor:pointer;}
.pq-icon-btn:hover{background:rgba(255,80,80,.14);border-color:rgba(255,80,80,.4);}
.pq-action-group h4::before{content:'Parent: ';color:var(--pq-muted,#a9b3c1);font-weight:600;}

/* V12.3 Seer hierarchy preview */
.pq-action-hierarchy{padding:1rem;border-left:2px solid rgba(255,193,7,.35)}
.pq-action-subgroup{margin:.75rem 0 .75rem 1.5rem;padding:.75rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.025)}
.pq-existing-context{display:flex;gap:.65rem;align-items:center;margin:.25rem 0 .5rem;color:#d7d7d7;opacity:.82}
.pq-existing-context strong{color:#f6c744}
.pq-existing-context small{color:#9fa8b5}
.pq-action-locked{opacity:.62;filter:grayscale(.25)}


/* V12.5 grouped navigation and chat polish */
.pq-side-nav{display:flex;flex-direction:column;gap:.35rem;}
.pq-nav-group{border-bottom:1px solid rgba(255,255,255,.08);padding:.25rem 0 .45rem;}
.pq-nav-group-head{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:0;color:#b9c4d4;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;padding:.35rem .45rem;cursor:pointer;}
.pq-nav-group-head b{color:#ffc62b;font-size:1rem;}
.pq-nav-group-items{display:flex;flex-direction:column;gap:.25rem;}
.pq-thread-actions{position:relative;margin-left:.4rem;}
.pq-thread-actions summary{list-style:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.2rem .55rem;cursor:pointer;}
.pq-thread-actions summary::-webkit-details-marker{display:none;}
.pq-thread-actions .pq-pop{right:0;left:auto;min-width:160px;}
.pq-thread-row{grid-template-columns:auto 1fr auto;}

/* 2026-05-23 QuestLog + Goals iteration */
.pq-questlog-summary{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;margin:12px 0 18px;}
.pq-stat-panel{margin:0!important;}
.pq-stat-grid.compact{grid-template-columns:repeat(4,minmax(110px,1fr));}
.pq-mini-card{border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);border-radius:14px;padding:12px;}
.pq-mini-card strong{display:block;font-size:1.55rem;color:#fff;line-height:1;}
.pq-mini-card span{display:block;color:var(--pq-muted,#aeb8cc);font-size:.82rem;margin-top:.35rem;text-transform:capitalize;}
.pq-picker-modal .pq-input{margin:10px 0 12px;}
.pq-picker-list{display:grid;gap:8px;max-height:420px;overflow:auto;margin:12px 0;}
.pq-pick-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.14);background:#101010;color:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;}
.pq-pick-row:hover{border-color:rgba(255,198,41,.45);background:#17130a;}
.pq-pick-row.selected{border-color:#ffc629;background:rgba(255,198,41,.12);box-shadow:0 0 0 1px rgba(255,198,41,.25) inset;}
.pq-pick-row small{grid-column:1/-1;color:var(--pq-muted,#aeb8cc);}
.pq-pick-row.compact{grid-template-columns:1fr auto;margin-top:8px;}
.pq-confirm-modal{max-width:560px!important;}
.pq-drag-handle{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:9px;color:#ffc629;background:#111;cursor:grab;user-select:none;}
.pq-quest[draggable="true"]{cursor:default;}
.pq-line.drop-ready>.pq-tree-row{outline:1px dashed rgba(255,198,41,.4);outline-offset:-4px;background:rgba(255,198,41,.035);}
.pq-pop button.disabled,.pq-pop button:disabled{opacity:.45;cursor:not-allowed;color:#98a1b3;}
.pq-goals-layout{display:grid;grid-template-columns:minmax(340px,500px) minmax(0,1fr);gap:18px;align-items:start;}
.pq-goal-form label{display:grid;gap:7px;margin:10px 0;color:#e6e6e6;font-weight:800;}
.pq-goal-list{display:grid;gap:12px;}
.pq-goal-card{background:var(--pq-panel,#111);border:1px solid var(--pq-line,#333);border-radius:20px;padding:18px;}
.pq-goal-card h3{margin:.15rem 0 .35rem;color:#fff;}
.pq-progress{height:10px;border-radius:999px;background:#080808;border:1px solid #333;overflow:hidden;margin:14px 0;}
.pq-progress span{display:block;height:100%;background:linear-gradient(90deg,#7f5d10,#ffc629);border-radius:999px;}
.pq-goal-note{border:1px solid rgba(255,255,255,.1);border-left:4px solid rgba(255,198,41,.55);background:rgba(255,255,255,.035);border-radius:12px;padding:10px 12px;margin:10px 0;}
.pq-goal-note strong{color:#ffc629;display:block;margin-bottom:4px;}
.pq-goal-note p{margin:0;color:#e7e7e7;white-space:pre-wrap;}
.pq-goal-link-box{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px;background:#0b0b0b;margin:12px 0;}
.pq-goal-link-box>strong{display:block;color:#ffc629;margin-bottom:6px;}
.pq-linked-list{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.pq-linked-chip{border:1px solid rgba(255,198,41,.35);background:rgba(255,198,41,.07);border-radius:999px;padding:6px 10px;color:#f6d170;font-size:.82rem;font-weight:800;}
.pq-row.pq-wrap{flex-wrap:wrap;}
.pq-action-group{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;margin:14px 0;background:rgba(0,0,0,.18);}
.pq-action-group h4{margin:.1rem 0 .25rem;color:#f6c744;}
.pq-empty{border:1px dashed rgba(255,255,255,.16);border-radius:16px;padding:18px;color:var(--pq-muted,#aeb8cc);}
.pq-link-button{background:transparent;border:0;color:#ffc629;text-decoration:underline;cursor:pointer;font-weight:900;}
.pq-grid-3{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;}
.pq-grid-3 label{display:grid;gap:6px;}
@media(max-width:1100px){.pq-questlog-summary,.pq-goals-layout{grid-template-columns:1fr}.pq-stat-grid.compact{grid-template-columns:repeat(2,minmax(120px,1fr));}.pq-grid-3{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.pq-stat-grid.compact,.pq-grid-3{grid-template-columns:1fr}.pq-pick-row{grid-template-columns:1fr}.pq-quest-actions{justify-content:flex-start}.pq-drag-handle{display:none}.pq-tree-row{align-items:flex-start}.pq-objectives{padding-left:20px}.pq-modal{width:96vw!important;}}

/* 2026-05-23 follow-up: Goals clarity, QuestLog cleanup actions, and chat food review. */
.pq-action-card.delete{border-left-color:#ef4444;}
.pq-table.compact th,.pq-table.compact td{padding:6px 8px;font-size:13px;}
.pq-food-preview{border:1px solid #333;border-radius:14px;margin-top:10px;padding:12px;background:#0b0b0b;}
.pq-food-preview-group{border:1px solid rgba(255,194,31,.35);border-radius:14px;padding:10px;margin:10px 0;background:#171105;}
.pq-food-preview-group small{display:block;color:var(--pq-muted);margin-top:3px;}
.pq-food-confirm-actions{margin-top:12px;border-top:1px solid #303030;padding-top:10px;}
.pq-goal-primer{border-color:rgba(255,194,31,.28);background:linear-gradient(180deg,#14110a,#101010);}
.pq-goal-primer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0;}
.pq-goal-primer-grid span{border:1px solid #333;border-radius:12px;padding:10px;background:#090909;}
.pq-goal-primer-grid strong{display:block;color:var(--pq-gold);}
.pq-goal-primer-grid small{display:block;color:var(--pq-muted);margin-top:4px;line-height:1.35;}
.pq-goal-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #333;border-radius:14px;padding:8px;margin:8px 0;background:#0b0b0b;}
.pq-goal-link-row.selected{border-color:var(--pq-gold-2);background:#221903;box-shadow:inset 0 0 0 1px rgba(255,194,31,.25);}
.pq-goal-link-row.empty{opacity:.82;}
.pq-goal-link-main{display:block;text-align:left;background:transparent!important;border:0!important;color:#fff!important;padding:6px!important;cursor:pointer;width:100%;}
.pq-goal-link-main span{display:block;font-weight:900;}
.pq-goal-link-main small{display:block;color:var(--pq-muted);margin-top:4px;}
.pq-goal-link-box .pq-small{font-size:12px;}
@media(max-width:850px){.pq-goal-link-row{grid-template-columns:1fr}.pq-food-preview{overflow:auto}}

/* Billing / store */
.pq-grid-two{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;align-items:stretch}.pq-grid-two .pq-card{margin:0}.pq-card ul{margin:10px 0 0 20px;color:#d6dbe7}.pq-card li{margin:6px 0}@media(max-width:900px){.pq-grid-two{grid-template-columns:1fr}}

.pq-invite-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-top:1px solid #333;padding:12px 0;flex-wrap:wrap}.pq-invite-row small{display:block;color:var(--pq-muted);margin-top:4px}.pq-invite-row code{display:block;max-width:min(760px,86vw);white-space:normal;word-break:break-all;color:#f6c453;background:#090909;border:1px solid #333;border-radius:8px;padding:6px;margin-top:6px}

/* 2026-05-23 billing checkout polish */
.pq-mini-ledger{display:grid;grid-template-columns:repeat(3,max-content);gap:12px;align-items:center;margin-top:8px;color:var(--pq-muted,#aeb8cc);font-size:.9rem;}
.pq-mini-ledger strong{color:#fff;}
@media(max-width:700px){.pq-mini-ledger{grid-template-columns:1fr;gap:4px;}}

/* 2026-05-24 production pass: Solo/Team billing, Coins/Gems wallet, welcome tutorial, and Fate placement. */
.pq-topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.pq-main-menu{position:relative;display:inline-block;}
.pq-menu{position:absolute;right:0;top:48px;width:min(420px,92vw);max-height:72vh;overflow:auto;background:#171717;border:1px solid #444;border-radius:18px;padding:14px;z-index:100;box-shadow:0 24px 70px #000b;}
.pq-menu-section{display:grid;gap:8px;border-bottom:1px solid #2e2e2e;padding:8px 0 12px;}
.pq-menu-section strong{display:block;color:#ffc629;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;}
.pq-menu-section button,.pq-menu>button{border:1px solid #3e3e3e;background:#101010;color:#fff;border-radius:12px;padding:10px 12px;text-align:left;font-weight:800;cursor:pointer;}
.pq-menu-section button:hover,.pq-menu>button:hover{border-color:#f0b526;background:#201a0b;}
.pq-menu hr{border:0;border-top:1px solid #333;margin:10px 0;}
.pq-wallet{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem;color:#f8e5a6;}
.pq-wallet span{border:1px solid rgba(255,198,41,.25);background:rgba(255,198,41,.08);border-radius:999px;padding:6px 10px;font-weight:900;}
.pq-tutorial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0;}
.pq-callout{border-color:rgba(255,198,41,.36)!important;background:linear-gradient(180deg,rgba(255,198,41,.09),rgba(0,0,0,.24));}
.pq-callout h3{color:#ffc629;}
.pq-plan-card{display:flex;flex-direction:column;justify-content:space-between;min-height:260px;}
.pq-plan-card h3{font-size:1.6rem;margin-bottom:.35rem;color:#fff;}
.pq-recommendation{border:1px solid rgba(255,255,255,.12);border-left:4px solid rgba(255,198,41,.72);border-radius:14px;padding:12px 14px;margin:10px 0;background:rgba(0,0,0,.26);}
.pq-recommendation strong{display:block;color:#fff;margin-bottom:4px;}
.pq-recommendation p{margin:0 0 6px;color:#e7eaf0;line-height:1.45;}
.pq-recommendation small{display:block;color:var(--pq-muted,#aeb8cc);line-height:1.35;}
.pq-recommendation.pq-severity-high,.pq-severity-high{border-left-color:#ef4444;background:linear-gradient(90deg,rgba(239,68,68,.14),rgba(0,0,0,.25));}
.pq-recommendation.pq-severity-medium,.pq-severity-medium{border-left-color:#f59e0b;background:linear-gradient(90deg,rgba(245,158,11,.13),rgba(0,0,0,.25));}
.pq-recommendation.pq-severity-low,.pq-severity-low{border-left-color:#22c55e;background:linear-gradient(90deg,rgba(34,197,94,.11),rgba(0,0,0,.25));}
.pq-mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:9px 11px;margin:8px 0;background:#0b0b0b;}
.pq-mini-row span{font-weight:900;color:#fff;}
.pq-mini-row small{color:var(--pq-muted,#aeb8cc);text-align:right;}
.pq-badge{display:inline-flex;align-items:center;border:1px solid rgba(255,198,41,.35);background:rgba(255,198,41,.08);border-radius:999px;padding:4px 9px;color:#f8d36e;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
@media(max-width:900px){.pq-topbar{height:auto;min-height:70px;align-items:flex-start;padding:12px 0;gap:12px;}.pq-wallet{flex-wrap:wrap}.pq-menu{right:auto;left:0;}}
@media(max-width:700px){.pq-mini-row{align-items:flex-start;flex-direction:column}.pq-mini-row small{text-align:left}.pq-wallet{justify-content:flex-end}.pq-plan-card{min-height:0}}

/* 2026-05-24 v3 dashboard / Fate interaction patch */
.pq-dashboard-grid .pq-card p{margin:.45rem 0 0;}
.pq-grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start;}
.pq-click-row{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;text-align:left;background:#0b0d12;border:1px solid #343b4d;color:#fff;border-radius:14px;padding:12px 14px;margin:9px 0;cursor:pointer;}
.pq-click-row:hover{border-color:var(--pq-gold-2);filter:brightness(1.08);}
.pq-click-row strong{display:block;color:#fff;}
.pq-click-row span{color:var(--pq-muted);font-size:13px;line-height:1.35;}
.pq-recommendation{border:1px solid rgba(255,255,255,.13);border-left:5px solid var(--pq-gold-2);border-radius:14px;padding:14px;margin:12px 0;background:rgba(0,0,0,.24);}
.pq-recommendation.pq-actionable .pq-row{margin-top:10px;}
.pq-severity-high{border-left-color:#ef4444!important;}
.pq-severity-medium{border-left-color:#f59e0b!important;}
.pq-severity-low{border-left-color:#22c55e!important;}
.pq-gatekeeper-item{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px;margin:10px 0;background:#0d1017;}
.pq-gatekeeper-item strong{display:block;}
.pq-gatekeeper-item small{display:block;color:var(--pq-muted);margin-top:4px;}
.pq-pad-top{margin-top:12px;}

/* 2026-05-25 v4 multiplayer realm coordination and tutorials */
.pq-view-toggle{display:inline-flex;gap:8px;align-items:center;background:#0b0d12;border:1px solid #303747;border-radius:999px;padding:6px;}
.pq-view-toggle .pq-btn{border-radius:999px;margin:0;}
.pq-table-lite{display:grid;gap:8px;margin-top:10px;}
.pq-table-row{display:grid;grid-template-columns:minmax(140px,1.5fr) repeat(4,minmax(70px,.75fr));gap:10px;align-items:center;border:1px solid rgba(255,255,255,.11);border-radius:12px;padding:10px 12px;background:#0b0d12;}
.pq-table-row strong{color:#fff;}
.pq-table-row span{color:var(--pq-muted);font-size:13px;}
.pq-needs-attention{border-left:5px solid #f59e0b!important;background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(0,0,0,.24));}
.pq-tutorial-steps{display:grid;gap:10px;margin-top:12px;}
.pq-tutorial-step{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;background:#0b0d12;}
.pq-tutorial-step b{display:block;color:#ffc629;margin-bottom:4px;}
.pq-tutorial-step p{margin:0;color:#dce3f0;line-height:1.45;}
.pq-grid-2{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;}
.pq-select[multiple]{min-height:92px;padding-top:8px;padding-bottom:8px;}
@media(max-width:820px){.pq-table-row{grid-template-columns:1fr 1fr;}.pq-grid-2{grid-template-columns:1fr}.pq-view-toggle{width:100%;justify-content:stretch}.pq-view-toggle .pq-btn{flex:1;}}

/* 2026-05-25 v6 chat, archive, goal edit, and due-date preview polish */
.pq-wide-modal{width:min(980px,96vw);max-height:88vh;overflow:auto;}
.pq-goal-edit-modal label{display:grid;gap:6px;margin:9px 0;font-weight:800;color:#f0f3fb;}
.pq-goal-edit-link-list{display:grid;gap:8px;max-height:280px;overflow:auto;padding:4px 2px;}
.pq-check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:9px 10px;background:#0b0d12;}
.pq-check-row span{font-weight:900;color:#fff;}
.pq-check-row small{color:var(--pq-muted);}
.pq-due-plan-list{display:grid;gap:10px;margin:14px 0;max-height:54vh;overflow:auto;padding-right:4px;}
.pq-due-plan-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:14px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;background:#0b0d12;}
.pq-due-plan-row strong{display:block;color:#fff;}
.pq-due-plan-row small{display:block;color:var(--pq-muted);margin-top:4px;line-height:1.35;}
.pq-date-change{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-weight:900;}
.pq-date-change span{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 9px;background:#111827;color:#dce3f0;}
.pq-date-change b{color:#ffc629;}
.pq-chat-panel .pq-composer{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin-top:12px;}
.pq-chat-panel .pq-composer .pq-textarea{min-height:110px;}
.pq-chat-panel .pq-composer input[type=file]{max-width:100%;color:#e6edf8;}
.pq-archive-card{border-left:4px solid rgba(255,198,41,.55);}
.pq-archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
@media(max-width:760px){.pq-due-plan-row{grid-template-columns:1fr}.pq-date-change{justify-content:flex-start}.pq-check-row{grid-template-columns:auto 1fr}.pq-check-row small{grid-column:2}}

/* 2026-05-25 v6 chat, archive, due-date preview, and goal editing polish */
.pq-wide-modal{width:min(1120px,96vw);} 
.pq-goal-edit-modal label{display:grid;gap:6px;color:#d6dbe7;font-weight:800;margin:8px 0;}
.pq-goal-edit-modal .pq-textarea{min-height:82px;}
.pq-goal-edit-link-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:10px;max-height:260px;overflow:auto;padding-right:4px;}
.pq-check-row{display:flex!important;align-items:flex-start;gap:10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px;background:#0b0d12;color:#fff;font-weight:800;}
.pq-check-row small{display:block;color:var(--pq-muted);font-weight:500;margin-top:2px;}
.pq-due-plan-list{display:grid;gap:10px;margin:14px 0;max-height:54vh;overflow:auto;padding-right:4px;}
.pq-due-plan-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,auto);gap:14px;align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:12px;background:#0b0d12;}
.pq-due-plan-row strong{display:block;color:#fff;}
.pq-due-plan-row small{display:block;color:var(--pq-muted);margin-top:4px;line-height:1.35;}
.pq-date-change{display:flex;gap:9px;align-items:center;justify-content:flex-end;white-space:nowrap;color:#e6ebf5;}
.pq-date-change span{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 9px;background:#090909;}
.pq-date-change b{color:#ffc629;}
.pq-confirm-note{border:1px solid rgba(255,198,41,.3);border-radius:12px;background:rgba(255,198,41,.08);padding:10px 12px;color:#ffd772;font-weight:900;margin:10px 0;}
.pq-small{font-size:12px;line-height:1.4;}
.pq-composer .pq-small{margin:.4rem 0 0;}
.pq-thread-row.active{border-color:var(--pq-gold-2);background:rgba(255,198,41,.08);} 
.pq-thread-actions summary,.pq-menu-summary{list-style:none;cursor:pointer;border:1px solid #3a3a3a;border-radius:999px;padding:5px 11px;background:#101010;color:#fff;font-weight:900;}
.pq-thread-actions summary::-webkit-details-marker,.pq-menu-summary::-webkit-details-marker{display:none;}
.pq-menu-wrap .disabled{opacity:.45;cursor:not-allowed;}
.pq-tree-row .pq-badge + .pq-muted{margin-left:auto;}
.pq-line.drop-ready{outline:1px dashed rgba(255,198,41,.55);outline-offset:-6px;background:rgba(255,198,41,.04);}
@media(max-width:760px){.pq-due-plan-row{grid-template-columns:1fr}.pq-date-change{justify-content:flex-start;flex-wrap:wrap}.pq-goal-edit-link-list{grid-template-columns:1fr}}

/* 2026-05-25 v6 final polish: seeded chat prompts and attachment preview */
.pq-seed-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:5px solid var(--pq-gold-2);background:linear-gradient(90deg,rgba(255,198,41,.12),rgba(0,0,0,.18));}
.pq-seed-banner p{margin:.35rem 0 0;}
.pq-attach-list{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0;color:#f4d37a;}
.pq-wrap{flex-wrap:wrap;}
.pq-new-chat{margin-left:auto;}
@media(max-width:760px){.pq-seed-banner{align-items:flex-start;flex-direction:column}.pq-new-chat{margin-left:0}}

/* v8 Gatekeeper layout hardening */
.pq-gatekeeper-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start;margin:14px 0;}
.pq-gatekeeper-plans>.pq-card{margin:0;}
.pq-gatekeeper-queues{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0;}
.pq-gatekeeper-queues>.pq-card{margin:0;}
.pq-queue-card{overflow:hidden;}
.pq-queue-card>.pq-gatekeeper-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;}
.pq-queue-card .pq-gatekeeper-item .pq-row{justify-content:flex-end;}
.pq-click-row{width:100%;text-align:left;}
@media(max-width:760px){
  .pq-gatekeeper-plans{grid-template-columns:1fr;}
  .pq-queue-card>.pq-gatekeeper-item{grid-template-columns:1fr;}
  .pq-queue-card .pq-gatekeeper-item .pq-row{justify-content:flex-start;}
  .pq-page{max-width:100%;}
}

/* V9 food drag/drop and mobile review polish */
.pq-food-item-row[draggable="true"], .pq-food-group-card[draggable="true"] { cursor: grab; }
.pq-food-item-row[draggable="true"]:active, .pq-food-group-card[draggable="true"]:active { cursor: grabbing; opacity: .78; }
.pq-food-meal { min-height: 56px; }
.pq-food-meal::after { content: ''; display: block; clear: both; }
.pq-review-grid, .pq-gatekeeper-grid { grid-template-columns: 1fr !important; }
@media (max-width: 760px) {
  .pq-food-flow-card svg { min-width: 760px; }
  .pq-food-flow-card { overflow-x: auto; }
  .pq-food-item-row, .pq-food-group-head { align-items: flex-start; gap: .65rem; }
  .pq-review-grid, .pq-gatekeeper-grid, .pq-grid-2, .pq-grid-3 { grid-template-columns: 1fr !important; }
}

.pq-link-button{background:transparent;border:0;color:#ffd15c;text-decoration:underline;cursor:pointer;font-weight:700;padding:.75rem 1rem}.pq-link-button:hover{color:#fff}.pq-member .pq-row{justify-content:flex-end}.pq-wrap{flex-wrap:wrap}

/* V11.1 realm/member polish */
.pq-member-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 14px;
  align-items: center;
}
.pq-member-identity {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.pq-member-identity strong {
  display: block;
}
.pq-member-email,
.pq-owner-note {
  color: var(--muted);
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.pq-member-identity .pq-badge {
  width: fit-content;
  margin-top: 4px;
}
.pq-member-actions {
  justify-content: flex-end;
}
@media (max-width: 760px) {
  .pq-member-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .pq-member-actions {
    justify-content: flex-start;
  }
}

/* Patch 2026-05-27 v12: mobile shell, goals-first layout, family onboarding polish. */
.pq-goal-top{position:relative;overflow:hidden;}
.pq-goal-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px;}
.pq-collapsible .pq-recommendation{margin-top:12px;}
.pq-family-tutorial .pq-tutorial-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
@media(max-width:900px){
  .pq-app{display:block;min-height:100vh;}
  .pq-sidebar{display:none!important;}
  .pq-main{padding:0 12px 36px!important;width:100%;}
  .pq-topbar{position:sticky;top:0;z-index:90;background:#050505!important;padding:10px 0!important;}
  .pq-title-brand{font-size:18px!important;}
  .pq-topbar-actions{gap:8px!important;justify-content:flex-end!important;}
  .pq-wallet span{padding:6px 9px!important;font-size:12px!important;}
  .pq-menu{position:fixed!important;left:10px!important;right:10px!important;top:64px!important;width:auto!important;max-height:calc(100vh - 84px)!important;overflow:auto!important;}
  .pq-menu-section{padding:6px 0 10px!important;}
  .pq-menu-section button,.pq-menu>button{padding:13px 12px!important;}
  .pq-display{font-size:clamp(38px,13vw,58px)!important;margin-top:18px!important;}
  .pq-card{padding:14px!important;border-radius:18px!important;}
  .pq-goals-layout,.pq-grid-two,.pq-grid-2,.pq-grid-3{grid-template-columns:1fr!important;}
  .pq-goal-primer-grid{grid-template-columns:1fr 1fr!important;}
  .pq-chat-layout{grid-template-columns:1fr!important;}
  .pq-thread-list{max-height:260px;overflow:auto;}
  .pq-messages{max-height:56vh!important;min-height:260px!important;}
  .pq-objectives{padding:0 12px 12px 18px!important;}
  .pq-tree-row{align-items:flex-start!important;}
  .pq-member,.pq-invite-row{grid-template-columns:1fr!important;}
}
@media(max-width:560px){
  .pq-topbar{align-items:stretch!important;}
  .pq-topbar-actions{width:100%;justify-content:space-between!important;}
  .pq-main-menu .pq-btn{white-space:nowrap;}
  .pq-realm-picker{grid-template-columns:1fr!important;gap:6px!important;margin:10px 0!important;}
  .pq-goal-primer-grid{grid-template-columns:1fr!important;}
  .pq-row.pq-space{align-items:flex-start;}
  .pq-chat-toolbar{display:grid!important;}
  .pq-composer .pq-row{display:grid!important;grid-template-columns:1fr;}
}


/* Patch 2026-05-27 v12.1: mobile menu polish, close affordance, old icon feel. */
.pq-main-menu{position:relative;}
.pq-menu-layer{position:fixed;inset:0;z-index:160;pointer-events:none;}
.pq-menu-backdrop{position:fixed;inset:0;border:0;background:rgba(0,0,0,.48);cursor:pointer;pointer-events:auto;}
.pq-menu{pointer-events:auto;}
.pq-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 12px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:6px;}
.pq-menu-head strong{display:block;color:#ffc629;font-family:var(--pq-font-title);font-size:1.05rem;letter-spacing:.02em;}
.pq-menu-head small{display:block;color:#aeb6c8;margin-top:2px;}
.pq-menu-close{width:38px;height:38px;border-radius:999px;border:1px solid #555;background:#101010;color:#fff;font-size:26px;line-height:1;cursor:pointer;}
.pq-menu-close:hover{border-color:#ffc629;background:#201a0b;}
.pq-menu-icon{display:inline-grid;place-items:center;width:1.65rem;margin-right:.4rem;filter:drop-shadow(0 1px 5px rgba(255,198,41,.18));}
.pq-menu-section button,.pq-menu>button{display:flex;align-items:center;gap:.15rem;}
@media(max-width:900px){
  .pq-menu-layer{display:block!important;}
  .pq-menu{left:50%!important;right:auto!important;top:74px!important;transform:translateX(-50%);width:min(430px,88vw)!important;max-height:min(78vh,680px)!important;overflow:auto!important;border-radius:22px!important;padding:14px!important;box-shadow:0 22px 70px rgba(0,0,0,.82)!important;}
  .pq-menu-section{padding:7px 0 10px!important;}
  .pq-menu-section button,.pq-menu>button{padding:11px 12px!important;border-radius:14px!important;}
}
@media(max-width:420px){
  .pq-menu{width:86vw!important;max-height:76vh!important;top:70px!important;}
  .pq-menu-section strong{font-size:.72rem!important;}
  .pq-menu-section button,.pq-menu>button{font-size:.94rem!important;padding:10px!important;}
}

/* Patch 2026-05-27 v12.6: actual mobile top menu icons + chat thread drawer. */
.pq-menu-item .pq-menu-icon{display:inline-grid!important;place-items:center!important;min-width:1.65rem!important;font-size:1.05em!important;opacity:1!important;visibility:visible!important;}
.pq-menu-item span:last-child{display:inline!important;}
.pq-mobile-thread-head{display:none;}
.pq-thread-backdrop{display:none;}
.pq-thread-toggle{display:none;}
@media(max-width:900px){
  .pq-thread-toggle{display:inline-flex!important;align-items:center;justify-content:center;}
  .pq-chat-layout{display:block!important;position:relative;}
  .pq-chat-layout .pq-thread-list{position:fixed!important;left:10px!important;top:88px!important;bottom:14px!important;width:min(360px,88vw)!important;max-height:none!important;overflow:auto!important;z-index:150!important;transform:translateX(-115%)!important;transition:transform .18s ease!important;box-shadow:0 24px 70px rgba(0,0,0,.82)!important;}
  .pq-chat-layout.threads-open .pq-thread-list{transform:translateX(0)!important;}
  .pq-chat-layout.threads-open .pq-thread-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(0,0,0,.48)!important;border:0!important;z-index:140!important;}
  .pq-mobile-thread-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:4px 2px 10px!important;margin-bottom:8px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;}
  .pq-chat-panel{min-height:62vh!important;}
  .pq-messages{min-height:58vh!important;max-height:none!important;}
}

/* Patch 2026-05-27 v12.7: one icon only + top-right mobile menu + tighter food Sankey grouping. */
.pq-menu-item .pq-menu-icon + span{white-space:normal;}
@media(max-width:900px){
  .pq-topbar{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:58px!important;padding:8px 0!important;}
  .pq-title-brand{flex:0 0 auto!important;white-space:nowrap!important;}
  .pq-topbar-actions{width:auto!important;margin-left:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:nowrap!important;}
  .pq-wallet{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;}
  .pq-wallet span{padding:5px 7px!important;font-size:11px!important;white-space:nowrap!important;}
  .pq-main-menu{margin-left:0!important;position:relative!important;}
  .pq-main-menu .pq-btn{padding:8px 10px!important;white-space:nowrap!important;}
  .pq-menu{left:auto!important;right:10px!important;top:62px!important;transform:none!important;width:min(420px,calc(100vw - 20px))!important;max-height:calc(100vh - 80px)!important;}
}
@media(max-width:560px){
  .pq-topbar{align-items:center!important;}
  .pq-topbar-actions{width:auto!important;justify-content:flex-end!important;}
  .pq-title-brand{font-size:16px!important;}
  .pq-main-menu .pq-btn{font-size:13px!important;}
}
@media(max-width:420px){
  .pq-wallet span{font-size:10.5px!important;padding:5px 6px!important;}
  .pq-main-menu .pq-btn{padding:7px 8px!important;}
  .pq-menu{right:8px!important;top:58px!important;width:calc(100vw - 16px)!important;}
}

/* v14.2 mobile food editor quick actions */
.pq-food-item-row{position:relative;gap:.75rem;align-items:flex-start;}
.pq-food-item-row > div:first-child{min-width:0;flex:1;}
.pq-mini-menu-wrap{position:relative;margin-left:auto;flex:0 0 auto;}
.pq-mini-menu-button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);color:var(--pq-text,#fff);border-radius:999px;width:42px;height:42px;font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.pq-mini-menu{position:absolute;right:0;top:46px;z-index:30;min-width:138px;background:#111;border:1px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 18px 45px rgba(0,0,0,.42);padding:.35rem;display:grid;gap:.25rem;}
.pq-mini-menu button{width:100%;text-align:left;border:0;background:transparent;color:var(--pq-text,#fff);font-weight:800;padding:.75rem .85rem;border-radius:12px;}
.pq-mini-menu button:hover{background:rgba(255,255,255,.08);}
.pq-mini-menu button.danger{color:#ff8f8f;}
@media(max-width:720px){
  .pq-food-item-row{display:grid;grid-template-columns:1fr auto;}
  .pq-food-item-row .pq-pill{grid-column:1/2;width:max-content;}
  .pq-mini-menu-wrap{grid-column:2/3;grid-row:1/3;align-self:start;}
  .pq-ai-food-card small,.pq-food-item-row small{font-size:.92rem;line-height:1.35;}
}

/* v14.3 structured questline preview */
.pq-questline-preview{margin-top:.75rem;padding:.75rem;border:1px solid rgba(255,204,71,.25);border-radius:14px;background:rgba(255,204,71,.05)}
.pq-router-subgroup{margin-top:.55rem;padding:.55rem;border-left:3px solid rgba(255,204,71,.45);background:rgba(0,0,0,.18);border-radius:10px}
.pq-router-subgroup ul{margin:.35rem 0 0 1.1rem;padding:0}.pq-router-subgroup li{margin:.15rem 0;color:#d8d8d8}

/* v14.4: keep food item action menus usable on desktop and mobile. */
.pq-food-item-row{overflow:visible;}
.pq-food-items,.pq-food-meal,.pq-food-day,.pq-food-editor{overflow:visible;}
.pq-mini-menu-wrap.open{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;}
.pq-mini-menu-inline{position:static;right:auto;top:auto;z-index:1;min-width:0;width:auto;display:inline-flex;gap:.35rem;padding:.25rem;background:#151515;box-shadow:none;border-radius:999px;}
.pq-mini-menu-inline button{width:auto;white-space:nowrap;padding:.55rem .75rem;border-radius:999px;}
@media(max-width:850px){
  .pq-mini-menu-wrap.open{grid-column:1/-1;justify-content:flex-start;margin-top:.35rem;}
  .pq-mini-menu-inline{width:100%;display:grid;grid-template-columns:1fr 1fr;border-radius:16px;}
  .pq-mini-menu-inline button{text-align:center;justify-content:center;}
  .pq-edit-table{min-width:760px;}
  .pq-food-preview{overflow-x:auto;}
}

/* v14.6 agentic-chat polish */
.pq-chat-panel-one-scroll{min-height:72vh!important;display:flex!important;flex-direction:column!important;}
.pq-messages-one-scroll{flex:1!important;max-height:none!important;min-height:55vh!important;padding-bottom:18px!important;}
.pq-msg{border-radius:20px!important;padding:14px 16px!important;max-width:min(760px,92%)!important;}
.pq-msg.user{border-top-right-radius:8px!important;}
.pq-msg.assistant{border-top-left-radius:8px!important;}
.pq-msg b{display:block;margin-bottom:6px;color:#f6d36f;}
.pq-composer{box-shadow:0 -18px 42px rgba(0,0,0,.42)!important;}
.pq-composer .pq-textarea{border-radius:18px!important;min-height:72px!important;resize:vertical;}
.pq-status-pill{border-color:#5b6b83!important;background:#101826!important;color:#dbeafe!important;}
.pq-status-booked,.pq-status-confirmed{border-color:#22c55e!important;background:rgba(34,197,94,.12)!important;color:#bbf7d0!important;}
.pq-status-needs_booking{border-color:#f59e0b!important;background:rgba(245,158,11,.12)!important;color:#fde68a!important;}
.pq-status-idea{border-color:#64748b!important;background:rgba(100,116,139,.14)!important;color:#cbd5e1!important;}
.pq-questline-preview{margin-top:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;background:rgba(0,0,0,.18);}
.pq-questline-preview .pq-router-subgroup{margin:.65rem 0;padding:.65rem;border-left:3px solid rgba(255,204,71,.45);background:rgba(0,0,0,.18);border-radius:10px;}
.pq-action-card .pq-status-pill{margin-left:6px;}
@media(max-width:720px){.pq-msg{max-width:100%!important}.pq-chat-toolbar .pq-row{gap:8px!important}.pq-composer{position:sticky!important;bottom:0!important}.pq-messages-one-scroll{min-height:48vh!important}}

/* v14.7 ChatGPT-like chat surface */
.pq-chat-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr)!important;gap:0!important;background:#212121!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:24px!important;overflow:hidden!important;min-height:calc(100vh - 180px)!important;box-shadow:0 18px 60px rgba(0,0,0,.32)!important;}
.pq-chat-layout .pq-thread-list{border:0!important;border-right:1px solid rgba(255,255,255,.09)!important;border-radius:0!important;background:#171717!important;padding:12px!important;}
.pq-thread-list h3{font-size:14px!important;color:#e8e8e8!important;margin:0!important;}
.pq-thread-row{display:flex!important;align-items:center!important;gap:8px!important;margin:4px 0!important;}
.pq-thread-list button{background:transparent!important;border:0!important;border-radius:12px!important;color:#ececec!important;padding:10px!important;margin:0!important;}
.pq-thread-list button:hover,.pq-thread-row.active button{background:#2f2f2f!important;}
.pq-thread-list small{color:#a0a0a0!important;font-size:11px!important;}
.pq-chat-panel{border:0!important;border-radius:0!important;background:#212121!important;padding:0!important;min-height:calc(100vh - 180px)!important;}
.pq-chat-panel-one-scroll{min-height:calc(100vh - 180px)!important;}
.pq-messages{background:#212121!important;padding:28px clamp(14px,4vw,46px) 18px!important;scrollbar-color:#555 transparent;}
.pq-messages-one-scroll{min-height:calc(100vh - 350px)!important;}
.pq-msg{border:0!important;background:transparent!important;box-shadow:none!important;max-width:820px!important;margin:0 auto 18px!important;padding:0!important;color:#f4f4f4!important;line-height:1.58!important;}
.pq-msg b{display:none!important;}
.pq-msg .pq-msg-text,.pq-msg p{white-space:pre-wrap!important;margin:0!important;font-size:15.5px!important;}
.pq-msg.user{display:block!important;background:#2f2f2f!important;border-radius:22px!important;margin:0 max(0px,calc((100% - 820px)/2)) 18px auto!important;max-width:min(720px,82%)!important;padding:12px 16px!important;color:#f7f7f7!important;}
.pq-msg.assistant{position:relative!important;padding-left:42px!important;}
.pq-msg.assistant:before{content:'PQ';position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#10a37f;color:#fff;font-weight:800;font-size:11px;letter-spacing:-.04em;}
.pq-msg .pq-router,.pq-msg .pq-food-preview,.pq-msg .pq-action-card,.pq-msg .pq-questline-preview{margin-top:12px!important;background:#2b2b2b!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;}
.pq-composer{position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(33,33,33,0),#212121 20%)!important;border-top:0!important;padding:18px clamp(14px,4vw,46px) 24px!important;margin:0!important;box-shadow:none!important;}
.pq-composer .pq-textarea{display:block!important;max-width:820px!important;margin:0 auto!important;min-height:56px!important;max-height:180px!important;border-radius:28px!important;background:#2f2f2f!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;padding:16px 58px 16px 18px!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important;}
.pq-composer .pq-row{max-width:820px!important;margin:10px auto 0!important;justify-content:space-between!important;align-items:center!important;}
.pq-composer input[type=file]{color:#c8c8c8!important;max-width:min(420px,70vw)!important;}
.pq-composer .pq-btn:not(.pq-btn-ghost){border-radius:999px!important;min-width:84px!important;background:#f4f4f4!important;color:#111!important;border-color:#f4f4f4!important;}
.pq-chat-toolbar{margin-bottom:12px!important;}
.pq-chat-toolbar .pq-btn{border-radius:999px!important;}
.pq-new-chat{background:#f4f4f4!important;color:#111!important;border-color:#f4f4f4!important;}
.pq-seed-banner{max-width:960px!important;margin:0 auto 12px!important;border-radius:18px!important;background:#2b2b2b!important;}
@media(max-width:900px){
  .pq-chat-layout{display:block!important;border-radius:0!important;border-left:0!important;border-right:0!important;min-height:calc(100vh - 150px)!important;}
  .pq-chat-layout .pq-thread-list{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(340px,88vw)!important;border-right:1px solid rgba(255,255,255,.12)!important;z-index:160!important;transform:translateX(-110%)!important;transition:transform .18s ease!important;}
  .pq-chat-layout.threads-open .pq-thread-list{transform:translateX(0)!important;}
  .pq-chat-panel,.pq-chat-panel-one-scroll{min-height:calc(100vh - 145px)!important;}
  .pq-messages{padding:18px 12px 10px!important;}
  .pq-msg.user{max-width:86%!important;margin-right:0!important;}
  .pq-msg.assistant{padding-left:36px!important;}
  .pq-composer{padding:14px 10px 18px!important;}
  .pq-composer .pq-textarea{border-radius:24px!important;}
}

/* v14.8 shared realm chat + participant-aware drafts */
.pq-invite-panel{max-width:960px!important;margin:0 auto 12px!important;background:#252525!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;}
.pq-participant-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.pq-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.14);background:#303030;color:#e9e9e9;border-radius:999px;padding:4px 9px;font-size:12px;}
.pq-invite-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0;}
.pq-invite-row{display:flex;gap:8px;align-items:center;background:#1f1f1f;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;}
.pq-chat-thread-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(14px,4vw,46px);background:rgba(33,33,33,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.07);}
.pq-msg .pq-speaker{display:block!important;margin-bottom:4px!important;color:#a7f3d0!important;font-size:12px!important;font-weight:700!important;}
.pq-msg.user .pq-speaker{color:#e8e8e8!important;}
.pq-preview-edit-row select{min-width:150px;}
@media(max-width:720px){.pq-chat-thread-head{align-items:flex-start;flex-direction:column}.pq-invite-list{grid-template-columns:1fr}.pq-preview-edit-row{align-items:stretch!important}.pq-preview-edit-row label{width:100%}.pq-preview-edit-row select,.pq-preview-edit-row input{width:100%}}

/* v14.9.1 chat recovery: keep chat usable even when no thread is selected */
.pq-chat-empty{
  min-height:42vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 18px;
  color:#f4f4f5;
}
.pq-chat-empty h2{font-size:clamp(28px,4vw,46px);margin:0 0 12px;font-weight:800;letter-spacing:-.03em;}
.pq-chat-empty p{max-width:680px;margin:0 0 20px;line-height:1.5;}
.pq-chat-panel .pq-composer{position:sticky;bottom:0;background:#212121;padding:14px;border-top:1px solid rgba(255,255,255,.12);}
.pq-chat-panel .pq-composer .pq-textarea{background:#2f2f2f!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:24px!important;min-height:56px!important;color:#fff!important;resize:vertical;}
.pq-chat-panel .pq-composer .pq-row{justify-content:space-between;}
.pq-chat-toolbar{margin-bottom:12px;}
.pq-chat-toolbar .pq-new-chat{min-width:128px;text-align:center;}
@media(min-width:761px){.pq-chat-panel-one-scroll{display:flex!important;flex-direction:column!important}.pq-messages-one-scroll{flex:1 1 auto!important}}

/* v14.9.2: make review-card date fields behave like tappable date pickers. */
.pq-date-input {
  cursor: pointer;
  color-scheme: dark;
}
.pq-date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .9;
  filter: invert(1);
}
.pq-preview-edit-row label {
  min-width: 180px;
}

/* v14.9.4: keep the desktop-style Seer review card outside message bubbles, including on mobile. */
.pq-chat-review-dock{
  width:100%!important;
  max-width:980px!important;
  margin:18px auto 8px!important;
  padding:0 0 8px!important;
}
.pq-chat-review-dock .pq-seer-action-review{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  background:linear-gradient(180deg,rgba(20,20,18,.98),rgba(10,10,9,.98))!important;
  border:1px solid rgba(255,194,41,.35)!important;
  border-radius:18px!important;
}
.pq-chat-review-dock .pq-action-group,
.pq-chat-review-dock .pq-action-subgroup{
  max-width:100%!important;
  overflow:visible!important;
}
.pq-chat-review-dock .pq-action-card{
  width:100%!important;
  min-width:0!important;
}
.pq-chat-review-dock .pq-action-main,
.pq-chat-review-dock .pq-action-main *{
  min-width:0!important;
}
.pq-chat-review-dock .pq-preview-edit-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:end!important;
}
.pq-chat-review-dock .pq-preview-edit-row label{
  display:grid!important;
  gap:4px!important;
  min-width:160px!important;
  flex:1 1 180px!important;
}
.pq-chat-review-dock .pq-preview-edit-row input,
.pq-chat-review-dock .pq-preview-edit-row select{
  width:100%!important;
  min-width:0!important;
}
@media(max-width:720px){
  .pq-chat-review-dock{
    max-width:100%!important;
    margin:14px 0 8px!important;
  }
  .pq-chat-review-dock .pq-seer-action-review{
    padding:12px!important;
    border-radius:16px!important;
  }
  .pq-chat-review-dock .pq-seer-action-review>.pq-row,
  .pq-chat-review-dock .pq-seer-action-review .pq-row.pq-space{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .pq-chat-review-dock .pq-action-group,
  .pq-chat-review-dock .pq-action-subgroup{
    padding:10px!important;
    margin:10px 0!important;
  }
  .pq-chat-review-dock .pq-action-card{
    grid-template-columns:auto minmax(0,1fr)!important;
    padding:10px!important;
    gap:10px!important;
  }
  .pq-chat-review-dock .pq-rpg-check{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
  }
  .pq-chat-review-dock .pq-preview-edit-row{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .pq-chat-review-dock .pq-preview-edit-row label{
    min-width:0!important;
    width:100%!important;
  }
  .pq-chat-review-dock .pq-btn{
    width:100%!important;
    justify-content:center!important;
  }
}

/* v14.9.5: keep generated review controllable without forcing chat scroll gymnastics */
.pq-review-dock-head{
  position: sticky;
  top: 0;
  z-index: 3;
  padding: .35rem .25rem .6rem;
  margin-bottom: .35rem;
  background: linear-gradient(180deg, rgba(20,20,20,.98), rgba(20,20,20,.86));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 760px){
  .pq-review-dock-head{align-items:flex-start; gap:.45rem;}
  .pq-review-dock-head > .pq-row{width:100%;}
  .pq-review-dock-head .pq-btn{flex:1; justify-content:center;}
}

/* v14.9.6 Diary review: Questline -> Quest -> Objective hierarchy and Architect guidance */
.pq-diary-review-tree .pq-action-group h4::before{content:'';}
.pq-diary-review-tree .pq-existing-context{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px;margin-bottom:10px;}
.pq-diary-review-tree .pq-existing-context span{min-width:70px;}
.pq-diary-review-tree .pq-action-subgroup{margin-left:1rem;border-left:2px solid rgba(246,199,68,.35);}
.pq-diary-action-card{grid-template-columns:auto auto minmax(0,1fr);}
.pq-diary-action-card .pq-rpg-check{margin-top:3px;}
.pq-diary-review-controls label{display:flex;align-items:center;gap:8px;}
.pq-diary-review-controls input[type="number"]{width:90px;}
.pq-architect-guidance{border:1px solid rgba(168,85,247,.38);border-left:5px solid #a855f7;border-radius:16px;background:rgba(168,85,247,.08);padding:12px 14px;margin:12px 0;}
.pq-architect-guidance strong{display:block;color:#e9d5ff;margin-bottom:4px;}
.pq-architect-guidance p{margin:0;color:#f3e8ff;line-height:1.45;}
.pq-architect-guidance small{display:block;color:#c4b5fd;margin-top:6px;}
@media(max-width:700px){
  .pq-diary-review-tree .pq-action-subgroup{margin-left:0;padding:.65rem;}
  .pq-diary-action-card{grid-template-columns:auto auto minmax(0,1fr);padding:10px;}
  .pq-diary-review-controls label{width:100%;justify-content:space-between;}
  .pq-diary-review-controls input[type="number"]{width:110px;}
}

/* v14.9.7 Diary review should read like Questlog: Questline -> Quest -> Objective */
.pq-diary-questlog-tree{margin-top:12px;display:grid;gap:14px;}
.pq-diary-questlog-line{padding:0;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.025);overflow:hidden;}
.pq-diary-questlog-line>.pq-children{padding:0 14px 14px 20px;}
.pq-diary-questlog-quest{border:1px solid rgba(255,255,255,.12);border-radius:16px;margin:12px 0;background:rgba(0,0,0,.22);overflow:hidden;}
.pq-diary-questlog-quest>.pq-objectives{padding:0 10px 10px 28px;}
.pq-diary-questlog-context,.pq-diary-questlog-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.pq-diary-questlog-row{cursor:pointer;background:rgba(255,255,255,.015);}
.pq-diary-questlog-row input{position:absolute;opacity:0;pointer-events:none;}
.pq-diary-questlog-row.selected{box-shadow:inset 4px 0 #18a058;background:rgba(24,160,88,.085);}
.pq-diary-questlog-row.parent-candidate{box-shadow:inset 4px 0 #ffc629;background:rgba(255,198,41,.055);}
.pq-diary-questlog-row.parent-candidate.selected{box-shadow:inset 4px 0 #18a058, inset 0 0 0 1px rgba(255,198,41,.35);}
.pq-diary-questlog-row.questline{border-left:0;}
.pq-diary-questlog-row.quest{border-left:0;}
.pq-diary-questlog-row.objective{grid-template-columns:auto minmax(0,1fr) auto;margin:0;border-radius:0;}
.pq-diary-questlog-main strong{display:block;line-height:1.25;}
.pq-diary-questlog-main small{display:block;color:#d6d6d6;line-height:1.35;margin-top:4px;}
.pq-diary-questlog-main .pq-muted{color:#aeb8cc;}
.pq-diary-questlog-context .pq-circle{margin-top:2px;}
.pq-diary-questlog-context strong.pq-gold{color:#ffc629;font-size:1.15rem;}
.pq-change-pill{display:inline-flex;align-items:center;gap:4px;margin-top:8px;margin-right:6px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 9px;background:rgba(255,255,255,.05);font-size:.82rem;color:#dbe4f0;}
.pq-change-pill.warning{border-color:rgba(255,198,41,.35);color:#ffe08a;background:rgba(255,198,41,.08);}
.pq-diary-review-tree .pq-action-group{border-left:0;padding:0;}
.pq-diary-review-tree .pq-action-subgroup{margin-left:0;border-left:0;padding:0;}
@media(max-width:700px){
  .pq-diary-questlog-context,.pq-diary-questlog-row{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px 12px;}
  .pq-diary-questlog-context .pq-pill,.pq-diary-questlog-row .pq-pill{grid-column:2;justify-self:start;margin-top:4px;}
  .pq-diary-questlog-line>.pq-children{padding:0 8px 10px 12px;}
  .pq-diary-questlog-quest>.pq-objectives{padding:0 6px 8px 14px;}
  .pq-diary-questlog-main strong{font-size:.95rem;}
}

/* v14.9.8: full-day diary review controls */
.pq-diary-day-actions{margin:8px 0 12px 28px;align-items:center;}
.pq-diary-day-actions .pq-muted{font-size:.86rem;}
@media(max-width:700px){.pq-diary-day-actions{margin-left:0}.pq-diary-day-actions .pq-muted{display:block;width:100%;}}

/* v14.9.9: diary period/day review buttons should be visible and mobile-friendly */
.pq-diary-day-head{margin:10px 0 6px;align-items:center;}
.pq-diary-day-head .pq-diary-date{flex:1;min-width:220px;text-align:left;}
.pq-diary-day-head .pq-btn{white-space:nowrap;}
.pq-diary-day-note{margin:0 0 10px 34px;}
.pq-filter-panel .pq-btn[disabled],.pq-card .pq-btn[disabled]{opacity:.55;cursor:not-allowed;}
@media(max-width:700px){
  .pq-diary-day-head{align-items:stretch;gap:8px;}
  .pq-diary-day-head .pq-diary-date{width:100%;min-width:0;}
  .pq-diary-day-head .pq-btn{width:100%;justify-content:center;}
  .pq-diary-day-note{margin-left:0;}
}

/* v14.9.12 diary period controls + Architect goal signals */
.pq-diary-period-review-card{border-color:#5a4320!important;background:linear-gradient(180deg,#171717,#12100b)!important;}
.pq-diary-period-actions{margin-top:12px;align-items:center;}
.pq-diary-period-actions .pq-btn-primary{box-shadow:0 0 0 1px rgba(255,191,36,.35),0 10px 28px rgba(0,0,0,.35);}
.pq-diary-day-head{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:12px 0!important;}
.pq-diary-day-head .pq-diary-date{display:inline-flex!important;align-items:center!important;gap:8px!important;flex:1 1 280px!important;min-width:240px!important;width:auto!important;text-align:left!important;background:#101010!important;border:1px solid #3b3b3b!important;color:#fff!important;border-radius:14px!important;padding:10px 12px!important;}
.pq-diary-day-head .pq-diary-date strong{color:#fff!important;letter-spacing:.01em;}
.pq-diary-day-head .pq-diary-date .pq-muted{color:#aeb4c2!important;}
.pq-diary-day-head .pq-btn{flex:0 0 auto!important;white-space:nowrap!important;}
.pq-diary-day-note{margin:0 0 10px 0!important;}
.pq-diary-goal-signals{border:1px solid #3b3420;border-radius:18px;background:#11100d;padding:14px;margin:14px 0;}
.pq-goal-signal-grid{margin-top:12px;}
.pq-goal-signal{border-color:#3d3927!important;background:#14130f!important;}
.pq-goal-signal.existing{border-left:4px solid #eab308!important;}
.pq-goal-signal.suggested{border-left:4px solid #8b5cf6!important;}
.pq-goal-signal ul{margin:8px 0 0 18px;color:#d7dce7;}
@media(max-width:760px){
  .pq-diary-period-review-card .pq-row,.pq-diary-period-actions{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;}
  .pq-diary-period-actions .pq-btn,.pq-diary-day-head .pq-btn{width:100%!important;justify-content:center!important;}
  .pq-diary-day-head .pq-diary-date{flex:1 1 100%!important;min-width:0!important;}
}

/* v14.9.13 Objective time logging */
.pq-time-rollup{display:block;margin-top:.25rem;color:#b6f4d1;font-size:.82rem;line-height:1.3}
.pq-tree-row>.pq-time-rollup{display:inline-flex;align-items:center;margin-top:0;white-space:nowrap;color:#b6f4d1}
.pq-change-pill.time{border-color:rgba(73,190,255,.45);background:rgba(73,190,255,.08);color:#d7f1ff}
.pq-time-log-modal .pq-confirm-note{margin-top:.75rem}
@media (max-width: 720px){
  .pq-tree-row>.pq-time-rollup{width:100%;margin-left:3.2rem;margin-top:.25rem}
  .pq-objective .pq-time-rollup{font-size:.78rem}
}


/* v14.9.14 objective time entry editing */
.pq-objective-main{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1;}
.pq-time-log-list{margin-top:.45rem;display:flex;flex-direction:column;gap:.35rem;}
.pq-time-log-row{display:grid;grid-template-columns:auto auto auto 1fr auto;gap:.45rem;align-items:center;padding:.38rem .5rem;border:1px solid rgba(148,163,184,.22);border-radius:.75rem;background:rgba(15,23,42,.42);font-size:.82rem;}
.pq-time-log-row .pq-btn{padding:.25rem .45rem;font-size:.75rem;}
.pq-time-actions{justify-content:flex-end;gap:.25rem;}
.pq-time-type{white-space:nowrap;}
.pq-time-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pq-muted,#94a3b8);}
@media (max-width: 720px){.pq-time-log-row{grid-template-columns:1fr auto;align-items:start}.pq-time-log-row .pq-muted,.pq-time-log-row .pq-time-note{grid-column:1 / -1}.pq-time-actions{grid-column:1 / -1;justify-content:flex-start}.pq-time-log-modal .pq-grid-3{grid-template-columns:1fr}}
