:root{color-scheme:light;--bg: #f5f1e8;--bg-accent: radial-gradient(circle at 14% 10%, rgba(245, 158, 11, .2), transparent 20%), radial-gradient(circle at 86% 18%, rgba(16, 185, 129, .14), transparent 18%), linear-gradient(116deg, rgba(255, 255, 255, .18) 0 8%, transparent 8% 12%, rgba(180, 83, 9, .05) 12% 13.5%, transparent 13.5%), linear-gradient(160deg, #f6f2ea 0%, #ece4d7 100%);--panel: rgba(255, 255, 255, .78);--panel-strong: #fffaf2;--text: #261d14;--muted: #76695b;--line: rgba(77, 58, 33, .12);--accent: #b45309;--accent-strong: #8a3c04;--chip: rgba(255, 255, 255, .75);--label: #3a2c1d;--placeholder: #8e7f70;--field-bg: rgba(255, 253, 250, .96);--field-line: rgba(77, 58, 33, .18);--field-line-strong: rgba(77, 58, 33, .28);--button-bg: rgba(255, 255, 255, .82);--button-bg-hover: rgba(255, 255, 255, .94);--button-overlay: linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(180, 83, 9, .08));--brand-wash: linear-gradient(145deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, .06) 52%, rgba(180, 83, 9, .12));--page-corner-top: none;--page-corner-bottom: none;--panel-pattern: none;--panel-strong-pattern: none;--button-pattern: none;--focus-ring: rgba(180, 83, 9, .16);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .28);--shadow: 0 24px 60px rgba(58, 33, 10, .12);--font-body: "Public Sans", "Segoe UI", sans-serif;--font-display: "Manrope", "Public Sans", sans-serif;--native-safe-top: 0px;--native-safe-bottom: 0px;--app-safe-top: max(env(safe-area-inset-top, 0px), var(--native-safe-top));--app-safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--native-safe-bottom))}:root[data-native-platform=android]{--native-safe-top: 36px;--native-safe-bottom: 24px}:root[data-theme=dark]{color-scheme:dark;--bg: #18202a;--bg-accent: radial-gradient(circle at 16% 8%, rgba(248, 113, 113, .16), transparent 18%), radial-gradient(circle at 86% 16%, rgba(56, 189, 248, .14), transparent 16%), linear-gradient(120deg, rgba(255, 255, 255, .04) 0 7%, transparent 7% 11%, rgba(245, 158, 11, .06) 11% 12.5%, transparent 12.5%), linear-gradient(160deg, #18202a 0%, #212a37 100%);--panel: rgba(18, 23, 32, .92);--panel-strong: #161d28;--text: #f7f3eb;--muted: #c4bcaf;--line: rgba(255, 255, 255, .14);--accent: #f59e0b;--accent-strong: #f97316;--chip: rgba(255, 255, 255, .08);--label: #ece3d6;--placeholder: #a79c8d;--field-bg: #0f141c;--field-line: rgba(255, 255, 255, .18);--field-line-strong: rgba(255, 255, 255, .28);--button-bg: rgba(255, 255, 255, .07);--button-bg-hover: rgba(255, 255, 255, .12);--button-overlay: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(245, 158, 11, .08));--brand-wash: linear-gradient(145deg, rgba(245, 158, 11, .16), rgba(56, 189, 248, .06) 56%, rgba(255, 255, 255, .04));--focus-ring: rgba(245, 158, 11, .24);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .05);--shadow: 0 24px 60px rgba(0, 0, 0, .35)}:root[data-theme=oled]{color-scheme:dark;--bg: #000;--bg-accent: radial-gradient(circle at 14% 8%, rgba(249, 115, 22, .08), transparent 12%), radial-gradient(circle at 86% 84%, rgba(34, 197, 94, .05), transparent 10%), linear-gradient(180deg, #000 0%, #000 100%);--panel: #000;--panel-strong: #000;--text: #f8f6f1;--muted: #a6a09a;--line: rgba(255, 255, 255, .08);--accent: #fb923c;--accent-strong: #f97316;--chip: rgba(255, 255, 255, .03);--label: #f3ede3;--placeholder: #7d7770;--field-bg: #000;--field-line: rgba(255, 255, 255, .12);--field-line-strong: rgba(255, 255, 255, .22);--button-bg: rgba(255, 255, 255, .03);--button-bg-hover: rgba(255, 255, 255, .06);--button-overlay: linear-gradient(135deg, rgba(255, 255, 255, .02), rgba(251, 146, 60, .03));--brand-wash: linear-gradient(145deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 1) 58%, rgba(251, 146, 60, .06));--focus-ring: rgba(251, 146, 60, .24);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .015);--shadow: 0 24px 60px rgba(0, 0, 0, .72)}:root[data-theme=jungle],:root[data-theme=dark-jungle]{color-scheme:dark;--bg: #202b26;--bg-accent: radial-gradient(circle at 16% 9%, rgba(34, 197, 94, .14), transparent 18%), radial-gradient(circle at 84% 16%, rgba(245, 158, 11, .1), transparent 14%), linear-gradient(120deg, rgba(134, 239, 172, .04) 0 7%, transparent 7% 11%, rgba(163, 230, 53, .05) 11% 12.5%, transparent 12.5%), linear-gradient(160deg, #202b26 0%, #28362f 100%);--panel: rgba(28, 38, 33, .92);--panel-strong: #24312b;--text: #edf3e7;--muted: #b5c2b4;--line: rgba(255, 255, 255, .12);--accent: #6fbf73;--accent-strong: #c38b3f;--chip: rgba(255, 255, 255, .08);--label: #edf3e7;--placeholder: #9faf9d;--field-bg: #1d2722;--field-line: rgba(255, 255, 255, .16);--field-line-strong: rgba(255, 255, 255, .24);--button-bg: rgba(255, 255, 255, .07);--button-bg-hover: rgba(255, 255, 255, .11);--button-overlay: linear-gradient(135deg, rgba(111, 191, 115, .1), rgba(195, 139, 63, .08));--brand-wash: linear-gradient(145deg, rgba(111, 191, 115, .16), rgba(255, 255, 255, .04) 48%, rgba(195, 139, 63, .1));--page-corner-top: radial-gradient(58% 42% at 10% 8%, rgba(111, 191, 115, .16) 0 36%, transparent 38%), radial-gradient(42% 28% at 24% 2%, rgba(195, 139, 63, .12) 0 34%, transparent 36%), linear-gradient(132deg, transparent 46%, rgba(111, 191, 115, .1) 47% 49%, transparent 50%), radial-gradient(50% 34% at 84% 18%, rgba(134, 181, 91, .08) 0 32%, transparent 34%);--page-corner-bottom: radial-gradient(56% 40% at 92% 90%, rgba(111, 191, 115, .15) 0 35%, transparent 37%), radial-gradient(38% 24% at 78% 98%, rgba(195, 139, 63, .1) 0 34%, transparent 36%), linear-gradient(312deg, transparent 46%, rgba(111, 191, 115, .09) 47% 49%, transparent 50%), radial-gradient(48% 30% at 18% 78%, rgba(134, 181, 91, .06) 0 30%, transparent 32%);--panel-pattern: linear-gradient(145deg, transparent 0 46%, rgba(111, 191, 115, .045) 47% 49%, transparent 50%), radial-gradient(circle at 82% 16%, rgba(195, 139, 63, .05) 0 2px, transparent 2.2px);--panel-strong-pattern: linear-gradient(135deg, transparent 0 46%, rgba(111, 191, 115, .035) 47% 48.5%, transparent 49.5%), radial-gradient(circle at 14% 84%, rgba(195, 139, 63, .04) 0 2px, transparent 2.2px);--button-pattern: linear-gradient(140deg, transparent 0 44%, rgba(111, 191, 115, .07) 45% 47%, transparent 48%), radial-gradient(circle at 82% 20%, rgba(195, 139, 63, .07) 0 1.7px, transparent 1.9px);--focus-ring: rgba(111, 191, 115, .2);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow: 0 24px 60px rgba(8, 16, 12, .3)}:root[data-theme=swamp]{color-scheme:dark;--bg: #1e2722;--bg-accent: radial-gradient(circle at 14% 8%, rgba(110, 168, 104, .14), transparent 18%), radial-gradient(circle at 82% 18%, rgba(148, 116, 62, .1), transparent 14%), radial-gradient(circle at 88% 84%, rgba(67, 120, 112, .08), transparent 14%), linear-gradient(118deg, rgba(175, 216, 172, .035) 0 7%, transparent 7% 11%, rgba(148, 116, 62, .05) 11% 12.5%, transparent 12.5%), linear-gradient(160deg, #1e2722 0%, #27332c 100%);--panel: rgba(24, 33, 28, .92);--panel-strong: #24322c;--text: #edf3eb;--muted: #b0beb2;--line: rgba(255, 255, 255, .12);--accent: #77b06d;--accent-strong: #94743e;--chip: rgba(255, 255, 255, .08);--label: #edf3eb;--placeholder: #9fafa2;--field-bg: #1a241f;--field-line: rgba(255, 255, 255, .16);--field-line-strong: rgba(255, 255, 255, .24);--button-bg: rgba(255, 255, 255, .07);--button-bg-hover: rgba(255, 255, 255, .11);--button-overlay: linear-gradient(135deg, rgba(119, 176, 109, .1), rgba(148, 116, 62, .08));--brand-wash: linear-gradient(145deg, rgba(119, 176, 109, .14), rgba(255, 255, 255, .04) 48%, rgba(67, 120, 112, .08));--page-corner-top: radial-gradient(56% 34% at 12% 10%, rgba(119, 176, 109, .16) 0 34%, transparent 36%), radial-gradient(42% 24% at 30% 4%, rgba(148, 116, 62, .12) 0 30%, transparent 32%), linear-gradient(132deg, transparent 45%, rgba(119, 176, 109, .09) 46% 48%, transparent 49%), radial-gradient(40% 22% at 86% 20%, rgba(67, 120, 112, .08) 0 28%, transparent 30%);--page-corner-bottom: radial-gradient(56% 36% at 94% 90%, rgba(119, 176, 109, .14) 0 34%, transparent 36%), radial-gradient(34% 18% at 82% 98%, rgba(148, 116, 62, .1) 0 30%, transparent 32%), linear-gradient(312deg, transparent 45%, rgba(67, 120, 112, .08) 46% 48%, transparent 49%), radial-gradient(44% 24% at 20% 80%, rgba(119, 176, 109, .06) 0 28%, transparent 30%);--panel-pattern: linear-gradient(145deg, transparent 0 46%, rgba(119, 176, 109, .04) 47% 49%, transparent 50%), radial-gradient(circle at 82% 16%, rgba(148, 116, 62, .05) 0 2px, transparent 2.2px);--panel-strong-pattern: linear-gradient(135deg, transparent 0 46%, rgba(67, 120, 112, .035) 47% 48.5%, transparent 49.5%), radial-gradient(circle at 14% 84%, rgba(119, 176, 109, .04) 0 2px, transparent 2.2px);--button-pattern: linear-gradient(140deg, transparent 0 44%, rgba(119, 176, 109, .065) 45% 47%, transparent 48%), radial-gradient(circle at 82% 20%, rgba(148, 116, 62, .07) 0 1.7px, transparent 1.9px);--focus-ring: rgba(119, 176, 109, .2);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow: 0 24px 60px rgba(10, 16, 13, .34)}:root[data-theme=desert]{color-scheme:light;--bg: #f6ede0;--bg-accent: radial-gradient(circle at 14% 10%, rgba(245, 158, 11, .18), transparent 18%), radial-gradient(circle at 86% 20%, rgba(14, 165, 233, .1), transparent 14%), linear-gradient(120deg, rgba(217, 119, 6, .06) 0 7%, transparent 7% 11%, rgba(251, 191, 36, .08) 11% 12.5%, transparent 12.5%), linear-gradient(160deg, #f7efe3 0%, #ecd9c1 100%);--panel: rgba(255, 249, 241, .84);--panel-strong: #fff6ec;--text: #312217;--muted: #7e6755;--line: rgba(74, 49, 25, .12);--accent: #d97706;--accent-strong: #b45309;--chip: rgba(255, 255, 255, .75);--label: #3d2d1f;--placeholder: #947d6b;--field-bg: rgba(255, 252, 247, .96);--field-line: rgba(74, 49, 25, .16);--field-line-strong: rgba(74, 49, 25, .24);--button-bg: rgba(255, 255, 255, .82);--button-bg-hover: rgba(255, 255, 255, .94);--button-overlay: linear-gradient(135deg, rgba(217, 119, 6, .12), rgba(14, 165, 233, .06));--brand-wash: linear-gradient(145deg, rgba(217, 119, 6, .16), rgba(255, 255, 255, .12) 50%, rgba(251, 191, 36, .12));--page-corner-top: radial-gradient(circle at 18% 14%, rgba(251, 191, 36, .2) 0 10%, transparent 12%), radial-gradient(64% 36% at 2% 100%, rgba(217, 119, 6, .12) 0 42%, transparent 44%), radial-gradient(48% 22% at 34% 100%, rgba(217, 119, 6, .1) 0 34%, transparent 36%), radial-gradient(28% 14% at 62% 86%, rgba(14, 165, 233, .08) 0 28%, transparent 30%);--page-corner-bottom: radial-gradient(62% 34% at 100% 100%, rgba(217, 119, 6, .12) 0 42%, transparent 44%), radial-gradient(44% 18% at 72% 100%, rgba(251, 191, 36, .1) 0 34%, transparent 36%), radial-gradient(circle at 84% 72%, rgba(14, 165, 233, .08) 0 8%, transparent 10%), radial-gradient(36% 18% at 86% 100%, rgba(217, 119, 6, .08) 0 34%, transparent 36%);--panel-pattern: radial-gradient(76% 26% at 0% 100%, rgba(217, 119, 6, .055) 0 30%, transparent 32%), radial-gradient(64% 22% at 100% 10%, rgba(251, 191, 36, .045) 0 28%, transparent 30%), radial-gradient(circle at 84% 22%, rgba(14, 165, 233, .045) 0 2px, transparent 2.3px);--panel-strong-pattern: radial-gradient(84% 32% at 4% 100%, rgba(217, 119, 6, .06) 0 32%, transparent 34%), radial-gradient(58% 20% at 100% 0%, rgba(251, 191, 36, .05) 0 26%, transparent 28%), radial-gradient(circle at 18% 22%, rgba(217, 119, 6, .04) 0 1.8px, transparent 2.1px);--button-pattern: radial-gradient(140% 92% at 100% 115%, rgba(217, 119, 6, .1) 0 28%, transparent 30%), radial-gradient(circle at 82% 18%, rgba(14, 165, 233, .065) 0 1.6px, transparent 1.9px);--focus-ring: rgba(217, 119, 6, .18);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .28);--shadow: 0 24px 60px rgba(98, 60, 17, .14)}:root[data-theme=rocky-mountains]{color-scheme:light;--bg: #edf3f7;--bg-accent: radial-gradient(circle at 14% 10%, rgba(125, 168, 201, .18), transparent 18%), radial-gradient(circle at 84% 18%, rgba(129, 140, 153, .14), transparent 14%), radial-gradient(circle at 88% 84%, rgba(91, 143, 184, .1), transparent 16%), linear-gradient(120deg, rgba(148, 163, 184, .08) 0 7%, transparent 7% 11%, rgba(91, 143, 184, .07) 11% 12.5%, transparent 12.5%), linear-gradient(160deg, #f3f7fa 0%, #dbe6ee 100%);--panel: rgba(255, 255, 255, .82);--panel-strong: #f8fbfd;--text: #21303b;--muted: #6e7d89;--line: rgba(44, 65, 82, .12);--accent: #5b8fb8;--accent-strong: #4d6579;--chip: rgba(255, 255, 255, .78);--label: #243643;--placeholder: #8393a0;--field-bg: rgba(255, 255, 255, .96);--field-line: rgba(44, 65, 82, .16);--field-line-strong: rgba(44, 65, 82, .24);--button-bg: rgba(255, 255, 255, .84);--button-bg-hover: rgba(255, 255, 255, .94);--button-overlay: linear-gradient(135deg, rgba(91, 143, 184, .12), rgba(129, 140, 153, .08));--brand-wash: linear-gradient(145deg, rgba(91, 143, 184, .16), rgba(255, 255, 255, .12) 48%, rgba(129, 140, 153, .12));--page-corner-top: radial-gradient(64% 28% at 4% 100%, rgba(129, 140, 153, .12) 0 42%, transparent 44%), radial-gradient(42% 20% at 32% 100%, rgba(91, 143, 184, .1) 0 32%, transparent 34%), radial-gradient(circle at 86% 18%, rgba(125, 168, 201, .12) 0 9%, transparent 11%), linear-gradient(142deg, transparent 46%, rgba(91, 143, 184, .08) 47% 49%, transparent 50%);--page-corner-bottom: radial-gradient(68% 28% at 100% 100%, rgba(129, 140, 153, .12) 0 42%, transparent 44%), radial-gradient(36% 18% at 72% 100%, rgba(91, 143, 184, .09) 0 32%, transparent 34%), radial-gradient(circle at 18% 74%, rgba(125, 168, 201, .1) 0 8%, transparent 10%), linear-gradient(322deg, transparent 46%, rgba(129, 140, 153, .06) 47% 49%, transparent 50%);--panel-pattern: radial-gradient(90% 28% at 0% 100%, rgba(129, 140, 153, .055) 0 32%, transparent 34%), radial-gradient(60% 22% at 100% 12%, rgba(91, 143, 184, .05) 0 28%, transparent 30%), radial-gradient(circle at 84% 22%, rgba(91, 143, 184, .045) 0 2px, transparent 2.3px);--panel-strong-pattern: radial-gradient(84% 28% at 4% 100%, rgba(129, 140, 153, .05) 0 30%, transparent 32%), radial-gradient(56% 20% at 100% 0%, rgba(91, 143, 184, .045) 0 26%, transparent 28%), radial-gradient(circle at 18% 22%, rgba(129, 140, 153, .04) 0 1.8px, transparent 2.1px);--button-pattern: radial-gradient(140% 92% at 100% 115%, rgba(91, 143, 184, .09) 0 28%, transparent 30%), radial-gradient(circle at 82% 18%, rgba(129, 140, 153, .065) 0 1.6px, transparent 1.9px);--focus-ring: rgba(91, 143, 184, .18);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .3);--shadow: 0 24px 60px rgba(44, 65, 82, .14)}:root[data-theme=dark-desert]{color-scheme:dark;--bg: #2b241f;--bg-accent: radial-gradient(circle at 15% 9%, rgba(251, 191, 36, .14), transparent 16%), radial-gradient(circle at 86% 18%, rgba(125, 211, 252, .1), transparent 12%), linear-gradient(120deg, rgba(245, 158, 11, .05) 0 7%, transparent 7% 11%, rgba(125, 211, 252, .04) 11% 12.5%, transparent 12.5%), linear-gradient(160deg, #2b241f 0%, #342c26 100%);--panel: rgba(45, 37, 31, .92);--panel-strong: #382f28;--text: #f2eadf;--muted: #c1b3a4;--line: rgba(255, 255, 255, .11);--accent: #f0a94f;--accent-strong: #c97c3d;--chip: rgba(255, 255, 255, .08);--label: #f2eadf;--placeholder: #ab9d90;--field-bg: #251f1b;--field-line: rgba(255, 255, 255, .16);--field-line-strong: rgba(255, 255, 255, .24);--button-bg: rgba(255, 255, 255, .07);--button-bg-hover: rgba(255, 255, 255, .11);--button-overlay: linear-gradient(135deg, rgba(240, 169, 79, .11), rgba(125, 211, 252, .06));--brand-wash: linear-gradient(145deg, rgba(240, 169, 79, .16), rgba(255, 255, 255, .04) 48%, rgba(125, 211, 252, .08));--page-corner-top: radial-gradient(circle at 18% 14%, rgba(240, 169, 79, .18) 0 10%, transparent 12%), radial-gradient(64% 36% at 2% 100%, rgba(201, 124, 61, .1) 0 42%, transparent 44%), radial-gradient(48% 22% at 34% 100%, rgba(240, 169, 79, .08) 0 34%, transparent 36%), radial-gradient(28% 14% at 62% 86%, rgba(125, 211, 252, .06) 0 28%, transparent 30%);--page-corner-bottom: radial-gradient(62% 34% at 100% 100%, rgba(201, 124, 61, .1) 0 42%, transparent 44%), radial-gradient(44% 18% at 72% 100%, rgba(240, 169, 79, .08) 0 34%, transparent 36%), radial-gradient(circle at 84% 72%, rgba(125, 211, 252, .06) 0 8%, transparent 10%), radial-gradient(34% 16% at 86% 100%, rgba(240, 169, 79, .07) 0 32%, transparent 34%);--panel-pattern: radial-gradient(76% 24% at 0% 100%, rgba(240, 169, 79, .065) 0 30%, transparent 32%), radial-gradient(62% 20% at 100% 12%, rgba(201, 124, 61, .045) 0 26%, transparent 28%), radial-gradient(circle at 84% 22%, rgba(125, 211, 252, .035) 0 2px, transparent 2.3px);--panel-strong-pattern: radial-gradient(82% 28% at 6% 100%, rgba(240, 169, 79, .06) 0 30%, transparent 32%), radial-gradient(54% 18% at 100% 0%, rgba(125, 211, 252, .04) 0 24%, transparent 26%), radial-gradient(circle at 18% 22%, rgba(240, 169, 79, .04) 0 1.8px, transparent 2.1px);--button-pattern: radial-gradient(140% 92% at 100% 115%, rgba(240, 169, 79, .085) 0 28%, transparent 30%), radial-gradient(circle at 82% 18%, rgba(125, 211, 252, .055) 0 1.6px, transparent 1.9px);--focus-ring: rgba(240, 169, 79, .2);--panel-glow: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow: 0 24px 60px rgba(12, 7, 4, .3)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%;touch-action:manipulation}#root{position:relative;z-index:1}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg-accent);overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0;width:min(24rem,36vw);height:min(24rem,36vw);background-repeat:no-repeat;opacity:.92;filter:saturate(1.04)}body:before{top:0;left:0;background:var(--page-corner-top)}body:after{right:0;bottom:0;background:var(--page-corner-bottom)}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}img{max-width:100%;display:block;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:auto}a{color:inherit;-webkit-touch-callout:none;touch-action:manipulation}img,svg,canvas,[draggable=true]{-webkit-user-drag:none;user-drag:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}.loading-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.loading-card{width:min(420px,100%);padding:2rem;border-radius:28px;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1.25rem;min-height:calc(100dvh - var(--app-safe-bottom));padding:calc(1.25rem + var(--app-safe-top)) 1.25rem calc(1.25rem + var(--app-safe-bottom));align-items:start}.sidebar,.card,.hero-panel{background:var(--panel-pattern),var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow),var(--panel-glow)}.sidebar{border-radius:32px;padding:1rem;position:sticky;top:calc(1.25rem + var(--app-safe-top));height:calc(100dvh - 2.5rem - var(--app-safe-top) - var(--app-safe-bottom));display:grid;grid-template-rows:auto 1fr auto;gap:1rem}.brand-card{padding:1rem;border-radius:24px;background:var(--brand-wash);position:relative;overflow:hidden}.brand-card:after{content:"";position:absolute;right:-2rem;bottom:-2.6rem;width:10rem;height:10rem;border-radius:2.6rem;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 64%);transform:rotate(24deg);opacity:.75;pointer-events:none}.brand-card>*{position:relative;z-index:1}.brand-badge,.tag,.chip,.pill{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.35rem .75rem;background:var(--chip);border:1px solid var(--line)}.brand-card h1,.topbar h2,.hero-panel h3,.card h3{font-family:var(--font-display);letter-spacing:.02em}.sidebar-nav,.stack,.main-content,.hero-stats{display:grid;gap:.8rem}.stack.compact{gap:.55rem}.nav-link{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:16px;text-decoration:none;border:1px solid transparent;color:var(--muted);min-width:0}.nav-link.active{background:linear-gradient(135deg,#b4530938,#f973161f);border-color:#b4530933;color:var(--text)}.sidebar-footer{display:grid;gap:.65rem}.main-content{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.topbar-title{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.offline-view-indicator{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1rem;padding:.72rem .95rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--panel-strong) 84%,var(--accent) 16%);color:var(--text);box-shadow:0 10px 24px #0f172a14}.offline-view-indicator svg{flex:0 0 auto;color:var(--accent)}.desktop-toolbar{display:flex}.mobile-menu-button,.mobile-sidebar,.mobile-sidebar-backdrop{display:none}.brand-card-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.sidebar-mobile-tools{display:grid;gap:.9rem}.toolbar-control{display:grid;gap:.35rem;min-width:0}.toolbar-control>span{color:var(--label);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.toolbar-control-compact{min-width:9rem}.theme-toolbar-control{min-width:12.5rem}.sidebar-toolbar-control .toolbar-select{width:100%}.toolbar-select{min-width:0;padding-right:2.6rem;background:var(--button-overlay),var(--field-bg);box-shadow:var(--panel-glow)}.sidebar-control-group{display:grid;gap:.45rem}.sidebar-control-label{color:var(--label);font-size:.88rem;font-weight:700}.sidebar-switcher{justify-content:flex-start}.eyebrow,.muted,.card p,.species-card span,.info-card span,.stat-card span,.upload-box span{color:var(--muted)}.page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:start}.page-grid>*{min-width:0;grid-column:span 4}.page-grid>.card,.page-grid>.hero-panel{width:100%}.archive-layout>.card{grid-column:1 / -1}.animals-layout>.card:first-child{grid-column:span 7}.animals-layout>.card:nth-child(2){grid-column:span 5}.animals-layout>.card:nth-child(3){grid-column:1 / -1}.hero-panel,.card{border-radius:28px;padding:1.1rem}.hero-panel{grid-column:1 / -1;display:grid;grid-template-columns:1fr;gap:1rem}.section-heading,.inline-actions,.checkbox-line,.theme-switcher,.chip-row,.list-row,.animal-list-item,.photo-card figcaption,.reminder-card{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.section-heading,.list-row{justify-content:space-between}.action-menu-shell{position:relative;display:inline-flex;flex:0 0 auto}.action-menu-dropdown{position:absolute;top:calc(100% + .45rem);right:0;z-index:24;min-width:12.5rem;display:grid;gap:.3rem;padding:.45rem;border-radius:18px;border:1px solid var(--field-line);background:var(--panel-strong-pattern),var(--panel-strong);box-shadow:var(--shadow),var(--panel-glow)}.action-menu-item{width:100%;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);padding:.72rem .85rem;display:inline-flex;align-items:center;gap:.55rem;justify-content:flex-start;text-align:left;text-decoration:none;cursor:pointer}.action-menu-item:hover,.action-menu-item:focus-visible{border-color:var(--field-line);background:var(--button-pattern),var(--button-bg-hover);outline:none}.subsection{display:grid;gap:.9rem;width:100%;min-width:0;justify-content:stretch;justify-items:stretch}.archive-species-groups{gap:.95rem}.archive-filter-panel{display:grid;gap:.75rem;margin-bottom:1rem;padding:.9rem;border-radius:22px;border:1px solid var(--line);background:var(--panel)}.archive-filter-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.archive-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.archive-filter-actions .muted{margin:0}.archive-species-group{display:grid;gap:.8rem;padding:.9rem;border-radius:22px;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel)}.archive-species-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.archive-species-group-head>div{display:grid;gap:.18rem}.archive-species-group-head h4,.archive-species-group-head p{margin:0}.archive-species-group .accordion-list,.archive-species-group .stack.compact{gap:.7rem}.husbandry-layout .archive-species-group,.medical-layout .archive-species-group,.breeding-layout .archive-species-group{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:.65rem}.husbandry-layout .archive-species-group-head,.medical-layout .archive-species-group-head,.breeding-layout .archive-species-group-head{padding-inline:.1rem}.dashboard-breeding-card{display:grid;gap:1rem;align-content:start}.dashboard-breeding-list{gap:.7rem}.stat-card,.info-card,.result-card,.reminder-card{border-radius:20px;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel-strong);padding:.95rem}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{display:grid;gap:.6rem;align-content:start;padding-right:3.4rem}.stat-card-top{display:flex;align-items:center;gap:.95rem;min-width:0}.stat-card-link{text-decoration:none}.stat-card-link,.species-card-button,.species-focus-card-button,.care-sheet-card,.trend-history-row-inline{position:relative}.stat-card-link:after,.species-card-button:after,.species-focus-card-button:after,.care-sheet-card:after,.trend-history-row-inline:after{content:"↗";position:absolute;top:.8rem;right:.8rem;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--field-line);background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--muted);font-size:.88rem;line-height:1;pointer-events:none;transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease}.stat-card-link:hover:after,.stat-card-link:focus-visible:after,.species-card-button:hover:after,.species-card-button:focus-visible:after,.species-focus-card-button:hover:after,.species-focus-card-button:focus-visible:after,.care-sheet-card:hover:after,.care-sheet-card:focus-visible:after,.trend-history-row-inline:hover:after,.trend-history-row-inline:focus-visible:after{transform:translate(1px,-1px);color:var(--text);border-color:var(--field-line-strong);background:color-mix(in srgb,var(--button-bg) 92%,transparent)}.stat-card-link:hover{transform:translateY(-1px)}.stat-card strong,.info-card strong{display:block;font-size:1.55rem;line-height:1.05}.stat-icon{width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#f59e0b33,#10b98129)}.stat-card .stat-label{display:block;padding-right:.25rem;font-size:1rem;line-height:1.15;color:var(--text);word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance}.species-grid,.detail-grid,.form-grid,.photo-grid,.print-grid,.record-card-grid,.record-group-grid,.accordion-list{display:grid;gap:.8rem}.species-grid,.detail-grid,.print-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.care-sheets-layout>.care-sheets-hero,.care-sheets-layout>.care-sheets-group-card{grid-column:1 / -1}.care-sheets-hero{display:grid;gap:1rem}.care-sheets-group-heading{align-items:flex-start}.care-sheets-group-heading>div{display:grid;gap:.35rem}.care-sheets-group-heading p,.care-sheet-card-copy{margin:0}.care-sheets-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.care-sheet-card{align-content:start;gap:.85rem}.care-sheet-card-head{display:grid;gap:.18rem}.care-sheet-card-facts{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.care-sheet-card-fact,.species-dossier-list-item{border-radius:18px;border:1px solid var(--line);background:var(--panel);padding:.8rem .9rem}.care-sheet-card-fact{display:grid;gap:.18rem}.care-sheet-card-fact span{color:var(--muted);font-size:.82rem}.species-dossier-list{display:grid;gap:.65rem}.species-card{padding:1rem;border-radius:22px;background:var(--panel-strong-pattern),var(--panel-strong);border:1px solid var(--line);display:grid;gap:.6rem;text-align:left}.species-card-button,.species-focus-card-button{width:100%;color:inherit;font:inherit;cursor:pointer}.species-card-button:hover,.species-focus-card-button:hover{border-color:var(--field-line-strong);transform:translateY(-1px)}.species-card-button:focus-visible,.species-focus-card-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.species-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.species-focus-card,.legacy-panel{border-radius:24px;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel-strong);box-shadow:none;padding:1rem}.species-focus-card-body,.animal-detail-screen{display:grid;gap:1rem}.animal-detail-screen>*{min-width:0}.species-dossier-screen{display:grid;gap:1rem}.species-dossier-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.95fr);gap:1rem;align-items:start}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.animal-profile-hero,.animal-detail-toolbar,.animal-detail-section,.animal-trend-card{border-radius:24px;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel-strong)}.animal-profile-hero{overflow:hidden}.animal-profile-banner{height:92px;background:radial-gradient(circle at 18% 32%,rgba(255,255,255,.18),transparent 24%),linear-gradient(135deg,#f59e0b57,#22c55e2e 46%,#0ea5e92e)}.animal-profile-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:0 1rem 1rem;margin-top:-44px;align-items:end}.animal-profile-avatar{width:116px;height:116px;border-radius:999px;object-fit:cover;border:4px solid var(--panel-strong);background:var(--button-bg)}.animal-profile-avatar-placeholder{display:grid;place-items:center;color:var(--muted)}.animal-profile-copy{display:grid;gap:.8rem;min-width:0}.animal-profile-copy h3{margin-bottom:.25rem}.animal-profile-subtitle{margin:0;color:var(--muted)}.animal-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.animal-hero-stat{border-left:1px solid var(--line);padding-left:.8rem;min-width:0}.animal-hero-stat:first-child{border-left:0;padding-left:0}.animal-hero-stat strong{display:block;font-size:1.35rem;line-height:1.2}.animal-hero-stat span{color:var(--muted);font-size:.92rem}.animal-detail-toolbar,.animal-detail-section,.animal-trend-card{padding:1rem}.animal-analytics-grid,.animal-detail-section-grid,.animal-note-grid{display:grid;gap:1rem}.animal-analytics-grid,.animal-detail-section-grid,.animal-note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.animal-detail-modal-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.animal-detail-modal-actions>*{width:100%;min-width:0}.animal-detail-modal-actions .secondary-button,.animal-detail-modal-actions .primary-button,.animal-detail-modal-actions .link-button{width:100%;min-width:0;padding-inline:.7rem}.animal-detail-modal-actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animal-trend-summary{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.animal-trend-summary strong{font-size:1.05rem}.feeding-bar-chart{height:90px;display:grid;grid-template-columns:repeat(auto-fit,minmax(12px,1fr));gap:.45rem;align-items:end}.feeding-bar{border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#0ea5e947,#22c55edb)}.trend-line-chart{width:100%;height:120px;overflow:visible}.trend-area{fill:#0ea5e929}.trend-line{fill:none;stroke:#0ea5e9eb;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:var(--panel-strong);stroke:#0ea5e9eb;stroke-width:2}.trend-axis-row{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.88rem}.trend-delta.positive{color:#22c55e}.trend-delta.negative{color:#ef4444}.animal-trend-card-button{width:100%;text-align:left;cursor:pointer;display:grid;gap:.9rem;padding:0;border:0;background:transparent;color:inherit;font:inherit}.animal-trend-card-head{align-items:flex-start;gap:.75rem}.animal-trend-card-head>div{min-width:0}.animal-trend-quick-add{flex:0 0 auto;width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem}.animal-trend-card-button:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0f172a1f}.trend-detail-screen{display:grid;gap:1rem}.trend-detail-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.date-filter-field{display:grid;gap:.45rem}.date-input-shell{position:relative;isolation:isolate}.date-input-shell input{position:relative;z-index:1;background:transparent;color:transparent!important;-webkit-text-fill-color:transparent!important}.date-input-shell input::-webkit-date-and-time-value,.date-input-shell input::-webkit-datetime-edit,.date-input-shell input::-webkit-datetime-edit-fields-wrapper,.date-input-shell input::-webkit-datetime-edit-text,.date-input-shell input::-webkit-datetime-edit-month-field,.date-input-shell input::-webkit-datetime-edit-day-field,.date-input-shell input::-webkit-datetime-edit-year-field,.date-input-shell input::-webkit-datetime-edit-hour-field,.date-input-shell input::-webkit-datetime-edit-minute-field,.date-input-shell input::-webkit-textfield-decoration-container{color:transparent!important;-webkit-text-fill-color:transparent!important}.date-input-display{position:absolute;left:.95rem;right:2.75rem;top:50%;transform:translateY(-50%);color:var(--placeholder);pointer-events:none;z-index:2;font-size:.98rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-input-display.has-value{color:var(--text)}.trend-filter-reset{min-height:48px;justify-content:center}.trend-detail-chart-panel,.trend-history-list,.entry-form-section{border-radius:22px;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel-strong)}.trend-detail-chart-panel,.entry-form-section{padding:1rem}.trend-detail-chart-scroll{width:100%;overflow:hidden;padding-bottom:.2rem}.trend-detail-chart{width:100%;max-width:100%;min-width:0;height:auto;overflow:visible}.trend-label{fill:var(--muted);font-size:12.5px;font-weight:600;letter-spacing:.01em;dominant-baseline:hanging}.trend-label-vertical{font-size:12.2px;font-weight:700;letter-spacing:0;dominant-baseline:auto}.trend-history-list{display:grid;gap:0;overflow:hidden}.trend-history-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:.9rem 1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:start;text-align:left}.trend-history-row:last-child{border-bottom:0}.trend-history-row:hover{background:var(--button-pattern),var(--button-bg-hover)}.trend-history-row strong,.trend-history-row p{margin:0}.trend-history-row p{color:var(--muted);margin-top:.2rem}.trend-history-row-inline{border-radius:18px;border:1px solid var(--field-line);background:var(--button-pattern),var(--button-bg)}.trend-history-row-inline:hover{border-color:var(--field-line-strong)}.entry-form-shell{display:grid;gap:1rem}.entry-form-section{display:grid;gap:.9rem}.import-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.import-actions{align-items:stretch}.import-upload-button{min-height:48px}.import-template-note{margin:0}.import-ocr-preview{min-height:160px;resize:vertical}.import-preview-list{max-height:320px;overflow-y:auto}.import-preview-item{grid-template-columns:minmax(0,1fr);align-items:start}.import-preview-item .record-list-actions{justify-content:flex-start}.import-preview-item.is-partial{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 44%,var(--field-line))}.import-preview-item.is-skipped{border-style:dashed;opacity:.9}.import-preview-editor{display:grid;gap:.7rem;margin-top:.55rem;padding-top:.75rem;border-top:1px dashed var(--line)}.import-preview-edit-help{margin:0}.import-preview-edit-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.import-preview-edit-grid>.full-width{grid-column:1 / -1}.import-warning-box{min-height:auto;place-items:start;text-align:left}button:disabled,.theme-button:disabled,.secondary-button:disabled,.primary-button:disabled,.link-button:disabled{opacity:.58;cursor:not-allowed;transform:none}.husbandry-entry-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.husbandry-entry-grid>label:has(.smart-select),.husbandry-entry-grid>label:has(textarea),.husbandry-entry-grid>label:has(input[type=file]){grid-column:span 2}.husbandry-entry-grid>.full-width{grid-column:1 / -1}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.reminder-form-grid,.reminder-form-grid>label,.reminder-form-grid input[type=datetime-local],.reminder-form-grid input[type=text],.reminder-form-grid input:not([type=checkbox]):not([type=radio]),.reminder-form-grid select{min-width:0}.full-width{grid-column:1 / -1}label{display:grid;gap:.35rem;min-width:0}label>span{color:var(--label);font-size:.94rem;font-weight:600;letter-spacing:.01em}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border-radius:14px;border:1px solid var(--field-line);background:var(--field-bg);color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;padding:.85rem .95rem;min-height:48px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;box-shadow:inset 0 1px #ffffff05;caret-color:var(--text)}input[type=date],input[type=datetime-local]{color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;color-scheme:light;font-variant-numeric:tabular-nums;caret-color:var(--text)}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--field-line-strong)}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--placeholder);-webkit-text-fill-color:var(--placeholder)}input::-webkit-date-and-time-value,input::-webkit-datetime-edit,input::-webkit-datetime-edit-fields-wrapper,input::-webkit-datetime-edit-text,input::-webkit-datetime-edit-month-field,input::-webkit-datetime-edit-day-field,input::-webkit-datetime-edit-year-field,input::-webkit-datetime-edit-hour-field,input::-webkit-datetime-edit-minute-field{color:var(--text);-webkit-text-fill-color:var(--text);opacity:1;font:inherit;font-family:inherit!important;background:transparent!important}:root[data-theme=light] input[type=date],:root[data-theme=light] input[type=datetime-local],:root[data-theme=rocky-mountains] input[type=date],:root[data-theme=rocky-mountains] input[type=datetime-local]{color-scheme:light}:root[data-theme=dark] input[type=date],:root[data-theme=dark] input[type=datetime-local],:root[data-theme=oled] input[type=date],:root[data-theme=oled] input[type=datetime-local],:root[data-theme=jungle] input[type=date],:root[data-theme=jungle] input[type=datetime-local],:root[data-theme=swamp] input[type=date],:root[data-theme=swamp] input[type=datetime-local],:root[data-theme=desert] input[type=date],:root[data-theme=desert] input[type=datetime-local],:root[data-theme=dark-desert] input[type=date],:root[data-theme=dark-desert] input[type=datetime-local]{color-scheme:dark}input[type=date]::-webkit-date-and-time-value,input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=date]::-webkit-datetime-edit-text,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-year-field{color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;opacity:1!important}input[type=date]::-webkit-textfield-decoration-container,input[type=datetime-local]::-webkit-textfield-decoration-container{color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;opacity:1!important;background:transparent!important}input[type=datetime-local]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local]::-webkit-datetime-edit-text,input[type=datetime-local]::-webkit-datetime-edit-month-field,input[type=datetime-local]::-webkit-datetime-edit-day-field,input[type=datetime-local]::-webkit-datetime-edit-year-field,input[type=datetime-local]::-webkit-datetime-edit-hour-field,input[type=datetime-local]::-webkit-datetime-edit-minute-field,input[type=datetime-local]::-webkit-datetime-edit-second-field,input[type=datetime-local]::-webkit-datetime-edit-ampm-field{color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;opacity:1!important;background:transparent!important}.date-input-shell.is-empty input::-webkit-date-and-time-value,.date-input-shell.is-empty input::-webkit-datetime-edit,.date-input-shell.is-empty input::-webkit-datetime-edit-fields-wrapper,.date-input-shell.is-empty input::-webkit-datetime-edit-text,.date-input-shell.is-empty input::-webkit-datetime-edit-month-field,.date-input-shell.is-empty input::-webkit-datetime-edit-day-field,.date-input-shell.is-empty input::-webkit-datetime-edit-year-field,.date-input-shell.is-empty input::-webkit-datetime-edit-hour-field,.date-input-shell.is-empty input::-webkit-datetime-edit-minute-field,.date-input-shell.is-empty input::-webkit-textfield-decoration-container{color:transparent!important;-webkit-text-fill-color:transparent!important}select option,select optgroup{background:var(--panel-strong);color:var(--text)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--field-bg) inset;box-shadow:0 0 0 1000px var(--field-bg) inset;caret-color:var(--text)}:root[data-theme=dark] input::-webkit-calendar-picker-indicator,:root[data-theme=dark] input::-webkit-date-and-time-value,:root[data-theme=jungle] input::-webkit-calendar-picker-indicator,:root[data-theme=jungle] input::-webkit-date-and-time-value,:root[data-theme=swamp] input::-webkit-calendar-picker-indicator,:root[data-theme=swamp] input::-webkit-date-and-time-value,:root[data-theme=dark-jungle] input::-webkit-calendar-picker-indicator,:root[data-theme=dark-jungle] input::-webkit-date-and-time-value,:root[data-theme=dark-desert] input::-webkit-calendar-picker-indicator,:root[data-theme=dark-desert] input::-webkit-date-and-time-value,:root[data-theme=oled] input::-webkit-calendar-picker-indicator,:root[data-theme=oled] input::-webkit-date-and-time-value{filter:invert(1) brightness(.92)}:root[data-theme=dark] input[type=date],:root[data-theme=dark] input[type=datetime-local],:root[data-theme=jungle] input[type=date],:root[data-theme=jungle] input[type=datetime-local],:root[data-theme=swamp] input[type=date],:root[data-theme=swamp] input[type=datetime-local],:root[data-theme=dark-jungle] input[type=date],:root[data-theme=dark-jungle] input[type=datetime-local],:root[data-theme=dark-desert] input[type=date],:root[data-theme=dark-desert] input[type=datetime-local],:root[data-theme=oled] input[type=date],:root[data-theme=oled] input[type=datetime-local]{color-scheme:dark;text-shadow:0 0 0 var(--text)}input[type=checkbox],input[type=radio]{width:1.05rem;height:1.05rem;margin:0}fieldset{margin:0;border:1px solid var(--line);border-radius:20px;padding:.8rem}legend{padding:0 .35rem}.chip{color:var(--text)}.chip.active,.theme-button.active,.primary-button{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border-color:transparent}.theme-switcher{flex-wrap:wrap;justify-content:flex-end}.theme-button,.secondary-button,.primary-button,.link-button,.upload-box,.chip,.animal-list-item,.terrarium-cell{border:1px solid var(--field-line);border-radius:14px;background:var(--button-pattern),var(--button-overlay),var(--button-bg);color:var(--text);transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease}.theme-button,.secondary-button,.primary-button,.link-button,.upload-box{padding:.8rem 1rem;display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}.theme-button:hover,.secondary-button:hover,.link-button:hover,.upload-box:hover,.animal-list-item:hover,.terrarium-cell:hover,.chip:hover{background:var(--button-pattern),var(--button-overlay),var(--button-bg-hover);border-color:var(--field-line-strong)}.theme-button:focus-visible,.secondary-button:focus-visible,.primary-button:focus-visible,.link-button:focus-visible,.upload-box:focus-visible,.animal-list-item:focus-visible,.terrarium-cell:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.danger-button{border-color:#dc262633;color:#dc2626}.danger-text{color:#dc2626}.animal-list-item{width:100%;padding:.8rem;min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.85rem;flex-wrap:nowrap;contain:paint}.animal-list-item.active{outline:2px solid rgba(245,158,11,.45);background:var(--button-bg-hover)}.animal-list-item img,.photo-placeholder{width:54px;height:54px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:#94a3b826;flex-shrink:0;backface-visibility:hidden}.animal-archive-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--panel-strong-pattern),var(--panel-strong)}.animal-list-body{min-width:0;display:grid;gap:.15rem}.animal-list-body p,.animal-list-body span{margin:0}.animal-list-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.animal-name-button{border:0;background:transparent;padding:0;color:var(--text);text-align:left;font-size:1rem;font-weight:700}.animal-name-button:hover{color:var(--accent)}.icon-button{width:42px;height:42px;padding:0;justify-content:center}.compact-checkbox{justify-content:flex-start}.record-list-item{width:100%;padding:.9rem;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:center;border:1px solid var(--field-line);border-radius:18px;background:var(--button-pattern),var(--button-bg);transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease}.record-card-grid .record-list-item,.record-group-grid .record-list-item,.record-card-grid .trend-history-row-inline{min-height:100%}.record-card-grid .trend-history-row-inline{align-content:start}.record-list-item:hover{background:var(--button-pattern),var(--button-bg-hover);border-color:var(--field-line-strong)}.husbandry-layout .record-list-item,.medical-layout .record-list-item,.breeding-layout .record-list-item{border-radius:16px;background:var(--panel-pattern),color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:var(--panel-glow)}.record-list-item.active{outline:2px solid rgba(245,158,11,.45);background:var(--button-pattern),var(--button-bg-hover)}.record-list-main{min-width:0;display:grid;gap:.18rem}.record-list-main p,.record-list-main span,.record-list-main strong{margin:0}.record-list-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.accordion-group{border-radius:22px;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel-strong);overflow:hidden}.husbandry-layout .accordion-group,.medical-layout .accordion-group,.breeding-layout .accordion-group{border-radius:20px;border-color:color-mix(in srgb,var(--line) 78%,transparent);background:var(--panel-pattern),color-mix(in srgb,var(--panel-strong) 92%,transparent);box-shadow:var(--panel-glow)}.accordion-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem}.husbandry-layout .accordion-header-row,.medical-layout .accordion-header-row,.breeding-layout .accordion-header-row{padding:.8rem .9rem .7rem}.accordion-toggle{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;padding:0}.accordion-copy{display:grid;gap:.2rem;min-width:0}.accordion-copy strong,.accordion-copy p{margin:0}.accordion-copy p{color:var(--muted)}.accordion-meta{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.muted-tag{opacity:.72}.accordion-chevron{transition:transform .16s ease}.accordion-chevron.expanded{transform:rotate(180deg)}.accordion-panel{padding:0 .75rem .75rem}.husbandry-layout .accordion-panel,.medical-layout .accordion-panel,.breeding-layout .accordion-panel{padding:0 .9rem .9rem}.compact-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.span-2{grid-column:span 8}.record-card-grid,.record-group-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.photo-grid{width:100%;min-width:0;align-items:start;justify-content:stretch;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gallery-upload-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.gallery-upload-toolbar .muted{margin:0}.print-options-panel{gap:.85rem}.print-options-note{margin:.25rem 0 0}.qr-print-options-panel{gap:.9rem}.husbandry-print-modal{gap:1rem}.husbandry-print-filter-grid{margin-bottom:.8rem}.husbandry-print-summary .info-card strong{font-size:1.08rem}.compact-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.bulk-label-modal{display:grid;gap:1rem}.bulk-label-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;align-items:start}.bulk-label-selection-panel,.bulk-label-settings-panel{min-width:0}.bulk-label-selection-list{display:grid;gap:.75rem;max-height:min(60vh,36rem);overflow:auto;padding:.1rem}.bulk-label-selection-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.85rem;align-items:center;padding:.9rem;border:1px solid var(--field-line);border-radius:18px;background:var(--panel-strong-pattern),var(--panel-strong);box-shadow:var(--panel-glow);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.bulk-label-selection-row.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.bulk-label-selection-row input{margin:0}.bulk-label-selection-row img,.bulk-label-photo-placeholder{width:3.25rem;height:3.25rem;border-radius:16px;object-fit:cover}.bulk-label-photo-placeholder{display:grid;place-items:center}.bulk-label-selection-copy{min-width:0;display:grid;gap:.2rem}.bulk-label-selection-copy strong,.bulk-label-selection-copy p,.bulk-label-selection-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-choice-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:flex-start;padding:1rem;border:1px solid var(--field-line);border-radius:18px;background:var(--panel-strong-pattern),var(--panel-strong);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.radio-choice-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.radio-choice-card input{margin-top:.2rem}.radio-choice-card strong,.radio-choice-card p{margin:0}.radio-choice-card p{color:var(--muted);margin-top:.28rem}.reminder-calendar-card{overflow:hidden}.fullcalendar-shell{width:100%;min-width:0}.fullcalendar-shell .fc{--fc-border-color: var(--line);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(148, 163, 184, .08);--fc-list-event-hover-bg-color: rgba(15, 23, 42, .04);--fc-button-text-color: var(--text);--fc-button-bg-color: var(--button-bg);--fc-button-border-color: var(--field-line);--fc-button-hover-bg-color: var(--panel-strong);--fc-button-hover-border-color: var(--accent);--fc-button-active-bg-color: var(--accent);--fc-button-active-border-color: var(--accent);min-width:0}.fullcalendar-shell .fc .fc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;margin-bottom:1rem}.fullcalendar-shell .fc .fc-toolbar-chunk{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0}.fullcalendar-shell .fc .fc-toolbar-title{font-family:var(--font-display);font-size:1.08rem;font-weight:700;text-transform:capitalize}.fullcalendar-shell .fc .fc-button{min-height:40px;border-radius:999px;box-shadow:none;font-weight:700;text-transform:none;padding:.55rem .9rem}.fullcalendar-shell .fc .fc-button:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.fullcalendar-shell .fc .fc-scrollgrid,.fullcalendar-shell .fc .fc-theme-standard td,.fullcalendar-shell .fc .fc-theme-standard th{border-color:var(--line)}.fullcalendar-shell .fc .fc-scrollgrid{overflow:hidden;border-radius:22px;background:var(--panel-strong-pattern),var(--panel-strong)}.fullcalendar-shell .fc .fc-col-header-cell{background:#94a3b814}.fullcalendar-shell .fc .fc-col-header-cell-cushion{padding:.75rem .4rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.fullcalendar-shell .fc .fc-daygrid-day-frame{min-height:132px;background:#ffffff05}.fullcalendar-shell .fc .fc-daygrid-day-number{padding:.55rem .65rem 0;color:var(--text);font-weight:700;text-decoration:none}.fullcalendar-shell .fc .fc-day-other .fc-daygrid-day-number{color:var(--muted)}.fullcalendar-shell .fc .fc-day-today{background:#0f766e14}.fullcalendar-shell .fc .fc-day-today .fc-daygrid-day-number{color:var(--accent-strong)}.fullcalendar-shell .fc .fc-daygrid-day-events{margin:.15rem .45rem .55rem}.fullcalendar-shell .fc .planner-reminder-event.fc-event{border-radius:16px;border:1px solid transparent;background:var(--panel-pattern),var(--panel);color:var(--text);box-shadow:none;padding:0;margin-bottom:.35rem}.fullcalendar-shell .fc .planner-reminder-event.status-open.fc-event{border-color:#d977064d}.fullcalendar-shell .fc .planner-reminder-event.status-completed.fc-event{border-color:#22c55e47}.fullcalendar-shell .fc .planner-reminder-event.status-skipped.fc-event{border-color:#94a3b852}.fullcalendar-shell .fc .planner-event-content{display:grid;gap:.14rem;padding:.55rem .65rem;min-width:0}.fullcalendar-shell .fc .planner-event-content strong,.fullcalendar-shell .fc .planner-event-content span{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.fullcalendar-shell .fc .planner-event-content strong{font-size:.82rem;line-height:1.2;white-space:nowrap}.fullcalendar-shell .fc .planner-event-content span{font-size:.74rem;color:var(--muted);line-height:1.2;white-space:nowrap}.fullcalendar-shell .fc .fc-daygrid-more-link{margin:.15rem .55rem .55rem;color:var(--accent);font-weight:700}.fullcalendar-shell .fc .fc-list{border-radius:22px;overflow:hidden}.fullcalendar-shell .fc .fc-list-day-cushion{background:#94a3b814;padding:.7rem .9rem}.fullcalendar-shell .fc .fc-list-day-cushion a{color:var(--text);text-decoration:none;font-weight:700}.fullcalendar-shell .fc .fc-list-event-time{width:5.25rem;color:var(--muted);font-size:.78rem;white-space:nowrap}.fullcalendar-shell .fc .fc-list-event-title a{color:inherit;text-decoration:none}.fullcalendar-shell .fc .fc-list-empty{background:transparent}.fullcalendar-shell .fc .fc-list-empty-cushion{color:var(--muted);padding:1.2rem 1rem}.fullcalendar-shell .fc .fc-view-harness{min-height:0}@media (max-width: 760px){.fullcalendar-shell .fc .fc-toolbar{align-items:stretch;gap:.7rem}.fullcalendar-shell .fc .fc-toolbar-chunk{justify-content:center}.fullcalendar-shell .fc .fc-toolbar-title{width:100%;text-align:center;font-size:1rem}.fullcalendar-shell .fc .fc-list{border-radius:18px}.fullcalendar-shell .fc .fc-list-day-cushion{padding:.65rem .8rem}.fullcalendar-shell .fc .fc-list-event-time{width:4.4rem;padding-right:.5rem}.fullcalendar-shell .fc .planner-event-content{padding:.7rem 0}.fullcalendar-shell .fc .planner-event-content strong{font-size:.84rem}.reminder-fullcalendar-shell .fc .fc-daygrid-day-frame{min-height:104px}.reminder-fullcalendar-shell .fc .fc-daygrid-day-number{padding:.42rem .5rem 0;font-size:.92rem}.reminder-fullcalendar-shell .fc .fc-daygrid-day-events{margin:.12rem .32rem .4rem}.reminder-fullcalendar-shell .fc .planner-reminder-event.fc-event{margin-bottom:.24rem}.reminder-fullcalendar-shell .fc .planner-event-content{padding:.42rem .5rem}.reminder-fullcalendar-shell .fc .planner-event-popover-label{display:none}.reminder-fullcalendar-shell .fc .fc-popover{border:1px solid var(--field-line-strong);border-radius:18px;background:color-mix(in srgb,var(--panel) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow),var(--panel-glow);overflow:hidden}.reminder-fullcalendar-shell .fc .fc-popover-header{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.65rem .8rem;border-bottom:1px solid var(--field-line);background:color-mix(in srgb,var(--panel-strong) 78%,transparent)}.reminder-fullcalendar-shell .fc .fc-popover-title{font-size:.86rem;font-weight:700;color:var(--text)}.reminder-fullcalendar-shell .fc .fc-popover-close{font-size:1.2rem;color:var(--muted);opacity:.9}.reminder-fullcalendar-shell .fc .fc-popover-body{padding:.4rem}.reminder-fullcalendar-shell .fc .fc-popover .planner-reminder-event.fc-event{margin:0 0 .3rem}.reminder-fullcalendar-shell .fc .fc-popover .planner-reminder-event.fc-event:last-child{margin-bottom:0}.reminder-fullcalendar-shell .fc .fc-popover .planner-event-content.compact,.reminder-fullcalendar-shell .fc .fc-popover .planner-event-content.compact.icon-only{display:block;padding:.46rem .62rem}.reminder-fullcalendar-shell .fc .fc-popover .planner-event-content.compact strong,.reminder-fullcalendar-shell .fc .fc-popover .planner-event-content.compact .planner-event-dot,.reminder-fullcalendar-shell .fc .fc-popover .planner-event-content.compact.icon-only .planner-event-icon-badge{display:none}.reminder-fullcalendar-shell .fc .fc-popover .planner-event-popover-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.2;font-weight:600;color:currentColor}.reminder-fullcalendar-shell .fc .planner-event-content strong{font-size:.76rem;line-height:1.15}.reminder-fullcalendar-shell .fc .planner-event-content span{font-size:.68rem;line-height:1.12}}@media (max-width: 520px){.fullcalendar-shell .fc .fc-toolbar-chunk:last-child{justify-content:space-between}.fullcalendar-shell .fc .fc-button-group{display:inline-flex;flex-wrap:wrap;justify-content:center}.fullcalendar-shell .fc .fc-button{padding:.5rem .78rem}.reminder-fullcalendar-shell .fc .fc-toolbar{margin-bottom:.78rem}.reminder-fullcalendar-shell .fc .fc-col-header-cell-cushion{padding:.5rem .25rem;font-size:.68rem}.reminder-fullcalendar-shell .fc .fc-daygrid-day-frame{min-height:88px}.reminder-fullcalendar-shell .fc .planner-event-content{padding:.32rem .38rem}.reminder-fullcalendar-shell .fc .planner-event-content span{display:none}.reminder-fullcalendar-shell .fc .planner-event-content.compact.icon-only{justify-content:center;gap:0;padding:.16rem .2rem}.reminder-fullcalendar-shell .fc .planner-event-content.compact.icon-only .planner-event-icon-badge{width:.95rem;height:.95rem;display:inline-grid;place-items:center;color:currentColor;opacity:.9}.reminder-fullcalendar-shell .fc .fc-daygrid-more-link{margin:.08rem .4rem .38rem;font-size:.72rem}}@media (max-width: 620px){.reminder-calendar-card .section-heading .muted{display:none}.reminder-fullcalendar-shell .fc .fc-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;margin-bottom:.7rem}.reminder-fullcalendar-shell .fc .fc-toolbar-chunk{min-width:0}.reminder-fullcalendar-shell .fc .fc-toolbar-chunk:first-child{justify-content:flex-start}.reminder-fullcalendar-shell .fc .fc-toolbar-chunk:nth-child(2){justify-content:center}.reminder-fullcalendar-shell .fc .fc-toolbar-chunk:last-child{justify-content:flex-end}.reminder-fullcalendar-shell .fc .fc-toolbar-title{width:auto;text-align:left;font-size:.92rem;line-height:1.15}.reminder-fullcalendar-shell .fc .fc-button{min-height:36px;padding:.42rem .68rem;font-size:.78rem}.reminder-fullcalendar-shell .fc .fc-col-header-cell-cushion{padding:.44rem .18rem;font-size:.62rem;letter-spacing:.06em}.reminder-fullcalendar-shell .fc .fc-daygrid-day-frame{min-height:72px}.reminder-fullcalendar-shell .fc .fc-daygrid-day-number{padding:.35rem .42rem 0;font-size:.82rem}.reminder-fullcalendar-shell .fc .fc-daygrid-day-events{margin:.08rem .18rem .3rem;min-height:0}.reminder-fullcalendar-shell .fc .planner-reminder-event.fc-event{margin-bottom:.16rem;border-radius:999px}.reminder-fullcalendar-shell .fc .planner-event-content.compact{display:flex;align-items:center;gap:.32rem;padding:.18rem .34rem}.reminder-fullcalendar-shell .fc .planner-event-content.compact .planner-event-dot{width:.38rem;height:.38rem;border-radius:999px;background:currentColor;opacity:.74;flex:0 0 auto}.reminder-fullcalendar-shell .fc .planner-event-content.compact strong{font-size:.68rem;line-height:1.05}.reminder-fullcalendar-shell .fc .fc-daygrid-more-link{margin:.05rem .25rem .3rem;font-size:.68rem}}.file-upload-button{position:relative;overflow:hidden;cursor:pointer}.file-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.animal-import-json-button{min-width:0}.photo-card{width:100%;min-width:0;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--panel-strong-pattern),var(--panel-strong);contain:paint}.photo-card img,.print-photo-grid img{width:100%;display:block;aspect-ratio:1 / 1;object-fit:cover;backface-visibility:hidden}.photo-card figcaption{justify-content:space-between;padding:.8rem}.modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:calc(1rem + var(--app-safe-top)) 1rem calc(1rem + var(--app-safe-bottom))}.modal-shell-full{place-items:stretch;padding:0 0 var(--app-safe-bottom)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#000000ad}.modal-card{position:relative;width:min(1100px,100%);max-height:calc(100dvh - 2rem - var(--app-safe-top) - var(--app-safe-bottom));border-radius:28px;border:1px solid var(--line);background:var(--panel-pattern),var(--panel);box-shadow:var(--shadow),var(--panel-glow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.modal-card-full{width:100%;max-width:100%;height:calc(100dvh - var(--app-safe-bottom));max-height:calc(100dvh - var(--app-safe-bottom));border-radius:0;border-left:0;border-right:0;border-top:0}.modal-card-full .modal-header{padding-top:calc(.95rem + var(--app-safe-top))}.modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.95rem 1rem .7rem;border-bottom:1px solid var(--line);background:var(--panel-pattern),var(--panel)}.modal-heading{display:grid;gap:.25rem;min-width:0}.modal-header-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;justify-content:flex-end;margin-left:auto;flex-shrink:0;overflow-x:auto;scrollbar-width:none}.modal-body{overflow:auto;padding:.9rem 1rem 1rem}.modal-card-full .modal-body{padding:.9rem 1rem calc(1rem + var(--app-safe-bottom))}.modal-body .info-card{padding:.82rem;gap:.28rem}.modal-body .info-card span{font-size:.92rem;line-height:1.15}.modal-body .info-card strong{font-size:1.24rem;line-height:1.1;overflow-wrap:anywhere;text-wrap:balance}.modal-footer{padding:.75rem 1rem 1rem;border-top:1px solid var(--line);background:var(--panel-pattern),var(--panel)}.modal-card-full .modal-footer{padding-bottom:calc(1rem + var(--app-safe-bottom))}.modal-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.modal-header-actions::-webkit-scrollbar,.modal-footer-actions::-webkit-scrollbar{display:none}.modal-header-actions>*,.modal-footer-actions>*{flex:0 0 auto;min-width:0}.modal-footer .secondary-button,.modal-footer .primary-button,.modal-footer .link-button{padding:.62rem .82rem;min-height:40px;border-radius:12px;font-size:.94rem}.modal-footer .secondary-button,.modal-footer .primary-button{gap:.45rem}.modal-close-button{width:1.9rem;height:1.9rem;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);display:inline-grid;place-items:center;flex:0 0 auto}.modal-close-button:hover{background:var(--button-bg);color:var(--text)}.modal-close-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.modal-body>form>.primary-button:last-child{display:none}.tab-panel-shell{display:grid;gap:1rem;border:1px solid var(--line);border-radius:24px;background:var(--panel-strong);padding:1rem}.segment-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.segment-tab{border:1px solid var(--field-line);border-radius:999px;background:var(--button-bg);color:var(--text);padding:.65rem .95rem}.segment-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border-color:transparent}.link-button{background:none;padding:0;border:0;color:var(--accent)}.reminder-card{display:flex;justify-content:space-between;gap:1rem}.terrarium-grid{display:grid;gap:.4rem}.terrarium-cell{min-height:44px;color:#101418;font-size:.72rem;font-weight:700}.legend-dot{width:.8rem;height:.8rem;border-radius:999px;display:inline-block}.source-link{text-decoration:none;border-bottom:1px dashed var(--line);padding-bottom:.35rem;overflow-wrap:anywhere}.smart-select{min-width:0}.toast-shell{background:var(--panel-strong)!important;color:var(--text)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important}.upload-box{position:relative;overflow:hidden}.upload-box input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.empty-state{min-height:220px;border:1px dashed var(--line);border-radius:22px;display:grid;place-items:center;align-content:center;text-align:center;padding:1.2rem;gap:.55rem}h1,h2,h3,h4,p,strong,span,a,small,button{overflow-wrap:anywhere}p,h1,h2,h3,h4,figure{margin:0}.card>*,.hero-panel>*,.section-heading>*,.list-row>*,.animal-list-item>*,.reminder-card>*,.stat-card>*,.info-card>*{min-width:0}.chip-row{align-items:flex-start}.theme-button,.secondary-button,.primary-button{justify-content:center}.list-row,.section-heading{row-gap:.55rem}.hero-panel p,.card p{line-height:1.5}.terrarium-planner-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.terrarium-planner-shell-mobile-preview{gap:.65rem}.terrarium-planner-shell-mobile-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;padding:0;background:#080c12eb}.terrarium-flow-stage{height:clamp(620px,82dvh,1080px);min-height:620px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);touch-action:pan-y pinch-zoom;overscroll-behavior-y:auto;position:relative;isolation:isolate}.terrarium-flow-stage-mobile-preview{height:clamp(180px,24dvh,240px);min-height:180px}.terrarium-mobile-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.terrarium-mobile-preview-toolbar-copy{display:grid;gap:.15rem;min-width:0}.terrarium-mobile-preview-toolbar-copy strong,.terrarium-mobile-preview-toolbar-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terrarium-mobile-preview-toolbar-copy span{color:var(--muted);font-size:.84rem}.terrarium-mobile-preview-launch{flex:0 0 auto}.terrarium-flow-stage .react-flow{width:100%;height:100%}.terrarium-canvas{width:100%;height:100%;touch-action:pan-y pinch-zoom}.terrarium-planner-shell-mobile-fullscreen .terrarium-flow-stage{height:100dvh;min-height:100dvh;border-radius:0;border-width:0}.terrarium-flow-stage-mobile-preview .terrarium-canvas{touch-action:pan-y pinch-zoom}.terrarium-planner-shell-mobile-fullscreen .terrarium-canvas{touch-action:none}.terrarium-mobile-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;align-items:flex-start;justify-content:flex-start;padding:.65rem;background:linear-gradient(180deg,rgba(8,12,18,.2),rgba(8,12,18,.02) 36%,transparent 70%);pointer-events:none}.terrarium-mobile-preview-card{display:none}.terrarium-mobile-preview-card h4,.terrarium-mobile-preview-card p{margin:0}.terrarium-mobile-preview-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .62rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#080c12ad;color:#f8f6f1;font-size:.8rem}.terrarium-mobile-fullscreen-toolbar{position:absolute;top:.75rem;left:.75rem;right:.75rem;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:.65rem;pointer-events:none}.terrarium-mobile-fullscreen-toolbar>*{pointer-events:auto}.terrarium-mobile-fullscreen-toolbar-compact{align-items:flex-start}.terrarium-mobile-fullscreen-title{min-width:0;max-width:min(58vw,320px);display:grid;gap:.15rem;padding:.5rem .7rem;border-radius:16px;background:#080c12c7;border:1px solid rgba(255,255,255,.12);color:#f8f6f1;box-shadow:0 10px 24px #0000002e}.terrarium-mobile-fullscreen-title strong,.terrarium-mobile-fullscreen-title span{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terrarium-mobile-fullscreen-title span{font-size:.78rem;color:#f8f6f1c7}.terrarium-mobile-rotate-hint{position:absolute;top:4.25rem;left:50%;transform:translate(-50%);z-index:8;max-width:min(92vw,460px);padding:.6rem .8rem;border-radius:14px;background:#080c12d1;color:#f8f6f1;border:1px solid rgba(255,255,255,.12);text-align:center}.terrarium-mobile-sheet{position:absolute;left:.65rem;right:.65rem;bottom:calc(4.85rem + env(safe-area-inset-bottom,0px));z-index:9;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(52dvh,360px);min-height:0;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#0c1219f0;color:#f8f6f1;box-shadow:0 18px 42px #00000047;overflow:hidden}.terrarium-mobile-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .85rem;border-bottom:1px solid rgba(255,255,255,.1)}.terrarium-mobile-sheet-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terrarium-mobile-sheet-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff0f;color:#f8f6f1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.terrarium-mobile-sheet-body{display:grid;gap:.75rem;padding:.85rem;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.terrarium-mobile-sheet-section{display:grid;gap:.6rem}.terrarium-mobile-setup-stack p{margin:0}.terrarium-mobile-dock{position:absolute;left:.65rem;right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom,0px));z-index:9;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.terrarium-mobile-dock-button{min-height:52px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#0c1219e6;color:#f8f6f1;display:grid;place-items:center;gap:.15rem;padding:.45rem;box-shadow:0 10px 24px #00000038}.terrarium-mobile-dock-button span{font-size:.74rem;line-height:1}.terrarium-mobile-dock-button.active{border-color:#6fbf737a;background:#223027f5}.terrarium-tool-grid-mobile,.terrarium-selected-layout-mobile .terrarium-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terrarium-planner-shell-mobile-sheet-open .terrarium-scene-hint{display:none}.terrarium-scene-hint{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border-radius:16px;background:#080c12c7;border:1px solid rgba(255,255,255,.12);color:#f8f6f1;z-index:6;pointer-events:none}.terrarium-simulation-dock{position:absolute;top:1rem;right:1rem;z-index:8;display:grid;justify-items:end;gap:.55rem;width:min(25rem,calc(100% - 2rem));pointer-events:none;max-width:calc(100vw - 1rem)}.terrarium-simulation-dock>*{pointer-events:auto}.terrarium-simulation-launcher,.terrarium-simulation-toolbar,.terrarium-simulation-phase-strip,.terrarium-simulation-settings,.terrarium-simulation-intro,.terrarium-simulation-statuses{border:1px solid rgba(255,255,255,.12);background:#080c12cc;color:#f8f6f1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 20px 48px #00000038}.terrarium-simulation-launcher{display:inline-flex;align-items:center;gap:.42rem;justify-content:center;min-height:2.5rem;padding:.5rem .82rem;border-radius:999px}.terrarium-simulation-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.42rem;padding:.42rem;border-radius:999px;width:100%}.terrarium-simulation-drag-handle{min-width:2.15rem;min-height:2.15rem;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.terrarium-simulation-drag-handle:active,.terrarium-simulation-settings-header:active{cursor:grabbing}.terrarium-simulation-toolbar .secondary-button,.terrarium-simulation-toolbar .primary-button{min-height:2.15rem;padding:.45rem .68rem;border-radius:999px;font-size:.82rem;white-space:nowrap;min-width:0}.terrarium-simulation-phase-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.32rem;padding:.42rem;border-radius:16px;width:100%}.terrarium-simulation-phase-button{min-height:2rem;padding:.36rem .42rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.32rem;font-size:.74rem;min-width:0;overflow:hidden}.terrarium-simulation-phase-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.terrarium-simulation-phase-button.active{background:#f59e0b2e;border-color:#f59e0b73}.terrarium-simulation-settings{width:min(26rem,calc(100vw - 1rem));display:grid;gap:.65rem;padding:.72rem;border-radius:18px;max-height:min(62dvh,32rem);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.terrarium-simulation-settings-header,.terrarium-simulation-preference-title{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.terrarium-simulation-settings-header{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.terrarium-simulation-settings-header strong,.terrarium-simulation-preference-title strong,.terrarium-simulation-status-row strong,.terrarium-simulation-intro strong{margin:0}.terrarium-simulation-settings-header span,.terrarium-simulation-preference-title span,.terrarium-simulation-status-row span,.terrarium-simulation-intro span{color:#f8f6f1d6}.terrarium-simulation-preference-card{display:grid;gap:.55rem;padding:.65rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.terrarium-simulation-preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.terrarium-simulation-slider{display:grid;gap:.28rem}.terrarium-simulation-slider span{font-size:.76rem}.terrarium-simulation-slider input[type=range]{width:100%}.terrarium-simulation-intro{position:absolute;top:1rem;left:1rem;width:min(24rem,calc(100% - 8rem));padding:.68rem .78rem;border-radius:16px;z-index:8;display:grid;gap:.22rem}.terrarium-simulation-statuses{position:absolute;left:1rem;bottom:1rem;width:min(18rem,calc(100% - 2rem));padding:.48rem;border-radius:16px;z-index:8;display:grid;gap:.35rem}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-dock{top:calc(4.9rem + env(safe-area-inset-top,0px));right:.75rem;width:min(16.5rem,calc(100% - 1.5rem))}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-intro{top:calc(4.9rem + env(safe-area-inset-top,0px));left:.75rem;width:min(13rem,calc(100% - 8rem))}.terrarium-simulation-status-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.4rem .48rem;border-radius:12px;background:#ffffff0d}.terrarium-sidebar{border:1px solid var(--line);border-radius:24px;padding:.95rem;display:grid;gap:.85rem;align-self:stretch;background:var(--panel-strong-pattern),var(--panel-strong)}.terrarium-sidebar-secondary{padding:.85rem}.terrarium-scene-overlay{position:absolute;top:1rem;bottom:5.65rem;z-index:5;display:flex;flex-direction:column;gap:.85rem;pointer-events:none}.terrarium-scene-overlay-left{left:1rem;width:min(360px,calc(100% - 2rem))}.terrarium-scene-overlay-right{right:1rem;width:min(520px,calc(100% - 2rem))}.terrarium-scene-overlay .terrarium-section{pointer-events:auto;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;box-shadow:0 20px 48px #0000002e;background:linear-gradient(180deg,#ffffff0f,#ffffff03),var(--panel-strong-pattern),var(--panel-strong)}.terrarium-scene-overlay-left .terrarium-section:not(.terrarium-section-collapsed),.terrarium-scene-overlay-right .terrarium-section:not(.terrarium-section-collapsed){flex:1 1 0}.terrarium-scene-overlay .terrarium-section.terrarium-section-collapsed{flex:0 0 auto;min-height:56px;max-height:none;overflow:hidden;padding-block:.65rem}.terrarium-scene-overlay-right .terrarium-selected-panel:not(.terrarium-section-collapsed){height:100%}.terrarium-panel-row{display:grid;gap:.85rem}.terrarium-panel-row-primary{grid-template-columns:minmax(240px,.95fr) minmax(220px,.9fr) minmax(0,1.9fr);align-items:start}.terrarium-panel-row-secondary{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.terrarium-section{border:1px solid var(--line);border-radius:20px;padding:.85rem;display:grid;gap:.75rem;background:var(--panel-strong-pattern),var(--panel-strong);align-content:start}.terrarium-section-heading{align-items:flex-start}.terrarium-section-actions{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:nowrap}.terrarium-panel-toggle{border:1px solid var(--field-line);background:var(--button-bg);color:var(--text);width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.terrarium-panel-toggle:hover{background:var(--button-bg-hover);border-color:var(--field-line-strong)}.terrarium-panel-toggle:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus-ring)}.terrarium-section-collapsed{gap:.35rem}.terrarium-section-collapsed .section-heading,.terrarium-section-collapsed .terrarium-section-heading{margin-bottom:0}.terrarium-section-wide{grid-column:1 / -1}.terrarium-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem}.terrarium-palette-panel .terrarium-tool-grid,.terrarium-layout-panel .stack{align-content:start;min-height:0}.terrarium-palette-panel .terrarium-tool-grid{grid-template-columns:1fr;overflow:auto}.terrarium-layout-panel .stack{max-height:100%;overflow:auto}.terrarium-tool-button{border:1px solid var(--line);border-radius:16px;background:var(--chip);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;min-width:0}.planner-node-button{border:1px solid var(--field-line);border-radius:14px;background:var(--button-bg);color:var(--text);display:flex;align-items:center;gap:.55rem;padding:.7rem .85rem;text-align:left}.planner-node-button.active{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.terrarium-nudge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.terrarium-preset-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:.55rem}.terrarium-selected-panel{min-width:0}.terrarium-selected-layout{display:grid;gap:.8rem;min-height:0}.terrarium-selected-summary{gap:.55rem}.terrarium-selected-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem .75rem;align-items:start}.terrarium-field{display:grid;gap:.35rem;min-width:0}.terrarium-field-wide,.terrarium-field-notes{grid-column:span 2}.terrarium-field input,.terrarium-field textarea{width:100%}.terrarium-selected-panel .muted,.terrarium-selected-panel .terrarium-selected-layout{min-height:0}.checklist-row{display:block}.checklist-row input{width:100%}.habitat-node{border:2px solid var(--line);border-radius:18px;padding:.75rem;min-height:100%;display:grid;gap:.45rem;background:var(--panel-strong)}.terrarium-handle{width:18px;height:18px;border:2px solid var(--panel-strong);background:var(--accent)}.habitat-node.selected{transform:translateY(-1px)}.habitat-node-header{display:flex;align-items:center;gap:.6rem}.habitat-node-icon{width:2rem;height:2rem;border-radius:12px;color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:700}.habitat-node-meta{display:inline-flex;width:fit-content;border-radius:999px;padding:.25rem .55rem;background:var(--chip);border:1px solid var(--line);color:var(--muted);font-size:.8rem}.print-sheet{display:none;--print-paper: #ffffff;--print-surface: #ffffff;--print-border: rgba(56, 44, 30, .12);--print-ink: #201913;--print-muted: #65594e;--print-accent: #b45309;--print-accent-strong: #8a3c04;--print-accent-soft: rgba(180, 83, 9, .08);color:var(--print-ink);position:relative;overflow:hidden;background:var(--print-paper);border:1px solid var(--print-border);border-top:8px solid var(--print-accent);border-radius:28px;padding:1rem;box-shadow:0 18px 40px #0f172a14;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet-export{display:block;position:fixed;left:0;top:0;width:794px;max-width:none;transform:translate(120vw);z-index:1;pointer-events:none;opacity:.01}.print-sheet-header,.print-sheet-footer,.qr-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem}.print-sheet-header{margin-bottom:1.1rem;padding:1.1rem 1.15rem;border:1px solid var(--print-border);border-left:6px solid var(--print-accent);border-radius:24px;background:linear-gradient(135deg,#f8f3ebfa,#fff 68%)}.print-sheet-hero{display:grid;gap:.85rem;width:100%}.print-sheet-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--print-accent-strong);font-weight:700}.print-sheet-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.print-sheet-title-row h1{margin:0;font-size:2rem;line-height:1.05}.print-sheet-title-row p{margin:.35rem 0 0;color:var(--print-muted);font-size:.96rem}.print-chip-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.print-chip{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--print-accent);background:#ffffff8f;color:var(--print-accent-strong);font-size:.82rem;font-weight:700}.print-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.print-stat-card{display:grid;gap:.22rem;padding:.75rem .8rem;border-radius:18px;border:1px solid var(--print-border);border-top:4px solid var(--print-accent);background:#fff}.print-stat-card span{color:var(--print-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.print-stat-card strong{font-size:1rem;line-height:1.25;color:var(--print-ink)}.print-sheet .info-card{border-radius:18px;border:1px solid var(--print-border);background:#fff;padding:.85rem;min-height:100%}.print-sheet .info-card span{color:var(--print-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}.print-profile-photo{width:148px;height:148px;object-fit:cover;border-radius:24px;border:3px solid var(--print-accent);box-shadow:0 14px 28px #0f172a1f;backface-visibility:hidden}.qr-panel img{width:120px;height:120px}.print-section{display:grid;gap:.8rem;margin-top:1rem;padding:.95rem 1rem 1rem;border:1px solid var(--print-border);border-left:5px solid var(--print-accent);border-radius:22px;background:var(--print-surface)}.print-section h2{margin:0;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--print-accent-strong)}.print-table{width:100%;border-collapse:collapse}.print-table th,.print-table td{border:1px solid var(--print-border);padding:.58rem .65rem;text-align:left}.print-table th{color:var(--print-accent-strong);background:#ffffffad;border-bottom:2px solid var(--print-accent)}.print-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.print-photo-grid img{width:100%;height:120px;object-fit:cover;border-radius:18px;border:2px solid var(--print-accent-soft)}.print-sheet-footer{margin-top:1rem;padding:.95rem 1rem;border-radius:22px;border:1px solid var(--print-border);border-left:6px solid var(--print-accent);background:linear-gradient(135deg,#f8f3ebeb,#fff 78%)}.print-sheet-footer p{margin:.25rem 0 0;color:var(--print-muted)}.species-tab-group{width:100%}.species-tab-group::part(base){border-radius:22px;border:1px solid var(--line);background:var(--panel-strong);padding:.6rem}@media (max-width: 1320px){.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid>*{grid-column:auto}.hero-panel,.span-2,.animals-layout>.card:first-child,.animals-layout>.card:nth-child(3){grid-column:1 / -1}.terrarium-panel-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.terrarium-selected-panel{grid-column:1 / -1}.terrarium-panel-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.terrarium-scene-overlay-left{width:min(320px,calc(50% - 1.25rem))}.terrarium-scene-overlay-right{width:min(440px,calc(50% - 1.25rem))}.terrarium-selected-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.animal-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1120px){.app-shell{grid-template-columns:1fr}.desktop-sidebar{display:none}.mobile-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;background:#00000094;z-index:60;transition:opacity .18s ease}.mobile-sidebar-backdrop.open{opacity:1;pointer-events:auto}.mobile-sidebar{display:grid;position:fixed;top:0;left:0;z-index:70;width:min(360px,calc(100vw - 2.75rem));height:calc(100dvh - var(--app-safe-bottom));padding:calc(1.18rem + var(--app-safe-top)) .95rem calc(1rem + var(--app-safe-bottom));border-radius:0 28px 28px 0;transform:translate(-105%);transition:transform .18s ease;overflow:auto}.mobile-sidebar.open{transform:translate(0)}.mobile-sidebar .sidebar-nav{grid-template-columns:1fr}.mobile-sidebar .brand-card{display:none}.hero-panel,.species-dossier-hero,.animal-analytics-grid,.animal-detail-section-grid,.animal-note-grid{grid-template-columns:1fr}.animal-detail-modal-actions{gap:.45rem}.animal-detail-modal-actions .secondary-button,.animal-detail-modal-actions .primary-button,.animal-detail-modal-actions .link-button{min-height:38px;padding-inline:.55rem;font-size:.84rem}.terrarium-panel-row-secondary{grid-template-columns:1fr}.terrarium-flow-stage{height:clamp(720px,86dvh,1120px);min-height:720px}.terrarium-scene-overlay-left{left:.9rem;right:.9rem;width:auto;bottom:auto}.terrarium-scene-overlay-left .terrarium-section{max-height:220px}.terrarium-scene-overlay-right{left:.9rem;right:.9rem;top:auto;bottom:5.1rem;width:auto}.terrarium-selected-panel{max-height:280px}.terrarium-selected-grid,.terrarium-palette-panel .terrarium-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terrarium-planner-shell-mobile-fullscreen .terrarium-scene-overlay-left{left:.75rem;width:min(38vw,220px)}.terrarium-planner-shell-mobile-fullscreen .terrarium-scene-overlay-right{right:.75rem;width:min(52vw,300px)}.terrarium-planner-shell-mobile-fullscreen .terrarium-section{padding:.65rem;gap:.55rem;border-radius:16px}.span-2{grid-column:auto}.mobile-menu-button{display:inline-flex}.desktop-toolbar{display:none}.terrarium-simulation-dock{top:.82rem;right:.82rem;width:min(20rem,calc(100% - 1.5rem))}.terrarium-simulation-intro{width:min(18rem,calc(100% - 7.5rem))}}@media (max-width: 820px){.page-grid{grid-template-columns:1fr}.page-grid>*,.span-2,.animals-layout>.card:first-child,.animals-layout>.card:nth-child(2),.animals-layout>.card:nth-child(3){grid-column:1 / -1}.theme-switcher{justify-content:flex-start}.modal-shell{padding:0}.modal-card,.modal-card-full{width:100%;max-width:100%;max-height:100dvh;border-radius:0}.modal-shell-full{padding:0}.modal-card-full{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}}@media (max-width: 720px){.app-shell,.hero-panel,.card,.sidebar{padding:.72rem}.app-shell{gap:.78rem;min-height:calc(100dvh - var(--app-safe-bottom));padding:calc(.56rem + var(--app-safe-top)) .56rem calc(.56rem + var(--app-safe-bottom))}.page-grid{gap:.68rem}.page-grid>.card,.page-grid>.hero-panel{width:100%}.topbar,.section-heading,.inline-actions,.reminder-card{flex-direction:column;align-items:stretch}.sidebar-nav{grid-template-columns:1fr 1fr}.stat-card{min-height:148px;padding:1rem 3.15rem 1rem 1rem}.stat-card-top{gap:1rem}.stat-card strong{font-size:2rem}.stat-label{font-size:.98rem;line-height:1.08;text-wrap:pretty}.form-grid,.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-mode-grid{grid-template-columns:1fr}.import-actions{flex-direction:column;align-items:stretch}.page-grid form,.page-grid form.stack,.page-grid .form-grid,.page-grid .compact-form-grid,.page-grid .entry-form-shell{width:100%;max-width:none}.husbandry-layout>.card,.medical-layout>.card,.breeding-layout>.card{width:100%;grid-column:1 / -1;padding:.62rem}.husbandry-layout,.medical-layout,.breeding-layout{width:100%;gap:.58rem}.archive-filter-panel{padding:.7rem;margin-bottom:.78rem}.archive-species-groups{gap:.7rem}.husbandry-layout .archive-species-group,.medical-layout .archive-species-group,.breeding-layout .archive-species-group{gap:.5rem}.husbandry-layout .accordion-header-row,.medical-layout .accordion-header-row,.breeding-layout .accordion-header-row{padding:.72rem .78rem .58rem}.husbandry-layout .accordion-panel,.medical-layout .accordion-panel,.breeding-layout .accordion-panel{padding:0 .16rem .16rem}.record-card-grid,.record-group-grid,.husbandry-layout .record-card-grid,.husbandry-layout .record-group-grid,.medical-layout .record-card-grid,.medical-layout .record-group-grid,.breeding-layout .record-card-grid,.breeding-layout .record-group-grid,.husbandry-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>label:has(.smart-select),.compact-form-grid>label:has(.smart-select),.form-grid>label:has(textarea),.compact-form-grid>label:has(textarea),.form-grid>label:has(input[type=file]),.compact-form-grid>label:has(input[type=file]){grid-column:1 / -1}.husbandry-entry-grid>label:has(.smart-select),.husbandry-entry-grid>label:has(textarea),.husbandry-entry-grid>.full-width{grid-column:1 / -1}.trend-detail-filters,.trend-history-row{grid-template-columns:1fr}.trend-detail-chart-panel{padding:.82rem .72rem .74rem}.modal-header{padding:.8rem .8rem .6rem}.modal-card-full .modal-header{padding-top:calc(.8rem + var(--app-safe-top))}.modal-body,.modal-card-full .modal-body{padding:.7rem .8rem .8rem}.modal-card-full .modal-body{padding-bottom:calc(.8rem + var(--app-safe-bottom))}.modal-body .info-card{padding:.76rem}.modal-body .info-card span{font-size:.86rem}.modal-body .info-card strong{font-size:1.08rem;line-height:1.12}.modal-shell{padding:calc(.56rem + var(--app-safe-top)) .56rem calc(.56rem + var(--app-safe-bottom))}.modal-shell-full{padding:0 0 var(--app-safe-bottom)}.modal-footer{padding:.65rem .8rem calc(.75rem + var(--app-safe-bottom))}.modal-card-full .modal-footer{padding-bottom:calc(.8rem + var(--app-safe-bottom))}.modal-footer-actions{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.45rem;justify-content:stretch;overflow:hidden}.modal-footer-actions>*{width:100%;min-width:0}.modal-footer .secondary-button,.modal-footer .primary-button,.modal-footer .link-button{width:100%;max-width:100%;min-width:0;padding-inline:.62rem;font-size:.84rem;justify-content:center}.modal-footer .secondary-button span,.modal-footer .primary-button span,.modal-footer .link-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-footer.reminder-detail-modal-footer{padding-bottom:calc(1rem + var(--app-safe-bottom) + .4rem)}.modal-footer.reminder-detail-modal-footer .modal-footer-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:unset;gap:.5rem;overflow:visible}.modal-footer.reminder-detail-modal-footer .reminder-detail-delete-button{grid-column:1 / -1}.modal-footer.reminder-detail-modal-footer .secondary-button,.modal-footer.reminder-detail-modal-footer .primary-button,.modal-footer.reminder-detail-modal-footer .link-button{min-height:42px;padding-inline:.56rem;font-size:.82rem}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:.92rem}.animal-list-item{grid-template-columns:48px minmax(0,1fr) auto;align-items:start}.record-list-item{grid-template-columns:1fr;align-items:start}.husbandry-layout .record-list-item,.medical-layout .record-list-item,.breeding-layout .record-list-item{padding:.72rem;min-height:100%;align-content:space-between}.husbandry-layout .record-list-main,.medical-layout .record-list-main,.breeding-layout .record-list-main{gap:.12rem}.husbandry-layout .record-list-main strong,.medical-layout .record-list-main strong,.breeding-layout .record-list-main strong{font-size:.98rem;line-height:1.16}.husbandry-layout .record-list-main p,.husbandry-layout .record-list-main span,.medical-layout .record-list-main p,.medical-layout .record-list-main span,.breeding-layout .record-list-main p,.breeding-layout .record-list-main span{font-size:.84rem;line-height:1.24}.accordion-header-row{grid-template-columns:1fr}.accordion-meta{justify-content:flex-start}.animal-profile-main{grid-template-columns:1fr;margin-top:-34px;align-items:start}.animal-profile-avatar{width:96px;height:96px}.animal-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.animal-hero-stat{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:.65rem}.record-list-actions{width:100%;justify-content:flex-end;margin-top:auto}.terrarium-tool-grid,.terrarium-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terrarium-flow-stage{height:clamp(760px,88dvh,1240px);min-height:760px;border-radius:22px}.terrarium-flow-stage-mobile-preview{height:clamp(170px,22dvh,220px);min-height:170px}.terrarium-scene-overlay{gap:.65rem}.terrarium-scene-overlay-left{left:.75rem;right:.75rem;top:.75rem}.terrarium-scene-overlay-left .terrarium-section{max-height:170px}.terrarium-scene-overlay-right{left:.75rem;right:.75rem;bottom:4.8rem}.terrarium-selected-panel{max-height:320px}.terrarium-planner-shell-mobile-fullscreen{padding:0}.terrarium-planner-shell-mobile-fullscreen .terrarium-flow-stage{height:100dvh;min-height:100dvh}.terrarium-planner-shell-mobile-fullscreen .terrarium-scene-overlay{top:.6rem;bottom:4.25rem;gap:.5rem}.terrarium-mobile-fullscreen-title{max-width:min(52vw,240px);padding:.45rem .6rem}.terrarium-mobile-sheet{left:.45rem;right:.45rem;bottom:calc(4.45rem + env(safe-area-inset-bottom,0px));max-height:min(48dvh,300px)}.terrarium-mobile-sheet-body{padding:.7rem}.terrarium-mobile-dock{left:.45rem;right:.45rem;gap:.35rem}.terrarium-mobile-dock-button{min-height:48px;padding:.38rem}.terrarium-mobile-dock-button span{font-size:.68rem}.terrarium-planner-shell-mobile-fullscreen .terrarium-scene-overlay-left{left:.6rem;width:min(42vw,180px)}.terrarium-planner-shell-mobile-fullscreen .terrarium-scene-overlay-right{right:.6rem;width:min(54vw,228px)}.terrarium-planner-shell-mobile-fullscreen .terrarium-section{padding:.55rem;gap:.45rem;border-radius:14px}.terrarium-planner-shell-mobile-fullscreen .terrarium-tool-button,.terrarium-planner-shell-mobile-fullscreen .planner-node-button,.terrarium-planner-shell-mobile-fullscreen .terrarium-field input,.terrarium-planner-shell-mobile-fullscreen .terrarium-field textarea,.terrarium-planner-shell-mobile-fullscreen .terrarium-preset-row .secondary-button,.terrarium-planner-shell-mobile-fullscreen .terrarium-preset-row .primary-button,.terrarium-planner-shell-mobile-fullscreen .terrarium-nudge-grid .secondary-button{min-height:38px;padding:.5rem .6rem;font-size:.82rem}.terrarium-planner-shell-mobile-fullscreen .terrarium-field span,.terrarium-planner-shell-mobile-fullscreen .terrarium-section h4,.terrarium-planner-shell-mobile-fullscreen .terrarium-section .muted{font-size:.8rem}.terrarium-planner-shell-mobile-fullscreen .terrarium-scene-hint{left:.6rem;right:.6rem;bottom:calc(4.35rem + env(safe-area-inset-bottom,0px));padding:.55rem .7rem;font-size:.8rem}.terrarium-simulation-dock{top:.72rem;right:.72rem;width:min(18rem,calc(100% - 1.1rem))}.terrarium-simulation-toolbar{gap:.24rem;padding:.32rem}.terrarium-simulation-toolbar .secondary-button,.terrarium-simulation-toolbar .primary-button{min-height:1.95rem;padding:.38rem .48rem;font-size:.72rem}.terrarium-simulation-phase-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.terrarium-simulation-phase-button{min-height:1.86rem;font-size:.7rem}.terrarium-simulation-settings{width:min(18rem,calc(100vw - .8rem));padding:.6rem}.terrarium-simulation-preference-grid{grid-template-columns:1fr}.terrarium-simulation-intro{top:.72rem;left:.72rem;width:min(13rem,calc(100% - 7rem));padding:.56rem .62rem}.terrarium-simulation-statuses{left:.72rem;right:.72rem;width:auto;bottom:calc(.72rem + env(safe-area-inset-bottom,0px))}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-dock{top:calc(4.7rem + env(safe-area-inset-top,0px));right:.72rem;width:min(18rem,calc(100% - 1.1rem))}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-intro{top:calc(4.7rem + env(safe-area-inset-top,0px));left:.72rem;width:min(12rem,calc(100% - 7rem))}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-toolbar{display:grid;grid-template-columns:2.1rem repeat(3,minmax(0,1fr));align-items:stretch}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-toolbar .secondary-button span,.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-toolbar .primary-button span{display:none}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-toolbar .secondary-button,.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-toolbar .primary-button,.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-drag-handle{width:100%;min-height:2.1rem;padding:0;justify-content:center}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-phase-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-phase-button{min-height:2.05rem;padding:.3rem .2rem;gap:.16rem}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-phase-button span{font-size:.66rem}.terrarium-planner-shell-mobile-fullscreen .terrarium-simulation-settings{width:min(18rem,calc(100vw - .8rem));max-height:min(54dvh,calc(100dvh - 11rem - env(safe-area-inset-bottom,0px)))}.terrarium-field-wide,.terrarium-field-notes{grid-column:1 / -1}.topbar-actions{width:100%}.modal-header{align-items:flex-start}.terrarium-section-heading,.terrarium-section-actions{flex-direction:row;align-items:center}.modal-header-actions,.modal-footer-actions{flex-direction:row;align-items:center;justify-content:flex-end}.segment-tabs{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 430px){.husbandry-layout .record-card-grid,.husbandry-layout .record-group-grid,.medical-layout .record-card-grid,.medical-layout .record-group-grid,.breeding-layout .record-card-grid,.breeding-layout .record-group-grid{grid-template-columns:1fr}}@media (max-width: 560px){.card,.hero-panel{padding:.66rem;border-radius:24px}.app-shell{min-height:calc(100dvh - var(--app-safe-bottom));padding:calc(.28rem + var(--app-safe-top)) .28rem calc(.28rem + var(--app-safe-bottom));gap:.68rem}.page-grid{gap:.62rem}.stat-card{min-height:138px;padding-right:2.95rem}.stat-card strong{font-size:2.1rem}.stat-label{font-size:.95rem}.animal-hero-stats{grid-template-columns:1fr}.entry-form-section,.trend-detail-chart-panel{padding:.68rem .56rem .72rem}.husbandry-layout>.card,.medical-layout>.card,.breeding-layout>.card{padding:.5rem}.archive-filter-panel{padding:.58rem}.form-grid,.compact-form-grid{gap:.7rem}.reminder-form-grid{grid-template-columns:1fr}.husbandry-layout .accordion-panel,.medical-layout .accordion-panel,.breeding-layout .accordion-panel{padding-inline:0}.feeding-bar-chart,.trend-axis-row{gap:.35rem}.trend-label{font-size:11.3px}.trend-label-vertical{font-size:11.35px}.terrarium-flow-stage{height:clamp(820px,92dvh,1360px);min-height:820px}.terrarium-scene-overlay-left .terrarium-section{max-height:156px}.terrarium-selected-grid,.terrarium-tool-grid{grid-template-columns:1fr}}@media (max-width: 380px){.stat-card{min-height:128px;padding:.9rem 2.65rem .9rem .9rem}.stat-card-top{gap:.8rem}.stat-card strong{font-size:1.8rem}.stat-label{font-size:.9rem}.form-grid,.compact-form-grid,.record-card-grid,.record-group-grid,.husbandry-entry-grid{grid-template-columns:1fr}}@media (pointer: coarse),(max-width: 900px){body:before,body:after{width:min(15rem,40vw);height:min(15rem,40vw);opacity:.52;filter:none}.sidebar,.card,.hero-panel,.mobile-sidebar,.modal-card,.terrarium-scene-overlay .terrarium-section,.print-sheet{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 12px 28px #0000002e}.animal-trend-card-button:hover,.stat-card-link:hover{transform:none;box-shadow:none}}@media (max-width: 920px){.bulk-label-layout{grid-template-columns:1fr}.bulk-label-selection-list{max-height:24rem}}@media (max-width: 640px){.bulk-label-selection-row{grid-template-columns:auto minmax(0,1fr)}.bulk-label-selection-row input{grid-row:1 / span 2;align-self:start;margin-top:.25rem}.bulk-label-selection-row img,.bulk-label-photo-placeholder{width:2.8rem;height:2.8rem}}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-shell{display:block;padding:0}.sidebar,.mobile-sidebar,.mobile-sidebar-backdrop,.modal-shell,.topbar,.card:not(.span-2),.page-grid>section:not(.span-2){display:none!important}.card.span-2{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}.print-sheet{display:block;padding:0;width:100%;min-height:277mm;box-shadow:none}}
