.gene-edit{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.gene-edit>input{min-width:0}.genotype-quick-picks{grid-column:1/-1;min-width:0;padding:4px 0 7px}.genotype-quick-picks summary{color:var(--text-secondary);cursor:pointer;font-size:11px}.genotype-quick-picks>div{flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;display:flex}.genotype-quick-picks small{width:58px;color:var(--text-muted);font-size:9px}.genotype-quick-picks button{border:1px solid var(--border);background:var(--surface-secondary);max-width:128px;min-height:30px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:11px;overflow:hidden}@media (width<=390px){.gene-edit{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}.gene-edit>button{padding:0;font-size:10px}}.action-toolbar{--action-count:6;z-index:9;grid-template-columns:repeat(var(--action-count),minmax(0,1fr));height:calc(70px + env(safe-area-inset-bottom));padding:4px max(3px,env(safe-area-inset-left)) env(safe-area-inset-bottom);border-top:1px solid var(--divider);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -4px 18px color-mix(in srgb,var(--text-primary) 5%,transparent);display:grid;position:fixed;bottom:0;left:0;right:0}.action-toolbar button{min-width:0;min-height:48px;color:var(--text-primary);touch-action:manipulation;background:0 0;border:0;border-radius:9px;grid-template-rows:32px 14px;place-items:center;gap:1px;padding:3px 1px;display:grid}.action-toolbar button i{background:var(--surface-secondary);width:31px;height:31px;color:var(--icon);border-radius:50%;place-items:center;font-style:normal;display:grid}.action-toolbar button svg{width:21px;height:21px;display:block}.action-toolbar button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:600;line-height:14px;overflow:hidden}.action-toolbar button.selected{color:var(--accent-strong)}.action-toolbar button.selected i{background:var(--accent-soft);color:var(--accent-strong)}.action-toolbar button:disabled{opacity:.34;filter:saturate(.45)}@media (width>=700px){.action-toolbar{width:430px;left:50%;right:auto;transform:translate(-50%)}}.identity-main{padding-bottom:90px}.identity-state,.info-card{border:1px solid var(--border);background:#fff;border-radius:16px;margin:12px 0;padding:16px}.identity-state{justify-content:space-between;display:flex}.info-card h2{margin:0 0 14px}.info-card dl{grid-template-columns:1fr auto;gap:10px;display:grid}.form-card label{gap:5px;margin:12px 0;display:grid}.form-card input,.form-card select,.form-card textarea{border:1px solid var(--border);border-radius:10px;width:100%;min-height:44px;padding:10px}.gene-edit{grid-template-columns:1fr 1fr auto;gap:6px;margin-bottom:8px;display:grid}.primary-save{background:var(--accent-strong);color:#fff;border:0;border-radius:14px;width:100%;min-height:52px;font-weight:900}.link-row,.parent-link{border:0;border-bottom:1px solid var(--divider);text-align:left;width:100%;color:var(--accent-strong);background:0 0;padding:10px 0;display:block}.mouse-actions{z-index:9;background:#fff;grid-template-columns:repeat(6,1fr);padding:12px 4px;display:grid;position:fixed;bottom:0;left:0;right:0}.mouse-actions button{background:0 0;border:0;font-size:11px}.more-list{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.more-list>button{border:0;border-bottom:1px solid var(--divider);background:#fff;justify-content:space-between;width:100%;min-height:53px;padding:0 16px;display:flex}.setting-list{padding:8px}.parent-sheet .radio-row{gap:10px;padding:11px 0;display:flex}.edit-parentage,.reason-row,.add-row{border:1px solid var(--border);background:var(--accent-soft);width:100%;min-height:42px;color:var(--accent-strong);border-radius:10px;margin-top:8px}.app-shell button:active{transform:translateY(1px)scale(.985)}.genotype-table{gap:0;display:grid}.genotype-row{border-bottom:1px solid var(--divider);grid-template-columns:minmax(0,1fr) minmax(72px,auto);align-items:baseline;gap:16px;padding:9px 0;font-size:14px;display:grid}.genotype-row:last-child{border-bottom:0}.genotype-row span{overflow-wrap:anywhere;min-width:0;color:var(--text-primary)}.genotype-row strong{text-align:right;overflow-wrap:anywhere;font-weight:600}.timeline-card h2{margin-bottom:8px}.timeline-list{margin-left:3px;padding-left:15px;position:relative}.timeline-list:before{content:"";background:var(--divider);width:1px;position:absolute;top:8px;bottom:8px;left:3px}.timeline-row{border:0;gap:3px;padding:7px 0 10px;display:grid;position:relative}.timeline-row:before{content:"";border:2px solid var(--surface);background:var(--icon-muted);border-radius:50%;width:7px;height:7px;position:absolute;top:12px;left:-15px}.timeline-row b{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.35}.timeline-row small{color:var(--text-muted);font-size:10px;line-height:1.3}.workflow-sheet{max-height:88dvh;overflow:auto}.workflow-form label{gap:6px;margin:12px 0;font-size:13px;font-weight:800;display:grid}.workflow-form input,.workflow-form select,.workflow-form textarea{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;min-height:46px;padding:10px}.action-row,.pick-row{border:0;border-bottom:1px solid var(--divider);text-align:left;background:#fff;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:0 12px;display:flex}.pick-row small{color:var(--text-secondary)}.danger-row{color:#a23e35!important}.empty-add,.floating-create{border:1px solid var(--color-accent-border);background:var(--accent-soft);min-height:46px;color:var(--accent-strong);border-radius:13px;font-weight:900}.empty-add{width:100%;margin-bottom:12px}.floating-create{z-index:8;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));box-shadow:0 8px 20px color-mix(in srgb,var(--accent-strong) 15%,transparent);padding:0 17px;position:fixed}.offspring-links button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px}.cage-actions{grid-template-columns:repeat(4,1fr)!important}.transfer-candidate-row{border:0;border-bottom:1px solid var(--divider);width:100%;min-height:62px;color:var(--text-primary);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 8px 8px 2px;display:grid}.transfer-candidate-copy{gap:2px;min-width:0;display:grid}.transfer-candidate-copy b,.transfer-candidate-copy small,.transfer-candidate-copy em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transfer-candidate-copy b{font-size:14px;font-weight:710}.transfer-candidate-copy small{color:var(--text-secondary);font-size:9.5px}.transfer-candidate-copy em{color:var(--text-secondary);font-size:11px;font-style:normal}.transfer-current-cage{max-width:96px;color:var(--text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.transfer-confirm-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);gap:5px;margin:18px 0;padding:15px;display:grid}.transfer-confirm-card b{font-size:18px}.transfer-confirm-card small,.transfer-confirm-card span{color:var(--text-secondary);font-size:11px}.transfer-confirm-card p{margin:5px 0;font-size:15px;font-weight:720}.transfer-confirm-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.transfer-confirm-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:46px;color:var(--text-primary);font-weight:750}.transfer-confirm-actions .primary-save{border-color:var(--accent-strong);background:var(--button-primary-background);color:var(--button-primary-text)}.restore-row{border:1px solid var(--border);background:var(--accent-soft);min-height:40px;color:var(--accent-strong);border-radius:10px;padding:0 12px;font-weight:700}.restore-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin-top:16px;padding:15px}.restore-panel h3{margin:0 0 5px}.restore-panel p{color:var(--text-secondary);margin:0 0 12px;font-size:12px;line-height:1.55}.restore-panel>strong{margin-bottom:10px;display:block}.restore-panel label{color:var(--text-secondary);gap:5px;margin:10px 0;font-size:12px;display:grid}.restore-panel select,.restore-panel input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text-primary);border-radius:10px;padding:8px 10px}.restore-confirm{background:var(--accent);width:100%;min-height:46px;color:var(--accent-contrast);border:0;border-radius:11px;margin-top:10px;font-weight:800}.danger-intro{color:#9c3029;background:#fff0ee;border:1px solid #e2aaa3;border-radius:12px;padding:14px}.batch-check{border-bottom:1px solid var(--divider);align-items:flex-start;gap:11px;padding:13px 4px;display:flex}.batch-check input{width:20px;height:20px}.batch-check span{flex:1;gap:4px;display:grid}.batch-check small{color:var(--text-secondary)}.candidate-row{border-bottom:1px solid var(--divider);min-height:72px;color:var(--text-primary);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:9px 2px;display:grid}.candidate-row>input{width:18px;height:18px;accent-color:var(--accent-strong);margin:0}.candidate-copy{gap:2px;min-width:0;display:grid}.candidate-identity{align-items:baseline;gap:8px;min-width:0;display:flex}.candidate-identity b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:1.3;overflow:hidden}.candidate-identity em{color:var(--text-muted);flex:none;font-size:10px;font-style:normal;font-weight:550}.candidate-row small{min-width:0;color:var(--text-secondary);font-size:10.5px;font-weight:450;line-height:1.35;display:block}.candidate-detail{justify-content:space-between;gap:8px;display:flex!important}.candidate-detail span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.candidate-detail span:first-child{color:var(--text-primary);font-weight:500}.candidate-detail span:last-child{color:var(--text-muted);flex:none}.candidate-reason{color:var(--warning)!important}.workflow-label,.confirm-form label{gap:6px;margin:14px 0;display:grid}.workflow-label select,.confirm-form input,.confirm-form textarea{border:1px solid var(--border);border-radius:9px;min-height:44px;padding:9px}.primary-danger{color:#fff;background:#a9362e;border:0;border-radius:12px;width:100%;min-height:50px;margin-top:14px;font-weight:900}.primary-danger:disabled{opacity:.4}.secondary-cancel{background:0 0;border:0;width:100%;min-height:45px}.final-confirm{color:#8f2923;background:#fff5f4;border:2px solid #b9443b;border-radius:12px;margin-top:14px;padding:14px}.batch-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.batch-actions button{border:1px solid var(--border);background:#fff;border-radius:10px;min-height:46px}.candidate-row details{font-size:12px}.global-search{margin-bottom:12px;position:relative}.search-results{z-index:7;border:1px solid var(--border);background:var(--surface);max-height:58dvh;box-shadow:0 12px 30px color-mix(in srgb,var(--text-primary) 14%,transparent);border-radius:14px;padding:6px 10px 10px;position:absolute;top:54px;left:0;right:0;overflow:hidden auto}.search-results h3{color:var(--text-muted);letter-spacing:.04em;margin:11px 4px 5px;font-size:11px;font-weight:650}.search-mouse-result{border-bottom:1px solid var(--divider);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.search-result-main,.search-cage-result{background:var(--surface);text-align:left;width:100%;min-width:0;color:var(--text-primary);border:0;padding:11px 6px}.search-result-main{gap:3px;display:grid}.search-result-main b,.search-cage-result b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.25;overflow:hidden}.search-result-main span,.search-cage-result span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.search-result-main small,.search-cage-result small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.35;overflow:hidden}.search-result-main em{color:var(--text-muted);font-size:10px;font-style:normal}.search-cage-jump{border:0;border-left:1px solid var(--divider);background:var(--surface);width:48px;min-height:58px;color:var(--accent);place-content:center;gap:1px;padding:5px;display:grid}.search-cage-jump span{font-size:10px}.search-cage-jump b{font-size:17px;font-weight:500}.search-cage-result{border-bottom:1px solid var(--divider);gap:3px;padding-right:30px;display:grid;position:relative}.search-cage-result i{color:var(--icon-muted);font-size:18px;font-style:normal;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-empty{color:var(--text-secondary);text-align:center;margin:20px 8px;font-size:13px}.today-sacrifice{border:1px solid color-mix(in srgb,var(--warning) 24%,var(--border));background:color-mix(in srgb,var(--warning) 6%,var(--surface));width:100%;min-height:44px;color:var(--text-primary);text-align:left;border-radius:10px;grid-template-columns:25px minmax(0,1fr) auto 12px;align-items:center;gap:7px;margin:0 0 10px;padding:0 11px;display:grid}.today-sacrifice-icon{width:23px;height:23px;color:var(--error);place-items:center;font-style:normal;display:grid}.today-sacrifice-icon svg{width:22px;height:22px}.today-sacrifice span{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}.today-sacrifice em{background:color-mix(in srgb,var(--warning) 12%,var(--surface));color:var(--warning);border-radius:999px;padding:2px 6px;font-size:10.5px;font-style:normal;font-weight:650;line-height:1.35}.today-sacrifice b{color:var(--icon-muted);font-size:16px;font-weight:500;line-height:1}.today-sacrifice:active{background:color-mix(in srgb,var(--warning) 10%,var(--surface))}.candidates-shell .status-scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;display:block;position:static}.candidates-shell .status-sheet{width:100%;max-width:none;min-height:calc(100dvh - 48px);max-height:none;padding:0 18px calc(28px + env(safe-area-inset-bottom));background:var(--background);box-shadow:none;border-radius:0;margin:0;position:static}.candidates-shell .status-sheet>header{z-index:1;border-bottom:1px solid var(--divider);background:var(--background);margin:0 -18px 8px;padding:11px 18px;position:relative;top:auto}.candidates-shell .status-sheet>header h2{margin:0;font-size:22px}.candidates-shell .status-sheet>header button{background:var(--surface-secondary);color:var(--icon)}.candidates-shell .candidate-select-all{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text-primary);border-radius:10px;margin:0 0 3px;padding:0 10px;font-size:12px}.candidates-shell .candidate-select-all input{width:18px;height:18px;accent-color:var(--accent-strong);margin:0}.candidates-shell .candidate-select-all b{font-size:12px;font-weight:600}.export-row{border-bottom:1px solid var(--divider);min-height:54px;color:var(--accent-strong);justify-content:space-between;align-items:center;padding:0 12px;text-decoration:none;display:flex}.global-menu-scrim{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14201a47;position:fixed;inset:0}.global-menu{width:min(354px,92vw);height:100dvh;padding-top:env(safe-area-inset-top);background:var(--background);box-shadow:-16px 0 50px color-mix(in srgb,var(--text-primary) 18%,transparent);animation:.18s ease-out menu-enter;position:absolute;top:0;right:0}.global-menu>header{border-bottom:1px solid var(--divider);background:#ffffffe6;justify-content:space-between;align-items:center;height:58px;padding:8px 14px 8px 18px;display:flex}.global-menu header small{color:var(--text-muted);letter-spacing:.08em;font-size:9px}.global-menu h2{margin:2px 0 0;font-size:17px;font-weight:650}.global-menu header button{background:var(--divider);width:38px;height:38px;color:var(--icon-muted);border:0;border-radius:50%;font-size:23px}.menu-scroll{height:calc(100dvh - 58px - env(safe-area-inset-top));padding:12px 12px calc(24px + env(safe-area-inset-bottom));overflow:auto}.preference-group{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:10px;padding:13px}.preference-group h3,.shortcut-title{color:var(--text-secondary);margin:0 0 10px;font-size:12px;font-weight:650}.theme-options,.icon-options{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.theme-options button,.icon-options button{background:var(--surface-secondary);border:1px solid #0000;border-radius:8px;min-height:43px;padding:4px;position:relative}.theme-options i{border-radius:50%;width:20px;height:20px;margin:auto;display:block}.theme-options small{color:var(--text-secondary,#68716a);margin-top:3px;font-size:8px;display:block}.theme-forest{background:#315c4b}.theme-sage{background:#7f947c}.theme-mist{background:#91a5a8}.theme-ivory{background:#d2bd93}.theme-blush{background:#c99998}.sync-theme-row{border:0;border-top:1px solid var(--border);width:100%;min-height:38px;color:var(--text-primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;margin-top:9px;padding:0;font-size:10px;display:flex}.icon-options img{aspect-ratio:1;object-fit:cover;border-radius:9px;width:100%;display:block}.icon-options i{background:var(--accent-strong);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-style:normal;font-weight:800;display:grid;position:absolute;bottom:1px;right:1px}.native-note{color:var(--text-muted);margin-top:9px;font-size:9px;display:block}.menu-setting-row{border:0;border-bottom:1px solid var(--divider);width:100%;min-height:52px;color:var(--text-primary);text-align:left;background:#fff;justify-content:space-between;align-items:center;padding:7px 14px;display:flex}.menu-setting-row:first-of-type{border-radius:14px 14px 0 0}.menu-setting-row span b,.menu-setting-row span small{display:block}.menu-setting-row b{font-size:13px;font-weight:600}.menu-setting-row small{color:var(--text-muted);margin-top:3px;font-size:10px}.menu-setting-row strong{color:var(--icon-muted);font-size:18px;font-weight:400}.global-menu i.switch{box-sizing:border-box;background:#d8ded9;border:0;border-radius:999px;flex:none;width:36px;height:22px;padding:0;display:block;position:relative}.global-menu i.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;margin:0;transition:left .16s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 3px #0000002e}.global-menu i.switch.on{background:var(--accent-strong)}.global-menu i.switch.on:after{margin:0;left:17px}.shortcut-title{margin:18px 4px 8px}.menu-setting-row.shortcut{background:var(--surface)}.header-menu-button{width:30px;height:28px;color:var(--icon);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;font-size:18px;font-weight:400;line-height:1;display:grid}.install-icon-button{border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--accent-soft);width:100%;min-height:40px;color:var(--accent-strong);margin-top:10px;padding:8px 12px;font-size:11px;font-weight:650}@keyframes menu-enter{0%{opacity:.4;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.about-page{background:var(--background);min-height:100dvh;color:var(--text-primary)}.about-page .detail-topbar{grid-template-columns:42px 1fr 42px}.about-page .detail-topbar>.brand-icon{width:24px;height:24px;color:var(--icon);opacity:.65;justify-self:center}.about-main{padding:20px 18px calc(42px + env(safe-area-inset-bottom));font-size:var(--font-size-body);line-height:1.75}.about-mark{text-align:center;padding:8px 0 24px}.about-mark .brand-icon{width:48px;height:48px;color:var(--accent);opacity:.75}.about-mark h2{font-size:21px;font-weight:var(--font-weight-semibold);margin:5px 0 1px}.about-mark p{color:var(--text-muted);margin:0;font-size:10px}.about-story,.about-guide{border-top:1px solid var(--divider);padding:18px 0}.about-story h2,.about-guide h2{font-size:17px;font-weight:var(--font-weight-semibold);margin:0 0 12px}.about-story p,.guide-intro,.about-accordions p{white-space:pre-line;color:var(--text-secondary);margin:0}.about-divider{justify-content:center;align-items:center;height:48px;display:flex}.about-divider:before,.about-divider:after{content:"";background:var(--divider);width:54px;height:1px}.about-divider .brand-icon{width:22px;height:22px;color:var(--icon-muted);opacity:.55;margin:0 12px}.about-accordions{border-top:1px solid var(--divider);margin-top:20px}.about-accordions section{border-bottom:1px solid var(--divider)}.about-accordions button{width:100%;min-height:54px;color:var(--text-primary);text-align:left;background:0 0;border:0;grid-template-columns:1fr 24px;align-items:center;gap:10px;padding:10px 0;display:grid}.about-accordions button span{font-size:13px;font-weight:var(--font-weight-semibold);line-height:1.4}.about-accordions button i{color:var(--icon-muted);text-align:center;font-size:18px;font-style:normal}.about-accordions p{padding:0 0 17px;font-size:12px}.about-footer{text-align:center;justify-items:center;gap:4px;padding:58px 0 20px;display:grid}.about-footer .brand-icon{width:30px;height:30px;color:var(--icon-muted);opacity:.45}.about-footer b{font-size:13px}.about-footer span{color:var(--text-secondary);font-size:11px}.about-footer small{color:var(--text-muted);font-size:9px}.transfer-mode{grid-template-columns:1fr 1fr;gap:6px;margin:10px 0;display:grid}.transfer-mode button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);min-height:40px;color:var(--text-secondary)}.transfer-mode button.selected{background:var(--selected-background);border-color:var(--accent);color:var(--selected-text)}.transfer-history-head{justify-content:space-between;align-items:center;display:flex}.transfer-history-head button,.transfer-manage button,.history-menu,.history-popover button{color:var(--accent-text);background:0 0;border:0}.transfer-manage{justify-content:flex-end;gap:12px;padding:8px 0;display:flex}.transfer-history>div{gap:7px;position:relative}.transfer-history>div>span{flex:1;min-width:0}.transfer-history>div>span b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-menu{min-width:36px;min-height:44px}.history-popover{z-index:3;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:90px;box-shadow:0 8px 24px var(--shadow-accent);padding:5px;display:grid;position:absolute;top:42px;right:4px}.history-popover button{text-align:left;padding:9px}.transfer-history input[type=checkbox]{width:20px;height:20px}.operation-page main{padding:var(--space-4);padding-bottom:calc(96px + env(safe-area-inset-bottom))}.operation-add{font-size:24px!important}.operation-segments,.operation-filters{scrollbar-width:none;gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.operation-segments button,.operation-filters button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;padding:8px 11px}.operation-segments button.selected,.operation-filters button.selected{background:var(--selected-background);color:var(--selected-text);border-color:var(--accent)}.operation-list{border-top:1px solid var(--divider)}.operation-list article{border-bottom:1px solid var(--divider);grid-template-columns:54px minmax(0,1fr) 32px 28px;align-items:center;gap:6px;padding:11px 0;display:grid}.operation-list time{color:var(--text-muted);font-size:11px}.operation-body{text-align:left;min-width:0;color:var(--text-primary);background:0 0;border:0;padding:0}.operation-body b{font-size:14px;font-weight:560;line-height:1.35;display:block}.operation-body small{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;display:block;overflow:hidden}.operation-more,.operation-delete{color:var(--text-secondary);background:0 0;border:0;min-width:28px;min-height:40px}.operation-delete{color:var(--error)}.operation-empty{text-align:center;color:var(--text-secondary);padding:40px 0}.operation-sheet-backdrop{z-index:90;background:#0003;align-items:flex-end;display:flex;position:fixed;inset:0}.operation-sheet{background:var(--surface);width:100%;max-height:88dvh;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;gap:12px;display:grid;overflow:auto}.operation-sheet header{justify-content:space-between;align-items:center;display:flex}.operation-sheet header button{background:var(--surface-secondary);border:0;border-radius:50%;width:38px;height:38px}.operation-sheet>label{color:var(--text-secondary);gap:5px;font-size:13px;display:grid}.operation-sheet input,.operation-sheet select,.operation-sheet textarea{width:100%;font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px}.operation-sheet fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:140px;padding:8px 12px;overflow:auto}.operation-sheet fieldset label{gap:8px;padding:6px 0;font-size:13px;display:flex}.operation-log-actions{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.operation-log-actions button,.operation-export-sheet button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--accent-text);padding:8px 12px}.operation-list section>h2{margin:18px 0 6px;font-size:15px}.operation-number{align-self:start;padding-top:3px;font-weight:650}.operation-list article{grid-template-columns:30px minmax(0,1fr)}.operation-body b{font-weight:520}.operation-detail{color:var(--text-secondary);margin-top:8px;font-size:12px}.operation-detail p{margin:4px 0}.operation-detail span{flex-wrap:wrap;gap:8px;display:flex}.operation-detail button{background:var(--surface-secondary);color:var(--accent-text);border:0;border-radius:7px;padding:7px 9px}.hidden-record{opacity:.52}.operation-export-sheet{width:min(390px,100vw - 28px);margin:auto auto max(18px,env(safe-area-inset-bottom));border-radius:var(--radius-md);background:var(--surface);gap:10px;padding:18px;display:grid}.operation-export-sheet label{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.operation-export-sheet input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);padding:10px}.today-daily-note{color:var(--accent-text);font:inherit;background:0 0;border:0;margin:10px 0 4px;padding:8px 2px;font-size:13px;font-weight:650}.settings-page-header{border-bottom:1px solid var(--divider);background:var(--background);z-index:8;grid-template-columns:44px 1fr 44px;align-items:center;padding:10px 16px;display:grid;position:sticky;top:0}.settings-page-header button{width:40px;height:40px;color:var(--accent);background:0 0;border:0;font-size:32px}.settings-page-header h1{text-align:center;color:var(--text-primary);margin:0;font-size:18px}.settings-page-main{padding:18px 18px 90px}.settings-lead{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.65}.settings-section{border-top:1px solid var(--divider);margin-top:14px;padding:16px 0}.settings-section h2{color:var(--text-primary);margin:0 0 12px;font-size:15px}.clock-editor{border-bottom:1px solid var(--divider);grid-template-columns:42px 1fr;gap:12px;padding:14px 0;display:grid}.clock-prefix{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-strong);border-radius:50%;place-items:center;font-weight:700;display:grid}.clock-fields,.plan-form{gap:10px;display:grid}.clock-fields label,.plan-form label{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.clock-fields input,.clock-fields select,.plan-form input,.plan-form select,.plan-form textarea,.settings-rows input{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font:inherit;border-radius:8px;padding:10px}.primary-save,.secondary-action{border-radius:9px;min-height:44px;padding:10px 14px;font-weight:650}.primary-save{background:var(--button-primary-background);color:var(--button-primary-text);border:0}.secondary-action{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--accent-strong)}.settings-error{z-index:10;background:var(--error);color:#fff;border-radius:8px;margin-bottom:10px;padding:11px 13px;position:sticky;top:62px}.pending-note{background:var(--accent-soft);color:var(--text-secondary);border-radius:8px;padding:11px 12px;font-size:13px}.settings-rows>div,.settings-rows>label{border-bottom:1px solid var(--divider);align-items:center;gap:10px;min-height:52px;display:flex}.settings-rows span{flex:1;display:grid}.settings-rows small,.plan-row small{color:var(--text-muted);font-weight:400}.settings-rows input[type=time]{width:110px}.settings-rows input[type=number]{width:58px}.settings-rows em{color:var(--text-muted);font-style:normal}.switch{border:1px solid var(--border);background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;min-width:48px;padding:7px}.switch.on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.milestone-row{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:9px 0;display:flex}.milestone-row label{flex:1;justify-content:space-between;align-items:center;display:flex}.milestone-row input{border:1px solid var(--border);background:var(--surface);border-radius:7px;width:50px;padding:8px}.sticky-save{width:100%;margin-top:18px;position:sticky;bottom:14px}.plan-section{margin-top:6px}.plan-row{border-bottom:1px solid var(--divider);align-items:center;gap:8px;padding:12px 0;display:flex}.plan-row>div{flex:1;gap:3px;display:grid}.plan-row b{font-size:14px}.plan-row span{color:var(--text-secondary);font-size:13px}.plan-row button{border:1px solid var(--border);background:var(--surface);color:var(--accent);border-radius:8px;padding:8px 10px}.subject-picker{flex-wrap:wrap;gap:7px;display:flex}.subject-picker button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:8px;padding:8px 10px}.subject-picker button.selected{border-color:var(--accent);background:var(--selected-background);color:var(--selected-text)}.plan-form textarea{resize:vertical;min-height:74px}.empty-copy{color:var(--text-muted);font-size:14px}.push-settings{gap:12px;display:grid}.push-settings-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.push-settings-head span{gap:3px;display:grid}.push-settings-head small,.push-settings>small{color:var(--text-secondary);font-size:11px}.push-settings-head strong{background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;flex:none;padding:5px 8px;font-size:11px}.push-settings-head strong.ok{background:var(--selected-background);color:var(--selected-text)}.push-settings p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.push-actions{flex-wrap:wrap;gap:8px;display:flex}.push-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text-primary);padding:0 13px;font-weight:650}.push-actions .primary-save{background:var(--button-primary-background);color:var(--button-primary-text);flex:1}.push-actions .quiet-danger{color:var(--error)}.push-message{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-primary);padding:9px 11px;font-size:12px}.push-error{color:var(--error)!important}.swipe-mouse-row{touch-action:pan-y;position:relative;overflow:hidden}.swipe-actions{background:var(--surface-secondary);grid-template-columns:repeat(2,62px);width:124px;display:grid;position:absolute;inset:0 0 0 auto}.swipe-actions button{border:0;border-left:1px solid var(--divider);background:var(--accent-soft);min-width:0;color:var(--accent-strong);place-content:center;gap:3px;font-size:11px;font-weight:700;display:grid}.swipe-actions button:last-child{background:var(--surface-secondary);color:var(--text-secondary)}.swipe-actions button:disabled{opacity:.32;filter:saturate(.35)}.swipe-actions i{font-size:17px;font-style:normal}.swipe-content{z-index:1;background:var(--background);transform-origin:50%;transition:transform .2s,background-color .14s;position:relative;transform:translate(0)scale(1)}.swipe-mouse-row.is-open .swipe-content{transform:translate(-124px)}.swipe-mouse-row.is-long-pressing .swipe-content{background:var(--selected-background);transform:scale(.985)}.access-gate{z-index:200;background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:22px;display:grid;position:fixed;inset:0}.access-gate section,.admin-login,.admin-create{border:1px solid var(--border);background:var(--surface);width:min(100%,390px);box-shadow:0 18px 50px color-mix(in srgb,var(--text-primary) 12%,transparent);border-radius:14px;padding:20px}.access-gate h1{margin:5px 0 10px;font-size:22px}.access-gate p,.admin-access-page p{color:var(--text-secondary);font-size:12px;line-height:1.6}.access-gate label,.admin-create label{color:var(--text-secondary);gap:5px;margin:11px 0;font-size:11px;display:grid}.access-gate input,.admin-access-page input,.invite-result textarea{border:1px solid var(--border);background:var(--background);width:100%;min-height:44px;color:var(--text-primary);border-radius:9px;padding:9px 11px;font-size:16px}.access-gate button,.admin-access-page main button{background:var(--button-primary-background);min-height:44px;color:var(--button-primary-text);border:0;border-radius:9px;padding:0 14px;font-weight:700}.access-gate section>button{width:100%;margin-top:10px}.access-gate .secondary-access{background:var(--surface-secondary);color:var(--text-primary)}.access-error{color:var(--error)!important}.admin-access-page main{gap:14px;padding:14px 16px 90px;display:grid}.admin-access-page main>section{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:15px}.admin-access-page h2{margin:0 0 10px;font-size:15px}.admin-duration{grid-template-columns:1fr 1fr;gap:10px;display:grid}.invite-result{background:var(--accent-soft);border-radius:9px;gap:8px;margin-top:12px;padding:10px;display:grid}.invite-result textarea{min-height:76px;font-size:11px}.access-user-list article{border-bottom:1px solid var(--divider);gap:10px;padding:12px 0;display:grid}.access-user-list small{color:var(--text-secondary);font-size:10px}.access-user-list article>div:last-child{flex-wrap:wrap;gap:6px;display:flex}.access-user-list article>div:last-child button{min-height:34px;font-size:10px}.access-instance-id{color:var(--text-muted);letter-spacing:.03em;text-align:center;-webkit-user-select:text;user-select:text;margin-top:12px;font-size:10px;display:block}.access-mode-tabs{background:var(--surface-secondary);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin:14px 0;padding:4px;display:grid}.access-mode-tabs button{min-height:38px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;margin:0}.access-mode-tabs button.active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 3px color-mix(in srgb, var(--text-primary) 10%, transparent)}.access-notice{color:var(--accent-strong)!important}.global-error-toast{z-index:100;left:50%;top:max(14px,env(safe-area-inset-top));color:#8b302a;background:#fff1ef;border:1px solid #dcaaa3;border-radius:14px;grid-template-columns:1fr auto;gap:3px 12px;width:min(390px,100vw - 24px);padding:14px 46px 14px 16px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 14px 44px #5c1c1647}.global-error-toast b,.global-error-toast span,.global-error-toast details{grid-column:1}.global-error-toast span{font-size:13px}.global-error-toast details{font-size:11px}.global-error-toast code{color:#655;max-height:70px;margin-top:5px;display:block;overflow:auto}.global-error-toast>button{color:#812f29;background:#f5d9d5;border:0;border-radius:50%;width:34px;height:34px;position:absolute;top:8px;right:8px}.pup-number-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.pup-number-grid button{border:1px solid var(--border);background:var(--surface-secondary);min-height:48px;color:var(--accent-strong);border-radius:12px;font-size:17px;font-weight:900}.pup-number-grid button.selected{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--accent-contrast);box-shadow:0 0 0 3px var(--color-focus-ring)}.more-numbers{background:var(--surface-secondary);width:100%;min-height:42px;color:var(--accent-strong);border:0;border-radius:10px;margin-top:8px;font-weight:800}.parent-picks{flex-wrap:wrap;gap:8px;display:flex}.parent-picks .radio-row{border:1px solid var(--border);background:#fff;border-radius:12px;grid-auto-flow:column;align-items:center;min-height:46px;margin:0;padding:8px 12px;display:flex}.parent-picks input{width:22px!important;min-height:22px!important}.toe-warning{color:#765313;background:#fff8df;border:1px solid #e1c77d;border-radius:12px;gap:4px;padding:12px;font-size:12px;display:grid}.toe-warning small,.toe-warning b{display:block}.toe-recommend{background:var(--accent-soft);color:var(--selected-text);border-radius:14px;margin:14px 0;padding:14px}.toe-recommend b,.toe-recommend small{display:block}.toe-recommend p{margin:7px 0}.toe-recommend button{border:1px solid var(--color-accent-border);min-height:40px;color:var(--accent-strong);background:#fff;border-radius:10px;margin-top:10px;font-weight:800}.toe-assignment-list{gap:8px;margin:14px 0;display:grid}.toe-assignment-list label{border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 100px;align-items:center;gap:12px;padding:9px 12px;display:grid}.toe-assignment-list input{border:1px solid var(--border);text-align:center;border-radius:9px;width:100%;min-height:44px;padding:8px;font-size:17px}.offspring-links{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.offspring-links button{border:1px solid var(--border);background:var(--accent-soft);min-height:40px;color:var(--accent-strong);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.global-success-toast{z-index:101;left:50%;top:max(14px,env(safe-area-inset-top));border:1px solid var(--color-accent-border);background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 10px 30px var(--shadow-accent);border-radius:999px;padding:12px 18px;font-weight:900;position:fixed;transform:translate(-50%)}.global-saving{z-index:102;left:50%;top:max(14px,env(safe-area-inset-top));background:var(--accent-strong);color:#fff;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:800;display:none;position:fixed;transform:translate(-50%)}.write-pending .global-saving{display:block}.write-pending button{pointer-events:none}:root{color:#17221d;font-synthesis:none;background:#e9eee8;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}.app-shell{width:100%;min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom));background:#f4f6f1;margin:auto}.topbar{background:linear-gradient(160deg,var(--accent-strong),var(--accent));color:#fff;justify-content:space-between;align-items:center;padding:22px 20px 16px;display:flex}.topbar span,.page-intro>span{letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:11px;font-weight:800}.topbar h1{margin:4px 0 0;font-family:Georgia,serif;font-size:24px}.topbar button{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;width:44px;height:44px;font-size:25px}main{padding:0 16px 24px}.notice{color:#765513;background:#fff4d8;border-radius:11px;margin:12px 0;padding:11px 13px;font-size:13px}.page-intro{background:linear-gradient(160deg,var(--accent-strong),var(--accent));color:#fff;margin:0 -16px 18px;padding:22px 20px 24px}.page-intro.compact{padding-top:18px}.page-intro h2{margin:6px 0;font-size:29px}.page-intro p{color:#ffffffb3;margin:0;font-size:13px}.task-list,.card-list{gap:10px;display:grid}.task-card{border:1px solid var(--border);text-align:left;width:100%;min-height:74px;color:inherit;background:#fff;border-radius:15px;grid-template-columns:44px 1fr auto 10px;align-items:center;gap:11px;padding:12px;display:grid;box-shadow:0 4px 14px #21392e0a}.task-card i{border-radius:12px;place-items:center;width:42px;height:42px;font-style:normal;font-weight:900;display:grid}.task-card i.blue{color:#22668f;background:#e6f1fa}.task-card i.red{color:#a44339;background:#f9e6e3}.task-card i.amber{color:#89601b;background:#fff0d5}.task-card i.violet{color:#765089;background:#f0e8f5}.task-card b,.task-card small{display:block}.task-card b{font-size:16px}.task-card small{color:var(--text-secondary);margin-top:4px;font-size:12px}.task-card em{color:var(--text-secondary);font-size:11px;font-style:normal}.task-card strong{color:var(--icon-muted);font-size:22px}.section-head{justify-content:space-between;align-items:center;margin:24px 2px 12px;display:flex}.section-head h3{margin:0;font-size:17px}.section-head button{color:var(--accent-strong);background:0 0;border:0;font-size:13px;font-weight:800}.cage-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cage-strip button{border:1px solid var(--border);text-align:left;background:#fff;border-radius:14px;gap:5px;min-height:105px;padding:12px;display:grid}.cage-strip span,.cage-strip small{color:var(--text-secondary);font-size:11px}.search{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:0 14px;display:flex}.search span{color:var(--icon-muted);font-size:21px}.search input{background:0 0;border:0;outline:0;width:100%;height:50px;font-size:15px}.cage-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:17px}.cage-card header{justify-content:space-between;align-items:center;display:flex}.cage-card header span{color:var(--text-secondary);font-size:11px;font-weight:800}.cage-card h3{margin:3px 0;font-size:28px}.cage-card header strong{color:var(--icon-muted);font-size:28px}.cage-card p{min-height:20px;color:var(--text-secondary);margin:9px 0 14px;font-size:14px}.cage-card footer{border-top:1px solid var(--divider);gap:14px;padding-top:12px;font-size:12px;display:flex}.cage-card footer b{color:var(--accent-strong)}.cage-card footer span{color:var(--text-secondary)}.mouse-card{border:1px solid var(--border);background:#fff;border-radius:15px;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.mouse-card .sex{border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.sex.male{color:#24668b;background:#e5f0f7}.sex.female{color:#a54355;background:#f9e8eb}.sex.unknown{color:#637168;background:#ecefec}.mouse-card h3{margin:0;font-size:17px}.mouse-card p{color:var(--text-secondary);margin:3px 0;font-size:13px}.mouse-card small{color:var(--text-secondary);font-size:11px}.status{color:var(--selected-text);background:#e5f2ea;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800}.status.planned_sacrifice{color:#805913;background:#fff0d6}.status.sacrificed{color:#8e443c;background:#f2e7e5}.settings-card{border:1px solid var(--border);background:#fff;border-radius:16px;margin-bottom:12px;padding:18px}.settings-card h3{margin:0 0 7px}.settings-card p{color:#637269;font-size:13px;line-height:1.6}.settings-card>div{gap:8px;display:flex}.settings-card button{border:1px solid var(--border);background:var(--accent-soft);min-height:44px;color:var(--accent-strong);border-radius:11px;padding:0 14px;font-weight:800}.settings-card button.danger{color:#98463b;background:#fff3f1;border-color:#e3bab4}.settings-card dl{margin:0}.settings-card dl div{border-top:1px solid var(--divider);justify-content:space-between;padding:11px 0;display:flex}.settings-card dt{font-weight:800}.settings-card dd{color:var(--text-secondary);margin:0}.empty{text-align:center;color:var(--text-secondary);padding:40px 18px;font-size:14px}.bottom-nav{z-index:10;height:calc(72px + env(safe-area-inset-bottom));padding:7px max(8px,env(safe-area-inset-left)) env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--text-muted);background:0 0;border:0;border-radius:12px;place-items:center;gap:2px;display:grid}.bottom-nav i{min-height:29px;font-size:16px;font-style:normal;font-weight:900}.bottom-nav button.active{background:var(--accent-soft);color:var(--accent-strong)}@media (width>=700px){.app-shell{max-width:430px;box-shadow:0 0 60px #1b362924}.bottom-nav{width:430px;left:50%;right:auto;transform:translate(-50%)}body{background:#e8ede7}}.cage-card{width:100%;color:inherit;text-align:left}.loading-sheet{background:var(--accent-strong);color:#fff;border-radius:999px;padding:10px 16px;font-size:12px;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.detail-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom));background:var(--background)}.detail-topbar{z-index:4;background:var(--accent-strong);color:#fff;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:13px 14px;display:grid;position:sticky;top:0}.detail-topbar button{color:#fff;background:#ffffff1f;border:0;border-radius:13px;width:44px;height:44px;font-size:25px}.detail-topbar button:last-child{font-size:16px;font-weight:900}.detail-topbar div{text-align:center}.detail-topbar span{letter-spacing:.08em;opacity:.72;font-size:10px;font-weight:800}.detail-topbar h1{margin:2px 0 0;font:600 27px Georgia,serif}.detail-main{padding:14px 14px 30px}.goal-card{border:1px solid var(--color-accent-border);background:var(--accent-soft);border-radius:16px;padding:17px}.goal-card span,.section-title span,.next-card>span{color:var(--text-secondary);letter-spacing:.08em;font-size:10px;font-weight:900}.goal-card h2{color:var(--accent-strong);margin:7px 0 0;font-size:18px;line-height:1.4}.section-title{justify-content:space-between;align-items:end;margin:22px 2px 10px;display:flex}.section-title h2{margin:3px 0 0;font-size:19px}.section-title small{color:var(--text-muted);font-size:10px}.resident-list,.litter-list{gap:9px;display:grid}.resident-card{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:11px;padding:14px;display:grid}.resident-card .sex{border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.resident-primary h3{margin:1px 0;font-size:19px}.resident-primary p{color:var(--text-secondary);margin:3px 0 8px;font-size:13px;font-weight:700}.resident-primary>div{color:var(--text-secondary);grid-template-columns:1fr 1fr;gap:4px 10px;font-size:10px;display:grid}.resident-card>button{border:1px solid var(--border);background:var(--accent-soft);min-width:48px;min-height:40px;color:var(--accent-strong);border-radius:10px;font-size:12px;font-weight:900}.litter-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:16px}.litter-card header{justify-content:space-between;align-items:center;display:flex}.litter-card header span{color:var(--text-secondary);letter-spacing:.1em;font-size:9px;font-weight:900}.litter-card h3{margin:3px 0 0;font-size:20px}.litter-card header strong{background:var(--accent-soft);color:var(--accent-strong);border-radius:11px;padding:8px 10px;font-size:18px}.litter-count{background:var(--surface-secondary);border-radius:12px;grid-template-columns:auto 1fr;align-items:end;gap:0 8px;margin:14px 0;padding:12px;display:grid}.litter-count b{color:var(--accent-strong);font:600 31px Georgia}.litter-count span{color:var(--text-secondary);padding-bottom:4px;font-size:13px}.litter-count small{color:var(--text-secondary);grid-column:1/-1;margin-top:5px;font-size:11px}.parent-row{grid-template-columns:72px 1fr;align-items:center;gap:8px;margin-top:8px;display:grid}.parent-row>span{color:var(--text-secondary);font-size:11px}.parent-row>div{flex-wrap:wrap;gap:5px;display:flex}.parent-row b{background:var(--accent-soft);color:var(--selected-text);border-radius:999px;padding:5px 8px;font-size:11px}.next-card{background:var(--accent-strong);color:#fff;border-radius:16px;margin-top:20px;padding:17px}.next-card>span{color:color-mix(in srgb,var(--accent-contrast) 72%,transparent)}.next-card h2{margin:6px 0 3px;font-size:20px}.next-card p{color:color-mix(in srgb,var(--accent-contrast) 82%,transparent);margin:0;font-size:12px}.cage-actions{z-index:8;height:calc(78px + env(safe-area-inset-bottom));padding:7px max(5px,env(safe-area-inset-left)) env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.cage-actions button{color:var(--icon-muted);background:0 0;border:0;border-radius:10px;place-items:center;gap:3px;display:grid}.cage-actions i{background:var(--accent-soft);width:31px;height:31px;color:var(--accent-strong);border-radius:10px;place-items:center;font-size:12px;font-style:normal;font-weight:900;display:grid}.cage-actions span{font-size:10px;font-weight:800}@media (width>=700px){.cage-actions{width:430px;left:50%;right:auto;transform:translate(-50%)}}.resident-primary .resident-genotypes{color:var(--text-primary);flex-wrap:wrap;gap:3px 12px;margin:4px 0 9px;font-size:12px;line-height:1.45;display:flex}.resident-genotypes span{overflow-wrap:anywhere;min-width:0}.resident-genotypes b{font-weight:650}.resident-primary .resident-meta{color:var(--text-secondary);grid-template-columns:1fr;gap:3px;font-size:11px;line-height:1.35;display:grid}.brand-bar{z-index:12;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:8px;height:48px;padding:5px 12px;display:flex;position:sticky;top:0}.brand-signature{align-items:center;gap:7px;min-width:0;display:flex}.brand-signature img{border:1px solid var(--border);object-fit:cover;object-position:50% 42%;background:#fff;border-radius:50%;flex:none;width:36px;height:36px}.brand-signature span{color:var(--text-secondary);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.data-pill{border:1px solid var(--border);background:var(--accent-soft);min-height:34px;color:var(--accent-strong);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:900;display:flex}.data-pill i{background:#8a9690;border-radius:50%;width:7px;height:7px}.data-pill i.saved{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent)}.data-pill i.syncing{background:#cb8b22}.data-pill i.error{background:#b5483c}.status-scrim{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#111e175c;align-items:end;display:grid;position:fixed;inset:0}.status-sheet{width:100%;max-width:430px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;margin:0 auto;box-shadow:0 -18px 60px #122a1f33}.status-sheet>header{justify-content:space-between;align-items:start;display:flex}.status-sheet header span{color:var(--icon);letter-spacing:.12em;font-size:9px;font-weight:900}.status-sheet h2{margin:4px 0 0;font-size:24px}.status-sheet header button{color:#586a61;background:#eff3f0;border:0;border-radius:50%;width:40px;height:40px;font-size:22px}.save-state{background:#eaf5ee;border-radius:14px;align-items:center;gap:11px;margin:17px 0;padding:14px;display:flex}.save-state>i{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-style:normal;font-weight:900;display:grid}.save-state b,.save-state small{display:block}.save-state b{color:var(--success)}.save-state small{color:var(--text-secondary);margin-top:3px;font-size:11px}.status-sheet dl{margin:0}.status-sheet dl>div{border-bottom:1px solid var(--divider);justify-content:space-between;padding:11px 2px;display:flex}.status-sheet dt{color:var(--text-secondary);font-size:13px}.status-sheet dd{margin:0;font-weight:900}.manage-data{border:1px solid var(--border);background:var(--accent-soft);width:100%;min-height:48px;color:var(--accent-strong);border-radius:13px;margin-top:17px;font-weight:900}.setting-list{width:100%;gap:0!important;display:grid!important}.setting-row{text-align:left;justify-content:space-between;align-items:center;width:100%;border:0!important;border-top:1px solid var(--divider)!important;min-height:58px!important;color:inherit!important;background:0 0!important;border-radius:0!important;padding:8px 0!important;display:flex!important}.setting-row span,.setting-row b,.setting-row small{display:block}.setting-row b{font-size:14px}.setting-row small{color:var(--text-secondary);margin-top:3px;font-size:10px}.setting-row>i{color:#68756e;background:#dfe5e1;border-radius:999px;place-items:center;width:42px;height:25px;font-size:9px;font-style:normal;font-weight:900;display:grid}.setting-row>i.on{background:var(--accent-strong);color:#fff;justify-content:end;padding-right:7px}.toast{z-index:40;border:1px solid var(--color-accent-border);background:var(--accent-soft);max-width:min(340px,100vw - 32px);color:var(--accent-strong);box-shadow:0 10px 32px var(--shadow-accent);border-radius:999px;padding:11px 15px;font-size:12px;font-weight:900;animation:.2s ease-out toast-in;position:fixed;bottom:94px;left:50%;transform:translate(-50%)}.detail-shell .toast{bottom:94px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform 90ms,box-shadow 90ms,filter 90ms}button:active{filter:brightness(.97);transform:translateY(1px)scale(.975);box-shadow:none!important}.feedback-motion-off button{transition:none}.feedback-motion-off button:active{filter:none;transform:none}.danger:active,.mouse-danger:active{filter:saturate(1.08)brightness(.94)}@media (width<=370px){.brand-signature span{max-width:105px}.data-pill{padding:0 7px;font-size:9px}}.detail-topbar{top:48px}.brand-bar{border-bottom-color:color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 94%, transparent);gap:12px;height:34px;padding:2px 11px}.brand-signature{gap:5px;max-width:calc(100% - 58px)}.brand-signature img{opacity:.86;border:0;width:25px;height:25px}.brand-signature span{color:var(--text-secondary);letter-spacing:0;font-size:9px;font-weight:400}.data-pill{border-color:var(--color-accent-border);background:color-mix(in srgb, var(--accent-soft) 62%, transparent);min-height:20px;color:var(--text-secondary);gap:4px;padding:0 6px;font-size:9px;font-weight:400}.data-pill i{background:var(--success);width:5px;height:5px;box-shadow:none}.page-intro.compact>span,.detail-topbar>div>span,.litter-card>header>div>span,.parent-sheet>header span{display:none}.more-list>button{color:var(--text-primary);align-items:center;font-weight:700}.candidate-select-all{background:var(--accent-soft);min-height:48px;color:var(--selected-text);border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.status-sheet details{margin-top:14px}.status-sheet details summary{color:var(--accent-text);padding:12px 0;font-weight:800}@media (width<=370px){.brand-signature span{max-width:145px}}:root{--background:#f7f5ef;--surface:#fffdf8;--surface-secondary:#f1f0e9;--text-primary:#202522;--text-secondary:#606963;--text-muted:#858c87;--accent:#5f7d6c;--accent-strong:#315c4b;--accent-soft:#e7eee9;--accent-contrast:#fffdf8;--border:#d9dbd5;--divider:#e5e6e1;--icon:#536d60;--icon-muted:#8a9690;--selected-background:#e7eee9;--selected-text:#284f3f;--button-primary-background:#315c4b;--button-primary-text:#fffdf8;--success:#34735a;--warning:#94671f;--error:#9e4640;--warning-bg:#faf1df;--error-bg:#f9e9e6;--color-accent:var(--accent);--color-accent-soft:var(--accent-soft);--color-accent-border:color-mix(in srgb,var(--accent-strong) 32%,var(--border));--color-accent-text:var(--accent-strong);--color-focus-ring:color-mix(in srgb,var(--accent-strong) 42%,transparent);--color-selected:var(--selected-background);--color-surface:var(--surface);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--shadow-accent:0 3px 12px color-mix(in srgb,var(--accent-strong) 16%,transparent);--radius-xs:4px;--radius-sm:7px;--radius-md:10px;--radius-lg:14px;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif;--font-size-label:10px;--font-size-meta:11px;--font-size-body:13px;--font-size-data:15px;--font-size-section:16px;--font-size-page:22px;--font-weight-regular:400;--font-weight-medium:550;--font-weight-semibold:650;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:22px;--surface-muted:var(--surface-secondary);--primary:var(--accent-strong);--text:var(--text-primary);--selected:var(--selected-background);--danger:var(--error);--danger-bg:var(--error-bg);--cz-accent:var(--accent);--cz-accent-dark:var(--accent-strong);--cz-accent-soft:var(--accent-soft)}:root[data-theme=sage]{--background:#f7f5ef;--surface:#fffefa;--surface-secondary:#eef1e9;--text-primary:#202421;--text-secondary:#626a64;--text-muted:#878e88;--accent:#82967e;--accent-strong:#596f58;--accent-soft:#e8eee4;--accent-contrast:#fffefa;--border:#d9ddd4;--divider:#e5e7df;--icon:#697f67;--icon-muted:#939d91;--selected-background:#e8eee4;--selected-text:#465b45;--button-primary-background:#596f58;--button-primary-text:#fffefa;--success:#4f775a;--warning:#94702e;--error:#9b504a;--warning-bg:#faf1df;--error-bg:#f8e9e7}:root[data-theme=mist]{--background:#f4f6f5;--surface:#fdfefa;--surface-secondary:#eaf0f0;--text-primary:#202526;--text-secondary:#606a6c;--text-muted:#858f90;--accent:#829b9f;--accent-strong:#4e6d72;--accent-soft:#e3ecee;--accent-contrast:#fdfefa;--border:#d5ddde;--divider:#e2e7e7;--icon:#617d81;--icon-muted:#8e9ea0;--selected-background:#e3ecee;--selected-text:#3d5c61;--button-primary-background:#4e6d72;--button-primary-text:#fdfefa;--success:#4f7668;--warning:#936f2d;--error:#9c504b;--warning-bg:#faf2e1;--error-bg:#f8e9e7}:root[data-theme=ivory]{--background:#f8f5ed;--surface:#fffdf7;--surface-secondary:#f2ede2;--text-primary:#24231f;--text-secondary:#6e6a60;--text-muted:#928e84;--accent:#958566;--accent-strong:#6f654f;--accent-soft:#eee8dc;--accent-contrast:#fffdf7;--border:#ded7ca;--divider:#e9e3d8;--icon:#7b725d;--icon-muted:#9d978b;--selected-background:#eee8dc;--selected-text:#5d5542;--button-primary-background:#6f654f;--button-primary-text:#fffdf7;--success:#60745d;--warning:#95691f;--error:#9f4e47;--warning-bg:#faf0da;--error-bg:#f9e8e4}:root[data-theme=blush]{--background:#f8f4f1;--surface:#fffdfa;--surface-secondary:#f3eae8;--text-primary:#272221;--text-secondary:#716563;--text-muted:#958987;--accent:#b17e7d;--accent-strong:#7d5557;--accent-soft:#f1e4e3;--accent-contrast:#fffaf7;--border:#e1d5d2;--divider:#ebe1df;--icon:#976f70;--icon-muted:#aa9290;--selected-background:#f1e4e3;--selected-text:#6e474b;--button-primary-background:#7d5557;--button-primary-text:#fffaf7;--success:#667760;--warning:#916b2a;--error:#9c4544;--warning-bg:#faf0dd;--error-bg:#f8e6e4}html,body{color:var(--text);background:var(--background)}body,button,input,select,textarea{font-family:var(--font-family);color:var(--text)}html,body,#root{touch-action:manipulation;-webkit-text-size-adjust:100%}button:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-shell{background:var(--background);color:var(--text)}.brand-bar{border-color:var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);height:34px;box-shadow:none}.brand-signature span{color:var(--text-secondary);font-weight:400}.header-menu-button{color:var(--text-secondary)}main,.detail-main,.identity-main{padding-left:14px;padding-right:14px}.page-intro,.page-intro.compact{color:var(--text);border-bottom:1px solid var(--border);margin:0 -14px 12px;padding:14px 16px 12px;background:0 0!important}.page-intro h2{font-size:var(--font-size-page);line-height:1.2;font-weight:var(--font-weight-semibold);letter-spacing:-.02em;margin:2px 0 3px}.page-intro p{color:var(--text-secondary);font-size:12px}.page-intro>span{color:var(--text-secondary);letter-spacing:0;text-transform:none;opacity:1;font-size:10px;font-weight:500}h1,h2,h3,b,strong{color:inherit}.section-head{margin:18px 0 8px}.section-head h3,.info-card h2{font-size:14px;font-weight:650}.section-head button{color:var(--primary);font-size:12px;font-weight:600}.task-list,.card-list{border-top:1px solid var(--border);gap:0}.task-card,.mouse-card,.cage-card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0}.task-card{grid-template-columns:36px 1fr auto 8px;min-height:62px;padding:9px 2px}.task-card i{border-radius:0;width:34px;height:34px}.task-card .reminder-icon{place-items:center;display:grid;background:0 0!important}.task-card .reminder-icon svg{width:25px;height:25px}.task-card .reminder-icon.experimental{color:var(--icon)}.task-card .reminder-icon.toe_clipping{color:var(--warning)}.task-card .reminder-icon.separation{color:var(--accent)}.task-card .reminder-icon.genotyping{color:var(--selected-text)}.task-card .reminder-icon.sac_candidate{color:var(--error)}.task-card b{font-size:14px;font-weight:650}.task-card small,.task-card em{color:var(--text-secondary);font-size:10px}.mouse-card{padding:11px 2px}.mouse-card .sex{width:36px;height:36px;font-size:20px}.mouse-card h3{font-size:15px}.mouse-card p{font-size:12px}.mouse-card small{color:var(--text-secondary)}.candidate-badge{background:var(--warning-soft,#fff0d6);color:var(--warning,#805913);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.mouse-actions button:disabled,.action-row:disabled{opacity:.35;filter:saturate(.4)}.cage-card{padding:13px 2px}.cage-card h3{font-size:22px}.cage-card p{min-height:0;margin:5px 0 9px}.cage-card footer{padding-top:8px}.cage-strip{gap:6px}.cage-strip button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:82px;box-shadow:none;padding:10px}.cage-strip b{color:var(--primary);font-size:18px}.cage-strip{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));align-items:stretch}.search{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);margin-bottom:12px;padding:0 11px}.search input{height:43px;font-size:14px}.status{background:var(--selected);color:var(--primary);border-radius:999px;padding:4px 7px;font-size:10px;font-weight:600}.notice{border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning)}.empty{color:var(--text-secondary);padding:26px 12px}@media (width<=600px){input,select,textarea{font-size:16px!important}}.detail-topbar{border-color:var(--border);background:var(--surface);box-shadow:none}.detail-topbar h1{font-size:21px;font-weight:650}.detail-topbar button{color:var(--primary)}.goal-card,.identity-state,.info-card,.litter-card,.settings-card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;margin:0;padding:13px 2px}.identity-state{align-items:center}.identity-state small,.info-card p{color:var(--text-secondary)}.info-card dl{gap:8px}.info-card dt{color:var(--text-secondary);font-size:12px}.info-card dd{font-size:13px;font-weight:550}.timeline-row,.link-row,.parent-link{border-color:var(--border)}.link-row,.parent-link{color:var(--primary)}.offspring-links button,.edit-parentage,.reason-row,.add-row{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--primary)}.workflow-sheet,.status-sheet,.parent-sheet{background:var(--surface);color:var(--text);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 28px #1c241f1a}.workflow-form input,.workflow-form select,.workflow-form textarea,.form-card input,.form-card select,.form-card textarea{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.primary-save{border-radius:var(--radius-md);color:#fff;box-shadow:none;background:var(--primary)!important}.primary-danger{background:var(--danger)}.field-error{color:var(--danger)}.toe-warning,.danger-intro{border-radius:var(--radius-sm)}.pup-number-grid button{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface)}.pup-number-grid button.selected{border-color:var(--primary);background:var(--selected);color:var(--primary)}.more-list{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0}.more-list>button,.setting-row{border-color:var(--border);min-height:49px;color:var(--text);padding:0 4px;font-weight:550;background:0 0!important}.global-menu{background:var(--background);box-shadow:-8px 0 28px #1c241f1f}.global-menu>header{background:var(--surface);border-color:var(--border)}.preference-group{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface)}.menu-setting-row{border-color:var(--border);background:var(--surface);color:var(--text)}.shortcut-title,.preference-group h3{color:var(--text-secondary)}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom));border-color:var(--border);background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:none}.bottom-nav button{color:var(--text-secondary);border-radius:0;flex-direction:column;justify-content:center;gap:2px;display:flex}.bottom-nav button.active{color:var(--primary)!important;background:0 0!important}.bottom-nav .brand-icon{width:21px;height:21px}.bottom-nav span{font-size:10px;font-weight:var(--font-weight-medium)}.bottom-nav button:focus-visible{outline:none}.floating-create{border:1px solid var(--color-accent-border);border-radius:var(--radius-md);background:var(--button-primary-background);box-shadow:var(--shadow-accent)}.toast,.global-success-toast{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--primary);box-shadow:0 5px 20px #1c241f1f}.global-error-toast{background:var(--danger-bg);color:var(--danger)}@media (width>=700px){.app-shell{box-shadow:0 0 28px #1c241f14}}.brand-icon{width:22px;height:22px;color:var(--accent);flex:none}.today-intro>div{justify-content:space-between;align-items:center;display:flex}.today-intro .brand-icon{opacity:.42;width:28px;height:28px}.branded-empty{color:var(--text-secondary);text-align:center;justify-items:center;gap:5px;padding:36px 16px;display:grid}.branded-empty.compact{padding:24px 16px}.branded-empty .brand-icon{opacity:.32;width:32px;height:32px}.branded-empty b{color:var(--text);font-size:13px;font-weight:var(--font-weight-medium)}.branded-empty small{font-size:10px}.aged-page main{padding-top:12px}.aged-page .detail-topbar>div{flex:1;min-width:0}.aged-page .detail-topbar small{color:var(--text-secondary);margin-top:2px;font-size:10px;display:block}.aged-page .detail-topbar>.brand-icon{opacity:.55;margin-right:12px}.aged-list{border-top:1px solid var(--border)}.aged-list>button{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:1fr auto 10px;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px 2px;display:grid}.aged-list span b,.aged-list span small{display:block}.aged-list span b{font-size:14px;font-weight:var(--font-weight-semibold)}.aged-list span small{color:var(--text-secondary);margin-top:3px;font-size:10px}.aged-list strong{font-size:12px;font-weight:var(--font-weight-medium);color:var(--primary)}.aged-list i{color:var(--text-secondary);font-style:normal}.setting-subsection{border-bottom:1px solid var(--border);padding:12px 4px}.setting-subsection>span{align-items:center;gap:7px;display:flex}.setting-subsection>span .brand-icon{width:18px;height:18px}.setting-subsection>span b{font-size:13px;font-weight:var(--font-weight-semibold)}.setting-subsection>small{color:var(--text-secondary);margin:9px 0 7px;font-size:10px;display:block}.aging-presets{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.aging-presets button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:33px;padding:0;font-size:9px}.aging-presets button.selected{border-color:var(--primary);background:var(--selected);color:var(--primary)}.setting-subsection label{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:6px;margin-top:9px;font-size:10px;display:flex}.setting-subsection input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:center;width:54px;height:32px;padding:0 7px}.search span,.section-head button,.cage-strip b,.cage-card footer b,.resident-card>button,.resident-primary p,.litter-count b,.litter-card header strong,.parent-row b,.goal-card h2,.settings-card button,.export-row,.empty-add,.floating-create,.more-numbers,.toe-recommend,.toe-recommend button,.offspring-links button,.edit-parentage,.reason-row,.add-row{color:var(--accent-strong)}.search,.search-results,.search-results button,.cage-strip button,.parent-picks .radio-row,.workflow-form input,.workflow-form select,.workflow-form textarea,.form-card input,.form-card select,.form-card textarea,.toe-recommend button,.toe-assignment-list input{background:var(--surface);border-color:var(--border)}.search-results h3,.search-results small,.pick-row small,.resident-primary>div,.section-title small,.litter-count small,.parent-row>span,.settings-card p,.settings-card dd,.global-menu header small,.menu-setting-row small,.native-note{color:var(--text-secondary)}.search-results button,.action-row,.pick-row,.resident-card,.litter-card,.cage-actions,.mouse-actions,.batch-actions button{background:var(--surface);color:var(--text-primary);border-color:var(--divider)}.primary-save,.floating-create{background:var(--button-primary-background)!important;color:var(--button-primary-text)!important}.empty-add,.more-numbers,.toe-recommend,.offspring-links button,.edit-parentage,.reason-row,.add-row,.cage-actions i{background:var(--accent-soft);border-color:var(--border)}.pup-number-grid button{color:var(--accent-strong)}.pup-number-grid button.selected{background:var(--selected-background);border-color:var(--accent-strong);color:var(--selected-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-soft) 70%,transparent)}.status{background:var(--selected-background);color:var(--selected-text)}.status.planned_sacrifice{background:var(--warning-bg);color:var(--warning)}.status.sacrificed{background:var(--error-bg);color:var(--error)}.primary-danger{background:var(--error);color:var(--button-primary-text)}.danger-row,.field-error{color:var(--error)!important}.danger-intro,.final-confirm,.global-error-toast{border-color:color-mix(in srgb,var(--error) 35%,var(--border));background:var(--error-bg);color:var(--error)}.toast,.global-success-toast{border-color:color-mix(in srgb,var(--success) 30%,var(--border));background:var(--surface);color:var(--success)}.global-saving,.loading-sheet{background:var(--accent-strong);color:var(--accent-contrast)}.global-menu-scrim{background:color-mix(in srgb,var(--text-primary) 34%,transparent)}.global-menu,.global-menu>header,.preference-group,.menu-setting-row,.menu-setting-row.shortcut{background:var(--surface);color:var(--text-primary);border-color:var(--divider)}.global-menu{background:var(--background)}.global-menu header button{background:var(--surface-secondary);color:var(--icon)}.theme-options button,.icon-options button{background:var(--surface-secondary)}.theme-options button.selected,.icon-options button.selected{border-color:var(--accent-strong);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 14%,transparent)}.sync-theme-row{color:var(--text-primary);border-color:var(--divider)}.switch{background:var(--border)}.switch.on,.icon-options i{background:var(--accent-strong);color:var(--accent-contrast)}.detail-shell{background:var(--background)}.detail-topbar{color:var(--text-primary);top:34px}.detail-topbar button{background:var(--surface-secondary);color:var(--icon)}.detail-topbar span{color:var(--text-muted)}.next-card{background:var(--accent-strong);color:var(--accent-contrast)}.next-card>span,.next-card p{color:color-mix(in srgb,var(--accent-contrast) 72%,transparent)}.bottom-nav button{align-items:center;height:58px}.bottom-nav .brand-icon{width:22px;height:22px;display:block}.bottom-nav button.active{color:var(--selected-text)!important}.bottom-nav span{line-height:12px}.brand-icon{color:var(--icon)}.today-intro .brand-icon,.branded-empty .brand-icon{color:var(--icon-muted)}.colony-overview{color:var(--text-secondary);align-items:center;gap:10px;margin:10px 1px 12px;font-size:12px;line-height:1.2;display:flex}.colony-overview span{align-items:baseline;gap:4px;display:flex}.colony-overview b{color:var(--text);font-size:15px;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.colony-overview i{background:var(--divider);width:1px;height:13px}.task-card i.green{background:var(--accent-soft);color:var(--accent-strong)}.sex-icon{padding:0;line-height:0;place-items:center!important;display:grid!important}.sex-icon svg{width:23px;height:23px;display:block;overflow:visible}.sex-icon.female{color:#9d4859;background:#f7e5e9}.sex-icon.male{color:#2d6787;background:#e3eef6}.sex-icon.unknown{background:var(--surface-secondary);color:var(--icon-muted)}.search:focus-within,.workflow-form input:focus,.workflow-form select:focus,.workflow-form textarea:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-strong) 12%,transparent)}.primary-save,.floating-create,.setting-row>i.on,.switch.on{border-color:var(--color-accent-border);box-shadow:none;background:var(--button-primary-background)!important;color:var(--button-primary-text)!important}.floating-create{box-shadow:var(--shadow-accent)}.aging-control{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:12px;padding:10px 2px 12px;display:flex}.aging-control span b,.aging-control span small{display:block}.aging-control span b{font-size:13px;font-weight:var(--font-weight-semibold)}.aging-control span small{color:var(--text-secondary);margin-top:3px;font-size:10px}.aging-control>button{border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--accent-soft);min-width:52px;min-height:34px;color:var(--accent-strong);font-size:11px;font-weight:var(--font-weight-semibold)}.aging-editor{padding:12px 2px}.duplicate-warning{border-color:var(--warning);background:var(--surface-secondary)}.duplicate-warning h2{color:var(--warning)}.warning-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.warning-actions button{min-height:44px}.warning-confirm{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.parent-fixed-row{border-top:1px solid var(--divider);grid-template-columns:104px 1fr;align-items:start;gap:12px;padding:10px 0;display:grid}.parent-fixed-row>span{color:var(--text-secondary);font-size:13px}.parent-fixed-row>div{justify-items:start;gap:5px;display:grid}.parent-fixed-row .parent-link{text-align:left;min-height:28px;color:var(--accent);font:inherit;background:0 0;border:0;padding:0}.history-disclosure{margin-top:14px}.history-disclosure summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;font-weight:600;list-style:none;display:flex}.history-disclosure summary::-webkit-details-marker{display:none}.history-disclosure[open] summary span{transform:rotate(90deg)}.membership-list{display:grid}.membership-row{border-top:1px solid var(--divider);gap:3px;padding:11px 0;display:grid}.membership-row b{color:var(--text-primary);font-size:14px;font-weight:600}.membership-row span,.membership-row small{color:var(--text-secondary);font-size:12px}.cage-history{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:10px 16px;padding:0 14px}.transfer-page main{gap:14px;padding:14px 14px 100px;display:grid}.transfer-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:15px}.transfer-section h2{margin:0;font-size:17px}.transfer-section>p{color:var(--text-secondary);margin:5px 0 13px;font-size:12px;line-height:1.5}.transfer-cage-list{gap:7px;margin-bottom:13px;display:grid}.transfer-cage-list button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:52px;color:var(--text-primary);text-align:left;align-items:center;gap:11px;padding:7px 10px;display:flex}.transfer-cage-list button.selected{border-color:var(--accent-strong);background:var(--selected-background);box-shadow:0 0 0 2px var(--color-focus-ring)}.transfer-cage-list i{border:1px solid var(--border);width:24px;height:24px;color:var(--accent-contrast);border-radius:7px;place-items:center;font-size:12px;font-style:normal;display:grid}.transfer-cage-list .selected i{border-color:var(--accent-strong);background:var(--accent-strong)}.transfer-cage-list span{gap:3px;display:grid}.transfer-cage-list small,.transfer-package small,.transfer-preview small,.transfer-history small{color:var(--text-secondary);font-size:10px}.transfer-package{border-radius:var(--radius-sm);background:var(--surface-secondary);gap:8px;padding:12px;display:grid}.secondary-transfer{border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--surface);min-height:46px;color:var(--accent-text);font-weight:750}.transfer-file{border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--accent-soft);min-height:48px;color:var(--accent-text);place-items:center;font-weight:750;display:grid;position:relative}.transfer-file input{opacity:0;position:absolute;inset:0}.transfer-preview{border:1px solid var(--border);border-radius:var(--radius-sm);gap:7px;margin-top:12px;padding:13px;display:grid}.transfer-preview.safe{border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.transfer-preview.conflict{border-color:color-mix(in srgb,var(--error) 45%,var(--border));background:var(--error-bg)}.transfer-preview h3,.transfer-preview p{margin:0}.transfer-conflicts{gap:6px;margin:4px 0;display:grid}.transfer-conflicts p{background:var(--surface);color:var(--error);border-radius:8px;gap:2px;padding:8px;font-size:11px;display:grid}.transfer-history{display:grid}.transfer-history>div{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;min-height:50px;display:flex}.transfer-history span{gap:3px;display:grid}.transfer-history em{color:var(--text-secondary);font-size:10px;font-style:normal}.transfer-message{z-index:90;left:50%;bottom:max(18px,env(safe-area-inset-bottom));border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--surface);width:min(380px,100vw - 28px);color:var(--text-primary);box-shadow:0 8px 24px var(--shadow-accent);padding:12px 14px;font-size:12px;font-weight:700;position:fixed;transform:translate(-50%)}.cage-page-heading>div{justify-content:space-between;align-items:center;display:flex}.cage-page-heading button{border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--surface);min-width:54px;min-height:36px;color:var(--accent-text);font-weight:750}.cage-card.selected-for-transfer{border-color:var(--accent-strong);background:var(--selected-background);box-shadow:0 0 0 2px var(--color-focus-ring)}.transfer-selection-action{z-index:9;border-radius:var(--radius-md);background:var(--button-primary-background);width:min(360px,100vw - 28px);min-height:50px;color:var(--button-primary-text);box-shadow:0 7px 20px var(--shadow-accent);border:0;font-weight:800;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.transfer-selection-action:disabled{opacity:.45}.cage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:72px;display:grid}.colony-cage-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-width:0;min-height:104px;color:var(--text-primary);text-align:left;box-shadow:0 2px 9px color-mix(in srgb, var(--text-primary) 4%, transparent);align-content:start;gap:6px;padding:13px 14px;display:grid;position:relative;overflow:hidden}.colony-cage-card:active{background:var(--surface-secondary);transform:scale(.985)}.colony-cage-card.compact{min-height:92px;padding:11px 12px}.cage-card-name,.cage-card-summary,.cage-card-goal{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.cage-card-name{color:var(--text-primary);padding-right:18px;font-size:19px;font-weight:720;line-height:1.22}.compact .cage-card-name{font-size:17px}.cage-card-summary{color:var(--text-secondary);font-size:12px;line-height:1.35}.cage-card-goal{color:var(--text-muted);font-size:10.5px;line-height:1.35}.cage-selection-mark{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--accent-strong);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;top:10px;right:10px}.colony-cage-card.selected-for-transfer{border-color:var(--accent-strong);background:var(--selected-background);box-shadow:0 0 0 2px var(--color-focus-ring)}.cage-search{border-radius:var(--radius-md);margin-bottom:12px}.cage-search input{height:44px}.cage-page-heading button{padding:0 12px;font-size:13px}@media (width<=340px){.cage-grid{gap:8px}.colony-cage-card{padding:12px}.cage-card-name{font-size:17px}}.mouse-overview{gap:10px;padding-bottom:14px;display:grid}.mouse-cage-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.mouse-cage-section>header{border-bottom:1px solid var(--divider);grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-height:52px;padding-left:13px;display:grid}.mouse-cage-title{min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:baseline;gap:8px;display:flex}.mouse-cage-title b{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:740;overflow:hidden}.mouse-cage-title small{color:var(--text-secondary);font-size:11px}.mouse-cage-toggle{width:44px;height:44px;color:var(--accent-strong);background:0 0;border:0;font-size:20px}.mouse-cage-rows{padding-left:12px}.overview-mouse-row{border:0;border-bottom:1px solid var(--divider);width:100%;min-height:64px;color:var(--text-primary);text-align:left;background:0 0;grid-template-columns:32px minmax(0,1fr) auto 12px;align-items:center;gap:9px;padding:8px 11px 8px 0;display:grid}.mouse-cage-rows>.swipe-mouse-row:last-of-type .overview-mouse-row{border-bottom:0}.overview-mouse-row .sex-icon{width:30px;height:30px}.overview-mouse-copy{gap:2px;min-width:0;display:grid}.overview-mouse-copy b,.overview-mouse-copy small,.overview-mouse-copy em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-mouse-copy b{font-size:14px;font-weight:700}.overview-mouse-copy small{color:var(--text-secondary);font-size:9.5px}.overview-mouse-copy em{color:var(--text-secondary);font-size:11px;font-style:normal}.overview-mouse-toe{color:var(--text-secondary);white-space:nowrap;font-size:10.5px}.overview-chevron{color:var(--icon-muted);font-size:17px}.mouse-cage-empty{color:var(--text-muted);margin:0;padding:13px 0;font-size:11px}.mouse-cage-section .swipe-actions{border-radius:0}.toast-action{border:0;border-left:1px solid var(--border);color:var(--accent-strong);background:0 0;margin-left:10px;padding:3px 7px;font-size:12px;font-weight:850}.admin-standalone{background:var(--background);min-height:100dvh;color:var(--text-primary)}.admin-header{border-bottom:1px solid var(--divider);background:var(--surface);justify-content:space-between;align-items:end;padding:28px 18px 16px;display:flex}.admin-header span{color:var(--text-muted);letter-spacing:.12em;font-size:9px}.admin-header h1{margin:2px 0 0;font-size:25px}.admin-header small{color:var(--text-secondary);font-size:10px}.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.usage-grid article{background:var(--surface-secondary);border-radius:10px;gap:2px;padding:13px;display:grid}.usage-grid b{font-size:25px;font-weight:650}.usage-grid span{color:var(--text-secondary);font-size:10px}.privacy-note{margin:10px 0 0!important}.installation-list{display:grid}.installation-list article{border-bottom:1px solid var(--divider);grid-template-columns:1fr auto;gap:3px 10px;padding:10px 0;display:grid}.installation-list b{font-size:12px}.installation-list span,.installation-list small{color:var(--text-secondary);font-size:9px}.installation-list small{text-align:right}.owner-enable{gap:8px;display:grid}@media (width>=700px){.admin-access-page main{width:min(760px,100%);margin:0 auto}.usage-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.local-data-start{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));background:var(--background,#f7f5ef);color:var(--text-primary,#202522);place-items:center;display:grid}.local-data-start section{border:1px solid var(--border,#d9ddd7);background:var(--surface,#fff);border-radius:18px;gap:13px;width:min(100%,420px);padding:24px;display:grid;box-shadow:0 12px 30px #1e25200f}.local-data-mark{border:1px solid var(--border,#d9ddd7);width:42px;height:42px;color:var(--accent-strong,#315c4b);letter-spacing:-.04em;border-radius:50%;place-items:center;font-weight:750;display:grid}.local-data-start h1,.local-data-start p{margin:0}.local-data-start h1{font-size:22px}.local-data-start p,.local-data-start small{color:var(--text-secondary,#69716c);line-height:1.6}.local-data-start button{background:var(--button-primary-background,#315c4b);min-height:48px;color:var(--button-primary-text,#fff);font:inherit;border:0;border-radius:11px;font-weight:700}.local-data-start button.secondary{border:1px solid var(--border,#d9ddd7);background:var(--surface-secondary,#f2f3ef);color:var(--text-primary,#202522)}.local-data-start button:disabled{opacity:.45}.local-data-start details{color:var(--text-secondary,#69716c);font-size:12px}.local-data-start code{overflow-wrap:anywhere;background:var(--surface-secondary,#f2f3ef);border-radius:8px;margin-top:8px;padding:9px;display:block}
