/* Only the GSD GANG world. LIFE JOURNAL typography and geometry are untouched. */
.theme-pack .gang-functional { --gang-gold:#f3c94b; color:#f4f1e8; }
.theme-pack .gang-functional-banner { min-height:245px; background-image:linear-gradient(90deg,rgba(9,11,14,.92),rgba(9,11,14,.32)),url('assets/gang-cover.webp'); background-position:center,70% 35%; background-size:cover; border:1px solid #4e4122; }
.theme-pack .gang-functional-banner h1 { font-family:Bangers,Impact,sans-serif; color:var(--gang-gold); font-size:clamp(56px,6vw,94px); line-height:1; letter-spacing:.025em; text-shadow:3px 4px #000; }
.theme-pack .gang-functional-banner h1 span { display:block; color:#fff; font:700 clamp(15px,2vw,23px)/1.5 Manrope,sans-serif; letter-spacing:.06em; }
.theme-pack .gang-functional-banner p { color:#d4c8b1; }
.theme-pack .gang-primary-actions { grid-template-columns:repeat(7,minmax(0,1fr)); margin:18px 0; gap:8px; }
.theme-pack .gang-primary-actions button { min-width:0; min-height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; font-size:12px; background:#161b20; border-color:#494431; }
.theme-pack .gang-primary-actions button:hover { color:var(--gang-gold); border-color:var(--gang-gold); }
.theme-pack .gang-dashboard-tools,.theme-pack .gang-profile-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:18px 0; }
.theme-pack .gang-dog-filter { display:flex; gap:6px; flex-wrap:wrap; }
.theme-pack .gang-dashboard-search { display:grid; gap:5px; color:#b7c1c9; font-size:12px; }
.theme-pack .gang-dashboard-search input { min-height:44px; min-width:0; background:#11161c; color:#fff; border:1px solid #454d55; border-radius:8px; padding:9px; font-size:16px; }
.theme-pack .gang-dog-filter button { min-height:44px; display:flex; align-items:center; gap:6px; font-size:12px; }
.theme-pack .gang-dog-filter button[aria-pressed=true] { color:#101317; background:#f3c94b; border-color:#f3c94b; }
.theme-pack .gang-dog-filter i { width:8px; height:8px; background:var(--series); border-radius:50%; }
.theme-pack .gang-dashboard-grid,.theme-pack .gang-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.theme-pack .gang-span-2 { grid-column:span 2; }
.theme-pack .gang-functional-card { min-width:0; padding:20px; border:1px solid #30353c; border-radius:16px; background:linear-gradient(140deg,#191e24,#101419); box-shadow:0 10px 28px #0002; }
.theme-pack .gang-card-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; border-bottom:1px solid #30353c; padding-bottom:13px; margin-bottom:14px; }
.theme-pack .gang-card-heading small { display:block; color:var(--dog,#f3c94b); font-size:10px; font-weight:800; letter-spacing:.12em; margin-bottom:5px; }
.theme-pack .gang-card-heading h2 { margin:0; font-size:18px; line-height:1.35; }
.theme-pack .gang-card-heading>button { flex:none; min-width:44px; min-height:44px; padding:4px; font-size:24px; }
.theme-pack .gang-functional-card h3 { font-size:14px; margin:18px 0 10px; color:#f3c94b; }
.theme-pack .gang-functional-card button,.theme-pack .gang-profile-tools button,.theme-pack .gang-dialog button { min-height:44px; touch-action:manipulation; }
.theme-pack .gang-functional-card input,.theme-pack .gang-functional-card select { background:#11161c; color:#f5f2eb; border:1px solid #414751; max-width:100%; min-width:0; min-height:44px; font-size:16px; border-radius:8px; }
.theme-pack .gang-functional-card label { font-size:12px; color:#d8d9d6; }
.theme-pack .gang-empty { border:1px dashed #41464d; border-radius:10px; padding:14px; font-size:13px; color:#e3e3de; }
.theme-pack .gang-empty strong,.theme-pack .gang-empty small { display:block; }
.theme-pack .gang-empty small { margin-top:6px; color:#aeb6bc; font-size:12px; line-height:1.6; }
.theme-pack .gang-caption { color:#afb8bd; font-size:12px; line-height:1.65; margin:13px 0; }
.theme-pack .gang-warning { color:#ffe29b; padding:10px; border-left:3px solid #dfba58; background:#e7b9300c; font-size:12px; line-height:1.6; }
.theme-pack .gang-day-picker { display:flex; align-items:center; gap:7px; margin-bottom:12px; }
.theme-pack .gang-day-picker input { flex:1; }
.theme-pack .gang-day-picker button { min-width:44px; }
.theme-pack .gang-agenda { list-style:none; margin:0; padding:0; }
.theme-pack .gang-agenda li { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; position:relative; border-bottom:1px solid #2b3239; padding:12px 0; }
.theme-pack .gang-agenda time { border-left:2px solid var(--dog,#f3c94b); padding-left:10px; font-size:12px; color:#f3c94b; }
.theme-pack .gang-agenda time small { display:block; color:#abb5bd; font-size:11px; margin-top:6px; }
.theme-pack .gang-agenda button { padding:0; border:0; border-radius:3px; background:none; text-align:left; min-width:0; }
.theme-pack .gang-agenda strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:normal; word-break:normal; font-size:13px; line-height:1.6; }
.theme-pack .gang-agenda button small,.theme-pack .gang-agenda button span { display:block; font-size:11px; line-height:1.65; color:#aeb8c0; }
.theme-pack .gang-card-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.theme-pack .gang-card-actions button { font-size:12px; padding:8px 12px; }
.theme-pack .gang-filter-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.theme-pack .gang-filter-row label { flex:1 1 130px; display:grid; gap:6px; min-width:0; }
.theme-pack .gang-filter-row input,.theme-pack .gang-filter-row select { width:100%; }
.theme-pack .gang-functional-card details { margin:12px 0; border:1px solid #353d44; border-radius:8px; padding:9px; }
.theme-pack .gang-functional-card summary { cursor:pointer; min-height:32px; font-size:12px; font-weight:700; line-height:1.7; }
.theme-pack .gang-tasks article { display:grid; grid-template-columns:44px minmax(0,1fr); gap:8px; padding:10px 0; border-bottom:1px solid #2d343b; }
.theme-pack .gang-task-check { padding:0; min-width:44px; align-self:start; font-size:22px; color:#f3c94b; }
.theme-pack .gang-tasks article>div>button { text-align:left; background:none; border:0; padding:0 3px; font-size:13px; }
.theme-pack .gang-tasks article small { display:block; color:#b3bcc5; font-size:11px; }
.theme-pack .gang-tasks .is-done strong { text-decoration:line-through; color:#91a09b; }
.theme-pack .gang-subtask { display:flex; align-items:center; gap:8px; margin-top:8px; }
.theme-pack .gang-subtask input { min-height:24px; width:24px; }
.theme-pack .gang-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:10px 0; }
.theme-pack .gang-metrics span { border-radius:9px; background:#0b1015; padding:12px; font-size:11px; color:#aeb8bd; }
.theme-pack .gang-metrics b { display:block; color:#fff; font-size:18px; margin-bottom:5px; }
.theme-pack .gang-training-row { padding:10px 0; border-bottom:1px solid #2f363e; }
.theme-pack .gang-training-row>button { background:none; padding:0; border:0; text-align:left; display:block; width:100%; }
.theme-pack .gang-training-row strong,.theme-pack .gang-training-row small { display:block; }
.theme-pack .gang-training-row p { font-size:12px; line-height:1.65; color:#c5cdd0; margin:6px 0; }
.theme-pack .gang-training-row small { color:#acb8bf; font-size:11px; }
.theme-pack .gang-chart-wrap { min-width:0; width:100%; background:#0d1216; border-radius:10px; margin:10px 0; }
.theme-pack .gang-weight-svg { display:block; width:100%; height:auto; max-height:340px; overflow:visible; }
.theme-pack .gang-weight-svg text { font:16px Manrope,sans-serif; fill:#c5cdd2; }
.theme-pack .gang-chart-grid { stroke:#303941; stroke-width:1; }
.theme-pack .gang-chart-line { fill:none; stroke:var(--series); stroke-width:3; }
.theme-pack .gang-chart-point { fill:var(--series); stroke:#101419; stroke-width:2; cursor:pointer; }
.theme-pack .gang-chart-point:focus { outline:3px solid #fff; }
.theme-pack .gang-chart-marker { stroke:#afbdca; stroke-width:1; stroke-dasharray:4 5; opacity:.6; }
.theme-pack .gang-chart-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.theme-pack .gang-chart-legend>div { display:flex; gap:6px; align-items:start; font-size:12px; }
.theme-pack .gang-chart-legend i { width:8px; height:8px; border-radius:50%; background:var(--series); margin-top:5px; flex:none; }
.theme-pack .gang-chart-legend small { display:block; color:#adb7bc; font-size:10px; line-height:1.6; }
.theme-pack .gang-inline-options { display:flex; gap:14px; flex-wrap:wrap; margin:10px 0; }
.theme-pack .gang-inline-options label { display:flex; gap:6px; align-items:center; }
.theme-pack .gang-inline-options input { min-height:24px; width:24px; }
.theme-pack .gang-case { display:block; width:100%; text-align:left; background:#0b1117; border-color:#333e47; margin:8px 0; }
.theme-pack .gang-case strong,.theme-pack .gang-case small { display:block; margin:5px 0; }
.theme-pack .gang-case small { font-size:11px; color:#bac3ca; }
.theme-pack .gang-status { display:inline-block; padding:4px 8px; font-size:10px; color:#ffdc81; background:#e1b72c13; border-radius:5px; }
.theme-pack .gang-medication { background:#15121b; border:1px solid #463b4a; padding:12px; border-radius:9px; margin:8px 0; }
.theme-pack .gang-medication strong,.theme-pack .gang-medication small { display:block; margin:4px 0; }
.theme-pack .gang-medication small { font-size:11px; line-height:1.65; color:#c4b8c8; }
.theme-pack .gang-medication button { font-size:11px; margin:7px 5px 0 0; padding:7px; }
.theme-pack .gang-observations article { border-left:2px solid var(--dog,#f3c94b); padding:12px 10px; margin:10px 0; background:#0d1319; border-radius:0 9px 9px 0; }
.theme-pack .gang-observations article>small { display:block; color:#aab6be; font-size:10px; }
.theme-pack .gang-observations article>button { width:100%; border:0; background:none; text-align:left; padding:6px 0; }
.theme-pack .gang-observations p { font-size:13px; line-height:1.7; white-space:pre-line; margin:8px 0; }
.theme-pack .gang-observation-media { display:flex; flex-wrap:wrap; gap:8px; }
.theme-pack .gang-observation-media img { width:100%; height:100%; object-fit:cover; }
.theme-pack .gang-observation-media button:has(img) { width:85px; height:75px; padding:0; overflow:hidden; }
.theme-pack .gang-nutrition-dog { border-top:2px solid var(--series); padding:10px 0; margin:10px 0; }
.theme-pack .gang-section-title { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; }
.theme-pack .gang-section-title h3 { margin:0; color:var(--series); }
.theme-pack .gang-section-title button { padding:7px; font-size:11px; }
.theme-pack .gang-nutrition-dog>small { display:block; font-size:11px; color:#b8c1c6; line-height:1.7; }
.theme-pack .gang-nutrients { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:13px 0; }
.theme-pack .gang-nutrients>div { margin:0; padding:8px; background:#0b1116; border-radius:7px; min-width:0; }
.theme-pack .gang-nutrients dt { color:#adb9c0; font-size:10px; }
.theme-pack .gang-nutrients dd { margin:5px 0 0; color:#f7f3e7; font-size:13px; }
.theme-pack .gang-feeding-history button { display:block; text-align:left; width:100%; margin:7px 0; }
.theme-pack .gang-basics { display:grid; gap:10px; margin:0 0 12px; }
.theme-pack .gang-basics>div { padding-bottom:9px; border-bottom:1px solid #30383e; }
.theme-pack .gang-basics dt { color:#aeb9bd; font-size:11px; }
.theme-pack .gang-basics dd { margin:5px 0 0; color:#f5efd9; font-size:14px; }
.theme-pack .gang-basics small { display:block; font-size:11px; color:#b5c1c7; margin-top:4px; }
.theme-pack .gang-quick-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:10px 0; }
.theme-pack .gang-quick-grid button { text-align:left; display:flex; gap:8px; align-items:center; min-width:0; font-size:12px; min-height:55px; }
.theme-pack .gang-quick-grid .ui-icon { flex:none; }
.theme-pack .gang-floating-add { display:none; }
.theme-pack .gang-dialog { background:#151b21; color:#f5f2e7; border:1px solid #66552d; border-radius:16px; width:min(760px,94vw); max-height:88dvh; overflow-y:auto; padding:20px; }
.theme-pack .gang-dialog::backdrop { background:#000b; }
.theme-pack .gang-dialog .modalhead { position:sticky; top:-20px; background:#151b21; z-index:3; padding:10px 0; }
.theme-pack .gang-dialog p { color:#bac4ca; font-size:13px; line-height:1.7; }
.theme-pack .gang-dialog label { display:block; font-size:13px; margin:8px 0; }
.theme-pack .gang-dialog select,.theme-pack .gang-dialog input:not([type=checkbox]) { display:block; width:100%; min-height:44px; background:#0c1218; color:#f5f1e5; border:1px solid #4f575e; border-radius:7px; padding:8px; font-size:16px; margin-top:5px; }
.theme-pack .gang-dialog input[type=checkbox] { width:24px; height:24px; vertical-align:middle; }
.theme-pack .gang-layout-row { border:1px solid #40474d; border-radius:10px; margin:12px 0; padding:12px; display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; }
.theme-pack .gang-layout-row legend { color:#f3c94b; font-size:14px; font-weight:700; }
.theme-pack .gang-layout-row details { grid-column:1/-1; }
.theme-pack .gang-layout-row button { min-width:44px; }
.theme-pack .gang-dialog-actions { display:flex; justify-content:flex-end; gap:8px; position:sticky; bottom:-20px; padding:15px 0 max(15px,env(safe-area-inset-bottom)); background:#151b21; z-index:3; border-top:1px solid #353e46; }
.theme-pack .gang-dialog [role=alert] { color:#ffb7b7; }
.theme-pack .gang-functional-card :focus-visible,.theme-pack .gang-dialog :focus-visible { outline:2px solid #ffe38c; outline-offset:3px; }
@media(min-width:1500px) {
 .theme-pack .gang-dashboard-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1000px) {
 .theme-pack .gang-primary-actions { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .theme-pack .gang-functional-card { padding:15px; }
 .theme-pack .gang-agenda li { grid-template-columns:70px minmax(0,1fr); gap:7px; }
}
@media(max-width:700px) {
 .theme-pack .gang-functional-banner { min-height:200px; }
 .theme-pack .gang-dashboard-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .theme-pack .gang-dashboard-grid>.gang-span-2 { grid-column:span 1; }
 .theme-pack .gang-profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .theme-pack .gang-profile-grid .gang-functional-card { padding:11px; }
 .theme-pack .gang-profile-grid .gang-card-heading { gap:4px; align-items:start; }
 .theme-pack .gang-profile-grid .gang-card-heading h2 { font-size:14px; }
 .theme-pack .gang-profile-grid .gang-card-heading small { font-size:9px; }
 .theme-pack .gang-profile-grid .gang-card-heading>button { min-width:44px; }
 .theme-pack .gang-profile-grid [data-gang-block=B] .gang-agenda li { display:block; }
 .theme-pack .gang-profile-grid [data-gang-block=B] .gang-agenda time { display:block; margin-bottom:5px; }
 .theme-pack .gang-profile-grid [data-gang-block=B] .gang-tasks article { grid-template-columns:32px minmax(0,1fr); gap:3px; }
 .theme-pack .gang-profile-grid [data-gang-block=B] .gang-task-check { min-width:32px; }
 .theme-pack .gang-profile-grid [data-gang-block=B] .gang-filter-row label { flex-basis:100%; }
 .theme-pack .gang-card-heading h2 { font-size:16px; }
 .theme-pack .gang-primary-actions { gap:6px; }
 .theme-pack .gang-primary-actions button { font-size:11px; padding:7px 3px; min-height:66px; }
 .theme-pack .gang-chart-legend { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .theme-pack .gang-floating-add { display:block; position:fixed; right:18px; bottom:calc(85px + env(safe-area-inset-bottom)); z-index:15; width:54px; height:54px; border-radius:50%; background:var(--dog,#f3c94b); color:#111; font-size:30px; box-shadow:0 6px 20px #0007; }
 .theme-pack .gang-quick-grid button { font-size:11px; }
 .theme-pack .gang-profile-grid .gang-quick-grid { grid-template-columns:minmax(0,1fr); }
 .theme-pack .gang-profile-grid .gang-span-2 .gang-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .theme-pack .gang-dialog { padding:14px; max-height:90dvh; }
 .theme-pack .gang-dialog .modalhead { top:-14px; }
 .theme-pack .gang-dialog-actions { bottom:-14px; }
 .theme-pack .character-identity h1 { font-size:clamp(40px,12vw,60px); }
 .theme-pack .character-hero { min-height:390px; }
}
