:root{color-scheme:dark;--bg:#090914;--panel:#111222;--panel2:#17182b;--line:#292b46;--text:#f3f3ff;--muted:#a3a5c2;--purple:#a58bff;--cyan:#62e7e4;--danger:#ff6d8c;--radius:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#26204c 0,transparent 34%),var(--bg);color:var(--text);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,52px);border-bottom:1px solid #ffffff12;position:sticky;top:0;z-index:5;background:#090914eF;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.11em}.brand b{color:var(--cyan)}.brand small{display:block;font-size:8px;color:var(--muted);letter-spacing:.18em;margin-top:5px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #a58bff99;border-radius:13px;background:linear-gradient(135deg,#a58bff2e,#62e7e41c);color:var(--cyan);font-size:13px}.privacy-pill,.tag{font-size:10px;letter-spacing:.09em;color:var(--cyan);border:1px solid #62e7e444;background:#62e7e410;border-radius:100px;padding:7px 10px;white-space:nowrap}main{width:min(100%,980px);margin:0 auto;padding:30px 18px 60px}.hero{padding:32px 0 25px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--cyan);margin-bottom:12px}.hero h1{font-size:clamp(40px,8vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 18px}.hero h1 span{color:var(--purple)}.hero>p{color:var(--muted);line-height:1.65;max-width:550px;font-size:15px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0}.primary,.secondary,.danger{border:1px solid transparent;border-radius:12px;padding:13px 16px;font-weight:750;transition:transform .15s,filter .15s}.primary{color:#090914;background:linear-gradient(110deg,var(--purple),var(--cyan))}.secondary{color:var(--text);background:#ffffff08;border-color:var(--line)}.danger{background:#ff6d8c15;color:#ff9db1;border-color:#ff6d8c55}.primary:active,.secondary:active,.danger:active{transform:scale(.98)}.privacy-note{display:flex;align-items:center;gap:12px;border:1px solid #62e7e42b;background:#62e7e408;padding:14px;border-radius:14px;max-width:590px}.privacy-note>span{font-size:23px;color:var(--cyan)}.privacy-note small{display:inline-block;color:var(--muted);line-height:1.5;margin-top:4px}.tabs{display:flex;gap:6px;overflow-x:auto;padding:7px;margin:20px 0 27px;background:#ffffff05;border:1px solid #ffffff0b;border-radius:15px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;border:0;border-radius:10px;background:transparent;color:var(--muted);padding:11px 13px;font-size:12px;font-weight:700}.tab.active{background:#a58bff21;color:#d9d0ff;box-shadow:inset 0 0 0 1px #a58bff30}.view{display:none}.view.active{display:block}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 0 18px}.section-heading h2{margin:0;font-size:27px;letter-spacing:-.04em}.subtle,.helper{color:var(--muted);font-size:12px;line-height:1.55}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat-card,.panel,.warning-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#15162a,#10111f);padding:18px;min-width:0}.stat-card{display:flex;flex-direction:column;gap:10px}.stat-icon{font-size:21px;color:var(--purple)}.stat-card small{font-size:11px;color:var(--muted);line-height:1.4}.stat-card strong{font-size:30px;letter-spacing:-.04em}.panel{margin:14px 0}.panel h3{font-size:16px;margin:0 0 13px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.panel-title h3{margin:0;flex:1}.text-button{border:0;background:none;color:var(--cyan);font-size:12px;font-weight:700}.timer{font-size:clamp(40px,9vw,58px);font-weight:800;letter-spacing:.04em;text-align:center;font-variant-numeric:tabular-nums;padding:15px 0;color:var(--cyan);text-shadow:0 0 25px #62e7e426}.active-session{border-color:#62e7e444}.live-dot{width:8px;height:8px;border-radius:50%;background:#62e7e4;box-shadow:0 0 12px #62e7e4;display:inline-block}.full{width:100%;margin-top:10px}.warning-panel{display:flex;gap:13px;border-color:#ffbd5944;background:#ffbd5909;margin-top:17px}.warning-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:#ffbd591a;color:#ffcf82;font-weight:900}.warning-panel b{font-size:13px}.warning-panel p{font-size:12px;color:var(--muted);line-height:1.65;margin:7px 0 0}.form-stack{display:flex;flex-direction:column;gap:8px}.form-stack label,.panel>label{font-size:12px;font-weight:700;color:#d4d4eb;margin-top:6px}input:not([type=range]),textarea,select{width:100%;border:1px solid #333550;background:#0b0c18;color:var(--text);border-radius:11px;padding:12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #a58bff19}textarea{resize:vertical}input[type=range]{width:100%;accent-color:var(--purple)}.divider{height:1px;background:var(--line);margin:20px 0}.hidden{display:none!important}.entry-list{display:flex;flex-direction:column;gap:10px}.entry{padding:13px;border-radius:13px;border:1px solid #ffffff10;background:#ffffff04}.entry-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.entry h4{margin:0 0 5px;font-size:13px;overflow-wrap:anywhere}.entry time{font-size:10px;color:var(--muted);white-space:nowrap}.entry p{font-size:12px;line-height:1.6;color:#c1c2d8;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.entry-actions{display:flex;justify-content:flex-end;margin-top:9px}.delete-entry{border:0;background:transparent;color:#ff9db1;font-size:11px}.empty{color:var(--muted);font-size:12px;line-height:1.6;padding:8px 0}.notice{border:1px solid #ffbd5944;background:#ffbd5909;color:#ded8c8;border-radius:14px;padding:14px;font-size:12px;line-height:1.65;margin-bottom:14px}.knowledge-list details{border-top:1px solid var(--line);padding:14px 0}.knowledge-list details:first-child{border-top:0}.knowledge-list summary{cursor:pointer;font-size:13px;font-weight:750}.knowledge-list p{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:0}.privacy-panel{text-align:center;padding:28px}.privacy-large{font-size:35px;color:var(--cyan);margin-bottom:10px}.privacy-panel p{color:var(--muted);font-size:12px;line-height:1.7}.privacy-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;text-align:left;margin:20px 0}.privacy-checks div{font-size:11px;color:#c7f8f0;background:#62e7e408;border:1px solid #62e7e41e;border-radius:10px;padding:10px}.button-stack{display:flex;flex-direction:column;gap:8px}.file-label{display:block;text-align:center;cursor:pointer}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;background:#252641;border:1px solid #a58bff77;color:white;padding:12px 16px;border-radius:12px;font-size:12px;max-width:90vw;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}footer{border-top:1px solid #ffffff12;display:flex;justify-content:space-between;padding:22px clamp(18px,4vw,52px);font-size:9px;letter-spacing:.16em;color:var(--muted)}@media(min-width:760px){main{padding-top:44px}.hero{padding-top:42px}.panel{padding:22px}.stats-grid{gap:16px}}@media(max-width:480px){main{padding:20px 13px 42px}.topbar{height:65px;padding:0 13px}.brand{font-size:12px}.brand-mark{width:36px;height:36px}.privacy-pill{font-size:8px;padding:6px 7px}.hero{padding-top:24px}.hero-actions>*{flex:1}.stats-grid{gap:7px}.stat-card{padding:12px 10px;border-radius:14px}.stat-card small{font-size:10px}.stat-card strong{font-size:25px}.panel{padding:15px;border-radius:16px}.section-heading h2{font-size:24px}.privacy-checks{grid-template-columns:1fr}.tabs{margin-top:16px}.tab{padding:10px 11px}}

.amount-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.8fr);gap:12px;align-items:end}.amount-value,.amount-unit{min-width:0}.slider-wrap{border:1px solid #292b46;background:#ffffff04;border-radius:13px;padding:13px;margin:8px 0}.slider-head,.slider-limits{display:flex;justify-content:space-between;gap:10px;align-items:center}.slider-head label{font-size:12px;font-weight:700}.slider-head span{font-size:12px;color:var(--cyan);font-variant-numeric:tabular-nums}.slider-limits{font-size:10px;color:var(--muted);margin-top:-5px}.slider-wrap>label{display:block;font-size:11px!important;margin-top:12px!important}.slider-wrap>input[type=number]{margin-top:7px}.session-meta{color:var(--cyan);text-align:center;font-size:13px;font-weight:700}.entry p{white-space:pre-wrap}@media(max-width:390px){.amount-row{grid-template-columns:1fr 1fr;gap:8px}.amount-row input,.amount-row select{padding:11px 8px}}

/* V3: screenshot-inspired mobile interface */
:root{--bg:#1d1d1d;--panel:#262626;--panel2:#303030;--line:#151515;--text:#f8f8f8;--muted:#aaa;--purple:#a09aff;--cyan:#58ead5;--radius:17px}
body{background:#1d1d1d;background-image:none}.topbar{background:#1d1d1df2;border-bottom:1px solid #111}.brand-mark{border-radius:50%;background:#292929;color:#a09aff}.privacy-pill{color:#5ee9d4;border-color:#5ee9d444;background:#5ee9d40d}.hero h1 span{color:var(--purple)}.primary{background:var(--purple);color:#fff}.secondary{background:#303030;border-color:#303030}.tabs{border:0;background:#262626;border-radius:12px;padding:4px;gap:3px}.tab{font-size:12px;padding:12px 14px}.tab.active{background:var(--purple);color:#fff;box-shadow:none}.panel,.stat-card{background:#262626;border-color:#292929}.stat-card{border-radius:15px}.panel{border-radius:17px}.timer{color:var(--purple);text-shadow:none}.substance-list{margin-top:10px}.mock-appbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin:0 0 25px}.mock-appbar h2{text-align:center;font-size:25px;letter-spacing:-.03em;margin:0}.icon-button{height:42px;width:42px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:28px;line-height:1}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#292929;border-radius:12px;padding:0;overflow:hidden;margin-bottom:16px}.segment{border:0;background:transparent;color:#fff;padding:15px 10px;font-size:18px}.segment.active{background:var(--purple)}.segment span{font-size:11px;opacity:.8}.search-row{display:grid;grid-template-columns:1fr 56px;gap:10px;margin-bottom:18px}.search-row input{min-height:58px;border:0;background:#292929;border-radius:12px;padding:0 18px;font-size:17px}.filter-button{border:0;background:#292929;color:#fff;border-radius:12px;font-size:28px}.substance-row{display:flex;align-items:center;gap:10px;border-bottom:3px solid #191919;min-height:74px;padding:8px 5px 8px 14px}.substance-name{flex:1;min-width:0;text-align:left;background:none;border:0;color:#f7f7f7;font-size:18px;font-weight:650;overflow-wrap:anywhere;padding:10px 0}.substance-name small{display:block;color:#9b9b9b;font-size:11px;font-weight:400;margin-top:5px}.heart-button{flex:0 0 42px;width:42px;height:42px;background:transparent;border:0;color:#bbb;font-size:25px}.heart-button.favorited{color:var(--purple)}.substance-category{color:var(--purple);font-weight:700}.calendar-month{display:flex;align-items:center;justify-content:space-between;background:#000;border-radius:14px 14px 0 0;padding:13px 18px}.calendar-month button{border:0;background:transparent;color:#fff;font-size:31px;line-height:1}.calendar-month strong{font-size:19px;font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;background:#292929;padding:12px 4px 8px}.calendar-weekday{text-align:center;padding:7px 0 14px;font-size:13px}.calendar-day{position:relative;min-width:0;aspect-ratio:1;border:0;background:#000;color:#fff;font-size:15px}.calendar-day.outside{background:transparent;color:#aaa}.calendar-day.selected{border-radius:50%;background:#5b5989}.calendar-day.today:not(.selected){outline:1px solid var(--purple);outline-offset:-3px}.calendar-day i{position:absolute;bottom:5px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--purple)}.calendar-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#000;padding:12px;border-top:1px solid #292929}.calendar-selected span{color:var(--purple);font-size:14px}.calendar-selected .primary{margin:0;padding:12px 15px;white-space:nowrap}.calendar-day-entries{background:#000;min-height:260px;border-radius:0 0 17px 17px;padding:15px}.calendar-empty{min-height:220px;display:grid;place-items:center;text-align:center;color:#eee;font-size:15px}.calendar-day-entries .entry{background:#242424;border-color:#333}.calendar-day-entries .entry p{white-space:pre-wrap}.helper{color:#aaa}.form-stack input,.form-stack select,.form-stack textarea,.panel input:not([type=range]),.panel select,.panel textarea{background:#303030;border:1px solid #303030;border-radius:12px;padding:15px}.amount-row{grid-template-columns:minmax(0,1fr) minmax(110px,.55fr)}.slider-wrap{background:#303030;border-color:#3a3a3a}.warning-panel{background:#2a251c;border-color:#5e4b2c}.privacy-note{border-color:#3e5a56;background:#203a36}.privacy-note>span{color:var(--cyan)}footer{border-color:#333}@media(max-width:480px){main{padding:16px 14px 35px}.topbar{height:64px}.hero{padding-top:17px}.hero h1{font-size:44px}.tabs{margin:14px 0 22px}.tab{padding:11px 12px}.mock-appbar h2{font-size:22px}.segment{font-size:17px;padding:14px 8px}.calendar-grid{gap:4px;padding-left:3px;padding-right:3px}.calendar-day{font-size:14px}.calendar-selected{padding:10px 8px}.calendar-selected .primary{font-size:12px;padding:11px 9px}.calendar-selected span{font-size:12px}.substance-row{min-height:70px}.substance-name{font-size:17px}}

.substance-disclaimer { margin: 1rem 0 1.25rem; border: 1px solid rgba(160,154,255,.5); }
.substance-disclaimer p { margin: .55rem 0 0; line-height: 1.5; }


/* V5: external support resources */
.help-card{display:flex;gap:14px;align-items:flex-start}
.help-icon{flex:0 0 42px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(160,154,255,.14);color:#a09aff;font-size:1.35rem;font-weight:700}
.help-card h3{margin:0 0 7px}
.help-card p{margin:0 0 10px;color:var(--muted,#aaa);line-height:1.55}
.help-card a{display:inline-block;color:var(--accent,#a09aff);font-weight:700;text-decoration:none;padding:5px 0}
.help-card a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* FIREFLY SPACE V7 additions */
:root{--firefly-cyan:#5eead4;--firefly-purple:#a78bfa}
.brand-mark{background:linear-gradient(135deg,#a78bfa,#5eead4)!important;color:#100d20!important;box-shadow:0 0 24px #a78bfa33}
.effect-scale{margin-top:18px;padding:14px;border:1px solid var(--line,#393342);border-radius:16px;background:#151326}
.effect-gradient{height:8px;border-radius:99px;background:linear-gradient(90deg,#22c55e 0%,#a3e635 25%,#facc15 50%,#fb923c 75%,#ef4444 100%);margin:8px 0}
#sessionEffect{accent-color:#a78bfa}
.game-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:160px;border:1px solid var(--line,#393342);border-radius:18px;background:#100e1c;padding:20px;text-align:center}
.reaction-target{width:84px;height:84px;border-radius:50%;border:0;background:#2b2443;color:#a78bfa;font-size:26px;font-weight:800}
.reaction-target.ready{background:#ef4444;color:white}.reaction-target.go{background:#5eead4;color:#09221d}.reaction-target:disabled{opacity:.85}
.game-result{font-size:20px;font-weight:800;text-align:center;color:#5eead4}
.focus-score{font-size:40px;font-weight:850;color:#a78bfa}
#focusTap:disabled{opacity:.4}
#view-games .panel,#view-suggestions .panel{margin-bottom:14px}
@media(max-width:700px){.tabs{overflow-x:auto;white-space:nowrap}.tabs .tab{flex-shrink:0}.effect-scale{padding:12px}}

/* Per-substance customizable local scale settings */
.substance-scale-settings{margin:18px 0;padding:16px;border:1px solid var(--line,#393342);border-radius:18px;background:rgba(120,100,180,.07)}
.substance-scale-settings h4{margin:18px 0 7px}
.substance-scale-settings h4:first-child{margin-top:0}
.substance-scale-settings input[type=range]{width:100%;accent-color:#a78bfa}
.scale-labels{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted,#aaa);margin:12px 0 6px}
.scale-labels strong{color:var(--text,#fff);text-align:center}
.intensity-gradient{height:9px;border-radius:999px;background:linear-gradient(90deg,#22c55e 0%,#a3e635 22%,#facc15 48%,#fb923c 73%,#ef4444 100%);margin:8px 0}
.scale-ticks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;font-size:10px;color:var(--muted,#aaa);text-align:center}
.scale-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.scale-config-grid label{display:block;font-size:12px;margin-bottom:5px}
.scale-config-grid input,.scale-config-grid select{width:100%;min-width:0}
.dose-scale-ticks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 4px;margin:12px 0 18px}
.dose-tick{position:relative;text-align:center;min-width:0;overflow-wrap:anywhere;font-size:11px}
.dose-tick i{display:block;width:2px;height:13px;background:#f0eaff;margin:0 auto 5px}
.dose-tick b{display:block;font-size:11px;color:var(--text,#fff)}
.dose-tick small{display:block;color:var(--muted,#aaa);font-size:10px;margin-top:3px}
@media(max-width:420px){.substance-scale-settings{padding:11px}.scale-config-grid{grid-template-columns:1fr 1fr}.dose-scale-ticks{grid-template-columns:repeat(5,minmax(0,1fr))}.dose-tick b{font-size:10px}.scale-ticks{font-size:9px}}

.duration-chart-wrap{margin:12px 0 18px;padding:12px;border:1px solid var(--line,#393342);border-radius:14px;background:#100e1c}
.duration-chart-title{font-size:13px;font-weight:700;margin-bottom:10px}
.duration-chart{position:relative;min-height:90px;padding:8px 0;display:flex;flex-direction:column;justify-content:center}
.duration-axis{height:70px;position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;pointer-events:none}
.duration-axis i{height:100%;width:1px;background:#ffffff20}
.duration-bar{position:relative;display:flex;width:100%;height:28px;border-radius:2px;overflow:hidden;margin-top:22px}
.duration-bar .seg{display:block;height:100%;min-width:2px}
.duration-bar .onset,.duration-legend i.onset{background:#5eead4}
.duration-bar .peak,.duration-legend i.peak{background:#9b96f7}
.duration-bar .after,.duration-legend i.after{background:#f29b9b}
.duration-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--muted,#aaa)}
.duration-legend span{display:flex;align-items:center;gap:5px}
.duration-legend i{width:9px;height:9px;display:inline-block;border-radius:2px}

/* Video-inspired substance profile editor */
.substance-detail-head{margin:12px 0 18px;line-height:1.55}
.profile-toolbar{display:flex;justify-content:flex-end;margin:12px 0}
.profile-editor{padding:14px;margin:12px 0;border:1px solid var(--line,#393342);border-radius:16px;background:#151326}
.profile-editor label{display:block;margin:10px 0 5px;font-size:13px}
.profile-editor input,.profile-editor textarea,.profile-editor select{width:100%;min-width:0}
.profile-data-card{padding:13px;margin:12px 0;border:1px solid var(--line,#393342);border-radius:14px;background:#100e1c}
.profile-scale-preview{padding:4px 0 8px}
.dose-preview-labels{display:flex;justify-content:space-between;gap:4px;font-size:11px;color:var(--text,#fff)}
.dose-preview-legend{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--muted,#aaa)}
.profile-row-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.profile-row-actions button,.safer-edit-row button{padding:7px 10px;font-size:12px}
.safer-edit-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line,#393342)}
.safer-edit-row span,.safer-edit-row a{flex:1;min-width:0;overflow-wrap:anywhere}
.inline-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.inline-add input{min-width:0}
.inline-add button{white-space:nowrap}
.inline-add input:nth-child(2):not(:last-child){grid-column:1/-1}
#profileVideos .safer-edit-row a{color:var(--firefly-cyan,#5eead4)}
@media(max-width:440px){.profile-editor{padding:10px}.profile-row-actions{justify-content:stretch}.profile-row-actions button{flex:1}.inline-add{grid-template-columns:1fr}.inline-add input:nth-child(2):not(:last-child){grid-column:auto}}

.setting-switch{display:flex;align-items:center;gap:10px}.setting-switch input{width:auto;accent-color:#a78bfa}[data-appearance="contrast"]{filter:contrast(1.15)}

/* FIREFLY SPACE requested workflow updates */
.header-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.clean-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #5eead488;border-radius:999px;padding:9px 12px;color:#8cebdc;background:#15342f;font-size:12px;font-weight:750;white-space:nowrap}
.favorite-quick-picks{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.favorite-pick{border:1px solid #a78bfa66;background:#211b35;color:#e7deff;border-radius:999px;padding:9px 12px;font-weight:700}
.active-session-select,.session-history-open{display:block;width:100%;text-align:left;background:transparent;border:0;color:inherit;padding:0}
.active-session.selected-active{border-color:#5eead4;box-shadow:0 0 0 1px #5eead433}
.active-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.active-actions button{flex:1 1 42%;min-height:40px}
.history-more{display:block;margin-top:8px;color:#5eead4;font-size:13px;font-weight:750}
.session-history-entry{padding:14px}
.session-history-open .entry-top{display:flex;justify-content:space-between;gap:12px}
.session-history-open h4{margin:0 0 5px}
.calendar-day.clean-day{background:#163d35;border-color:#5eead4;color:#9df5e5;box-shadow:inset 0 0 0 1px #5eead466}
.calendar-day.clean-day:after{content:"✓";display:block;font-size:10px;color:#5eead4;line-height:10px}
.calendar-day.use-day{background:#38242a;border-color:#f29b9b;color:#ffd0d0}
#sessionDetailPanel{scroll-margin-top:100px}
@media(max-width:520px){.header-status{gap:5px}.clean-pill{font-size:10px;padding:7px 8px}.active-actions button{flex:1 1 100%}}

/* V8.1: mobile-safe substance search, quick favorites and floating Clean counter */
.favorite-quick-picks{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.favorite-pick{border:1px solid #5eead455;background:#1c2a2a;color:#8debdc;border-radius:999px;padding:10px 13px;font-weight:700;font-size:14px;max-width:100%;overflow-wrap:anywhere}
.favorite-pick.selected{background:#a78bfa;color:#171126;border-color:#a78bfa}
#sessionSubstanceSearch{width:100%;margin:6px 0 10px}
.clean-floating:not(.hidden){position:fixed!important;right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));top:auto!important;z-index:9999;display:flex;align-items:center;justify-content:center;max-width:min(220px,calc(100vw - 28px));min-height:44px;padding:11px 15px;border-radius:999px;background:rgba(25,22,40,.96);border:1px solid #5eead4aa;color:#8debdc;box-shadow:0 8px 30px #0007;backdrop-filter:blur(14px);font-size:13px;font-weight:800;letter-spacing:.02em;white-space:normal;text-align:center}
.header-status .clean-floating:not(.hidden){position:fixed!important}
@media(max-width:600px){.clean-floating:not(.hidden){right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));font-size:12px;padding:10px 12px}}

.session-inline-form{margin-top:18px;padding:16px;border:1px solid #5eead466;border-radius:16px;background:#171522;display:grid;gap:9px}
.session-inline-form h4{margin:0 0 8px;font-size:18px}
.session-inline-form label{font-size:13px;color:var(--muted,#bbb);margin-top:5px}
.session-inline-form input,.session-inline-form select,.session-inline-form textarea{width:100%;min-width:0}
.session-inline-form input[type=range]{accent-color:#a78bfa}
.session-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
@media(max-width:420px){.session-inline-form{padding:12px}.session-form-actions{grid-template-columns:1fr}}

/* V8.4: keep the Clean counter fully visible below the iOS status/safe area */
.clean-floating:not(.hidden){
  position:fixed!important;
  top:calc(env(safe-area-inset-top, 0px) + 12px)!important;
  right:calc(env(safe-area-inset-right, 0px) + 12px)!important;
  bottom:auto!important;
  z-index:10001!important;
  max-width:min(210px,calc(100vw - 150px));
  min-height:42px;
  padding:9px 12px;
  overflow-wrap:anywhere;
}
@media(max-width:480px){
  .clean-floating:not(.hidden){
    top:calc(env(safe-area-inset-top, 0px) + 10px)!important;
    right:calc(env(safe-area-inset-right, 0px) + 10px)!important;
    max-width:calc(100vw - 160px);
    font-size:11px;
    letter-spacing:0;
  }
}

/* V8.5: dock the Clean counter at the bottom, clear of iOS home indicator */
.clean-floating:not(.hidden){
  position:fixed!important;
  top:auto!important;
  right:calc(env(safe-area-inset-right, 0px) + 14px)!important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 18px)!important;
  left:auto!important;
  z-index:10001!important;
  max-width:min(240px,calc(100vw - 28px));
  min-height:44px;
  padding:11px 15px;
  border-radius:999px;
  white-space:normal;
  text-align:center;
}
@media(max-width:480px){
  .clean-floating:not(.hidden){
    right:calc(env(safe-area-inset-right, 0px) + 12px)!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 14px)!important;
    max-width:calc(100vw - 32px);
    font-size:12px;
  }
}

.feature-toggle-list{display:grid;gap:13px;margin:16px 0}
.feature-toggle-list .setting-switch{padding:11px 12px;border:1px solid var(--line,#393342);border-radius:12px;background:#171522}
.feature-toggle-list input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#a78bfa}
.optional-feature-modules{display:grid;gap:14px;margin:18px 0}
.feature-module{scroll-margin-top:100px}
.entry-card{padding:12px;margin:8px 0;border:1px solid var(--line,#393342);border-radius:12px;background:#171522}
.entry-card p{margin:7px 0}
.entry-card small{color:var(--muted,#aaa)}
.grounding-orb{width:160px;height:160px;max-width:55vw;margin:20px auto;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(circle at 35% 30%,#5eead4,#8b7cf6 55%,#29203f);box-shadow:0 0 35px #8b7cf655;transition:transform 4s ease-in-out;font-weight:700;padding:15px}
.grounding-orb.breathing{animation:groundingBreath 10s ease-in-out infinite alternate}
@keyframes groundingBreath{from{transform:scale(.82);box-shadow:0 0 20px #5eead455}to{transform:scale(1.08);box-shadow:0 0 42px #a78bfa88}}

/* V9.1: Clean counter is a normal Home dashboard card, never fixed to viewport */
.clean-floating:not(.hidden), .clean-home-badge:not(.hidden){
  position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  z-index:auto!important;max-width:100%;width:fit-content;min-height:0;
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;
}
.clean-home-slot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:14px 16px;border:1px solid #5eead455;border-radius:18px;background:linear-gradient(110deg,#18332f,#211b37)}
.clean-home-caption{font-size:13px;color:#a8aaaF}
@media(max-width:480px){.clean-home-slot{align-items:flex-start;flex-direction:column;gap:8px}.clean-home-badge:not(.hidden){font-size:14px}}


/* V10: First-visit bilingual language tip */
.language-welcome-notice[hidden]{display:none!important}
.language-welcome-notice{
  position:fixed;z-index:10000;left:16px;right:16px;bottom:calc(22px + env(safe-area-inset-bottom));
  max-width:560px;margin:0 auto;padding:18px 48px 16px 18px;
  border:1px solid #5eead477;border-radius:18px;
  background:linear-gradient(125deg,rgba(25,48,52,.98),rgba(34,27,56,.98));
  color:#f8fafc;box-shadow:0 12px 36px #0008;backdrop-filter:blur(14px);
  font-size:15px;line-height:1.45
}
.language-welcome-notice strong{display:block;font-size:16px;margin:0 0 8px;color:#8ce8dd}
.language-welcome-notice p{margin:5px 0}
.language-welcome-close{
  position:absolute;right:10px;top:8px;width:34px;height:34px;border:0;border-radius:50%;
  background:#ffffff18;color:#fff;font-size:26px;line-height:1;cursor:pointer
}
@media(min-width:700px){.language-welcome-notice{left:auto;right:24px;bottom:24px}}

/* Personal color themes */
:root{--bg:#090914;--panel:#111222;--panel2:#17182b;--line:#292b46;--text:#f3f3ff;--muted:#a3a5c2;--purple:#a58bff;--cyan:#62e7e4;--danger:#ff6d8c}
:root[data-theme="blue"]{--bg:#07111f;--panel:#0d1c30;--panel2:#122640;--line:#23486b;--text:#edf6ff;--muted:#a8c0d9;--purple:#4b9cff;--cyan:#54e0ff;--danger:#ff718e}
:root[data-theme="cyberpunk"]{--bg:#10071a;--panel:#1b0e27;--panel2:#251037;--line:#58235f;--text:#fff0ff;--muted:#d0a8d9;--purple:#ff3bea;--cyan:#00f5d4;--danger:#ff496c}
:root[data-theme="forest"]{--bg:#08140f;--panel:#102219;--panel2:#173126;--line:#2a5944;--text:#effff4;--muted:#a8c8b4;--purple:#83d99a;--cyan:#55e6c1;--danger:#ff7d87}
:root[data-theme="rose"]{--bg:#190b13;--panel:#27121e;--panel2:#351828;--line:#62314a;--text:#fff1f6;--muted:#d4adbd;--purple:#ff83b7;--cyan:#ffa6d5;--danger:#ff5e85}
:root[data-theme="amber"]{--bg:#171006;--panel:#251a0b;--panel2:#34240e;--line:#60441c;--text:#fff8e8;--muted:#d1bd94;--purple:#ffbd59;--cyan:#ffe28a;--danger:#ff765f}
:root[data-theme="mono"]{--bg:#090909;--panel:#171717;--panel2:#222;--line:#444;--text:#f7f7f7;--muted:#b5b5b5;--purple:#dedede;--cyan:#a9a9a9;--danger:#ff8585}
:root[data-theme] body{background:radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--purple) 20%,transparent) 0,transparent 34%),var(--bg);color:var(--text)}
:root[data-theme] .topbar{background:color-mix(in srgb,var(--bg) 94%,transparent)}
:root[data-theme] .brand b,:root[data-theme] .eyebrow,:root[data-theme] .privacy-note>span,:root[data-theme] .privacy-pill,:root[data-theme] .tag{color:var(--cyan)}
:root[data-theme] .brand-mark{border-color:color-mix(in srgb,var(--purple) 60%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 20%,transparent),color-mix(in srgb,var(--cyan) 14%,transparent));color:var(--cyan)}
:root[data-theme] .panel,:root[data-theme] .stat-card,:root[data-theme] .tabs,:root[data-theme] .calendar-selected,:root[data-theme] .calendar-day-entries{border-color:var(--line)}
:root[data-theme] .tab.active{background:color-mix(in srgb,var(--purple) 24%,transparent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--purple) 48%,transparent)}
:root[data-theme] .primary{background:linear-gradient(110deg,var(--purple),var(--cyan));color:var(--bg)}
:root[data-theme] .secondary{border-color:var(--line);color:var(--text)}
:root[data-theme] .privacy-note,:root[data-theme] .notice{border-color:color-mix(in srgb,var(--cyan) 34%,var(--line));background:color-mix(in srgb,var(--cyan) 8%,var(--panel))}
:root[data-theme] input,:root[data-theme] textarea,:root[data-theme] select{border-color:var(--line)}
:root[data-theme] .timer,:root[data-theme] .stat-icon,:root[data-theme] .text-button{color:var(--purple)}
.theme-picker{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.theme-picker>label{display:block;margin-bottom:8px;font-weight:750}
.theme-swatches{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.swatch{width:27px;height:27px;border-radius:50%;border:2px solid #ffffff88;box-shadow:0 0 0 2px #0004}
.swatch-purple{background:linear-gradient(135deg,#a58bff 0 50%,#62e7e4 50%)}
.swatch-blue{background:linear-gradient(135deg,#4b9cff 0 50%,#54e0ff 50%)}
.swatch-cyber{background:linear-gradient(135deg,#ff3bea 0 50%,#00f5d4 50%)}
.swatch-forest{background:linear-gradient(135deg,#83d99a 0 50%,#55e6c1 50%)}
.swatch-rose{background:linear-gradient(135deg,#ff83b7 0 50%,#ffa6d5 50%)}
.swatch-amber{background:linear-gradient(135deg,#ffbd59 0 50%,#ffe28a 50%)}
.swatch-mono{background:linear-gradient(135deg,#dedede 0 50%,#777 50%)}

.autosync-switch{padding:12px;border:1px solid var(--line,#393342);border-radius:12px;background:rgba(167,139,250,.07)}
.autosync-switch span{display:flex;flex-direction:column;gap:4px}.autosync-switch small{font-size:.88em;color:var(--muted,#b8adca);line-height:1.4}


/* Druggie Jump game styles carried forward from the game prototype */
/* Druggie Jump — isolated arcade styles */
.druggie-panel{overflow:hidden;border-color:#6d5aff55;background:radial-gradient(ellipse at 50% 0%,#30205d 0%,#111222 58%)}
.druggie-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.druggie-heading h3{font-size:22px;margin:0 0 7px}
.druggie-heading .eyebrow{margin-bottom:7px}
.druggie-best{flex:0 0 auto;min-width:86px;text-align:center;padding:10px;border:1px solid #62e7e455;border-radius:13px;background:#62e7e40d}
.druggie-best span,.druggie-hud small{display:block;font-size:9px;letter-spacing:.12em;color:#a9a6d0;font-weight:800}
.druggie-best strong{display:block;font-size:25px;color:#62e7e4;font-variant-numeric:tabular-nums}
.druggie-hud{display:flex;justify-content:space-between;gap:12px;margin:14px 0 10px}
.druggie-hud>span{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #ffffff12;background:#09091477;border-radius:11px;min-width:0}
.druggie-hud strong{font-size:13px;color:#f3f3ff}
.druggie-game-shell{position:relative;width:100%;max-width:440px;margin:0 auto;overflow:hidden;border-radius:17px;border:1px solid #8c70ff66;background:#090914;box-shadow:0 0 30px #6e4bff16;touch-action:pan-y}
#druggieCanvas{display:block;width:100%;height:auto;aspect-ratio:3/5;max-height:68vh;object-fit:contain;outline:none;touch-action:pan-y}
#druggieCanvas:focus-visible{outline:2px solid #62e7e4;outline-offset:-3px}
.druggie-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:#090914b8;backdrop-filter:blur(4px)}
.druggie-overlay.is-hidden{display:none}
.druggie-overlay-card{width:min(100%,280px);text-align:center;padding:22px 18px;border:1px solid #a58bff77;border-radius:18px;background:#121226f2;box-shadow:0 0 40px #a58bff25}
.druggie-overlay-card h4{font-size:22px;margin:6px 0 8px}
.druggie-overlay-card p{font-size:12px;color:#b8b8d3;line-height:1.6;margin:0 0 16px}
.druggie-spark{font-size:30px;color:#62e7e4;text-shadow:0 0 18px #62e7e4}
.druggie-controls{display:flex;justify-content:center;gap:16px;margin:12px auto 4px;max-width:440px}
.druggie-controls button{width:84px;height:54px;font-size:25px;font-weight:800;border-color:#a58bff66;background:#a58bff14;touch-action:none;user-select:none;-webkit-user-select:none}
.druggie-controls button:active{background:#a58bff44;transform:scale(.97)}
.druggie-footnote{font-size:10px;color:#8989a9;text-align:center;line-height:1.5}
@media(min-width:760px){.druggie-game-shell{max-width:360px}.druggie-panel{padding:22px}}
@media(max-width:420px){.druggie-heading h3{font-size:19px}.druggie-best{min-width:75px;padding:8px}.druggie-best strong{font-size:22px}.druggie-hud{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.druggie-overlay{backdrop-filter:none}.druggie-controls button{transition:none}}


/* Neon Rush */
.neon-rush-panel{overflow:hidden;border-color:#38d9ff55;background:radial-gradient(ellipse at 50% 0%,#12374b 0%,#101321 65%)}
.neon-rush-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.neon-score{display:grid;gap:3px;text-align:center;padding:8px 12px;border:1px solid #38d9ff55;border-radius:12px;min-width:60px}.neon-score span{font-size:10px;letter-spacing:.12em}.neon-score b{font-size:20px;color:#63e6ff}#neonRushCanvas{display:block;width:100%;max-width:440px;margin:12px auto;border-radius:16px;border:1px solid #38d9ff55;background:#070b17;touch-action:pan-y}.neon-rush-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:440px;margin:8px auto}.neon-rush-controls button{min-height:44px;border:1px solid #38d9ff66;border-radius:12px;background:#14253b;color:#e9fbff;font-weight:700}.neon-rush-controls button:active{transform:scale(.97);background:#24506b}


/* Settings are intentionally split into two explicit destinations: Settings | Account. */
.settings-subnav{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:6px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:14px;background:rgba(255,255,255,.025)}
.settings-subtab{flex:1;min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary,#aab0c8);font:inherit;font-weight:650;cursor:pointer;padding:9px 12px}
.settings-subtab.active{background:rgba(151,111,255,.17);color:var(--text,#f5f3ff);box-shadow:inset 0 0 0 1px rgba(151,111,255,.28)}
.settings-subnav-separator{opacity:.5;font-weight:600}
.settings-subview[hidden]{display:none!important}
.settings-subview{display:grid;gap:14px}
.settings-subview>.panel{margin-top:0}

/* Profile and accessibility settings */
.profile-editor{display:flex;align-items:center;gap:1rem;margin:.5rem 0 1rem}.avatar-preview{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;border-radius:50%;font-size:1.8rem;font-weight:800;color:#15112b;background:linear-gradient(135deg,#54f5dc,#b8a1ff);border:2px solid #bd70ef;overflow:hidden}.profile-fields{flex:1;min-width:0}.profile-panel textarea{width:100%;resize:vertical}.profile-panel label,.profile-panel input,.profile-panel select{max-width:100%}.reduce-motion *, .reduce-motion *::before,.reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.larger-text{font-size:110%}

/* V1.64.1: fix substance-profile editor on narrow mobile screens.
   The generic account profile editor also used .profile-editor and overrode
   the substance editor layout with display:flex, causing horizontal overflow. */
#profileEditFields.profile-editor,
#dosageEditor.profile-editor,
#durationEditor.profile-editor,
#videoEditor.profile-editor,
#profileEditFields,
#dosageEditor,
#durationEditor {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
#profileEditFields.profile-editor label,
#dosageEditor.profile-editor label,
#durationEditor.profile-editor label,
#videoEditor.profile-editor label {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
#profileEditFields.profile-editor input,
#profileEditFields.profile-editor textarea,
#profileEditFields.profile-editor select,
#dosageEditor.profile-editor input,
#dosageEditor.profile-editor textarea,
#dosageEditor.profile-editor select,
#durationEditor.profile-editor input,
#durationEditor.profile-editor textarea,
#durationEditor.profile-editor select,
#videoEditor.profile-editor input,
#videoEditor.profile-editor textarea,
#videoEditor.profile-editor select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.profile-data-card,
.profile-scale-preview,
.scale-config-grid,
.duration-chart-wrap {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 600px) {
  #view-substances .profile-editor,
  #view-substances #profileEditFields,
  #view-substances #dosageEditor,
  #view-substances #durationEditor {
    padding: 10px;
    overflow-wrap: anywhere;
  }
  #view-substances .profile-toolbar button {
    width: 100%;
    max-width: 100%;
  }
  #view-substances .scale-config-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* FIREFLY COMMUNITY — Discord-inspired first-stage UI prototype */
.community-view{--community-bg:#1c1e27;--community-panel:#232630;--community-panel-2:#2b2e3a;--community-border:rgba(176,181,207,.14);--community-text:#f0f1f7;--community-muted:#a5aabd;}
.community-heading{align-items:flex-start;gap:1rem}.community-heading .helper{max-width:38rem;margin:.4rem 0 0}.community-status{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--community-border);border-radius:999px;padding:.35rem .7rem;font-size:.75rem;color:var(--community-muted);white-space:nowrap}.community-status-dot{width:7px;height:7px;border-radius:50%;background:#bba8ff;box-shadow:0 0 0 3px rgba(187,168,255,.12)}
.community-layout{display:grid;grid-template-columns:minmax(190px,245px) minmax(0,1fr);gap:1rem;align-items:stretch}.community-sidebar,.community-main{min-width:0;background:var(--community-bg);border:1px solid var(--community-border);color:var(--community-text);border-radius:16px;padding:1rem;box-shadow:none}.community-server{display:flex;align-items:center;gap:.7rem;padding:.25rem .15rem 1rem;margin-bottom:.5rem;border-bottom:1px solid var(--community-border)}.community-server-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#7867e8,#42b9b0);font-size:1.45rem;color:white}.community-server strong,.community-server small{display:block}.community-server strong{font-size:.76rem;letter-spacing:.035em}.community-server small{font-size:.68rem;color:var(--community-muted);margin-top:.22rem;line-height:1.4}.community-nav,.community-channel{display:flex;width:100%;align-items:center;gap:.65rem;border:0;background:transparent;color:#b9bfd0;text-align:left;padding:.68rem .7rem;border-radius:8px;font:inherit;font-size:.87rem;cursor:pointer;margin:.12rem 0}.community-nav:hover,.community-channel:hover{background:#2b2e3b;color:#fff}.community-nav.active,.community-channel.active{background:#39344f;color:#fff}.community-nav span:first-child{width:1.1rem;text-align:center;color:#b9a9ff}.community-channel>span:first-child{font-size:1.05rem;color:#8d95a9}.community-channel-label{margin:1rem .6rem .45rem;font-size:.62rem;font-weight:800;letter-spacing:.09em;color:#8c93a6}.community-lock{margin-left:auto;color:#858da0}.community-sidebar-note{display:flex;gap:.6rem;margin-top:1.3rem;padding:.8rem;border:1px solid var(--community-border);border-radius:10px;color:#b4bbcd;background:rgba(255,255,255,.025)}.community-sidebar-note>span{color:#c0adff}.community-sidebar-note p{font-size:.72rem;line-height:1.5;margin:0}.community-main{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:560px}.community-main-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--community-border)}.community-title-line{display:flex;align-items:center;gap:.55rem}.community-title-line h3{margin:0;font-size:1rem}.community-hash{font-size:1.4rem;color:#9da5b8}.community-main-head p{margin:.35rem 0 0;font-size:.78rem;color:var(--community-muted)}.community-main-head .icon-button{color:#b5bbcb}.community-preview-banner{display:flex;gap:.8rem;margin:1rem 1.1rem 0;padding:.85rem 1rem;border:1px solid rgba(154,136,255,.3);border-radius:10px;background:rgba(119,100,221,.1)}.community-preview-banner>span{font-size:1.2rem;color:#c1b3ff}.community-preview-banner strong{font-size:.82rem}.community-preview-banner p{margin:.25rem 0 0;color:#b9bfd0;font-size:.75rem;line-height:1.5}.community-messages{padding:1.1rem 1.2rem;flex:1}.community-day-divider{display:flex;align-items:center;gap:.8rem;color:#7f879b;font-size:.63rem;letter-spacing:.1em;font-weight:800;margin:.1rem 0 1.25rem}.community-day-divider:before,.community-day-divider:after{content:"";height:1px;background:var(--community-border);flex:1}.community-message{display:flex;align-items:flex-start;gap:.75rem;margin:1.1rem 0}.community-avatar{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;font-weight:800;color:white}.avatar-purple{background:linear-gradient(145deg,#7666da,#a16cc9)}.avatar-teal{background:linear-gradient(145deg,#2f9c98,#5cbbc0)}.community-message-body{min-width:0;flex:1}.community-message-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.community-message-meta strong{font-size:.83rem}.community-message-meta time{font-size:.66rem;color:#81899d}.community-role-tag{font-size:.55rem;letter-spacing:.07em;border-radius:4px;padding:.16rem .3rem;background:#4c426f;color:#d5cbff;font-weight:800}.community-message-body>p{font-size:.84rem;line-height:1.65;color:#d2d5df;margin:.4rem 0 .5rem;overflow-wrap:anywhere}.community-reactions{display:flex;gap:.4rem}.community-reactions span{font-size:.7rem;border:1px solid var(--community-border);border-radius:6px;padding:.2rem .45rem;color:#c5c9d6;background:rgba(255,255,255,.025)}.community-composer{padding:0 1.1rem 1rem}.community-composer-disabled{display:flex;align-items:center;gap:.65rem;border-radius:10px;background:#303341;padding:.9rem;color:#858da0;font-size:.8rem}.community-composer-disabled>span:first-child{font-size:1.1rem}.community-composer-lock{margin-left:auto}.community-composer small{display:block;color:#82899b;font-size:.67rem;margin:.5rem .2rem 0}.community-next-steps{display:flex;gap:1rem;align-items:flex-start;margin-top:1rem;border:1px solid var(--community-border);background:rgba(119,100,221,.045)}.community-next-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:rgba(119,100,221,.14);color:#b6a6ff;font-size:1.4rem}.community-next-steps h3{margin:.1rem 0 .35rem;font-size:.95rem}.community-next-steps p{margin:0;color:var(--muted,#a5aabd);font-size:.82rem;line-height:1.6}.community-view [hidden]{display:none!important}
@media(max-width:760px){.community-layout{grid-template-columns:minmax(0,1fr);gap:.75rem}.community-sidebar{padding:.75rem}.community-server{padding-bottom:.75rem}.community-channel-label{margin-top:.65rem}.community-sidebar-note{margin-top:.7rem}.community-main{min-height:520px}.community-heading{flex-wrap:wrap}.community-heading h2{font-size:1.6rem}.community-main-head{padding:.9rem}.community-preview-banner{margin:.75rem .75rem 0}.community-messages{padding:.8rem}.community-composer{padding:0 .75rem .8rem}}

/* Community chat beta: accessible account gate and real message composer */
.community-auth-gate{margin:1rem 1.1rem;padding:1rem;border:1px solid var(--community-border);border-radius:12px;background:#282a36;color:var(--community-text)}
.community-auth-gate p{color:var(--community-muted);font-size:.84rem;line-height:1.5}.community-empty-state{color:var(--community-muted);font-size:.86rem;line-height:1.6;padding:.7rem 0;overflow-wrap:anywhere}.community-empty-state small{color:#e0a2a2}.community-composer-form{display:flex;align-items:flex-end;gap:.65rem}.community-composer-form textarea{flex:1;min-width:0;resize:vertical;max-height:180px;min-height:48px;border:1px solid var(--community-border);border-radius:10px;background:#303341;color:#f0f1f7;padding:.8rem;font:inherit;font-size:.86rem}.community-composer-form button{min-height:46px}.community-composer [hidden],.community-view [hidden]{display:none!important}.community-messages{max-height:58vh;overflow:auto;overscroll-behavior:contain}.community-message-body>p{white-space:pre-wrap}.community-composer small{line-height:1.5}
@media(max-width:520px){.community-composer-form{align-items:stretch;flex-direction:column}.community-composer-form button{width:100%}.community-auth-gate{margin:.75rem}.community-messages{max-height:52vh}}

/* V1.86 opt-in community profile directory */
.community-profile-directory { padding: 1rem; border-top: 1px solid var(--border, rgba(255,255,255,.12)); }
.community-profile-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: .75rem; }
.community-profile-card { display: flex; align-items: flex-start; gap: .75rem; padding: .9rem; border: 1px solid var(--border, rgba(255,255,255,.12)); border-radius: 14px; background: var(--panel-soft, rgba(255,255,255,.035)); min-width: 0; }
.community-profile-copy { min-width: 0; overflow-wrap: anywhere; display: grid; gap: .25rem; }
.community-profile-copy p { margin: .25rem 0; white-space: pre-wrap; }
.community-profile-copy small, .community-profile-pronouns { opacity: .72; font-size: .82rem; }

/* Functional community pages: forum, support, reports */
.community-feature-panel{padding:1rem 1.15rem;min-width:0}.community-feature-heading{padding-bottom:.8rem;border-bottom:1px solid var(--community-border);margin-bottom:1rem}.community-feature-heading h3{margin:0 0 .35rem;font-size:1rem}.community-feature-heading p{margin:0;color:var(--community-muted);font-size:.8rem;line-height:1.55}.community-form-stack{display:grid;gap:.55rem;padding:.9rem;margin-bottom:1rem;border:1px solid var(--community-border);border-radius:12px;background:rgba(255,255,255,.025)}.community-form-stack label{font-size:.78rem;color:var(--community-muted)}.community-form-stack input,.community-form-stack textarea{width:100%;box-sizing:border-box;border:1px solid var(--community-border);border-radius:9px;background:#303341;color:#f0f1f7;padding:.75rem;font:inherit;font-size:.86rem;min-width:0}.community-form-stack textarea{resize:vertical}.community-feature-list{display:grid;gap:.7rem}.community-forum-post{padding:.9rem;border:1px solid var(--community-border);border-radius:11px;background:rgba(255,255,255,.025);overflow-wrap:anywhere}.community-forum-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;flex-wrap:wrap}.community-forum-meta strong{font-size:.9rem}.community-forum-meta span{font-size:.68rem;color:var(--community-muted)}.community-forum-post>p{white-space:pre-wrap;font-size:.84rem;line-height:1.6;color:#d2d5df;margin:.65rem 0 0}.community-message-actions{display:flex;gap:.4rem}.community-report-button{border:0;background:transparent;color:#aeb5ca;font-size:.68rem;padding:.15rem 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.community-report-button:hover{color:#f2c0c0}.community-inline-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}.community-inline-actions button{font-size:.78rem;padding:.55rem .7rem}.community-view .danger{background:#8f3547;color:#fff;border:1px solid #b54c5e;border-radius:8px}


/* V1.91 public community profile cards */
.community-profile-card{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid rgba(190,125,255,.28);border-radius:18px;background:rgba(20,16,36,.72);margin:10px 0}
.community-profile-avatar{width:58px;height:58px;min-width:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;border:2px solid #bd7bff;background:linear-gradient(135deg,#83e9dd,#a5a7ff);color:#20112f;overflow:hidden}
.community-profile-avatar.avatar-emoji{font-size:30px}
.community-profile-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.community-profile-copy strong{display:block;font-size:1.05rem;line-height:1.35}
.community-profile-pronouns{display:inline-block;margin-top:4px;padding:3px 8px;border-radius:999px;background:rgba(188,133,255,.15);color:#d8b8ff;font-size:.85rem}
.community-profile-copy p{margin:8px 0 4px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted,#aeb2c4)}
.community-profile-caption{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#aeb2c4);opacity:.8}

/* V1.93 custom community avatars and clickable Discord-like profile cards */
#profileAvatarPreview img{width:100%;height:100%;object-fit:cover;border-radius:50%}.community-message-avatar-button{flex:0 0 38px;width:38px;height:38px;padding:0;border:0;background:transparent;border-radius:50%;overflow:hidden;cursor:pointer}.community-avatar-image{display:block;width:38px;height:38px;object-fit:cover;border-radius:50%}.community-profile-name-button{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:750;cursor:pointer}.community-profile-name-button:hover{text-decoration:underline;color:#c9a9ff}.community-profile-card-button{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.community-profile-card-button:hover{border-color:#bd7bff;background:rgba(120,90,180,.16)}.community-profile-avatar-image{width:58px;height:58px;min-width:58px;object-fit:cover;border-radius:50%;border:2px solid #bd7bff}.community-profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted,#aeb2c4)}.community-profile-modal{position:fixed;z-index:10000;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));padding:28px 24px 24px;border:1px solid rgba(190,125,255,.45);border-radius:22px;background:#191626;color:#f6f2ff;box-shadow:0 22px 90px rgba(0,0,0,.65);text-align:center}.community-profile-modal[hidden]{display:none!important}.community-profile-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:inherit;font-size:1.8rem;cursor:pointer}.community-profile-modal-avatar{width:104px;height:104px;margin:8px auto 16px;border-radius:50%;overflow:hidden;border:3px solid #bd7bff;background:linear-gradient(135deg,#83e9dd,#a5a7ff);display:grid;place-items:center;font-size:2.2rem;color:#20112f}.community-profile-modal-avatar img{width:100%;height:100%;object-fit:cover}.community-profile-modal h3{margin:0 0 8px}.community-profile-modal p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;color:#d1cbdc}.community-profile-modal .community-profile-pronouns{margin-bottom:8px}

/* Custom community avatar upload */
#profileAvatarFile{display:block;width:100%;margin-top:.55rem;font-size:.9rem;color:var(--text,#f4efff)}
#profileAvatarPreview img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.community-avatar-image,.community-profile-avatar-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.community-message-avatar-button,.community-profile-name-button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;font:inherit;text-align:left}
.community-message-avatar-button:focus-visible,.community-profile-name-button:focus-visible,.community-profile-card-button:focus-visible{outline:2px solid #54f5dc;outline-offset:3px;border-radius:8px}
.community-profile-name-button{font-weight:700}
.community-profile-modal-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* V1.100: personalized home greeting and persistent account status */
.header-status{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
.header-account-button{display:flex;align-items:center;gap:.55rem;max-width:100%;border:1px solid var(--line,#39334f);border-radius:14px;background:rgba(255,255,255,.04);color:inherit;padding:.4rem .65rem;cursor:pointer;text-align:left}
.header-account-button:focus-visible{outline:2px solid var(--accent,#b8a0ff);outline-offset:2px}
.header-account-avatar{width:2rem;height:2rem;flex:0 0 2rem;border-radius:50%;display:grid;place-items:center;background:rgba(168,139,250,.18);font-weight:800}
.header-account-copy{display:flex;flex-direction:column;min-width:0}
.header-account-copy strong{font-size:.82rem;line-height:1.2}
.header-account-copy small{font-size:.7rem;opacity:.75;line-height:1.3}
.home-greeting-sub{margin:.25rem 0 0;color:var(--muted,#a8a2bb);font-size:.92rem}
@media(max-width:520px){.topbar{align-items:flex-start;gap:.5rem}.header-status{gap:.35rem;flex-direction:column;align-items:flex-end}.header-account-button{padding:.3rem .45rem;gap:.35rem}.header-account-avatar{width:1.7rem;height:1.7rem;flex-basis:1.7rem}.header-account-copy strong{font-size:.72rem}.header-account-copy small{font-size:.62rem}.privacy-pill{font-size:.62rem}}


.community-mode-tabs{display:flex;gap:.5rem;margin:0 0 1rem;padding:.35rem;background:#21182c;border:1px solid var(--community-border);border-radius:13px}.community-mode-tab{flex:1;min-width:0;padding:.8rem .7rem;border:1px solid transparent;border-radius:9px;background:transparent;color:#c5b9d4;font:inherit;font-weight:750;cursor:pointer}.community-mode-tab.active{background:#493052;border-color:#bb35b2;color:#fff}.community-dm-unread{color:#16e2d0;font-size:1.5rem;line-height:0}.community-dm-panel{display:grid;grid-template-columns:minmax(220px, .8fr) minmax(0,1.5fr);gap:0;min-height:520px;border:1px solid var(--community-border);border-radius:16px;overflow:hidden;background:#191824;color:#f6f2ff}.community-dm-panel[hidden]{display:none!important}.community-dm-sidebar{padding:1rem;border-right:1px solid var(--community-border);min-width:0}.community-dm-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.community-dm-heading h3{font-size:1rem;margin:0}.community-dm-heading p{font-size:.75rem;color:var(--community-muted);margin:.25rem 0 0}.community-dm-new{width:42px;height:42px;border-radius:12px;border:1px solid #bb35b2;background:#48284f;color:#fff;font-size:1.7rem;cursor:pointer}.community-dm-sidebar input{width:100%;min-width:0;padding:.75rem;border:1px solid var(--community-border);border-radius:10px;background:#100c19;color:#fff;font:inherit}.community-dm-threads{display:grid;gap:.4rem;margin-top:.75rem}.community-dm-thread{display:flex;align-items:center;gap:.65rem;text-align:left;width:100%;padding:.7rem;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;cursor:pointer}.community-dm-thread.active,.community-dm-thread:hover{background:#342840;border-color:#714578}.community-dm-thread-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#5fcfc6,#9a72d5);color:#150e24;font-weight:800}.community-dm-thread-copy{min-width:0;display:grid;gap:.25rem}.community-dm-thread-copy strong,.community-dm-thread-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-dm-thread-copy small{color:#a7a3b7;font-size:.75rem}.community-dm-conversation{display:flex;flex-direction:column;min-width:0}.community-dm-conversation-head{padding:.75rem 1rem;border-bottom:1px solid var(--community-border);display:grid;gap:.35rem;min-width:0}.community-dm-head-main{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;min-width:0}.community-dm-head-main strong{font-size:1rem}.community-dm-security-pill{display:inline-flex;align-items:center;border:1px solid rgba(104,229,210,.35);border-radius:999px;padding:.2rem .55rem;font-size:.68rem!important;line-height:1.3;color:#68e5d2!important;white-space:nowrap}.community-dm-security-pill.is-warning{border-color:rgba(236,184,96,.45);color:#edc477!important}.community-dm-security-pill.is-pending{border-color:rgba(240,120,130,.45);color:#f09aa3!important}.community-dm-security-details{font-size:.72rem;color:var(--community-muted)}.community-dm-security-details summary{cursor:pointer;display:inline-block}.community-dm-security-details p{margin:.35rem 0 0;line-height:1.4;max-width:65ch}.community-dm-conversation-head>span{font-size:.76rem;color:var(--community-muted)}.community-dm-messages{flex:1;min-height:270px;max-height:500px;overflow:auto;padding:1rem}.community-dm-message{margin:.75rem 0;padding:.75rem .85rem;border-radius:12px;background:#2b2537;max-width:90%;overflow-wrap:anywhere}.community-dm-message.mine{margin-left:auto;background:#44304f}.community-dm-message small{display:block;color:#b6acc6;font-size:.7rem;margin-bottom:.25rem}.community-dm-message p{margin:0;white-space:pre-wrap;line-height:1.5}.community-dm-composer{display:flex;gap:.6rem;padding:.8rem;border-top:1px solid var(--community-border);align-items:flex-end}.community-dm-composer[hidden]{display:none!important}.community-dm-composer textarea{flex:1;min-width:0;resize:vertical;padding:.8rem;border:1px solid var(--community-border);border-radius:10px;background:#100c19;color:#fff;font:inherit}.community-profile-actions{display:grid;gap:.5rem;margin-top:1rem}.community-profile-actions button{width:100%}
@media(max-width:680px){.community-dm-panel{grid-template-columns:minmax(0,1fr)}.community-dm-sidebar{border-right:0;border-bottom:1px solid var(--community-border);padding:.75rem}.community-dm-threads{max-height:180px;overflow:auto}.community-dm-messages{max-height:45vh;min-height:200px}.community-mode-tab{font-size:.8rem;padding:.7rem .4rem}}

/* V1.102: readable substance-proposal review cards */
.admin-proposal{overflow:hidden}
.admin-proposal>summary{padding:16px 18px}
.admin-proposal-details{padding:16px 18px;border-top:1px solid var(--border,rgba(255,255,255,.12))}
.proposal-submitter{display:flex;align-items:center;gap:10px;margin:12px 0 2px}
.proposal-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:linear-gradient(135deg,#c14bd8,#00d8c5);color:#140b22;font-weight:800}
.proposal-submitter strong,.proposal-submitter small{display:block}
.proposal-submitter small{font-size:.82rem;opacity:.72;margin-top:2px;overflow-wrap:anywhere}
.proposal-data-card{display:grid;gap:12px;margin:12px 0 18px}
.proposal-data-section,.proposal-data-field{padding:14px;border:1px solid rgba(194,72,211,.28);border-radius:14px;background:rgba(255,255,255,.035);min-width:0}
.proposal-data-section h5{margin:0 0 10px;font-size:1rem}
.proposal-data-field>span,.proposal-data-mini>span{display:block;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7;margin-bottom:5px}
.proposal-data-field p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.proposal-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px}
.proposal-data-mini{padding:10px;border-radius:10px;background:rgba(0,0,0,.12);min-width:0}
.proposal-data-mini strong{display:block;overflow-wrap:anywhere;font-weight:600}
.proposal-raw{margin:12px 0 18px}
.proposal-raw summary{cursor:pointer;opacity:.8;padding:8px 0}
.proposal-raw pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;padding:12px;border-radius:10px;background:rgba(0,0,0,.18);font: .82rem/1.5 ui-monospace,monospace}
@media(max-width:520px){.proposal-data-grid{grid-template-columns:1fr}.admin-proposal-details{padding:12px}}


/* Community role labels */
.community-role-badge{display:inline-flex;align-items:center;vertical-align:middle;margin:0 .45rem;padding:.18rem .48rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.075em;line-height:1.25;border:1px solid rgba(177,126,255,.38);background:rgba(177,126,255,.12);color:#d7c0ff;white-space:nowrap}
.community-role-badge.community-role-admin{background:rgba(0,238,207,.12);border-color:rgba(0,238,207,.48);color:#00efd0}
.community-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .45rem}
.community-message-meta time{font-size:.82em;opacity:.72}


/* Admin-only control center */
.admin-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.admin-stat-card{display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:16px;background:rgba(255,255,255,.035)}
.admin-stat-card span{font-size:.82rem;color:var(--muted,#aeb5c8)}
.admin-stat-card strong{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.15;overflow-wrap:anywhere}
.admin-stat-card small{font-size:.75rem;color:var(--muted,#aeb5c8)}
#settingsTabAdmin{border-color:rgba(88,220,160,.35)}
#settingsTabAdmin[hidden],#settingsAdmin[hidden],#settingsAdminSeparator[hidden]{display:none!important}
@media(max-width:560px){.admin-stats-grid{grid-template-columns:1fr}.admin-stat-card{padding:13px}.settings-subnav{gap:8px;flex-wrap:wrap}}

/* V1.107 Arcade additions */
.game-hud{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;margin:10px 0;border:1px solid var(--border,rgba(160,160,220,.2));border-radius:12px;color:var(--text-secondary,#b9bfd8)}.game-hud strong{color:var(--text,#fff);margin-left:5px}.cyber-track{height:100px;position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(130,110,255,.3);background:linear-gradient(180deg,rgba(36,32,78,.9),rgba(9,13,32,.95));margin:12px 0}.cyber-runner{position:absolute;bottom:17px;left:22%;font-size:28px;color:#8ffcff;text-shadow:0 0 16px #28d9ff}.cyber-obstacle{position:absolute;right:14%;bottom:17px;font-size:30px;color:#ff78c8;text-shadow:0 0 14px #ff42bc}.glitch-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.glitch-cell{aspect-ratio:1;border:1px solid rgba(150,140,255,.35);border-radius:10px;background:rgba(100,100,150,.12);color:transparent;cursor:pointer}.glitch-cell.lit{background:#6d5cff;box-shadow:0 0 18px rgba(109,92,255,.8);border-color:#b9b0ff}.glitch-cell.correct{background:#19bfa3}.void-core{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:22px;margin:12px 0;border-radius:16px;background:radial-gradient(circle,rgba(111,73,255,.26),rgba(12,17,38,.6) 65%);border:1px solid rgba(140,120,255,.3)}.void-orb{font-size:38px;color:#a9a0ff;text-shadow:0 0 20px #7968ff}.void-core strong{font-size:30px}.void-core span{font-size:12px;color:var(--text-secondary,#b9bfd8)}

/* V1.110: actual low-distraction navigation mode; do not scale up typography. */
html.simple-mode .optional-feature-modules,
html.simple-mode .clean-home-caption,
html.simple-mode .section-heading .eyebrow,
html.simple-mode .feature-module,
html.simple-mode [data-feature-module="customDashboard"],
html.simple-mode .community-status { display: none !important; }
html.simple-mode .hero .privacy-note { display: none !important; }
html.simple-mode .panel .helper { font-size: inherit; }
#personalNavOptions { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: .35rem .7rem; margin-top: .5rem; }
#personalNavOptions .setting-switch { align-items: flex-start; }
#personalNavOptions input:disabled { opacity: .45; }
#settingsPreferences select#sessionMaxAge { width: 100%; }
#adminModerationQueue .admin-moderation-item { margin: .65rem 0; padding: .85rem; border: 1px solid var(--border,rgba(255,255,255,.12)); border-radius: .8rem; overflow-wrap: anywhere; }
#adminModerationQueue .admin-moderation-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .7rem; }
#adminModerationQueue .admin-moderation-actions button { flex: 1 1 8rem; }

/* FIREFLY SPACE: session archive and editing */
.journal-subtabs{margin:0 0 1rem;display:flex;gap:.6rem}
.journal-subtabs .segment{flex:1}
.session-archive-list{display:grid;gap:1rem}
.session-archive-card{padding:1rem}
.session-archive-open{display:block;width:100%;text-align:left;background:transparent;border:0;color:inherit;padding:0;cursor:pointer}
.session-archive-open .panel-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.session-archive-open h3{margin:.1rem 0;font-size:1.05rem}
.archive-facts{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.7rem 0;color:var(--muted,#aaa);font-size:.9rem}
.archive-substances{font-weight:650;line-height:1.5;margin:.6rem 0}
.tag-live{background:rgba(74,222,128,.14)}
.archive-entry{display:grid;grid-template-columns:1fr auto;gap:.25rem .8rem;border:1px solid rgba(150,140,190,.2);border-radius:12px;padding:.75rem;margin:.5rem 0}
.archive-entry small{grid-column:1/-1;color:var(--muted,#aaa)}
.archive-entry p{grid-column:1/-1;margin:.2rem 0}
.archive-entry button{grid-column:1/-1;justify-self:start}
.session-mode-field{margin:.75rem 0}
.session-mode-field select{width:100%}
#sessionEditPanel label{display:block;margin:.65rem 0 .25rem}
#sessionEditPanel input,#sessionEditPanel textarea{box-sizing:border-box;width:100%;margin-bottom:.35rem}
@media(min-width:720px){.session-archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Tapering & Recovery module */
#view-tapering .form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#view-tapering .form-grid-two>div{min-width:0}
#view-tapering input,#view-tapering select,#view-tapering textarea{box-sizing:border-box;width:100%;min-width:0}
#view-tapering .stats-grid{margin:14px 0}
#view-tapering .stat-card strong{overflow-wrap:anywhere}
#view-tapering .entry-card{margin:10px 0}
@media(max-width:520px){#view-tapering .form-grid-two{grid-template-columns:minmax(0,1fr)}}


/* FIREFLY AI assistant — floating, responsive, bilingual */
.firefly-ai-toggle{position:fixed;left:16px;right:auto;bottom:92px;z-index:2147483000;display:flex;align-items:center;gap:9px;border:1px solid rgba(191,151,255,.55);border-radius:999px;padding:12px 17px;background:linear-gradient(135deg,#7c3aed,#4c1d95);color:#fff;font-weight:750;box-shadow:0 8px 30px rgba(0,0,0,.35);cursor:pointer}
.firefly-ai-toggle span:first-child{font-size:1.2rem}.firefly-ai-panel{position:fixed;right:16px;bottom:78px;z-index:9001;width:min(390px,calc(100vw - 24px));height:min(540px,calc(100dvh - 120px));background:var(--panel,#171522);color:var(--text,#f5f3ff);border:1px solid rgba(167,139,250,.45);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.48);overflow:hidden;display:flex;flex-direction:column}.firefly-ai-panel[hidden]{display:none!important}.firefly-ai-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(120deg,rgba(124,58,237,.32),rgba(76,29,149,.12));border-bottom:1px solid rgba(167,139,250,.2)}.firefly-ai-header div{display:grid;gap:3px}.firefly-ai-header small,.firefly-ai-disclaimer{opacity:.72;font-size:.75rem}.firefly-ai-header button{background:transparent;border:0;color:inherit;font-size:1.6rem;cursor:pointer}.firefly-ai-messages{padding:14px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px}.firefly-ai-welcome{padding:12px;background:rgba(139,92,246,.14);border-radius:12px;line-height:1.5}.firefly-ai-message{max-width:92%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;padding:10px 12px;border-radius:13px;margin:0}.firefly-ai-message.user{align-self:flex-end;background:#6d28d9;color:#fff}.firefly-ai-message.assistant{align-self:flex-start;background:rgba(139,92,246,.14)}.firefly-ai-message.error{border:1px solid rgba(248,113,113,.4)}.firefly-ai-form{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid rgba(167,139,250,.2)}.firefly-ai-form textarea{flex:1;min-width:0;resize:vertical;max-height:110px;border-radius:11px;padding:10px;background:rgba(0,0,0,.16);color:inherit;border:1px solid rgba(167,139,250,.3);font:inherit}.firefly-ai-form button{border:0;border-radius:10px;background:#7c3aed;color:#fff;width:42px;height:42px;font-size:1.2rem;cursor:pointer}.firefly-ai-form button:disabled{opacity:.55;cursor:wait}.firefly-ai-disclaimer{padding:0 12px 10px;margin:0}.firefly-ai-thinking{opacity:.75;font-style:italic}@media(max-width:480px){.firefly-ai-toggle{left:12px;right:auto;bottom:92px;max-width:calc(100vw - 24px);padding:11px 14px}.firefly-ai-panel{left:8px;right:8px;bottom:148px;width:auto;height:min(560px,calc(100dvh - 172px));z-index:2147483001}}

/* Keep opt-in AI controls truly hidden; component display styles must not override the HTML hidden attribute. */
.firefly-ai-toggle[hidden], .firefly-ai-panel[hidden] { display: none !important; }

/* V1.132: ensure opt-in AI controls are hidden by default and labels wrap cleanly. */
.firefly-ai-toggle[hidden], .firefly-ai-panel[hidden] { display: none !important; }
.setting-switch input#fireflyAiEnabledToggle { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin: .2rem .2rem 0 0; cursor: pointer; }
#fireflyAiPreferencePanel .setting-switch span { display: block; min-width: 0; }
#fireflyAiPreferencePanel .setting-switch b { display: block; margin-bottom: .35rem; }
#fireflyAiPreferencePanel .setting-switch small { display: block; line-height: 1.5; }
/* FIREFLY AI display-mode selector and embedded quick-navigation module */
.firefly-ai-mode-setting{display:grid;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border,rgba(167,139,250,.22))}
.firefly-ai-mode-setting>strong{font-size:.95rem}
.firefly-ai-mode-setting>label{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border,rgba(167,139,250,.22));border-radius:10px;cursor:pointer}
.firefly-ai-mode-setting>label input{accent-color:#8b5cf6;flex:0 0 auto}
.firefly-ai-mode-setting>small{opacity:.72;line-height:1.45}
.firefly-ai-module-view .firefly-ai-panel-module{position:relative;inset:auto;z-index:1;width:100%;height:min(72dvh,720px);min-height:420px;max-width:none;margin:12px 0 24px;border-radius:16px;box-shadow:none}
.firefly-ai-module-view.firefly-ai-module-mode{display:none}
.firefly-ai-module-view.firefly-ai-module-mode.active{display:block}
.firefly-ai-toggle[hidden],.firefly-ai-panel[hidden],#fireflyAiNavTab[hidden]{display:none!important}
@media(max-width:480px){.firefly-ai-module-view .firefly-ai-panel-module{height:calc(100dvh - 240px);min-height:360px;margin:8px 0 18px}.firefly-ai-mode-setting>label{padding:12px}}

/* FIREFLY AI v135: floating panel is a body-level overlay; module mode is mounted inside its dedicated view. */
#fireflyAiPanel.firefly-ai-panel-module{position:relative;inset:auto;z-index:1;width:100%;height:min(72dvh,720px);min-height:420px;max-width:none;margin:12px 0 24px;border-radius:16px;box-shadow:none;left:auto;right:auto;bottom:auto}
#fireflyAiPanel[hidden],#fireflyAiToggle[hidden],#fireflyAiNavTab[hidden]{display:none!important}
@media(max-width:480px){#fireflyAiPanel.firefly-ai-panel-module{height:calc(100dvh - 240px);min-height:360px;margin:8px 0 18px}}

.firefly-ai-mode-setting>label span{display:block;min-width:0;flex:1;overflow-wrap:anywhere;line-height:1.4}
.firefly-ai-mode-setting>label input[type="radio"]{width:1.2rem;height:1.2rem;flex:0 0 1.2rem}


/* Additive dose diary module — independent from existing session/archive features */
.dose-diary-module{margin-top:1.25rem;scroll-margin-top:1rem}
.dose-diary-form{display:grid;gap:.8rem;margin:1rem 0}
.dose-diary-form label,.dose-form-row label{display:grid;gap:.35rem;min-width:0;font-size:.92rem}
.dose-diary-form input,.dose-diary-form select,.dose-diary-form textarea,.dose-form-row input{width:100%;min-width:0;box-sizing:border-box}
.dose-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:end}
.dose-summary{border-top:1px solid var(--border-color,rgba(150,160,190,.2));padding-top:.85rem;margin-top:1rem}
.dose-summary h4{margin:.2rem 0 .65rem}
.dose-daily-totals{display:grid;gap:.45rem}
.dose-total-row,.dose-entry{border:1px solid var(--border-color,rgba(150,160,190,.2));border-radius:12px;padding:.8rem;background:var(--panel-inner,rgba(120,130,160,.045))}
.dose-total-row{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.dose-total-row span{display:grid;gap:.2rem}.dose-total-row small,.dose-entry-meta{opacity:.75;font-size:.82rem}
.dose-entries-list{display:grid;gap:.65rem}
.dose-entry-top{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.dose-entry-top time{font-size:.78rem;opacity:.75;text-align:right}
.dose-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:.6rem 0}
.dose-entry-actions{display:flex;gap:.8rem;margin-top:.55rem}
.dose-entry-actions .danger{color:var(--danger,#ff8585)}
@media(max-width:480px){.dose-form-row{grid-template-columns:minmax(0,1fr)}.dose-entry-top{flex-direction:column}.dose-entry-top time{text-align:left}}

/* Dose diary calendar statistics and multi-day selection */
.dose-calendar-tools{margin:14px 0;padding:14px}
.dose-calendar-tools .panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dose-selected-days{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.dose-date-chip{font-size:.85rem;padding:5px 9px;border-radius:999px;background:var(--surface-2,#28243a);border:1px solid var(--border,#51476a)}
.calendar-day.dose-multi-selected{outline:2px solid var(--accent,#a78bfa);outline-offset:-3px;background:rgba(167,139,250,.2)}
.dose-calendar-tools .dose-form-row{margin-top:8px}


/* V142: additive dose diary analytics */
.dose-analytics-panel { margin-top: 1rem; }
.dose-analytics-panel .panel-title { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.dose-analytics-panel h5 { margin:1.1rem 0 .55rem; font-size:.92rem; }
.dose-analytics-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; margin:.8rem 0; }
.dose-analytics-metric { min-width:0; padding:.8rem; border:1px solid var(--border-color,rgba(150,150,180,.2)); border-radius:12px; background:var(--panel-soft,rgba(130,120,180,.07)); }
.dose-analytics-metric small { display:block; color:var(--muted,#9ca3af); font-size:.76rem; margin-bottom:.3rem; }
.dose-analytics-metric strong { display:block; font-size:1.25rem; overflow-wrap:anywhere; }
.dose-trend-chart { display:flex; align-items:stretch; gap:3px; min-height:126px; padding:.5rem .15rem 0; overflow-x:auto; border-bottom:1px solid var(--border-color,rgba(150,150,180,.2)); }
.dose-trend-column { flex:1 0 18px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; min-width:18px; gap:.35rem; height:126px; }
.dose-trend-bar { width:min(70%,18px); min-height:3px; background:linear-gradient(180deg,#a78bfa,#6366f1); border-radius:5px 5px 2px 2px; }
.dose-trend-column small { font-size:.58rem; color:var(--muted,#9ca3af); white-space:nowrap; writing-mode:vertical-rl; transform:rotate(180deg); height:30px; }
.dose-heatmap { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.dose-heat-cell { min-width:0; aspect-ratio:1.15; display:grid; place-items:center; border-radius:5px; background:var(--panel-soft,rgba(130,120,180,.07)); border:1px solid var(--border-color,rgba(150,150,180,.15)); color:var(--muted,#9ca3af); font-size:.68rem; }
.dose-heat-cell.has-entry { background:rgba(139,92,246,var(--heat,.45)); border-color:rgba(167,139,250,.45); color:var(--text,#fff); }
.dose-timing-stats { display:grid; gap:.55rem; }
.dose-timing-row { display:grid; grid-template-columns:6.5rem minmax(0,1fr) 1.5rem; align-items:center; gap:.5rem; font-size:.8rem; }
.dose-timing-row > strong { text-align:right; font-variant-numeric:tabular-nums; }
.dose-timing-track { height:8px; border-radius:99px; overflow:hidden; background:var(--panel-soft,rgba(130,120,180,.12)); }
.dose-timing-fill { height:100%; min-width:0; background:linear-gradient(90deg,#818cf8,#c084fc); border-radius:99px; }
#doseExportCsv:disabled { opacity:.45; cursor:not-allowed; }
@media (min-width:620px) {
  .dose-analytics-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .dose-trend-column small { writing-mode:horizontal-tb; transform:none; height:auto; }
  .dose-trend-column { gap:.45rem; }
}

.dose-analytics-breakdown { width:100%; overflow-x:auto; }
.dose-breakdown-table { min-width:490px; display:grid; gap:0; }
.dose-breakdown-row { display:grid; grid-template-columns:minmax(100px,1.2fr) minmax(90px,1fr) minmax(105px,1fr) minmax(90px,1fr); align-items:center; gap:.55rem; padding:.65rem .45rem; border-bottom:1px solid var(--border-color,rgba(150,150,180,.16)); font-size:.78rem; }
.dose-breakdown-row > span:first-child small { display:block; color:var(--muted,#9ca3af); margin-top:.15rem; }
.dose-breakdown-row > strong, .dose-breakdown-row > span:not(:first-child) { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.dose-breakdown-head { color:var(--muted,#9ca3af); font-size:.7rem; font-weight:600; }


/* One-time update announcement modal — compact and unobtrusive */
.update-announcement-backdrop{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(2,10,8,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.update-announcement-backdrop[hidden]{display:none!important}
.update-announcement-dialog{position:relative;width:min(100%,390px);max-height:min(72vh,520px);overflow:auto;padding:22px 18px 18px;border:1px solid rgba(93,231,190,.38);border-radius:20px;background:linear-gradient(145deg,#142d25,#202236 88%);box-shadow:0 14px 44px rgba(0,0,0,.32);color:#effaf4}
.update-announcement-close{position:absolute;right:10px;top:10px;width:32px;height:32px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.07);color:inherit;font-size:22px;line-height:1;cursor:pointer}
.update-announcement-kicker{margin:3px 38px 9px 0;color:#58e3c0;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.update-announcement-dialog h2{margin:0 28px 8px 0;font-size:clamp(1.2rem,4.5vw,1.55rem);line-height:1.2}
.update-announcement-dialog p{margin:0;color:#d1e4db;font-size:.94rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.update-announcement-actions{display:flex;gap:9px;margin-top:16px;flex-wrap:nowrap}
.update-announcement-actions button{flex:1 1 0;min-width:0!important;width:auto!important;height:auto!important;min-height:42px!important;max-height:52px!important;padding:10px 12px!important;margin:0!important;font-size:.9rem!important;line-height:1.2!important;border-radius:12px!important;white-space:normal}
body.update-announcement-open{overflow:hidden}
.update-feed-highlight{outline:2px solid #5de7be;outline-offset:4px;border-radius:16px;scroll-margin-top:85px}
#updatesFeedPanel{scroll-margin-top:85px}
@media(max-width:420px){.update-announcement-dialog{width:min(100%,360px);padding:20px 16px 16px;border-radius:18px}.update-announcement-actions{flex-direction:row}.update-announcement-actions button{font-size:.84rem!important;padding:9px 8px!important}}

/* Consumption insights dashboard */
.dose-range-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:.8rem 0 1rem}
.dose-range-presets button{min-width:0;padding:.65rem .35rem;font-size:.88rem}
.dose-range-presets button.active{background:linear-gradient(120deg,#7bd99a,#43dfbf);color:#09221a;border-color:transparent;font-weight:800}
.dose-insights-dashboard h4{margin:1.35rem 0 .65rem}
.dose-insight-trend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.dose-insight-trend-card{padding:.85rem;border:1px solid var(--border-color,rgba(150,150,180,.2));border-radius:12px;background:var(--panel-soft,rgba(130,120,180,.07))}
.dose-insight-trend-card strong{display:block;font-size:1.05rem;margin:.2rem 0}
.dose-insight-trend-card small{color:var(--muted,#9ca3af)}
.dose-insight-trend-card .up{color:#fca5a5}.dose-insight-trend-card .down{color:#86efac}.dose-insight-trend-card .flat{color:#cbd5e1}
@media(max-width:420px){.dose-range-presets{gap:.3rem}.dose-range-presets button{font-size:.78rem;padding:.6rem .2rem}.dose-insight-trend{grid-template-columns:1fr}}
.dose-auto-windows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.8rem 0 1rem}
.dose-auto-window{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;padding:.8rem .65rem;border:1px solid var(--border-color,rgba(150,150,180,.2));border-radius:13px;background:var(--panel-soft,rgba(130,120,180,.07));color:inherit;min-width:0}
.dose-auto-window span{font-size:.78rem;color:var(--muted,#9ca3af)}.dose-auto-window strong{font-size:1.05rem}.dose-auto-window small{font-size:.68rem;overflow-wrap:anywhere}.dose-auto-window .up{color:#fca5a5}.dose-auto-window .down{color:#86efac}.dose-auto-window .flat{color:#cbd5e1}
@media(max-width:420px){.dose-auto-windows{gap:.35rem}.dose-auto-window{padding:.65rem .45rem}.dose-auto-window strong{font-size:.92rem}.dose-auto-window small{font-size:.62rem}}

/* V156: editable session time with explicit "use current device time" action */
.session-time-row {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.session-time-row input {
  flex: 1 1 14rem;
  min-width: 0;
}
.session-time-row button {
  flex: 0 1 auto;
  white-space: normal;
}
@media (max-width: 520px) {
  .session-time-row button { width: 100%; }
}

/* V159: explicit consent before sending a local consumption summary to AI */
.firefly-ai-data-consent{border:1px solid rgba(45,212,191,.55);background:rgba(20,45,48,.96);border-radius:14px;padding:12px;display:grid;gap:9px;line-height:1.45;color:inherit}
.firefly-ai-data-consent>strong{font-size:1rem}
.firefly-ai-data-consent p{margin:0;font-size:.82rem}
.firefly-ai-data-consent label{display:flex;align-items:flex-start;gap:8px;font-size:.82rem}
.firefly-ai-data-consent input[type=checkbox]{margin-top:3px;flex:0 0 auto;accent-color:#34d399}
.firefly-ai-data-period,.firefly-ai-data-privacy{opacity:.78}
.firefly-ai-data-consent details{border-top:1px solid rgba(255,255,255,.14);padding-top:8px}
.firefly-ai-data-consent summary{cursor:pointer;font-size:.82rem;font-weight:600}
.firefly-ai-data-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font-size:.72rem;padding:8px;background:rgba(0,0,0,.22);border-radius:8px}
.firefly-ai-data-actions{display:flex;gap:8px;flex-wrap:wrap}
.firefly-ai-data-actions button{flex:1 1 130px;min-height:40px;border-radius:9px;padding:8px;background:#27233a;color:inherit;border:1px solid rgba(45,212,191,.45);font:inherit}
.firefly-ai-data-actions button[data-data-send]{background:#34d399;color:#071b16;font-weight:700}
.firefly-ai-data-actions button:disabled{opacity:.45;cursor:not-allowed}

/* V161: mobile-safe layout for the personal-data consent card */
.firefly-ai-messages{min-width:0;max-width:100%;box-sizing:border-box}
.firefly-ai-messages>*{min-width:0;max-width:100%;box-sizing:border-box}
.firefly-ai-data-consent,
.firefly-ai-messages>.firefly-ai-data-consent{
  display:flex;flex-direction:column;align-items:stretch;
  width:100%;max-width:100%;min-width:0;flex:0 0 auto;
  box-sizing:border-box;overflow:hidden;overflow-wrap:anywhere;
}
.firefly-ai-data-consent>*{min-width:0;max-width:100%;box-sizing:border-box}
.firefly-ai-data-consent>strong{display:block;white-space:normal;overflow-wrap:anywhere}
.firefly-ai-data-consent p{white-space:normal;overflow-wrap:anywhere}
.firefly-ai-data-consent label{display:flex;width:100%;min-width:0;align-items:flex-start;gap:9px;white-space:normal;overflow-wrap:anywhere}
.firefly-ai-data-consent label input[type=checkbox]{
  display:block!important;appearance:auto!important;-webkit-appearance:checkbox!important;
  width:18px!important;min-width:18px!important;max-width:18px!important;
  height:18px!important;min-height:18px!important;max-height:18px!important;
  flex:0 0 18px!important;margin:3px 0 0!important;padding:0!important;
}
.firefly-ai-data-consent details{width:100%;min-width:0}
.firefly-ai-data-consent summary{white-space:normal;overflow-wrap:anywhere}
.firefly-ai-data-preview{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.firefly-ai-data-actions{width:100%;min-width:0;display:flex;flex-direction:row;gap:8px}
.firefly-ai-data-actions button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:420px){
 .firefly-ai-panel{left:12px!important;right:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important}
 .firefly-ai-messages{padding:10px}
 .firefly-ai-data-consent{padding:10px;gap:8px}
 .firefly-ai-data-actions{flex-direction:column}
 .firefly-ai-data-actions button{width:100%;flex:0 0 auto}
}

/* V163 admin dashboard improvements */
.admin-user-search{display:flex;gap:8px;align-items:stretch;margin:6px 0 12px}
.admin-user-search input{min-width:0;flex:1}
.admin-user-search button{flex:0 0 auto}
.admin-user-result{padding:12px;margin:8px 0;border:1px solid rgba(90,200,160,.28);border-radius:12px}
.admin-user-result p{margin:5px 0}
.admin-user-result button{margin-top:8px}
.tab.maintenance-disabled{opacity:.78;border-style:dashed}
.tab.maintenance-disabled::after{content:" · 🔧";font-size:.8em}
.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}

/* V164 quick drawer shortcuts */
.quick-menu-primary{margin-top:8px;margin-bottom:10px}
.quick-menu-start-session{border:1px solid rgba(100,230,190,.55);background:rgba(70,205,160,.12);font-weight:700}
.quick-menu-admin-group{margin-top:14px;padding-top:12px;border-top:1px solid rgba(150,130,190,.25)}
.quick-menu-admin-item{border:1px solid rgba(160,135,240,.45);background:rgba(120,90,190,.13)}


/* V165 Dashboard Studio: responsive, user-configurable grid inside the existing overview */
.dashboard-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--border-color,rgba(150,130,200,.24));border-radius:16px;background:linear-gradient(120deg,rgba(112,78,170,.16),rgba(42,177,157,.07))}
.dashboard-studio-toolbar>div{display:grid;gap:3px;min-width:0}
.dashboard-studio-kicker{font-size:.66rem;letter-spacing:.13em;color:var(--muted,#a9a2ba)}
.dashboard-studio-toolbar strong{font-size:1rem}
.dashboard-studio-toolbar small{font-size:.78rem;color:var(--muted,#a9a2ba)}
.dashboard-edit-trigger{flex:0 0 auto;white-space:nowrap}
.dashboard-grid{--dashboard-accent:#a78bfa;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
.dashboard-widget{position:relative;min-width:0;min-height:0;grid-column:span 2}
.dashboard-widget[data-size="small"]{grid-column:span 1}
.dashboard-widget[data-size="half"]{grid-column:span 2}
.dashboard-widget[data-size="full"]{grid-column:1/-1}
.dashboard-widget[hidden]{display:none!important}
.dashboard-widget-content{min-width:0;height:100%}
.dashboard-widget-content>.panel,.dashboard-widget-content>.warning-panel{height:100%;margin:0}
.dashboard-widget[data-widget="clean"] .dashboard-widget-content{display:flex;align-items:center;min-height:38px}
.dashboard-widget[data-widget="sessions"] .stat-card,.dashboard-widget[data-widget="moods"] .stat-card,.dashboard-widget[data-widget="journal"] .stat-card{height:100%;min-height:105px}
.dashboard-widget[data-widget="active"] .panel:empty{display:none}
.dashboard-widget[data-widget="optional"] .optional-feature-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dashboard-widget[data-widget="optional"] .optional-feature-modules.hidden{display:none}
.dashboard-widget[data-widget="optional"] .feature-module{margin:0;min-width:0}
.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dashboard-action-grid button{min-width:0;white-space:normal}
.dashboard-editor{margin:0 0 14px;border-color:color-mix(in srgb,var(--dashboard-accent,#a78bfa) 50%,transparent)}
.dashboard-editor[hidden]{display:none}
.dashboard-editor-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.dashboard-editor-controls label{display:grid;gap:5px;font-size:.82rem}
.dashboard-editor-controls select{width:100%;min-width:0}
.dashboard-widget-library{padding-top:10px;border-top:1px solid var(--border-color,rgba(150,130,200,.2))}
.dashboard-widget-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.dashboard-widget-toggle{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--border-color,rgba(150,130,200,.2));border-radius:10px;font-size:.8rem;min-width:0}
.dashboard-widget-toggle input{accent-color:var(--dashboard-accent,#a78bfa);flex:0 0 auto}
.dashboard-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.dashboard-widget-tools{display:none}
.dashboard-grid.is-editing .dashboard-widget{outline:1px dashed color-mix(in srgb,var(--dashboard-accent,#a78bfa) 70%,transparent);outline-offset:3px;border-radius:12px}
.dashboard-grid.is-editing .dashboard-widget-tools{display:flex;align-items:center;gap:5px;padding:6px;margin-bottom:7px;border:1px solid color-mix(in srgb,var(--dashboard-accent,#a78bfa) 45%,transparent);border-radius:10px;background:var(--panel-bg,rgba(25,22,40,.95));}
.dashboard-widget-tools strong{font-size:.72rem;flex:1;min-width:0}
.dashboard-widget-tools button,.dashboard-widget-tools select{font:inherit;font-size:.72rem;min-height:30px;padding:4px 7px;border-radius:7px}
.dashboard-widget-tools button{border:1px solid var(--border-color,rgba(150,130,200,.25));background:transparent;color:inherit}
.dashboard-widget[draggable="true"]{cursor:grab}
.dashboard-widget.dragging{opacity:.45}
.dashboard-widget.drag-over{outline:2px solid var(--dashboard-accent,#a78bfa)}
.dashboard-grid[data-accent="teal"]{--dashboard-accent:#42c7a5}
.dashboard-grid[data-accent="blue"]{--dashboard-accent:#60a5fa}
.dashboard-grid[data-accent="rose"]{--dashboard-accent:#f472b6}
.dashboard-grid[data-accent="violet"]{--dashboard-accent:#a78bfa}
@media(max-width:760px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-widget[data-size="full"]{grid-column:1/-1}.dashboard-widget[data-size="half"]{grid-column:span 2}.dashboard-widget[data-size="small"]{grid-column:span 1}}
@media(max-width:430px){.dashboard-studio-toolbar{align-items:flex-start;padding:12px}.dashboard-edit-trigger{padding:.65rem .7rem;font-size:.78rem}.dashboard-widget[data-size="half"]{grid-column:1/-1}.dashboard-editor-controls{grid-template-columns:1fr}.dashboard-widget-toggles{grid-template-columns:1fr 1fr}.dashboard-widget[data-widget="optional"] .optional-feature-modules{grid-template-columns:1fr}.dashboard-action-grid{grid-template-columns:1fr 1fr}}


/* V166: Dashboard Studio iPhone layout repair */
.dashboard-editor {
  scroll-margin-top: 150px;
}
.dashboard-widget-toggles {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.dashboard-widget-toggle {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  justify-content: flex-start;
}
.dashboard-widget-toggle input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: block !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  flex: 0 0 22px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.dashboard-widget-toggle span {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.dashboard-widget-tools {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.dashboard-widget-tools select {
  flex: 1 1 110px;
  min-width: 0;
  max-width: 100%;
}
.dashboard-widget-tools button {
  flex: 0 0 38px;
  min-width: 38px;
}
@media (max-width: 520px) {
  .dashboard-widget-toggles {
    grid-template-columns: minmax(0, 1fr);
  }
  .dashboard-widget-toggle {
    min-height: 48px;
    padding: 10px 12px;
    gap: 11px;
    font-size: .9rem;
  }
  .dashboard-editor {
    scroll-margin-top: 165px;
  }
  .dashboard-widget-tools {
    gap: 6px;
    padding: 7px;
  }
  .dashboard-widget-tools strong {
    flex: 1 1 100%;
  }
  .dashboard-widget-tools select {
    flex: 1 1 auto;
  }
}


/* BUILD 168: per-substance amount timelines */
.dose-amount-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:.75rem;margin:.5rem 0 1rem}
.dose-amount-card{min-width:0;padding:.8rem;border:1px solid var(--border-color,rgba(150,150,180,.22));border-radius:14px;background:var(--panel-soft,rgba(130,120,180,.07))}
.dose-amount-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.dose-amount-card-head strong{font-size:1rem}.dose-amount-card-head span,.dose-amount-card-foot{color:var(--muted,#9ca3af);font-size:.82rem}
.dose-amount-card svg{display:block;width:100%;height:auto;margin:.45rem 0 .1rem;overflow:visible}
.dose-amount-grid{stroke:var(--border-color,rgba(150,150,180,.25));stroke-width:1;stroke-dasharray:3 5}
.dose-amount-line{fill:none;stroke:#9b82f6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.dose-amount-dot{fill:#b99cff;stroke:var(--panel-bg,#242424);stroke-width:2}
.dose-amount-axis{fill:var(--muted,#9ca3af);font-size:12px}
.dose-amount-card-foot{display:flex;justify-content:space-between;gap:.45rem;flex-wrap:wrap;border-top:1px solid var(--border-color,rgba(150,150,180,.18));padding-top:.55rem}
.dose-amount-card-foot strong{color:var(--text-color,#f3f4f6)}

/* BUILD 170: numeric labels for clearer, mobile-readable statistics */
.dose-amount-y-label{font-size:11px}
.dose-amount-value{fill:var(--text-color,#f3f4f6);font-size:12px;font-weight:700;paint-order:stroke;stroke:var(--panel-soft,#242424);stroke-width:3px;stroke-linejoin:round}
.dose-trend-chart{align-items:flex-end;gap:5px}
.dose-trend-column{flex:1 0 25px;min-width:25px;justify-content:flex-end;gap:.22rem}
.dose-trend-value{font-size:.68rem;line-height:1;color:var(--text-color,#f3f4f6);font-variant-numeric:tabular-nums}
.dose-trend-bar{flex:0 0 auto}
.dose-timing-row{grid-template-columns:6.5rem minmax(0,1fr) 2rem 3rem}
.dose-timing-row>small{text-align:right;color:var(--muted,#9ca3af);font-size:.72rem;font-variant-numeric:tabular-nums}
@media(max-width:420px){.dose-timing-row{grid-template-columns:5.6rem minmax(0,1fr) 1.7rem 2.8rem;gap:.35rem}.dose-timing-row>span{font-size:.76rem}}

/* Language Quality Center */
.language-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.language-quality-grid>div{padding:13px;border:1px solid var(--line,#294b46);border-radius:12px;background:rgba(20,35,36,.65);display:flex;flex-direction:column;gap:4px}
.language-quality-grid strong{font-size:1.45rem;color:var(--accent,#61e5c0);font-variant-numeric:tabular-nums}
.language-quality-grid span,.language-quality-report,.language-glossary small{font-size:.82rem;color:var(--muted,#aab8b5)}
.language-quality-report{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-radius:10px;background:rgba(0,0,0,.18);margin-top:12px;max-height:280px;overflow:auto}
.language-glossary{margin-top:14px}.language-glossary summary{cursor:pointer;font-weight:650;padding:8px 0}
.lqc-term{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;padding:9px 0;border-bottom:1px solid var(--line,#294b46)}
.lqc-term small{grid-column:1/-1}.lqc-term span{color:var(--muted,#aab8b5)}

/* BUILD 203 — admin language diagnostics */
.lqc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
@media(max-width:420px){.lqc-actions{grid-template-columns:1fr}}
.language-quality-report [data-severity="error"]{color:#ff9d9d}
.language-quality-report [data-severity="warning"]{color:#ffd58a}

/* Calendar-month report */
.monthly-report-panel{overflow:hidden}.monthly-report-nav{margin:.75rem 0 1.1rem}.monthly-report-nav button:disabled{opacity:.3;cursor:not-allowed}.monthly-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.monthly-metric{min-width:0;border:1px solid var(--line,rgba(190,130,230,.22));border-radius:16px;padding:.9rem;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:.25rem}.monthly-metric small{color:var(--muted,#a9a3b8);font-size:.78rem}.monthly-metric strong{font-size:1.55rem;line-height:1.2;overflow-wrap:anywhere}.monthly-metric span{font-size:.72rem;color:var(--muted,#a9a3b8)}.monthly-section{margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--line,rgba(190,130,230,.2))}.monthly-section h4{margin:0 0 .8rem}.monthly-weekdays,.monthly-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;text-align:center}.monthly-weekdays{margin-bottom:.35rem;color:var(--muted,#aaa);font-size:.72rem}.monthly-day{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045);font-size:.78rem}.monthly-day.empty-day{background:transparent}.monthly-day.has-entry{background:linear-gradient(140deg,#9d65ed,#22d8c4);color:#101020;font-weight:800}.monthly-bars{display:grid;gap:.75rem}.monthly-bar-row{display:grid;gap:.3rem}.monthly-bar-label{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem}.monthly-bar-label span{overflow-wrap:anywhere}.monthly-bar-track,.monthly-mood-track{background:rgba(255,255,255,.09);border-radius:999px;overflow:hidden}.monthly-bar-track{height:9px}.monthly-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#bd45df,#19d8c5)}.monthly-mood-bars{display:flex;align-items:end;justify-content:space-around;gap:.6rem;height:150px;padding:.5rem 0}.monthly-mood-item{height:100%;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:end;gap:.25rem;font-size:.76rem}.monthly-mood-track{height:105px;width:min(34px,70%);display:flex;align-items:end}.monthly-mood-track i{display:block;width:100%;border-radius:8px 8px 3px 3px;background:linear-gradient(0deg,#a76cf0,#20d8c5)}.monthly-mood-item small{color:var(--muted,#aaa)}.monthly-disclaimer{margin-top:1.2rem;padding:.85rem;border-radius:12px;background:rgba(140,110,180,.09);color:var(--muted,#aaa);font-size:.78rem;line-height:1.5}

.community-role-moderator{border-color:#28b9ad!important;color:#66e3d4!important;background:rgba(32,190,175,.1)!important}


/* Build 211: compact, categorized settings center */
.settings-subnav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  align-items:stretch;
  padding:8px;
  overflow:visible;
}
.settings-subnav-separator{display:none!important}
.settings-subtab{
  min-width:0;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:9px 7px;
  border:1px solid transparent;
  border-radius:12px;
  white-space:normal;
  line-height:1.2;
  font-size:.88rem;
  text-align:center;
}
.settings-subtab.active{
  color:var(--text,#f4efff);
  border-color:rgba(177,125,255,.5);
  background:linear-gradient(135deg,rgba(177,70,230,.20),rgba(0,220,205,.10));
  box-shadow:inset 0 0 0 1px rgba(177,125,255,.12);
}
.settings-subtab span{overflow-wrap:anywhere}
.settings-category-intro{border-color:rgba(0,220,205,.24)}
.settings-legal-footer{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:22px 0 10px;padding:8px;color:var(--muted,#9296aa);
  font-size:.76rem;opacity:.78
}
.settings-legal-link{
  border:0;background:transparent;color:inherit;text-decoration:underline;
  text-underline-offset:3px;padding:5px 2px;font:inherit;cursor:pointer
}
.settings-legal-link:hover{color:var(--text,#f4efff)}
.privacy-info-dialog{
  width:min(92vw,560px);max-height:85dvh;overflow:auto;
  padding:0;border:1px solid rgba(177,125,255,.45);border-radius:20px;
  color:var(--text,#f4efff);background:var(--surface,#171322);
  box-shadow:0 24px 80px rgba(0,0,0,.55)
}
.privacy-info-dialog::backdrop{background:rgba(5,3,12,.76);backdrop-filter:blur(5px)}
.privacy-info-content{padding:22px}
.privacy-info-content h3{margin:8px 0 12px}
.privacy-info-content li{margin:8px 0;color:var(--text-secondary,#c5bdd1)}
@media(max-width:520px){
 .settings-subnav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px}
 .settings-subtab{min-height:48px;font-size:.82rem}
 .settings-legal-footer{font-size:.7rem}
}


/* Build 213: account credentials and cloud sync are separate settings destinations. */
#cloudAccountAccessPanel,
#settingsCloud #cloudSyncPanel {
  scroll-margin-top: 6rem;
}
#settingsCloud #cloudSyncPanel .privacy-checks {
  display: grid;
  gap: .85rem;
  margin: 1rem 0;
}
#settingsCloud #cloudSyncPanel .autosync-switch {
  align-items: flex-start;
}
#settingsCloud #cloudSyncPanel .autosync-switch small {
  display: block;
  margin-top: .35rem;
  line-height: 1.5;
}

/* Build 214: expanded, bilingual technical privacy notice. */
.privacy-info-content h4{margin:1.25rem 0 .45rem;color:var(--text,#f4efff);font-size:1rem}
.privacy-info-content p{line-height:1.58}
.privacy-info-content ul{padding-left:1.25rem}
.privacy-info-content li{margin:.55rem 0;line-height:1.55}
.privacy-notice-warning{margin-top:1rem;padding:.85rem 1rem;border:1px solid rgba(255,190,90,.45);border-radius:12px;background:rgba(255,190,90,.08)}
.privacy-language-panel[hidden]{display:none!important}

/* Build 216: public privacy center and admin-managed policy editor. */
.privacy-info-dialog{
  box-sizing:border-box;
  width:min(94vw,680px);
  max-width:calc(100vw - 20px);
  max-height:calc(100dvh - 28px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.privacy-info-content{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
.privacy-info-content *{box-sizing:border-box;max-width:100%}
.privacy-info-content p,.privacy-info-content h3,.privacy-info-content h4{overflow-wrap:anywhere}
.privacy-policy-live{min-width:0;overflow-wrap:anywhere}
.privacy-policy-live p{white-space:pre-wrap;line-height:1.6}
#privacyPolicyAdmin input,#privacyPolicyAdmin textarea{
  display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
#privacyPolicyAdmin textarea{resize:vertical;line-height:1.5}
#privacyPolicyAdmin .helper{line-height:1.5}

/* Build 217 — FIREFLY APP LOCK */
.app-lock-screen{
  position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(7,5,15,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  overflow:auto;overscroll-behavior:contain;
}
.app-lock-screen[hidden]{display:none!important}
.app-lock-card{
  width:min(100%,430px);max-height:calc(100dvh - 40px);overflow:auto;
  border:1px solid rgba(177,125,255,.5);border-radius:24px;padding:26px;
  background:linear-gradient(155deg,rgba(32,23,48,.98),rgba(16,13,32,.99));
  box-shadow:0 24px 90px rgba(0,0,0,.65);color:var(--text,#f5efff);
}
.app-lock-card h1{font-size:1.65rem;margin:.35rem 0 .5rem}
.app-lock-card p{line-height:1.5}
.app-lock-mark{font-size:2.8rem;color:#00e5d1;margin:.7rem 0}
.app-lock-card input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:.3rem 0 .85rem}
.app-lock-card button{margin-top:.45rem}
.app-lock-card .text-button{display:block;background:none;border:0;color:#70e7dc;text-decoration:underline;padding:.8rem;margin:.3rem auto}
.app-lock-more-options-panel{margin:.35rem 0 .8rem;padding:14px;border:1px solid rgba(255,110,125,.35);border-radius:14px;background:rgba(130,30,50,.10)}
.app-lock-more-options-panel[hidden]{display:none!important}
.app-lock-more-options-panel p{font-size:.88rem;margin:.2rem 0 .7rem}
.app-lock-card .app-lock-emergency-button{background:linear-gradient(135deg,#9e243b,#c43b50);border:1px solid rgba(255,170,180,.45);color:#fff;font-weight:750;white-space:normal;line-height:1.35;padding:14px}
.app-lock-card .app-lock-emergency-button:focus-visible,.app-lock-more-options:focus-visible{outline:3px solid #ffb2bd;outline-offset:3px}
.lock-recovery-divider{text-align:center;opacity:.65;margin:1rem}
.recovery-key-reveal{border:1px solid rgba(0,229,209,.45);border-radius:14px;padding:14px;margin:12px 0;background:rgba(0,229,209,.06);overflow-wrap:anywhere}
.recovery-key-reveal code{display:block;font-size:1.1rem;letter-spacing:.07em;padding:12px 0;color:#7ef7e8;user-select:all}
body.app-locked{overflow:hidden!important}
body.app-locked>*:not(#fireflyAppLockScreen){pointer-events:none}
#fireflyAppLockScreen{pointer-events:auto}
#fireflyAppLockPanel h4{margin:1.2rem 0 .55rem}
#fireflyAppLockPanel input:not([type=checkbox]),#fireflyAppLockPanel select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:520px){
 .app-lock-screen{padding:12px;align-items:flex-start}
 .app-lock-card{margin:auto 0;max-height:calc(100dvh - 24px);padding:20px;border-radius:20px}
}

/* BUILD 219 — wellbeing, notifications and community media controls */
.firefly-notification-trigger{position:relative;border:1px solid var(--border-color,#51405f);background:var(--card-bg,#211b2b);color:var(--text,#f5edf8);border-radius:50%;width:44px;height:44px;font-size:1.25rem;cursor:pointer}.firefly-notification-trigger i{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;border-radius:20px;background:#e65a76;color:#fff;font-size:.65rem;font-style:normal;display:grid;place-items:center;padding:0 4px}.firefly-notification-panel{margin:0 0 1rem;border-color:rgba(180,130,230,.35)}.firefly-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.firefly-feature-grid>.panel{min-width:0}.firefly-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.firefly-form-grid label,.firefly-feature-grid form>label{display:grid;gap:.35rem;margin:.65rem 0}.firefly-feature-grid input,.firefly-feature-grid select,.firefly-feature-grid textarea{width:100%;min-width:0}.firefly-result{margin-top:.8rem;padding:.85rem;border-radius:14px;background:rgba(140,120,180,.12);border:1px solid rgba(170,140,210,.25);line-height:1.5}.firefly-entry-list{display:grid;gap:.55rem;margin-top:.8rem}.firefly-entry{padding:.7rem;border-radius:12px;background:rgba(140,120,180,.09);border:1px solid rgba(170,140,210,.18)}.firefly-entry small{display:block;opacity:.72;margin-bottom:.25rem}.firefly-knowledge-list{display:grid;gap:.65rem}.firefly-knowledge-list details{padding:.8rem;border:1px solid var(--border-color,#51405f);border-radius:12px;background:rgba(140,120,180,.08)}.firefly-knowledge-list summary{cursor:pointer;font-weight:700}.firefly-knowledge-list p{line-height:1.55}.firefly-ai-modes{display:flex;flex-wrap:wrap;gap:.5rem}.community-upload-tools{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.5rem 0}.community-photo-label{display:inline-flex;align-items:center;cursor:pointer}.community-message-image{display:block;max-width:min(100%,420px);max-height:360px;object-fit:contain;border-radius:12px;margin-top:.6rem}.community-message-image-grid{display:flex;gap:.5rem;flex-wrap:wrap}.firefly-e2ee-note{font-size:.8rem;color:var(--accent,#68e5d2);margin:.25rem 0}.firefly-notification-item{padding:.65rem 0;border-bottom:1px solid var(--border-color,#51405f)}
@media(max-width:760px){.firefly-feature-grid{grid-template-columns:1fr}.firefly-form-grid{grid-template-columns:1fr}.firefly-notification-trigger{width:40px;height:40px}}


/* BUILD225 — iPhone monthly report layout and navigation visibility */
.monthly-report-panel{width:100%;max-width:100%;min-width:0;overflow:hidden}
.monthly-report-panel>.panel-title{align-items:flex-start;flex-wrap:wrap;min-width:0}
.monthly-report-panel>.panel-title>div{flex:1 1 220px;min-width:0}
.monthly-report-panel>.panel-title h3,.monthly-report-panel>.panel-title .helper{overflow-wrap:anywhere}
.monthly-report-nav{width:100%;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;padding:13px 8px;align-items:center}
.monthly-report-nav strong{min-width:0;text-align:center;font-size:clamp(17px,4.6vw,22px);line-height:1.25;overflow-wrap:anywhere}
.monthly-report-nav button{width:42px;min-width:42px;padding:0;display:grid;place-items:center}
.monthly-report-panel #monthlyReportContent,.monthly-report-panel .monthly-metrics,.monthly-report-panel .monthly-section{min-width:0;max-width:100%}
.monthly-metric{min-width:0;overflow:hidden}
.monthly-metric small,.monthly-metric span{overflow-wrap:anywhere;line-height:1.4}
.monthly-bar-label{min-width:0;align-items:flex-start}
.monthly-bar-label span{min-width:0;overflow-wrap:anywhere}
@media(max-width:360px){.monthly-metrics{grid-template-columns:minmax(0,1fr)}.monthly-report-panel{padding:14px}.monthly-weekdays,.monthly-calendar-grid{gap:.2rem}.monthly-day{font-size:.72rem}}

/* BUILD228: compact DM security status; keep composer unobstructed on phones */
.community-dm-composer{display:flex;gap:.55rem;align-items:flex-end;min-width:0}.community-dm-composer textarea{flex:1 1 auto;width:0;min-height:48px;max-height:140px;resize:vertical}.community-dm-composer button{flex:0 0 auto;white-space:nowrap}.community-dm-messages{min-width:0}
@media(max-width:640px){.community-dm-panel{grid-template-columns:minmax(0,1fr);}.community-dm-sidebar{border-right:0;border-bottom:1px solid var(--community-border);}.community-dm-conversation-head{padding:.65rem .8rem}.community-dm-composer{padding:.65rem;gap:.45rem}.community-dm-composer textarea{font-size:16px;padding:.65rem}.community-dm-composer button{padding:.7rem .85rem}.community-dm-messages{padding:.75rem;min-height:220px;max-height:55vh}}

/* BUILD228 follow-up: compact DM security disclosure and robust mobile composer layout */
.community-dm-conversation-head{min-width:0}
.community-dm-security-details{font-size:.68rem;line-height:1.35;color:var(--community-muted);max-width:100%}
.community-dm-security-details summary{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem 0;cursor:pointer;list-style: disclosure-closed}
.community-dm-security-details[open] summary{margin-bottom:.2rem}
.community-dm-security-details p{margin:.2rem 0 .1rem;max-width:58ch;overflow-wrap:anywhere}
.community-dm-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end;min-width:0}
.community-dm-composer textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:48px;max-height:140px;resize:vertical}
.community-dm-composer button{min-width:88px;max-width:100%;white-space:nowrap;align-self:end}
.privacy-policy-controller-details{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid rgba(180,140,220,.25)}
.privacy-policy-controller-details h4{margin:.25rem 0 .5rem}
.privacy-policy-controller-details p{margin:.25rem 0;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:680px){
 .community-dm-composer{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;padding:.65rem}
 .community-dm-composer button{min-width:76px;padding:.75rem .85rem}
 .community-dm-security-details p{font-size:.68rem}
}


/* BUILD 235: keep the cloud passphrase checkbox compact and its label visible
   on iOS Safari and Android Chrome. Global form-input width must not affect it. */
#cloudAccountAccessPanel .cloud-passphrase-remember {
  display:flex; align-items:flex-start; gap:12px; width:100%; min-width:0;
  margin:12px 0; padding:12px; border:1px solid var(--line);
  border-radius:12px; background:rgba(255,255,255,.035);
  box-sizing:border-box; cursor:pointer;
}
#cloudAccountAccessPanel .cloud-passphrase-remember > input[type="checkbox"] {
  appearance:auto; -webkit-appearance:checkbox; display:block;
  width:22px !important; min-width:22px !important; max-width:22px !important;
  height:22px !important; flex:0 0 22px !important;
  margin:3px 0 0 !important; padding:0 !important; accent-color:#a58bff;
}
#cloudAccountAccessPanel .cloud-passphrase-remember > span {
  display:block; flex:1 1 auto; min-width:0; width:auto;
  overflow-wrap:anywhere; line-height:1.45;
}
#cloudAccountAccessPanel .cloud-passphrase-remember b {display:block;margin:0 0 4px;}
#cloudAccountAccessPanel .cloud-passphrase-remember small {
  display:block; color:var(--muted); font-size:12px; line-height:1.5;
  white-space:normal; overflow-wrap:anywhere;
}


/* BUILD 237 — Wellbeing section jump navigation */
.firefly-wellbeing-view { scroll-behavior: smooth; }
.wellbeing-jump-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 24px;
  padding: 12px;
  border: 1px solid rgba(190, 80, 210, .38);
  border-radius: 18px;
  background: rgba(35, 24, 48, .78);
}
.wellbeing-jump-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid rgba(190, 80, 210, .48);
  border-radius: 13px;
  color: inherit;
  background: rgba(255,255,255,.045);
  font-weight: 650;
  text-decoration: none;
}
.wellbeing-jump-nav a:focus-visible {
  outline: 3px solid #62e8d2;
  outline-offset: 3px;
}
.firefly-wellbeing-view .firefly-feature-grid > article[id^="fx-wellbeing-"] {
  scroll-margin-top: 100px;
}
@media (max-width: 600px) {
  .wellbeing-jump-nav { gap: 8px; padding: 10px; }
  .wellbeing-jump-nav a { flex: 1 1 calc(50% - 8px); text-align: center; font-size: .94rem; }
}


/* BUILD 238 — Cloud passphrase shortcut in Cloud & Data */
.cloud-passphrase-settings {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(190, 80, 210, .42);
  border-radius: 16px;
  background: rgba(35, 24, 48, .42);
}
.cloud-passphrase-settings h4 { margin: 0 0 10px; }
.cloud-passphrase-settings input {
  width: 100%;
  box-sizing: border-box;
}
.cloud-passphrase-settings .button-stack { margin-top: 10px; }


/* BUILD 267: first-run Simply Mode welcome notice */
.simply-mode-welcome[hidden]{display:none!important}
.simply-mode-welcome{position:relative;margin:0 0 16px;padding:16px 48px 14px 16px;border:1px solid #62e7e477;border-radius:16px;background:linear-gradient(125deg,rgba(25,48,52,.94),rgba(34,27,56,.94));color:var(--text);box-shadow:0 8px 24px #0003;font-size:14px;line-height:1.5}
.simply-mode-welcome strong{display:block;color:var(--cyan);margin:0 0 8px}
.simply-mode-welcome p{margin:6px 0}
.simply-mode-welcome #dismissSimplyModeWelcome{position:absolute;right:9px;top:8px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff18;color:var(--text);font-size:24px;line-height:1;cursor:pointer}
.simply-mode-welcome #openTutorialFromWelcome{position:static;display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:40px;margin:10px 0 0;padding:9px 14px;border:1px solid var(--border,rgba(255,255,255,.16));border-radius:12px;background:rgba(255,255,255,.08);color:var(--text);font:inherit;font-weight:650;white-space:normal;text-align:center;overflow-wrap:anywhere}
.simply-mode-welcome #openTutorialFromWelcome:focus-visible,.simply-mode-welcome #dismissSimplyModeWelcome:focus-visible{outline:2px solid var(--cyan,#62e7e4);outline-offset:3px}
@media(max-width:420px){.simply-mode-welcome{padding:15px 48px 14px 14px}.simply-mode-welcome #openTutorialFromWelcome{width:100%}}

/* Subtle voluntary project support link: settings footer only */
.firefly-support-settings-link{font-size:.82rem;opacity:.68;text-decoration:none;white-space:nowrap}
.firefly-support-settings-link:hover,.firefly-support-settings-link:focus-visible{opacity:1;text-decoration:underline}


/* BUILD 279: one consistent global legal/support footer across every app module. */
.firefly-global-footer{
  display:flex;flex-direction:column;align-items:stretch;gap:16px;
  border-top:1px solid #ffffff18;padding:22px clamp(18px,4vw,52px) 28px;
}
.firefly-footer-brand{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:9px;letter-spacing:.16em;color:var(--muted)
}
.firefly-footer-links{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:10px 14px;color:var(--muted);font-size:.84rem
}
.firefly-footer-links .settings-legal-link{
  color:inherit;text-decoration:underline;text-underline-offset:3px;
  padding:7px 2px;font:inherit;font-weight:500
}
.firefly-footer-links .firefly-support-settings-link{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border:1px solid rgba(77,202,255,.48);
  border-radius:12px;background:linear-gradient(110deg,rgba(67,145,255,.18),rgba(61,218,245,.16));
  color:var(--text,#f4efff);font-weight:750;letter-spacing:.01em;
  text-decoration:none;box-shadow:0 4px 18px rgba(42,160,255,.10);
}
.firefly-footer-links .firefly-support-settings-link:hover{
  border-color:rgba(77,202,255,.85);background:linear-gradient(110deg,rgba(67,145,255,.28),rgba(61,218,245,.24));
}
@media(max-width:560px){
  .firefly-footer-links{gap:8px 10px;font-size:.76rem}
  .firefly-footer-links .firefly-support-settings-link{padding:9px 12px}
  .firefly-footer-brand{line-height:1.6}
}


/* BUILD282 — Focused header logo + diary tab usability fixes.
   Preserve existing sticky header, navigation, layout and brand click behavior. */
.brand {
  flex: 0 1 auto;
  min-width: 0;
}
.brand-mark {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}
.brand > span:last-child {
  min-width: 0;
}
.journal-subtabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  scrollbar-width: thin;
}
.journal-subtabs .segment {
  flex: 0 0 auto;
  width: auto;
  min-width: max-content;
  max-width: none;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}
@media (max-width: 520px) {
  .journal-subtabs {
    gap: 4px;
    padding: 4px;
  }
  .journal-subtabs .segment {
    padding: 13px 14px;
    font-size: clamp(14px, 3.8vw, 17px);
  }
  .brand {
    gap: 8px;
  }
  .brand-mark {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }
}


/* BUILD 290 — dedicated, responsive FIREFLY SPACE authentication screen */
.firefly-auth-screen{position:fixed;inset:0;z-index:10050;overflow-y:auto;background:radial-gradient(ellipse at 50% 0%,rgba(111,78,190,.20),transparent 42%),#0b0d1a;padding:clamp(16px,4vw,42px);display:grid;place-items:center}
.firefly-auth-screen[hidden]{display:none!important}
.firefly-auth-shell{position:relative;width:min(100%,520px);margin:auto;padding:clamp(22px,5vw,42px);border:1px solid rgba(159,137,255,.28);border-radius:28px;background:linear-gradient(160deg,rgba(25,27,45,.98),rgba(13,15,29,.99));box-shadow:0 28px 90px rgba(0,0,0,.48);color:#f5f2ff}
.firefly-auth-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;font-size:26px;cursor:pointer}
.firefly-auth-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:clamp(19px,5vw,26px);font-weight:850;letter-spacing:.12em;margin:8px 36px 28px}
.firefly-auth-brand b{color:#55dce8}
.firefly-auth-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid #9d8aff;color:#62dce7;font-size:24px;box-shadow:0 0 22px rgba(147,117,255,.28)}
.firefly-auth-shell h1{text-align:center;font-size:clamp(30px,7vw,42px);line-height:1.12;margin:0 0 10px;color:#fff}
.firefly-auth-tagline{text-align:center;color:#a6a9c5;margin:0 0 28px;font-size:clamp(14px,3.5vw,18px)}
.firefly-auth-shell #cloudAccountAccessPanel{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.firefly-auth-shell #cloudAccountAccessPanel>h3,.firefly-auth-shell #cloudAccountAccessPanel>#cloudIntro{display:none}
.firefly-auth-shell #cloudAccountAccessPanel label{color:#e9e7f5}
.firefly-auth-shell #cloudAccountAccessPanel input:not([type=checkbox]){width:100%;box-sizing:border-box;min-height:54px;border-radius:13px;background:#292b40;border:1px solid rgba(255,255,255,.09);color:#fff;padding:13px 15px;font-size:16px}
.firefly-auth-shell #cloudAccountAccessPanel .button-stack{display:grid;gap:12px;margin-top:18px}
.firefly-auth-shell #cloudAccountAccessPanel button{min-height:54px;border-radius:13px;font-weight:750;font-size:16px}
.firefly-auth-shell #cloudGoogleLogin{background:#fff!important;color:#202124!important;border:0!important}
.firefly-auth-shell #cloudCreate{background:#a38aff!important;color:#fff!important;border:0!important}
.firefly-auth-shell #cloudLogin{background:rgba(255,255,255,.08)!important;color:#fff!important}
.firefly-auth-shell .cloud-passphrase-remember,.firefly-auth-shell #cloudPassphraseHelp{font-size:13px}
.firefly-auth-footnote{text-align:center;color:#9295b0;font-size:11px;letter-spacing:.16em;margin:26px 0 0}
@media(max-width:520px){.firefly-auth-screen{padding:12px}.firefly-auth-shell{border-radius:22px;padding:24px 18px}.firefly-auth-close{right:12px;top:12px}}


/* BUILD 295: Telegram community link in the global footer. */
.firefly-footer-links .firefly-telegram-community-link{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 16px;border:1px solid rgba(34,158,217,.62);
  border-radius:12px;background:linear-gradient(110deg,rgba(34,158,217,.22),rgba(77,202,255,.13));
  color:var(--text,#f4efff);font-weight:750;letter-spacing:.01em;text-decoration:none;
  box-shadow:0 4px 18px rgba(34,158,217,.12);
}
.firefly-footer-links .firefly-telegram-community-link:hover,.firefly-footer-links .firefly-telegram-community-link:focus-visible{
  border-color:rgba(77,202,255,.95);background:linear-gradient(110deg,rgba(34,158,217,.34),rgba(77,202,255,.22));
}
