.dashboard-footer{margin:var(--space-xl) auto var(--space-lg);padding:0 var(--space-xl) calc(env(safe-area-inset-bottom));font-size:var(--font-size-sm,.875rem);color:var(--color-text-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35em;display:flex}.dashboard-footer a{color:var(--color-veg);font-weight:600;text-decoration:none}.dashboard-footer a:hover{text-decoration:underline}img.emoji{vertical-align:-.15em;width:1.2em;height:1.2em;margin:0 .05em 0 .1em;display:inline-block}.empty-icon img.emoji,.gallery-empty-icon img.emoji,.placeholder-icon img.emoji{width:4rem;height:4rem}.fab img.emoji{width:1.5em;height:1.5em}.entry-icon img.emoji{width:1em;height:1em}.date-icon img.emoji{width:1.25rem;height:1.25rem}:root{--color-bg:#0a0a0a;--color-bg-elevated:#1a1a1a;--color-bg-card:#222;--color-text:#f5f5f5;--color-text-muted:#888;--color-border:#333;--color-primary:#8fb894;--color-danger:#d4a89e;--color-water:#7fb0ce;--color-germination:#b8a199;--color-seedling:#c4d4a1;--color-veg:#8fb894;--color-flower:#c9a9d1;--color-flush:#e0b084;--color-harvest:#d9c78c;--color-complete:#9ca3a8;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--touch-target:44px;--border-radius:12px;--border-radius-sm:8px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem}:root[data-theme=light]{--color-bg:#f8f9fa;--color-bg-elevated:#fff;--color-bg-card:#fff;--color-text:#1a1a1a;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-primary:#7aa57e;--color-danger:#c3968e;--color-water:#5e93b5;--color-germination:#a08d84;--color-seedling:#b0c288;--color-veg:#7aa57e;--color-flower:#b595be;--color-flush:#cc9a6e;--color-harvest:#c7b578;--color-complete:#878e93}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px}body{overscroll-behavior:none}#app{min-height:100vh;padding-bottom:calc(var(--touch-target) + var(--space-xl) + env(safe-area-inset-bottom))}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}.icon-btn{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:background .2s,transform .15s;display:flex}.icon-btn:hover,.icon-btn:focus{color:var(--color-text);background:#ffffff14;transform:scale(1.05)}.btn-primary{background:var(--color-primary);color:#000;padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-sm);min-height:var(--touch-target);font-weight:600}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text);padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-sm);min-height:var(--touch-target);border:1px solid var(--color-border)}.btn-group{gap:var(--space-sm);flex-wrap:wrap;display:flex}.chip{padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);font-size:var(--font-size-sm);border:1px solid var(--color-border);min-height:var(--touch-target);border-radius:20px;align-items:center;display:inline-flex}.chip:hover,.chip:focus{border-color:var(--color-primary)}.fab-container{bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));right:var(--space-lg);z-index:100;position:fixed}.fab{background:var(--color-primary);color:#000;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:2rem;font-weight:300;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #0003}.fab:active{transform:scale(1);box-shadow:0 2px 6px #0003}.fab-menu{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);border:1px solid var(--color-border);opacity:0;visibility:hidden;min-width:200px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;bottom:70px;right:0;transform:translateY(10px)scale(.95);box-shadow:0 4px 20px #00000080}.fab-menu.open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.fab-menu[popover]{inset:unset;bottom:calc(56px + var(--space-lg) + env(safe-area-inset-bottom) + 8px);right:var(--space-lg)}.fab-menu[popover]:popover-open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.fab-menu::backdrop{background:#0000004d}.fab-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);border-radius:var(--border-radius-sm);text-align:left;min-height:var(--touch-target);font-size:var(--font-size-sm);color:var(--color-text);transition:background .15s;display:flex}.fab-item:hover{background:var(--color-bg-elevated)}.fab-item:active{background:var(--color-primary);color:#000}.fab-menu-header{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-xs) var(--space-md) var(--space-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xs);font-weight:500}.fab.active{background:var(--color-danger);transform:rotate(45deg)}.dashboard-header{padding:var(--space-xl) var(--space-xl) var(--space-lg);padding-top:calc(var(--space-xl) + env(safe-area-inset-top));background:linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 85%, transparent 100%);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;z-index:1000!important}.dashboard-header h1{color:var(--color-primary);margin:0;font-size:2rem;font-weight:700}.header-actions{gap:var(--space-md);align-items:center;display:flex}.help-btn{color:var(--color-text-muted);text-decoration:none}.help-btn:hover{color:var(--color-primary)}.empty-state{text-align:center;min-height:70vh;padding:var(--space-3xl);color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{margin-bottom:var(--space-xl);filter:drop-shadow(0 4px 12px #8fb8944d);font-size:4rem;animation:3s ease-in-out infinite float}.empty-state h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-md);color:var(--color-text);font-weight:700}.empty-state p{font-size:var(--font-size-lg);color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.quick-start{gap:var(--space-lg);margin-bottom:var(--space-2xl);flex-direction:column;width:100%;max-width:400px;display:flex}.quick-start-item{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--border-radius);text-align:left;display:flex}.quick-start-icon{flex-shrink:0;font-size:1.5rem}.quick-start-text{font-size:var(--font-size-md);color:var(--color-text)}#reminder-container{z-index:9999;pointer-events:none;display:none;position:fixed;inset:0}#reminder-container.visible{pointer-events:auto;display:block}.reminder-backdrop{backdrop-filter:blur(2px);background:#0006;animation:.2s ease-out fadeIn;position:absolute;inset:0}.reminder-bar{top:var(--space-lg);right:var(--space-lg);max-width:480px;width:calc(100vw - calc(var(--space-lg) * 2));background:var(--color-bg-elevated);border-radius:32px;border-radius:var(--border-radius-lg);padding:var(--space-lg);border:1px solid #fbbf2466;animation:.3s cubic-bezier(.34,1.56,.64,1) slideInDown;position:absolute;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.reminder-bar-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid #fbbf2433;justify-content:space-between;align-items:center;display:flex}.reminder-bar-title{align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.reminder-close-btn{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background .2s,color .2s,transform .1s;display:flex}.reminder-close-btn:hover{color:var(--color-text);background:#ffffff1a}.reminder-close-btn:active{transform:scale(.9)}.reminder-icon{font-size:1.2rem}.reminder-count{color:#fbbf24}.reminder-list{gap:var(--space-xs);flex-direction:column;display:flex}.reminder-item{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-card);border-radius:var(--border-radius-sm);border-left:3px solid #fbbf2499;transition:background .2s,transform .1s;display:flex}.reminder-item:hover{background:var(--color-bg-elevated)}.reminder-content{cursor:pointer;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.reminder-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.reminder-meta{gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.reminder-grow{opacity:.8}.reminder-date{color:#fbbf24e6;font-weight:500}.reminder-actions{align-items:center;gap:4px;display:flex}.reminder-done{width:32px;min-width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:background .2s,color .2s,transform .1s;display:flex}.reminder-done:hover{color:var(--color-primary);background:#22c55e33}.reminder-done:active{transform:scale(.95)}.reminder-dismiss{width:32px;min-width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:background .2s,color .2s,transform .1s;display:flex}.reminder-dismiss:hover{color:var(--color-danger);background:#ef444433}.reminder-dismiss:active{transform:scale(.95)}.reminder-buffer-group{transition:opacity .2s,height .2s}@media (width<=600px){.reminder-bar{top:var(--space-sm);right:var(--space-sm);left:var(--space-sm);width:auto;max-width:none}}.grow-cards{gap:var(--space-md);padding:var(--space-sm) var(--space-lg) var(--space-xl);display:grid}.grow-card{background:linear-gradient(145deg, var(--card-bg,var(--color-bg-card)) 0%, var(--color-bg-card) 60%, #0003 100%);padding:var(--space-lg);cursor:pointer;border:1px solid #ffffff0d;border-left:4px solid var(--phase-color,var(--color-primary));border-radius:16px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0003,inset 0 1px #ffffff0d}.grow-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.grow-card:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.grow-card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;display:flex}.grow-card-header h3{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;flex:1;min-width:0;font-size:1.1rem;font-weight:700;overflow:hidden}.grow-card-actions{align-items:center;gap:var(--space-xs);pointer-events:auto;z-index:20;flex-shrink:0;display:flex;position:relative}.grow-card-action{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-muted);cursor:pointer;opacity:1;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .2s,background .2s,color .2s,transform .1s;display:flex;position:relative}@media (hover:hover){.grow-card-action{opacity:0}.grow-card:hover .grow-card-action{opacity:.7}.grow-card-action:hover{color:var(--color-text);background:#ffffff1a;opacity:1!important}.grow-card-action-danger:hover{color:var(--color-danger);background:#ef444433}}.phase-badge{background:var(--phase-color,var(--color-bg-elevated));color:#000;text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:600;box-shadow:0 2px 4px #0003}.grow-card-stats{gap:var(--space-sm);padding:var(--space-md);margin-top:var(--space-sm);background:#0003;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));display:grid}.stat{text-align:center;position:relative}.stat:not(:last-child):after{content:"";background:#ffffff1a;width:1px;height:60%;position:absolute;top:20%;right:0}.stat-value{color:var(--color-text);font-size:1.35rem;font-weight:800;line-height:1.2;display:block}.stat-value .stat-unit,.stat-unit{color:var(--color-text-muted);margin-left:1px;font-size:.65em;font-weight:500}.stat-urgent{background:#ff980033;border-radius:8px;margin:-4px -8px;padding:4px 8px;animation:2s ease-in-out infinite pulse-urgent}.stat-urgent .stat-value{color:var(--color-warning,#ff9800)}.stat-urgent .stat-unit{color:var(--color-warning,#ff9800);opacity:.8}@keyframes pulse-urgent{0%,to{background:#ff980026}50%{background:#ff98004d}}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.7rem;display:block}.grow-card-progress-prominent{margin:var(--space-md) 0;padding:var(--space-md);background:#00000040;border-radius:12px}.grow-card-progress-prominent .progress-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.grow-card-progress-prominent .progress-day{color:var(--color-text);font-size:1.5rem;font-weight:800}.grow-card-progress-prominent .progress-percent{color:var(--phase-color,var(--color-primary));font-size:1.1rem;font-weight:700}.progress-bar-container{height:64px;margin-bottom:var(--space-md);padding:8px 0;position:relative}.progress-bar-bg{background:#ffffff14;border-radius:18px;height:36px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 2px 8px #ffffff1a,0 4px 16px #ffffff0d}.progress-bar-fill{border-radius:18px;height:36px;transition:width .4s;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 2px 12px #ffffff40,0 4px 20px #ffffff26}.progress-bar-marker{background:var(--color-text);border:4px solid var(--color-bg);border-radius:50%;width:24px;height:24px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 12px #fff6,0 4px 20px #fff3,0 0 0 1px #ffffff26}.grow-card-progress-prominent .progress-footer{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;font-size:.7rem;display:flex}.grow-card-progress-prominent .progress-remaining{color:var(--phase-color,var(--color-primary));font-weight:600}.grow-card-progress{margin-top:var(--space-md);background:#ffffff14;border-radius:24px;align-items:center;height:48px;padding:6px 0;display:flex;overflow:hidden;box-shadow:0 2px 8px #ffffff1a,0 4px 16px #ffffff0d}.progress-bar{height:36px;width:var(--progress,0%);background:var(--phase-color,var(--color-primary));border-radius:18px;transition:width .4s;box-shadow:0 2px 12px #ffffff40,0 4px 20px #ffffff26}.view-toggle{background:var(--color-bg-elevated);border-radius:var(--border-radius-sm);gap:2px;padding:2px;display:flex}.view-toggle-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);border-radius:6px;transition:background .15s,color .15s}.view-toggle-btn.active{background:var(--color-bg-card);color:var(--color-text)}.grow-cards.list-view{gap:var(--space-sm);flex-direction:column;display:flex}.grow-cards.list-view .grow-card{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:12px;display:flex}.grow-cards.list-view .grow-card-header{flex:1;min-width:0;margin-bottom:0}.grow-cards.list-view .grow-card-header h3{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grow-cards.list-view .grow-card-action{opacity:1;background:var(--color-bg-elevated)}.grow-cards.list-view .grow-card-stats{gap:var(--space-lg);background:0 0;flex-shrink:0;margin:0;padding:0;display:flex}.grow-cards.list-view .stat{min-width:50px}.grow-cards.list-view .stat:after,.grow-cards.list-view .grow-card-progress,.grow-cards.list-view .grow-card-progress-prominent{display:none}.grow-view{flex-direction:column;min-height:100vh;display:flex}.grow-header{align-items:center;gap:var(--space-sm);padding:var(--space-lg);padding-top:calc(var(--space-lg) + env(safe-area-inset-top));background:linear-gradient(135deg, var(--grow-color,var(--color-bg)) 0%, var(--color-bg) 100%);z-index:10;border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.grow-title{flex:1;min-width:0}.grow-title h2{font-size:var(--font-size-lg);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.grow-actions{gap:var(--space-sm);align-items:center;display:flex}.action-btn{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);background:var(--color-bg-card);color:var(--color-text);font-size:var(--font-size-sm);min-height:var(--touch-target);border:1px solid var(--color-border);font-weight:500;transition:all .2s;display:flex}.action-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-text-muted);transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}.action-btn .action-icon{font-size:1rem}.action-btn .action-label{font-size:var(--font-size-sm)}.action-btn-primary{background:var(--color-primary);color:#000;border-color:var(--color-primary)}.action-btn-primary:hover{background:#1fb854;border-color:#1fb854;box-shadow:0 2px 8px #22c55e4d}.action-btn-muted{padding:var(--space-sm);background:0 0;border-color:#0000}.action-btn-muted:hover{background:#ffffff14;border-color:#0000}@media (width<=400px){.action-btn .action-label{display:none}.action-btn{padding:var(--space-sm)}}.grow-stats{gap:var(--space-sm);padding:var(--space-lg);background:var(--color-bg-elevated);grid-template-columns:repeat(auto-fit,minmax(70px,1fr));display:grid}.stat-card{background:var(--color-bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);text-align:center}.stat-card.highlight{background:var(--color-primary);color:#000}.stat-card.highlight .stat-label{color:#000000b3}.stat-card.good{border:2px solid var(--color-primary);box-shadow:0 0 8px #22c55e4d}.stat-card.warning{border:2px solid var(--color-flush);box-shadow:0 0 8px #f973164d}.stat-hint{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:.7rem;display:block}.tent-planner-container{padding:var(--space-lg)}.tent-planner{background:var(--color-bg-elevated);border-radius:var(--border-radius);max-width:600px;padding:var(--space-lg);margin:0 auto}.tent-header{margin-bottom:var(--space-md);justify-content:flex-end;align-items:center;display:flex}.tent-header h3{font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.tent-header-actions{align-items:center;gap:var(--space-sm);display:flex}.auto-arrange-btn{font-size:var(--font-size-sm);color:var(--color-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);cursor:pointer;background:#22c55e1a;border:1px solid #22c55e4d;transition:all .15s}.auto-arrange-btn:hover{border-color:var(--color-primary);background:#22c55e33}.auto-arrange-btn:active{transform:scale(.95)}.tent-dimensions{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-bg);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm)}.tent-view{background:var(--color-bg);border-radius:var(--border-radius-sm);width:100%;max-width:400px;margin:0 auto;position:relative;overflow:hidden}.tent-outline{border:2px dashed var(--color-border);border-radius:var(--border-radius-sm);touch-action:none;position:absolute;inset:8px}.tent-grid{pointer-events:none;background-image:linear-gradient(to right, var(--color-border) 1px, transparent 1px), linear-gradient(to bottom, var(--color-border) 1px, transparent 1px);opacity:.3;border-radius:var(--border-radius-sm);background-size:25% 25%;position:absolute;inset:8px}.tent-pot{border-radius:var(--border-radius-sm);cursor:grab;padding:var(--space-xs);user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:40px;min-height:40px;transition:box-shadow .15s,transform .15s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000004d}.tent-pot:hover{box-shadow:0 4px 16px #0006}.tent-pot.dragging{cursor:grabbing;z-index:100;transform:translate(-50%,-50%)scale(1.05);box-shadow:0 8px 24px #00000080}.tent-pot.overflow{border:2px solid var(--color-danger);box-shadow:0 0 0 2px #ef44444d}.pot-number{color:#000000b3;background:#ffffff4d;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:700}.pot-name{color:#000c;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;font-weight:600;overflow:hidden}.pot-size{color:#0009;font-size:8px}.tent-layout-row{gap:var(--space-lg);flex-wrap:wrap;align-items:flex-start;display:flex}.tent-controls{flex:none;min-width:160px;max-width:200px}.tent-planner-section{flex:1;min-width:300px}.tent-planner-section h4{margin-bottom:var(--space-md)}.plants-controls{align-items:flex-start;gap:var(--space-md);flex-direction:column;flex:none;min-width:200px;display:flex}.plants-controls .add-plant-btn{white-space:nowrap}@media (width<=768px){.tent-layout-row{gap:var(--space-md);flex-direction:column}.tent-controls,.tent-planner-section{min-width:auto}.plants-controls{align-items:stretch;min-width:auto}}.timeline-container{padding:var(--space-md);flex:1}.timeline{max-width:90%;margin:0 auto}.timeline:has(.timeline-entries.grid-view){max-width:100%}.timeline-toolbar{z-index:15;background:var(--color-bg-card);padding:var(--space-md);margin:calc(-1 * var(--space-md));margin-bottom:var(--space-md);border-radius:16px;position:sticky;top:77px;box-shadow:0 4px 20px #0000004d}.toolbar-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.toolbar-day{color:var(--color-text);font-size:1.5rem;font-weight:800}.toolbar-phase-badge{color:#000;text-transform:uppercase;letter-spacing:.02em;border-radius:12px;padding:3px 10px;font-size:.7rem;font-weight:600}.timeline-view-toggle{gap:var(--space-xs);padding:var(--space-md) 0;justify-content:flex-end;display:flex}.view-toggle-btn{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg-card);color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.view-toggle-btn:hover{background:var(--color-bg-elevated);color:var(--color-text)}.view-toggle-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.toolbar-stats{justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-xs) 0;display:flex}.toolbar-stat{flex-direction:column;flex:1;align-items:center;display:flex}.toolbar-stat .stat-value{color:var(--color-text);font-size:1.1rem;font-weight:700;line-height:1.2}.toolbar-stat .stat-value .stat-unit{color:var(--color-text-muted);margin-left:1px;font-size:.7rem;font-weight:500}.toolbar-stat .stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.65rem}.toolbar-progress-container{margin-top:40px;margin-bottom:var(--space-xs);position:relative}.toolbar-progress-bar{background:#ffffff14;border-radius:16px;height:48px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000004d}.progress-segment{min-width:2px;height:100%}.toolbar-today-marker{z-index:9;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.today-marker-label{color:var(--color-bg);background:var(--color-text);letter-spacing:.08em;white-space:nowrap;border-radius:8px;padding:3px 8px;font-size:.55rem;font-weight:700;position:absolute;bottom:calc(100% + 8px);box-shadow:0 2px 4px #0003}.today-marker-line{background:var(--color-text);border-radius:2px;width:3px;height:100%;box-shadow:0 0 4px #ffffff4d}.toolbar-scroll-marker{z-index:10;pointer-events:none;transition:left .15s ease-out;position:absolute;top:50%;transform:translate(-50%,-50%)}.scroll-marker-head{background:var(--color-text);border:3px solid var(--color-bg);border-radius:50%;width:14px;height:14px}.scroll-marker-line{display:none}.entry-dot{z-index:8;pointer-events:auto;cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.entry-dot-icon{text-shadow:0 0 4px #fff9,0 0 8px #fff6;font-size:1.25rem;transition:transform .2s}.entry-dot:hover{transform:translate(-50%,-50%)scale(1.15)}.entry-dot:hover .entry-dot-icon{transform:scale(1.1)}.toolbar-phase-labels{margin-top:2px;display:flex}.phase-label{text-align:center;text-transform:uppercase;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;font-weight:600;overflow:hidden}.timeline-entries{position:relative}.timeline-entries.grid-view{gap:var(--space-lg);flex-direction:column;display:flex}.timeline-entries.grid-view .timeline-week.current-week:before{content:"";font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);margin-bottom:var(--space-xs);padding-left:var(--space-xs);font-weight:600;display:block}.timeline-entries.grid-view .timeline-week.current-week{background:linear-gradient(135deg, #22c55e14 0%, var(--color-bg-card) 100%);border:none;order:-1;box-shadow:0 4px 24px #22c55e33,inset 0 0 0 1px #22c55e33}.timeline-entries.grid-view .timeline-week.current-week .timeline-week-header{padding-left:var(--space-lg);background:0 0;border-left-width:0}.timeline-entries.grid-view .timeline-week.current-week .week-label{font-size:var(--font-size-xl);color:var(--color-primary)}.timeline-entries.grid-view .timeline-week:not(.current-week){margin:0}.timeline-entries.grid-view:after{content:"";order:100;display:block}.timeline-entries.grid-view{gap:var(--space-md);grid-template-columns:1fr;display:grid}.timeline-entries.grid-view .timeline-week.current-week{grid-column:1/-1}@supports (display:grid){.timeline-entries.grid-view{grid-template-columns:repeat(2,1fr)}.timeline-entries.grid-view .timeline-week.current-week{grid-column:1/-1}.timeline-entries.grid-view .timeline-week:not(.current-week){min-height:200px}}@media (width<=800px){.timeline-entries.grid-view{grid-template-columns:1fr}}.timeline-entries.grid-view .timeline-week{flex-direction:column;margin:0;display:flex}.timeline-entries.grid-view .timeline-week-header{padding:var(--space-md);border-left:none}.timeline-entries.grid-view .week-info{align-items:center;gap:var(--space-sm);flex-flow:wrap}.timeline-entries.grid-view .week-label{font-size:var(--font-size-lg);font-weight:700}.timeline-entries.grid-view .week-dates{font-size:var(--font-size-xs);opacity:.7}.timeline-entries.grid-view .phase-label{background:var(--phase-color);color:#000;border-radius:var(--radius-full);font-size:var(--font-size-xs);padding:2px 8px;font-weight:600}.timeline-entries.grid-view .entry-count{background:var(--color-bg);border-radius:var(--radius-full);font-size:var(--font-size-xs);padding:2px 8px}.timeline-entries.grid-view .week-toggle{display:none}.timeline-entries.grid-view .timeline-week-days{border-left:none;flex:1}.timeline-week{margin:var(--space-md) 0;background:var(--color-bg-card);border:none;border-radius:16px;overflow:hidden}.timeline-week-header{padding:var(--space-md) var(--space-lg);background:var(--color-bg-elevated);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:none;justify-content:space-between;align-items:center;list-style:none;transition:background .15s;display:flex;position:relative}.timeline-week-header:before{content:"";background:var(--phase-color);border-radius:16px 0 0;width:6px;position:absolute;top:0;bottom:0;left:0}.timeline-week-header::-webkit-details-marker{display:none}.timeline-week-header:hover{background:var(--color-bg-card)}.timeline-week[open] .timeline-week-header{border-bottom:none;border-radius:0;box-shadow:0 1px #ffffff0d}.week-info{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.week-label{font-weight:600}.week-dates{font-size:var(--font-size-sm);color:var(--color-text-muted)}.phase-label{font-size:var(--font-size-sm);color:var(--phase-color)}.today-indicator{background:var(--color-primary);color:#000;padding:var(--space-xs) var(--space-sm);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 0 8px var(--color-primary);border-radius:8px;font-size:.625rem;font-weight:700;animation:2s ease-in-out infinite pulse-indicator}@keyframes pulse-indicator{0%,to{box-shadow:0 0 8px var(--color-primary)}50%{box-shadow:0 0 16px var(--color-primary)}}.entry-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.week-toggle{color:var(--color-text-muted);font-size:1.25rem;transition:transform .2s}.week-toggle:after{content:"›";transition:transform .2s;display:inline-block;transform:rotate(90deg)}.timeline-week[open] .week-toggle:after{transform:rotate(-90deg)}.timeline-week-days{background:var(--color-bg);border-left:6px solid var(--phase-color);padding:var(--space-sm) 0;border-radius:0 0 16px 16px}.timeline-week-days.grid-view{gap:var(--space-xs);padding:var(--space-sm);border-left:5px solid var(--phase-color);background:var(--color-bg);grid-template-columns:repeat(auto-fill,minmax(118px,1fr));display:grid}@media (width<=600px){.timeline-week-days.grid-view{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.grow-cards.list-view .grow-card{padding:var(--space-md);align-items:stretch;gap:var(--space-sm);flex-direction:column}.grow-cards.list-view .grow-card-header{gap:var(--space-sm);flex-direction:column}.grow-cards.list-view .grow-card-actions{justify-content:flex-end;gap:var(--space-sm);width:100%}.grow-cards.list-view .grow-card-action{opacity:1;background:var(--color-bg);border:1px solid var(--color-border);width:48px;height:48px;font-size:1.3rem}.grow-cards.list-view .grow-card-action:active{background:var(--color-bg-elevated);transform:scale(.95)}.grow-cards.list-view .grow-card-action-danger:active{color:var(--color-danger);background:#ef444433}.grow-cards.list-view .grow-card-stats{justify-content:space-around;width:100%}.grow-cards.list-view .stat{text-align:center}.grow-cards.list-view .grow-card-progress-prominent{margin-bottom:var(--space-sm);order:-1;display:block}}.timeline-week-days.grid-view .timeline-day{background:var(--color-bg-elevated);border-radius:var(--border-radius-sm);border-left:none;border:1px solid var(--color-border);flex-direction:column;gap:0;min-height:90px;margin-left:0;padding:0;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.timeline-week-days.grid-view .timeline-day:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.timeline-week-days.grid-view .timeline-day:before{display:none}.timeline-week-days.grid-view .timeline-day.is-today{border:2px solid var(--color-primary);background:linear-gradient(135deg, #22c55e33 0%, var(--color-bg-elevated) 100%);margin-right:0;padding-right:0;box-shadow:0 0 12px #22c55e4d}.timeline-week-days.grid-view .timeline-day.is-future{opacity:.5;background:var(--color-bg)}.timeline-week-days.grid-view .timeline-day.has-entries{border-color:var(--phase-color)}.timeline-week-days.grid-view .day-marker{width:100%;padding:var(--space-xs) var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-xs);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex}.timeline-week-days.grid-view .day-number{font-size:var(--font-size-sm);font-weight:700}.timeline-week-days.grid-view .day-date{opacity:.7;font-size:.65rem}.timeline-week-days.grid-view .today-badge{padding:1px 4px;font-size:.5rem;position:absolute;top:2px;right:2px}.timeline-week-days.grid-view .day-marker{position:relative}.timeline-week-days.grid-view .day-content{padding:var(--space-xs);gap:var(--space-xs);flex-direction:column;flex:1;min-height:50px;display:flex}.timeline-week-days.grid-view .add-entry-btn{width:100%;padding:var(--space-xs);font-size:var(--font-size-sm);opacity:.5;margin-top:auto;transition:opacity .15s}.timeline-week-days.grid-view .timeline-day:hover .add-entry-btn{opacity:1}.timeline-week-days.grid-view .timeline-entry{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg);border-radius:var(--border-radius-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-week-days.grid-view .entry-icon{font-size:.9rem}.timeline-week-days.grid-view .entry-title{font-size:var(--font-size-xs)}.timeline-week-days.grid-view .entry-photo{border-radius:var(--border-radius-sm);width:100%;height:40px}.timeline-week-days.grid-view .entry-delete{display:none}.timeline-day{gap:var(--space-md);padding:var(--space-md) 0;border-left:2px solid var(--color-border);margin-left:var(--space-lg);display:flex;position:relative}.timeline-day:before{content:"";background:var(--color-border);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.timeline-day.has-entries:before{background:var(--phase-color,var(--color-primary))}.timeline-day.is-today{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;margin-right:calc(-1 * var(--space-lg));padding-right:var(--space-lg);border:2px solid var(--color-primary);margin-left:calc(var(--space-lg) - 2px);background:#22c55e26;border-left:none}.timeline-day.is-today:before{background:var(--color-primary);width:14px;height:14px;box-shadow:0 0 12px var(--color-primary), 0 0 24px #22c55e66;animation:2s ease-in-out infinite pulse-today;left:-9px}@keyframes pulse-today{0%,to{box-shadow:0 0 12px var(--color-primary), 0 0 24px #22c55e66}50%{box-shadow:0 0 18px var(--color-primary), 0 0 36px #22c55e99}}.timeline-day.is-future{opacity:.5}.day-marker{width:85px;padding-left:var(--space-lg);flex-shrink:0}.day-number{font-weight:600;font-size:var(--font-size-sm);display:block}.day-date{color:var(--color-text-muted);font-size:.75rem;display:block}.today-badge{background:var(--color-primary);color:#000;padding:var(--space-xs) var(--space-sm);margin-top:var(--space-xs);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 0 8px var(--color-primary);border-radius:8px;font-size:.625rem;font-weight:700;display:inline-block}.day-content{gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.add-entry-btn{width:var(--touch-target);height:var(--touch-target);background:var(--color-bg-elevated);color:var(--color-text-muted);opacity:.7;border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;font-size:1.25rem;transition:opacity .2s,background .2s;display:flex}@media (hover:hover){.add-entry-btn{opacity:0}.timeline-day:hover .add-entry-btn{opacity:1}}.add-entry-btn:hover,.add-entry-btn:active{background:var(--color-primary);color:#000;opacity:1}.timeline-entry{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-card);border-radius:var(--border-radius-sm);cursor:pointer;transition:background .2s;display:flex}.timeline-entry:hover{background:var(--color-bg-elevated)}.entry-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.entry-title{font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.entry-photo-indicator{flex-shrink:0;font-size:1rem}.entry-delete{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-muted);opacity:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;transition:opacity .2s,color .2s;display:flex}@media (hover:hover){.entry-delete{opacity:0}.timeline-entry:hover .entry-delete{opacity:1}}@media (hover:none){.entry-delete{opacity:.7}}.entry-delete:hover,.entry-delete:active{color:var(--color-danger);opacity:1}.grow-form,.entry-form{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.entry-form{background:var(--color-bg-elevated);border-radius:var(--border-radius) var(--border-radius) 0 0;min-height:auto;margin-top:var(--space-md)}.form-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + env(safe-area-inset-top));background:var(--color-bg-elevated);z-index:10;border-bottom:1px solid var(--color-border);min-height:52px;display:flex;position:sticky;top:0}.entry-form .form-header{padding-top:var(--space-sm)}.form-header h2,.form-header h3{font-size:var(--font-size-md);flex:1;margin:0;font-weight:600}.save-btn{background:var(--color-primary);color:#000;padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius-sm);min-height:36px;font-weight:600}.form-body{padding:var(--space-lg);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.form-section{margin-bottom:var(--space-lg)}.section-title{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-lg);font-weight:600}.form-card{background:var(--color-bg-elevated);border-radius:var(--border-radius);padding:var(--space-lg);border:1px solid var(--color-border)}.form-group{margin-bottom:var(--space-lg)}.form-group:last-child{margin-bottom:0}.form-group label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm);font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-md);min-height:var(--touch-target)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-row{gap:var(--space-md);align-items:flex-start;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.input-with-btn{gap:var(--space-sm);display:flex}.input-with-btn input{flex:1}.input-with-btn .btn{padding:var(--space-sm) var(--space-md);min-height:var(--touch-target);flex-shrink:0}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.input-with-unit{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);align-items:center;display:flex;overflow:hidden}.input-with-unit input{min-height:var(--touch-target);background:0 0;border:none}.input-with-unit input:focus{outline:none}.input-with-unit:focus-within{border-color:var(--color-primary)}.input-unit{padding:0 var(--space-md);color:var(--color-text-muted);font-size:var(--font-size-sm);background:var(--color-bg-card);border-left:1px solid var(--color-border);min-height:var(--touch-target);align-items:center;display:flex}.segmented-control{background:var(--color-bg);border-radius:var(--border-radius-sm);padding:3px;display:flex}.segment{padding:var(--space-sm) var(--space-md);border-radius:calc(var(--border-radius-sm) - 2px);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;flex:1;font-weight:500;transition:all .2s}.segment.active{background:var(--color-primary);color:#000}.segment:not(.active):hover{color:var(--color-text)}.preset-pills{gap:var(--space-xs);flex-wrap:wrap;display:flex}.preset-pill{padding:var(--space-sm) var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text);min-height:var(--touch-target);border-radius:20px;transition:all .2s}.preset-pill:hover{border-color:var(--color-text-muted)}.preset-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#000}.form-fieldset{border-radius:var(--border-radius);margin-bottom:var(--space-xl);border:none;padding:0}.form-fieldset legend{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md);padding:0;font-weight:600}.dli-preview{gap:var(--space-md);padding:var(--space-md);background:var(--color-bg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);display:flex}.dli-label{color:var(--color-text-muted)}.dli-veg strong,.dli-flower strong{color:var(--color-primary)}.dli-result{background:var(--color-bg);border-radius:var(--border-radius);padding:var(--space-lg);text-align:center;margin-bottom:var(--space-lg)}.dli-result-value{justify-content:center;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.dli-number{color:var(--color-primary);font-size:3rem;font-weight:700;line-height:1}.dli-unit{font-size:var(--font-size-md);color:var(--color-text-muted)}.dli-status-text{font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);display:inline-block}.dli-status-text.warning{color:var(--color-flush);background:#f9731626}.dli-status-text.germination{color:var(--color-germination);background:#8b5cf626}.dli-status-text.seedling{color:var(--color-seedling);background:#84cc1626}.dli-status-text.veg{color:var(--color-veg);background:#22c55e26}.dli-status-text.flower{color:var(--color-flower);background:#a855f726}.dli-targets{background:var(--color-bg);border-radius:var(--border-radius-sm);padding:var(--space-lg);margin-bottom:var(--space-lg)}.dli-targets h4{margin-bottom:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.dli-target-list{gap:var(--space-sm);flex-direction:column;display:flex}.dli-target-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.dli-target-item:last-child{border-bottom:none}.dli-target-phase{font-weight:500}.dli-target-range{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dli-presets{background:var(--color-bg);border-radius:var(--border-radius-sm);padding:var(--space-lg)}.dli-presets h4{margin-bottom:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.dli-presets .preset-buttons{grid-template-columns:repeat(2,1fr)}.dli-presets .preset-btn{text-align:center;line-height:1.3}.dli-presets .preset-btn small{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:.75rem;display:block}.quick-milestones{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.quick-milestone{transition:border-color .2s,background .2s}.quick-milestone.active{border-color:var(--color-primary);background:#22c55e26}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md);opacity:.8;line-height:1.5}.plants-list{gap:var(--space-sm);flex-direction:column;display:flex}.plant-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-sm);border:1px solid var(--color-border);display:flex}.plant-row-header{padding:var(--space-xs) var(--space-md);background:0 0;padding-bottom:0}.plant-col-header{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;flex:1;min-width:0;font-size:.7rem}.plant-col-header:first-child{flex:0 0 32px}.plant-col-header:nth-child(4),.plant-col-header:nth-child(5){flex:0 0 60px}.plant-col-header:last-child{flex:0 0 32px}.plant-pot-badge{width:32px;height:32px;font-weight:700;font-size:var(--font-size-sm);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.plant-name-input,.plant-strain-input{min-width:0;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);flex:1}.plant-name-input:focus,.plant-strain-input:focus{border-color:var(--color-primary);outline:none}.plant-pot-size,.plant-seed-type{width:60px;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);cursor:pointer;flex-shrink:0}.plant-pot-size:focus,.plant-seed-type:focus{border-color:var(--color-primary);outline:none}.remove-plant-btn{color:var(--color-text-muted);flex-shrink:0}.remove-plant-btn:hover{color:var(--color-danger)}.add-plant-btn{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px dashed var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);transition:border-color .2s,color .2s}.add-plant-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.plant-chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.plant-chip{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border:2px solid var(--color-border);font-size:var(--font-size-sm);cursor:pointer;min-height:var(--touch-target);border-radius:20px;transition:border-color .2s,background .2s;display:inline-flex}.plant-chip:hover{border-color:var(--plant-color,var(--color-primary))}.plant-chip.active{border-color:var(--plant-color,var(--color-primary));background:#22c55e26}.plant-chip .plant-pot{color:var(--plant-color,var(--color-primary));font-weight:700}.plant-chip .plant-name{color:var(--color-text)}.entry-modal{max-height:90vh}.entry-modal .modal-body{padding-bottom:var(--space-lg)}.entry-form-modal{flex-direction:column;height:100%;min-height:0;display:flex}.entry-form-modal .modal-body{flex:1;min-height:0;overflow-y:auto}.preset-buttons{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.preset-btn{padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);text-align:left;font-size:var(--font-size-sm);color:var(--color-text);min-height:var(--touch-target);transition:border-color .2s,background .2s}.preset-btn:hover{border-color:var(--color-text-muted);background:var(--color-bg-card)}.preset-btn.active{border-color:var(--color-primary);background:#22c55e1a}.date-preview{z-index:5;padding:var(--space-sm) var(--space-lg);background:var(--color-bg);border-bottom:1px solid var(--color-border);margin:0;position:sticky;top:52px}.date-row{gap:var(--space-md);align-items:flex-start;display:flex}.date-row .form-group{flex:none;width:10vw;min-width:140px}.date-row .date-preview{padding:var(--space-sm) 0;background:0 0;border:none;flex:1;min-width:0;margin:0;position:static}.date-preview:empty{display:none}.date-preview-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.date-preview-header strong{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.total-days{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:600}.date-preview-grid{flex-wrap:wrap;gap:6px;display:flex}.date-item{padding:var(--space-sm);background:var(--color-bg-elevated);border-radius:var(--border-radius-sm);text-align:center;border:1px solid var(--color-border);flex-direction:column;flex:1;align-items:center;min-width:65px;display:flex}.date-item.highlight{background:var(--color-primary);border-color:var(--color-primary);color:#000}.date-item.highlight .date-label{color:#0009}.date-icon{margin-bottom:2px;font-size:1rem;line-height:1}.date-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:2px}.date-value{font-size:var(--font-size-sm);font-weight:600}.phase-duration{color:var(--color-text-muted);font-weight:400}.date-preview-summary{justify-content:center;gap:var(--space-md);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.phase-summary{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.phase-summary-content{justify-content:center;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.photo-preview{margin-top:var(--space-sm);min-height:50px}.photo-preview img{border-radius:var(--border-radius-sm);border:1px solid var(--color-border);max-width:100%;max-height:200px;display:block}.photo-preview:empty:before{content:"No photo";color:var(--color-text-muted);font-size:var(--font-size-sm)}.photo-preview-grid{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));min-height:50px;display:grid}.photo-preview-grid:empty:before{content:"No photos";color:var(--color-text-muted);font-size:var(--font-size-sm);grid-column:1/-1}.photo-preview-item{aspect-ratio:1;border-radius:var(--border-radius-sm);border:1px solid var(--color-border);position:relative;overflow:hidden}.photo-preview-item img{object-fit:cover;cursor:pointer;width:100%;height:100%;transition:transform .2s,opacity .2s}.photo-preview-item img:hover{opacity:.9;transform:scale(1.05)}.photo-preview-item .photo-remove{color:#fff;cursor:pointer;opacity:0;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:2px;right:2px}.photo-preview-item:hover .photo-remove{opacity:1}.entry-form-container[hidden]{display:none}.modal-overlay{z-index:1000;padding:var(--space-lg);background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-card);border-radius:var(--border-radius) var(--border-radius) 0 0;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex}.modal-large{max-width:900px;max-height:90vh}@media (width>=600px){.modal-overlay{align-items:center}.modal{border-radius:var(--border-radius)}}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header-compact{padding:var(--space-sm) var(--space-lg)}.modal-header h3{font-size:var(--font-size-md);font-weight:600}.modal-body{padding:var(--space-lg);flex:1;overflow-y:auto}.modal-info{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.modal-info code{background:var(--color-bg);border-radius:4px;padding:2px 6px;font-size:.875em}.export-content{width:100%;min-height:200px;padding:var(--space-lg);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font-family:monospace;font-size:var(--font-size-sm);resize:vertical}.modal-footer{padding:var(--space-lg);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.export-options{gap:var(--space-md);flex-direction:column;display:flex}.export-option-btn{align-items:flex-start;gap:var(--space-xs);padding:var(--space-lg);background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;text-align:left;flex-direction:column;transition:all .2s;display:flex}.export-option-btn:hover{border-color:var(--color-primary);background:#3b82f61a}.export-option-btn .option-icon{font-size:1.5rem}.export-option-btn .option-title{font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.export-option-btn .option-desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.markdown-section .btn-row{gap:var(--space-sm);margin-top:var(--space-md);justify-content:space-between;display:flex}.settings-section{margin-bottom:var(--space-lg)}.settings-section h4{margin-bottom:var(--space-sm)}.storage-info{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.gallery-overlay{z-index:1000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gallery-container{flex-direction:column;width:100%;max-width:900px;height:100%;display:flex}.gallery-header-section{gap:var(--space-sm);padding:var(--space-lg);padding-top:calc(var(--space-lg) + env(safe-area-inset-top));background:#00000080;flex-direction:column;display:flex}.gallery-header-row{justify-content:space-between;align-items:center;display:flex}.gallery-header-info{flex-direction:column;gap:2px;display:flex}.gallery-header h3{font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.gallery-stats{color:var(--color-text-muted);font-size:.75rem}.gallery-controls{align-items:center;gap:var(--space-sm);display:flex}.gallery-counter{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;min-width:60px}.gallery-slides{touch-action:pan-y;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gallery-slide{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.gallery-slide.fade-in{animation:.3s ease-out galleryFadeIn}@keyframes galleryFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.gallery-photo{background-position:50%;background-repeat:no-repeat;background-size:contain;flex:1;min-height:200px}.gallery-placeholder{opacity:.8;border-radius:var(--border-radius);min-height:200px;margin:var(--space-lg);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.placeholder-icon{margin-bottom:var(--space-md);opacity:.7;font-size:4rem}.placeholder-day{font-size:var(--font-size-xl);color:#000c;font-weight:700}.placeholder-week{font-size:var(--font-size-md);color:#0009}.gallery-info{padding:var(--space-md) var(--space-lg);gap:var(--space-sm);background:linear-gradient(#0000 0%,#000c 40%,#000000f2 100%);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.gallery-badges{align-items:center;gap:var(--space-sm);display:flex}.gallery-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);backdrop-filter:blur(4px);background:#ffffff1a;flex-direction:column;align-items:center;min-width:44px;display:flex}.gallery-badge .badge-value{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;line-height:1}.gallery-badge .badge-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:2px;font-size:.6rem}.gallery-badge-phase{padding:var(--space-xs) var(--space-md);text-transform:uppercase;letter-spacing:.03em;color:#000000e6;flex-direction:row;font-size:.75rem;font-weight:600}.gallery-meta{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.gallery-entry-type{font-size:1.2rem}.gallery-dli,.gallery-photo-count{background:#ffffff1a;border-radius:10px;padding:2px 8px;font-size:.75rem}.gallery-timeline-bar{background:#ffffff26;border-radius:2px;height:4px;overflow:hidden}.gallery-timeline-progress{background:var(--color-primary);border-radius:2px;height:100%;transition:width .3s}.gallery-body{gap:var(--space-xs);flex-direction:column;display:flex}.gallery-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:600;line-height:1.3}.gallery-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.gallery-plants{margin-top:var(--space-xs);flex-wrap:wrap;gap:4px;display:flex}.gallery-plant-tag{color:#000;border-radius:10px;padding:2px 8px;font-size:.65rem;font-weight:600}.gallery-content{font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-line-clamp:3;margin-top:var(--space-xs);-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.gallery-phase-timeline{flex-direction:column;gap:4px;display:flex}.gallery-phase-bar{background:#ffffff1a;border-radius:4px;height:8px;display:flex;position:relative;overflow:visible}.gallery-phase-segment{height:100%;transition:opacity .2s}.gallery-phase-segment:first-child{border-radius:4px 0 0 4px}.gallery-phase-segment:last-child{border-radius:0 4px 4px 0}.gallery-phase-segment:only-child{border-radius:4px}.gallery-phase-marker{z-index:5;flex-direction:column;align-items:center;transition:left .3s;display:flex;position:absolute;top:-4px;transform:translate(-50%)}.phase-marker-head{background:var(--color-text);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 2px #00000080,0 2px 8px #0006}.phase-marker-line{background:var(--color-text);width:2px;height:8px;margin-top:-2px}.gallery-phase-labels{text-transform:uppercase;letter-spacing:.03em;font-size:.6rem;font-weight:600;display:flex}.gallery-phase-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;overflow:hidden}.gallery-placeholder{justify-content:center;align-items:center;gap:var(--space-md);border-radius:var(--border-radius);margin:var(--space-lg);border:2px dashed #fff3;flex-direction:column;flex:1;display:flex}.placeholder-icon{opacity:.6;font-size:4rem}.placeholder-phase{font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.gallery-nav{width:48px;height:48px;color:var(--color-text);cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:hover{background:#000c;transform:translateY(-50%)scale(1.1)}.gallery-prev{left:var(--space-sm)}.gallery-next{right:var(--space-sm)}.gallery-dots{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));flex-wrap:wrap;display:flex}.gallery-dot{background:var(--color-border);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;transition:background .2s,transform .2s}.gallery-dot:hover{background:var(--color-text-muted)}.gallery-dot.active{background:var(--color-primary);transform:scale(1.3)}.gallery-dots-info{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:0 var(--space-sm)}.gallery-empty{text-align:center;padding:calc(var(--space-xl) * 2)}.gallery-empty-icon{margin-bottom:var(--space-md);opacity:.5;font-size:4rem}.gallery-empty h3{font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}.image-viewer-overlay{z-index:1100;background:#000000f2;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.image-viewer-content{width:100%;height:100%;padding:var(--space-xl);padding-top:calc(var(--space-xl) + env(safe-area-inset-top));padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.image-viewer-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;animation:.2s zoomIn;box-shadow:0 8px 32px #00000080}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.image-viewer-close{top:var(--space-md);right:var(--space-md);top:calc(var(--space-md) + env(safe-area-inset-top));backdrop-filter:blur(10px);border:1px solid var(--color-border);width:48px;height:48px;color:var(--color-text);cursor:pointer;z-index:1101;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:300;line-height:1;transition:background .2s,transform .2s;display:flex;position:fixed}.image-viewer-close:hover{background:#000000d9;transform:scale(1.1)}.image-viewer-close:active{transform:scale(.95)}.image-viewer-counter{top:var(--space-md);left:50%;top:calc(var(--space-md) + env(safe-area-inset-top));padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);backdrop-filter:blur(10px);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);z-index:1101;background:#000000b3;font-weight:500;position:fixed;transform:translate(-50%)}.image-viewer-prev,.image-viewer-next{backdrop-filter:blur(10px);border:1px solid var(--color-border);width:56px;height:56px;color:var(--color-text);cursor:pointer;z-index:1101;background:#000000b3;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;font-weight:300;line-height:1;transition:background .2s,transform .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.image-viewer-prev:hover:not(:disabled),.image-viewer-next:hover:not(:disabled){background:#000000d9;transform:translateY(-50%)scale(1.1)}.image-viewer-prev:active:not(:disabled),.image-viewer-next:active:not(:disabled){transform:translateY(-50%)scale(.95)}.image-viewer-prev:disabled,.image-viewer-next:disabled{opacity:.3;cursor:not-allowed}.image-viewer-prev{left:var(--space-md);left:calc(var(--space-md) + env(safe-area-inset-left))}.image-viewer-next{right:var(--space-md);right:calc(var(--space-md) + env(safe-area-inset-right))}@media (width<=768px){.image-viewer-content{padding:var(--space-md);padding-top:calc(var(--space-md) + env(safe-area-inset-top) + 60px);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom))}.image-viewer-prev,.image-viewer-next{width:48px;height:48px;font-size:2rem}.image-viewer-close{width:44px;height:44px;font-size:1.75rem}}.gallery-empty p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}@media (width>=600px){.grow-cards{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.grow-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=400px){.form-row{grid-template-columns:1fr}}@media (orientation:landscape) and (height<=500px){.modal{max-height:95vh}.modal-body{max-height:60vh}.gallery-slide{flex-direction:row}.gallery-photo{min-height:unset;flex:1;height:100%}.gallery-info{width:40%;padding:var(--space-md);background:#000c;position:relative}.gallery-placeholder{margin:var(--space-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.empty-icon,.today-indicator,.stat-urgent,.timeline-day.is-today:before,.gallery-slide.fade-in{animation:none}}.toast-container{top:calc(var(--space-lg) + env(safe-area-inset-top));z-index:2000;gap:var(--space-sm);pointer-events:none;max-width:calc(100vw - var(--space-lg) * 2);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-bg-card);border-radius:var(--border-radius);border:1px solid var(--color-border);pointer-events:auto;max-width:400px;animation:.3s ease-out toast-slide-in;display:flex;box-shadow:0 4px 20px #0006}.toast.toast-error{border-color:var(--color-danger);background:linear-gradient(135deg, #ef444426 0%, var(--color-bg-card) 100%)}.toast.toast-warning{border-color:var(--color-flush);background:linear-gradient(135deg, #f9731626 0%, var(--color-bg-card) 100%)}.toast.toast-success{border-color:var(--color-primary);background:linear-gradient(135deg, #22c55e26 0%, var(--color-bg-card) 100%)}.toast.toast-exit{animation:.3s ease-in forwards toast-slide-out}.toast-icon{flex-shrink:0;font-size:1.25rem}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:var(--font-size-sm);margin-bottom:2px}.toast-message{font-size:var(--font-size-sm);color:var(--color-text-muted)}.toast-close{width:28px;height:28px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.toast-close:hover{color:var(--color-text);background:#ffffff1a}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.storage-indicator{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.storage-bar{background:var(--color-bg);border-radius:3px;width:60px;height:6px;overflow:hidden}.storage-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .3s,background .3s}.storage-bar-fill.warning{background:var(--color-flush)}.storage-bar-fill.critical{background:var(--color-danger)}.storage-text{min-width:45px}[hidden]{display:none!important}:root[data-theme=light] .grow-card{background:linear-gradient(145deg, var(--color-bg-card) 0%, var(--color-bg-elevated) 60%, #00000008 100%);border:1px solid var(--color-border);box-shadow:0 2px 8px #00000014}:root[data-theme=light] .grow-card:before{background:linear-gradient(90deg,#0000,#0000000d,#0000)}:root[data-theme=light] .grow-card:active{box-shadow:0 1px 4px #0000001a}:root[data-theme=light] .grow-card-stats{background:#0000000a}:root[data-theme=light] .stat:not(:last-child):after{background:#00000014}:root[data-theme=light] .grow-card-progress-prominent{background:#0000000d}:root[data-theme=light] .progress-bar-bg{background:#00000014}:root[data-theme=light] .grow-header{background:linear-gradient(135deg, var(--color-bg-elevated) 0%, var(--color-bg) 100%);border-bottom:1px solid var(--color-border)}:root[data-theme=light] .icon-btn:hover,:root[data-theme=light] .icon-btn:focus{background:#0000000d}:root[data-theme=light] .timeline-week{box-shadow:0 1px 4px #00000014}:root[data-theme=light] .timeline-week-header:hover{background:#00000005}:root[data-theme=light] .timeline-week[open] .timeline-week-header{box-shadow:0 1px #0000000d}:root[data-theme=light] .timeline-day.is-today{border-color:var(--color-primary);background:#16a34a1a}:root[data-theme=light] .fab{box-shadow:0 4px 16px #16a34a4d,0 2px 6px #00000026}:root[data-theme=light] .fab:active{box-shadow:0 2px 8px #16a34a40}:root[data-theme=light] .fab-menu{box-shadow:0 4px 20px #00000026}:root[data-theme=light] .modal-overlay{background:#00000080}:root[data-theme=light] .toast{box-shadow:0 4px 20px #00000026}:root[data-theme=light] .feature-card{box-shadow:0 2px 8px #00000014}:root[data-theme=light] .feature-card:hover{box-shadow:0 8px 24px #0000001f}:root[data-theme=light] .tent-pot{box-shadow:0 2px 6px #00000026}:root[data-theme=light] .tent-pot:hover{box-shadow:0 4px 12px #0003}:root[data-theme=light] .tent-pot.dragging{box-shadow:0 8px 24px #00000040}:root[data-theme=light] .btn-primary,:root[data-theme=light] .phase-badge,:root[data-theme=light] .today-badge{color:#fff}:root[data-theme=light] .stat-urgent{background:#ea580c26}:root[data-theme=light] .dashboard-header{background:linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 85%, transparent 100%)}:root[data-theme=light] .gallery-overlay{background:#fffffffa}:root[data-theme=light] .gallery-header-section{background:#fffc}:root[data-theme=light] .gallery-info{background:linear-gradient(#0000 0%,#fffffff2 40%,#fffffffa 100%)}:root[data-theme=light] .gallery-badge{background:#00000014}:root[data-theme=light] .gallery-badge-phase{color:#fff}:root[data-theme=light] .gallery-nav{color:var(--color-text);background:#ffffffe6;box-shadow:0 2px 8px #00000026}:root[data-theme=light] .gallery-nav:hover{background:#fff}.theme-toggle{width:var(--touch-target);height:var(--touch-target);color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:background .2s,transform .15s;display:flex}.theme-toggle:hover,.theme-toggle:focus{color:var(--color-text);background:#00000014;transform:scale(1.05)}:root[data-theme=light] .theme-toggle:hover,:root[data-theme=light] .theme-toggle:focus{background:#0000000d}.subsection{margin-bottom:var(--space-xl)}.subsection:last-child{margin-bottom:0}.subsection-title{font-size:var(--font-size-md);color:var(--color-text);margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.subsection-title:before{content:"";background:var(--color-primary);border-radius:2px;width:4px;height:20px}.tooltip{cursor:help;display:inline-block;position:relative}.tooltip .tooltip-icon{background:var(--color-primary);color:#000;text-align:center;width:16px;height:16px;margin-left:var(--space-xs);border-radius:50%;font-size:12px;font-weight:700;line-height:16px;transition:all .2s;display:inline-block}.tooltip:hover .tooltip-icon{background:var(--color-primary-glow);transform:scale(1.1)}.tooltip .tooltip-text{visibility:hidden;opacity:0;background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--space-sm);white-space:nowrap;z-index:1000;font-size:14px;line-height:1.4;transition:all .2s;position:absolute;bottom:125%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.tooltip .tooltip-text:after{content:"";border:5px solid #0000;border-top-color:var(--color-bg-elevated);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tutorial-highlight-target{position:relative;z-index:10002!important;box-shadow:0 0 0 3px var(--color-primary)!important;border-radius:4px!important;animation:2s infinite tutorial-pulse-target!important}@keyframes tutorial-pulse-target{0%,to{box-shadow:0 0 0 3px var(--color-primary)}50%{box-shadow:0 0 0 6px #8fb89499}}.tutorial-highlight{pointer-events:none;z-index:10000;background:#8fb8941a;border:none;border-radius:8px;animation:2s infinite tutorial-glow;position:fixed}@keyframes tutorial-glow{0%,to{background:#8fb8941a;box-shadow:0 0 10px #8fb8944d}50%{background:#8fb89433;box-shadow:0 0 20px #8fb89480}}.tutorial-overlay{z-index:10000;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.tutorial-backdrop{backdrop-filter:blur(2px);z-index:10000;background:#000000b3;width:100vw;height:100vh;position:fixed;top:0;left:0}.tutorial-tooltip{z-index:10001;pointer-events:auto;animation:.3s ease-out tutorial-fade-in;position:fixed;transform:translate(-50%)}@keyframes tutorial-fade-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.tutorial-content{background:var(--color-bg-elevated);border:1px solid var(--color-border);padding:var(--space-lg);box-shadow:var(--shadow-lg);border-radius:12px;min-width:280px;max-width:400px}.tutorial-title{color:var(--color-text);margin-bottom:var(--space-sm);font-size:1.1rem;font-weight:600}.tutorial-description{color:var(--color-text-muted);margin-bottom:var(--space-lg);line-height:1.5}.tutorial-actions{justify-content:space-between;align-items:center;display:flex}.tutorial-skip{color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);background:0 0;border:none;font-size:.9rem}.tutorial-skip:hover{color:var(--color-text)}.tutorial-progress{color:var(--color-text-muted);font-size:.9rem}.tutorial-next{background:var(--color-primary);color:#fff;padding:var(--space-sm) var(--space-md);cursor:pointer;border:none;border-radius:6px;font-weight:500;transition:background-color .2s}.tutorial-next:hover{background:var(--color-primary-hover,#7aa57e)}.tutorial-arrow{border:8px solid #0000;width:0;height:0;position:absolute}.tutorial-arrow[data-position=top]{border-bottom-color:var(--color-bg-elevated);border-top:none;bottom:-16px;left:50%;transform:translate(-50%)}.tutorial-arrow[data-position=bottom]{border-top-color:var(--color-bg-elevated);border-bottom:none;top:-16px;left:50%;transform:translate(-50%)}.tutorial-arrow[data-position=left]{border-left-color:var(--color-bg-elevated);border-right:none;top:50%;right:-16px;transform:translateY(-50%)}.tutorial-arrow[data-position=right]{border-right-color:var(--color-bg-elevated);border-left:none;top:50%;left:-16px;transform:translateY(-50%)}:root{--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}.tint-chip,.task-icon,.ql-type-icon,.ql-row-icon,.timeline .entry-dot{background:color-mix(in srgb, var(--type-color,var(--color-primary)) 16%, transparent);color:var(--type-color,var(--color-primary))}.last-icon,.chip-icon,.task-icon,.ql-type-icon,.ql-row-icon{color:var(--type-color,var(--color-primary));justify-content:center;align-items:center;display:inline-flex}.dash-header{justify-content:space-between;align-items:flex-end;gap:var(--space-md);padding:calc(var(--space-lg) + env(safe-area-inset-top)) var(--space-lg) var(--space-md);display:flex}.dash-heading h1{letter-spacing:-.02em;font-size:1.7rem;font-weight:700;line-height:1.1}.dash-subtitle{font-family:var(--font-mono);color:var(--color-text-muted);margin-top:4px;font-size:.75rem}.dash-header .header-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.today-strip{margin:0 var(--space-lg) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--space-md);border-radius:20px}.today-head{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.today-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-size:.68rem;font-weight:600}.task-badge{font-family:var(--font-mono);border-radius:20px;padding:2px 9px;font-size:.72rem;font-weight:600}.task-badge-due{background:color-mix(in srgb, var(--color-flush) 22%, transparent);color:color-mix(in srgb, var(--color-flush) 60%, var(--color-text))}.task-badge-clear{background:color-mix(in srgb, var(--color-primary) 22%, transparent);color:color-mix(in srgb, var(--color-primary) 60%, var(--color-text))}.today-tasks{gap:var(--space-sm);flex-direction:column;display:flex}.today-task{cursor:pointer;border-radius:10px;align-items:center;gap:11px;padding:4px 2px;display:flex}.today-task:active{background:color-mix(in srgb, var(--color-text) 6%, transparent)}.task-icon{border-radius:9px;flex:none;width:30px;height:30px}.task-text{flex:1;min-width:0}.task-action{font-size:.9rem;font-weight:600}.task-grow{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.7rem}.task-done{font-family:var(--font-mono);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 16%, transparent);cursor:pointer;border:none;border-radius:20px;flex:none;padding:6px 12px;font-size:.7rem;font-weight:600}.today-empty{align-items:center;gap:9px;padding:2px;display:flex}.today-check{background:color-mix(in srgb, var(--color-primary) 18%, transparent);width:22px;height:22px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.today-empty span:last-child{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.grow-cards{padding:0 var(--space-lg) var(--space-xl);flex-direction:column;gap:14px;display:flex}.grow-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:1px solid var(--color-border);box-shadow:none;border-radius:22px;padding:0;position:relative;overflow:hidden}.grow-card:before{content:none}.grow-card-tools{z-index:5;gap:2px;display:flex;position:absolute;top:8px;right:8px}.grow-card-tool{background:color-mix(in srgb, var(--color-bg) 70%, transparent);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;opacity:0;border:none;border-radius:8px;font-size:.85rem;transition:opacity .15s}.grow-card:hover .grow-card-tool{opacity:.85}@media (hover:none){.grow-card-tool{opacity:.6}}.grow-card-main{cursor:pointer;gap:14px;padding:14px;display:flex}.grow-thumb{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--phase-color) 34%, var(--color-bg-card)) 0 7px, color-mix(in srgb, var(--phase-color) 20%, var(--color-bg-card)) 7px 14px);border-radius:15px;flex:none;width:86px;height:86px;position:relative;overflow:hidden}.grow-thumb-day{font-family:var(--font-mono);color:color-mix(in srgb, var(--phase-color) 55%, var(--color-text));background:color-mix(in srgb, var(--color-bg-card) 80%, transparent);border-radius:5px;padding:2px 5px;font-size:.56rem;position:absolute;bottom:6px;left:6px}.grow-card-info{flex:1;min-width:0}.grow-card-titlerow{justify-content:space-between;align-items:center;gap:8px;display:flex}.grow-card-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.grow-card-strain{font-family:var(--font-mono);color:var(--color-text-muted);margin-top:2px;font-size:.68rem}.grow-card-meta{font-family:var(--font-mono);align-items:center;gap:8px;margin-top:9px;font-size:.74rem;display:flex}.meta-day{font-weight:600}.meta-sep{color:var(--color-text-muted);opacity:.6}.meta-health{color:color-mix(in srgb, var(--health-color) 62%, var(--color-text));align-items:center;gap:5px;font-weight:600;display:inline-flex}.health-dot{background:var(--health-color);border-radius:50%;width:7px;height:7px}.grow-card-last{color:var(--color-text-muted);align-items:center;gap:7px;margin-top:8px;display:flex}.last-label{font-size:.82rem}.due-pill{font-family:var(--font-mono);background:color-mix(in srgb, var(--color-flush) 20%, transparent);color:color-mix(in srgb, var(--color-flush) 60%, var(--color-text));border-radius:20px;align-items:center;gap:6px;margin-top:10px;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.due-dot{background:var(--color-flush);border-radius:50%;width:6px;height:6px}.grow-card-chips{gap:8px;padding:0 14px 14px;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-bg-elevated);cursor:pointer;font-family:var(--font-mono);color:var(--color-text);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.74rem;font-weight:600;display:inline-flex}.chip:active{background:color-mix(in srgb, var(--color-text) 6%, var(--color-bg-elevated));transform:scale(.96)}.chip-more{width:44px;color:var(--color-text-muted);flex:none;font-size:1.1rem}.phase-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb, var(--phase-color) 22%, transparent);color:color-mix(in srgb, var(--phase-color) 58%, var(--color-text));box-shadow:none;white-space:nowrap;border-radius:20px;flex:none;padding:3px 9px;font-size:.6rem;font-weight:600}.grow-hero{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--phase-color) 50%, var(--color-bg)) 0 9px, color-mix(in srgb, var(--phase-color) 36%, var(--color-bg)) 9px 18px);flex-shrink:0;height:220px;position:relative}.grow-hero-overlay{background:linear-gradient(to top, color-mix(in srgb, var(--color-bg) 75%, transparent), transparent 55%);position:absolute;inset:0}.hero-back{top:calc(env(safe-area-inset-top) + 14px);background:color-mix(in srgb, var(--color-bg-card) 88%, transparent);width:40px;height:40px;color:var(--color-text);cursor:pointer;z-index:2;backdrop-filter:blur(6px);border:none;border-radius:13px;font-size:1.3rem;position:absolute;left:14px}.hero-actions{top:calc(env(safe-area-inset-top) + 14px);z-index:2;gap:6px;display:flex;position:absolute;right:14px}.hero-action{background:color-mix(in srgb, var(--color-bg-card) 88%, transparent);cursor:pointer;backdrop-filter:blur(6px);border:none;border-radius:11px;width:38px;height:38px;font-size:1rem}.hero-action:active,.hero-back:active{transform:scale(.94)}.hero-caption{z-index:2;position:absolute;bottom:16px;left:18px;right:18px}.hero-titlerow{align-items:center;gap:9px;display:flex}.hero-name{letter-spacing:-.02em;color:var(--color-text);font-size:1.55rem;font-weight:700}.grow-hero .phase-badge{background:color-mix(in srgb, var(--color-bg-card) 90%, transparent);color:color-mix(in srgb, var(--phase-color) 60%, var(--color-text))}.hero-strain{font-family:var(--font-mono);color:var(--color-text-muted);margin-top:3px;font-size:.74rem}.grow-body{padding:var(--space-md) var(--space-lg) 120px}.detail-stats{margin-bottom:var(--space-lg);grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.detail-stat{background:var(--color-bg-card);border:1px solid var(--color-border);text-align:center;border-radius:14px;padding:11px 8px}.ds-value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.ds-unit{color:var(--color-text-muted);font-size:.7rem}.ds-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-top:3px;font-size:.56rem}.section-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px;font-size:.68rem;font-weight:600}.quicklog-row{scrollbar-width:none;margin-bottom:var(--space-lg);gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.quicklog-row::-webkit-scrollbar{display:none}.quicklog-btn{border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:6px;width:64px;padding:11px 0;display:flex}.quicklog-btn:active{background:color-mix(in srgb, var(--color-text) 6%, var(--color-bg-card));transform:scale(.95)}.ql-row-icon{border-radius:11px;width:34px;height:34px}.ql-row-label{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.62rem;font-weight:600}.detail-log-btn{background:var(--color-primary);color:#fff;cursor:pointer;width:100%;margin-bottom:var(--space-lg);border:none;border-radius:15px;padding:15px;font-size:.95rem;font-weight:600}.detail-log-btn:active{transform:scale(.99)}.ql-overlay{background:color-mix(in srgb, var(--color-bg) 55%, transparent);z-index:3000;animation:.18s ql-fade;position:fixed;inset:0}.ql-sheet{z-index:3001;background:var(--color-bg-elevated);width:100%;max-width:520px;padding:10px var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom));scrollbar-width:none;border-radius:28px 28px 0 0;max-height:88vh;animation:.28s cubic-bezier(.22,1,.36,1) ql-sheet-up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -10px 40px -10px #00000059}.ql-handle{background:var(--color-border);border-radius:4px;width:38px;height:4px;margin:0 auto 16px}.ql-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.ql-sub{font-family:var(--font-mono);color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.74rem}.ql-types{margin-bottom:var(--space-md);grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ql-type{cursor:pointer;border:1.5px solid var(--color-border);background:var(--color-bg-card);border-radius:14px;flex-direction:column;align-items:center;gap:7px;padding:13px 0;display:flex}.ql-type:active{transform:scale(.97)}.ql-type-active{border-color:var(--type-color,var(--color-primary));background:color-mix(in srgb, var(--type-color,var(--color-primary)) 10%, var(--color-bg-card))}.ql-type-icon{border-radius:10px;width:32px;height:32px}.ql-type-label{font-family:var(--font-mono);color:var(--color-text);font-size:.68rem;font-weight:600}.ql-fields{gap:10px;margin-bottom:14px;display:flex}.ql-field{flex:1}.ql-field-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px;font-size:.6rem;display:block}.ql-input,.ql-note{border:1px solid var(--color-border);background:var(--color-bg-card);width:100%;color:var(--color-text);font-family:var(--font-mono);border-radius:12px;outline:none;padding:12px 14px;font-size:.95rem}.ql-note{font-family:var(--font-family);resize:none;margin-bottom:var(--space-md);border-radius:14px}.ql-input:focus,.ql-note:focus{border-color:var(--color-primary)}.ql-actions{gap:10px;display:flex}.ql-cancel{border:1px solid var(--color-border);background:var(--color-bg-card);width:110px;color:var(--color-text-muted);cursor:pointer;border-radius:14px;flex:none;padding:15px;font-size:.95rem;font-weight:600}.ql-save{background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:14px;flex:1;padding:15px;font-size:.95rem;font-weight:600;overflow:hidden}.ql-cancel:active,.ql-save:active{transform:scale(.98)}@keyframes ql-sheet-up{0%{transform:translate(-50%,102%)}to{transform:translate(-50%)}}@keyframes ql-fade{0%{opacity:0}to{opacity:1}}.toast-container{top:auto;bottom:calc(var(--space-xl) + env(safe-area-inset-bottom))}.toast{padding:12px var(--space-md);border-radius:16px}.toast-success .toast-icon{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:700;display:inline-flex}.ql-upload{border:1.5px dashed var(--color-border);background:var(--color-bg-card);color:var(--color-text-muted);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;padding:16px;font-size:.85rem;font-weight:500;display:flex}.ql-upload:active{transform:scale(.99)}.ql-upload-icon{color:var(--color-flower);display:inline-flex}.ql-photos{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.ql-photo-item{border:1px solid var(--color-border);border-radius:12px;width:64px;height:64px;position:relative;overflow:hidden}.ql-photo-item img{object-fit:cover;width:100%;height:100%;display:block}.ql-photo-remove{background:color-mix(in srgb, var(--color-bg) 70%, transparent);width:20px;height:20px;color:var(--color-text);cursor:pointer;backdrop-filter:blur(4px);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:flex;position:absolute;top:3px;right:3px}.grow-overlay{z-index:900;padding:0;animation:.18s grow-pop-fade}body.grow-popup-open{overflow:hidden}@keyframes grow-pop-fade{0%{opacity:0}to{opacity:1}}@keyframes grow-pop-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-grow{-webkit-overflow-scrolling:touch;border-radius:0;width:100%;max-width:600px;height:100%;max-height:100%;padding:0;animation:.26s cubic-bezier(.22,1,.36,1) grow-pop-in;overflow-y:auto}.modal-grow .hero-back,.modal-grow .hero-actions{top:14px}.modal-grow .grow-body{padding-bottom:var(--space-2xl)}@media (width>=600px){.grow-overlay{padding:var(--space-lg)}.modal-grow{border-radius:var(--border-radius);max-width:760px;height:auto;max-height:92vh}}@media (width>=960px){.modal-grow{max-width:min(1240px,95vw);max-height:92vh;overflow:hidden}.modal-grow .grow-view{flex:1;height:100%;min-height:0}.modal-grow .grow-body{gap:var(--space-xl);min-height:0;padding:var(--space-lg) var(--space-xl) var(--space-xl);flex:1;grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start;display:grid;overflow-y:auto}.modal-grow .grow-controls{align-self:start;position:sticky;top:0}.modal-grow .grow-controls .detail-stats{grid-template-columns:repeat(2,1fr)}.modal-grow .grow-controls .quicklog-row{flex-wrap:wrap;overflow:visible}.modal-grow .grow-controls .quicklog-btn{flex:30%}.modal-grow .timeline-container{min-width:0;padding:0}.modal-grow .timeline,.modal-grow .timeline:has(.timeline-entries.grid-view){max-width:100%;margin:0}.modal-grow .timeline-toolbar{top:0}}.account-modal .modal-body{gap:var(--space-md);flex-direction:column;display:flex}.account-pitch p{margin-bottom:var(--space-xs);line-height:1.5}.account-form{gap:var(--space-sm);flex-direction:column;display:flex}.account-submit{text-align:center;justify-content:center;align-items:center;width:100%;text-decoration:none;display:inline-flex}.account-password{gap:var(--space-xs);align-items:center;display:flex}.account-password input{flex:1}.link-btn{padding:var(--space-xs) 0;color:var(--color-primary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:default}.account-switch{margin-top:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg-elevated);font-size:var(--font-size-sm);color:var(--color-text-muted);align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.account-switch .link-btn{align-self:auto}.account-notice{padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background:color-mix(in srgb, var(--color-primary) 15%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);line-height:1.5}.account-notice.error{background:color-mix(in srgb, var(--color-danger) 15%, transparent);border-color:color-mix(in srgb, var(--color-danger) 45%, transparent)}.account-card{padding:var(--space-md);border-radius:var(--border-radius-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);gap:var(--space-xs);display:grid}.account-row{justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);overflow-wrap:anywhere;display:flex}.account-label{color:var(--color-text-muted)}.account-badge{background:var(--color-bg-card);border:1px solid var(--color-border);font-size:var(--font-size-xs);border-radius:999px;padding:2px 10px}.account-consent{gap:var(--space-sm);margin:var(--space-sm) 0 var(--space-md);font-size:var(--font-size-sm);cursor:pointer;align-items:flex-start;line-height:1.5;display:flex}.account-consent input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.account-sync-status{margin-bottom:var(--space-sm)}.account-danger{color:var(--color-danger)}.account-recovery{border:1px solid color-mix(in srgb, var(--color-flower) 55%, var(--color-border));background:color-mix(in srgb, var(--color-flower) 10%, var(--color-bg-elevated));border-radius:var(--border-radius-sm);padding:var(--space-md)}.recovery-code{margin:var(--space-sm) 0;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);background:var(--color-bg-card);border:1px dashed var(--color-border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-sm);letter-spacing:.06em;text-align:center;user-select:all;overflow-wrap:anywhere;display:block}.account-unlock .btn-group{gap:var(--space-sm);flex-wrap:wrap}.account-captcha:not(:empty){margin:var(--space-xs) 0;min-height:65px}.account-cta{text-align:center;justify-content:center;align-items:center;width:100%;text-decoration:none;display:inline-flex}.account-badge.paid{background:color-mix(in srgb, var(--color-flower) 30%, transparent);border-color:var(--color-flower)}.account-benefits{margin:0 0 var(--space-md);gap:var(--space-xs);font-size:var(--font-size-sm);padding:0;list-style:none;display:grid}.plan-list{gap:var(--space-md);margin-bottom:var(--space-sm);display:grid}.plan-card{padding:var(--space-md);border-radius:var(--border-radius-sm);border:1px solid color-mix(in srgb, var(--color-flower) 55%, var(--color-border));background:color-mix(in srgb, var(--color-flower) 8%, var(--color-bg-elevated))}.plan-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.plan-price{font-size:var(--font-size-sm);color:var(--color-text-muted)}.plan-desc{font-size:var(--font-size-sm);margin-bottom:var(--space-sm);line-height:1.5}.account-addon .account-form{margin-bottom:var(--space-xs)}.account-key-input{letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.account-key-input::placeholder{letter-spacing:.04em}
