@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[60px\]{max-width:60px}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#D4AF37\]\/20{border-color:#d4af3733;border-color:lab(73.2933% 5.13336 62.8198/.2)}.border-\[\#D4AF37\]\/40{border-color:#d4af3766;border-color:lab(73.2933% 5.13336 62.8198/.4)}.bg-\[\#D4AF37\]{background-color:#d4af37}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#D4AF37\]{--tw-gradient-from:#d4af37;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#F4A460\]{--tw-gradient-to:#f4a460;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{object-fit:cover}.text-center{text-align:center}.text-right{text-align:right}.text-\[15px\]{font-size:15px}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.break-all{word-break:break-all}.text-\[\#CCCCCC\]{color:#ccc}.text-\[\#D4AF37\]{color:#d4af37}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-\[\#D4AF37\]:hover{border-color:#d4af37}.hover\:bg-\[\#D4AF37\]\/5:hover{background-color:#d4af370d;background-color:lab(73.2933% 5.13336 62.8198/.05)}.hover\:bg-\[\#E5C158\]:hover{background-color:#e5c158}.hover\:text-\[\#D4AF37\]:hover{color:#d4af37}.hover\:text-\[\#E5C158\]:hover{color:#e5c158}.hover\:underline:hover{text-decoration-line:underline}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@supports (-webkit-touch-callout:none){input,select,textarea{font-size:max(16px,1em)!important}}:root{--primary:#14b8a6;--secondary:#78a878;--accent:#f97316;--bg:#0f172a;--bg-light:#1a2541;--card:#1e2f47;--card2:#273552;--danger:#f87171;--warn:#f8d060;--text:#fff;--text-secondary:#d1d5db;--muted:#9ca3af;--border:#374151;--radius:14px;--gradient-primary:linear-gradient(135deg, #14b8a6 0%, #06b6d4 100%);--gradient-orange:linear-gradient(135deg, #f97316 0%, #fb923c 100%);--gradient-sage:linear-gradient(135deg, #78a878 0%, #86efac 100%);--card-bg:#1e2f47;--accent2:#14b8a6;--royal-gold:#d4af37;--royal-sand:#f4a460;--royal-black:#000;--royal-white:#fff;--royal-gray:#ccc}[data-theme=light]{--bg:#f8fafc;--bg-light:#f1f5f9;--card:#fff;--card2:#f1f5f9;--text:#0f172a;--text-secondary:#374151;--muted:#6b7280;--border:#e5e7eb;--card-bg:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#14b8a640;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#14b8a673}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.4s both fadeInUp}.fade-in-up:first-child{animation-delay:50ms}.fade-in-up:nth-child(2){animation-delay:.1s}.fade-in-up:nth-child(3){animation-delay:.15s}.fade-in-up:nth-child(4){animation-delay:.2s}.fade-in-up:nth-child(5){animation-delay:.25s}.fade-in-up:nth-child(6){animation-delay:.3s}.fade-in-up:nth-child(7){animation-delay:.35s}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #14b8a64d}50%{box-shadow:0 0 20px #14b8a699}}.onboarding{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.onboarding-card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:520px;padding:40px;box-shadow:0 20px 60px #0006}.ob-logo{text-align:center;margin-bottom:32px}.ob-logo .icon{margin-bottom:8px;font-size:3.5rem;display:block}.ob-logo h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);-webkit-background-clip:text;font-size:1.8rem;font-weight:900}.ob-logo p{color:var(--muted);margin-top:6px;font-size:.88rem}.ob-step{display:none}.ob-step.active{display:block}.ob-title{margin-bottom:6px;font-size:1.1rem;font-weight:800}.ob-sub{color:var(--muted);margin-bottom:20px;font-size:.85rem}.form-group{margin-bottom:14px}.form-group label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}input,select,textarea{background:var(--card2);border:1px solid var(--border);color:var(--text);border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:.92rem;transition:border .2s}input:focus,select:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.btn{cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:8px;padding:13px;font-size:.95rem;font-weight:800;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #14b8a666}.btn-secondary{background:var(--card2);color:var(--muted)}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip{color:#d1d5db;cursor:pointer;-webkit-user-select:none;user-select:none;background:#273552;border:1px solid #374151;border-radius:20px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.chip:hover{background:#1e3a36;border-color:#14b8a6}.chip.selected{color:#14b8a6;background:linear-gradient(135deg,#14b8a633 0%,#06b6d426 100%);border-color:#14b8a6}.ob-progress{gap:6px;margin-bottom:28px;display:flex}.ob-progress-dot{background:var(--border);border-radius:99px;flex:1;height:4px;transition:background .3s}.ob-progress-dot.done{background:var(--accent)}.app{padding-bottom:0;display:block}nav.top-nav{z-index:9999;background:#1e2f47;border-bottom:2px solid #14b8a6;align-items:center;gap:10px;padding:12px 24px;display:flex;position:sticky;top:0;box-shadow:0 8px 32px #0000004d}nav.top-nav .logo{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);-webkit-background-clip:text;font-size:1.2rem;font-weight:900}nav.top-nav .dog-name{color:var(--text);font-size:.9rem;font-weight:700}nav.top-nav .beta-pill{color:var(--accent2);background:#5ee7b022;border:1px solid #5ee7b044;border-radius:99px;margin-left:auto;padding:3px 12px;font-size:.72rem;font-weight:700}nav.top-nav .nav-links{gap:4px;display:flex}nav a{color:var(--muted);cursor:pointer;border-radius:7px;padding:6px 14px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s}nav a:hover,nav a.active{color:#fff;background:#14b8a6;border-radius:6px}.section{max-width:860px;min-height:auto;margin:0 auto;padding:24px;display:block}.hero{text-align:center;background:linear-gradient(135deg,#14b8a61a 0%,#78a8780d 100%);border:2px solid #14b8a640;border-radius:20px;flex-direction:column;align-items:center;gap:16px;margin-bottom:28px;padding:40px 28px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 150%,#14b8a614 0%,#0000 70%);width:100%;height:100%;position:absolute;top:0;right:-50%}.hero>*{z-index:1;position:relative}.dog-avatar{background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;font-size:3.5rem;display:flex;overflow:hidden;box-shadow:0 12px 40px #14b8a640,inset 0 1px #ffffff4d}.dog-avatar img{object-fit:cover;width:100%;height:100%}.hero h1{color:#fff;font-size:1.8rem;font-weight:900;line-height:1.3}.hero h1 span{color:#14b8a6;display:inline-block}.hero-tags{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hero-tag{border:1px solid var(--border);background:var(--card2);border-radius:99px;padding:4px 12px;font-size:.76rem;font-weight:600}.trainer-card{background:#1e2f47;border:1px solid #374151;border-radius:16px;gap:0;margin-bottom:16px;transition:all .3s;display:flex;overflow:hidden}.trainer-card:hover{border-color:#14b8a6;box-shadow:0 8px 24px #14b8a626}.trainer-img{object-fit:cover;object-position:top;flex-shrink:0;width:140px;height:140px}.trainer-info{padding:20px}.trainer-info .name{margin-bottom:4px;font-size:1.3rem;font-weight:900}.trainer-info .role{color:var(--muted);margin-bottom:10px;font-size:.8rem}.trainer-info .bio{color:var(--text);font-size:.86rem;line-height:1.6}.chat-messages{background:var(--card2);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:14px;min-height:300px;max-height:420px;margin-bottom:12px;padding:16px;display:flex;overflow-y:auto}.msg{align-items:flex-start;gap:10px;display:flex}.msg.user{flex-direction:row-reverse}.msg .avatar{background:var(--card2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex;overflow:hidden}.msg .avatar img{object-fit:cover;width:100%;height:100%}.msg .bubble{border-radius:14px;max-width:78%;padding:10px 14px;font-size:.88rem;line-height:1.55}.msg.bot .bubble{color:#fff;background:#273552;border:1px solid #374151;border-top-left-radius:3px}.msg.user .bubble{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border-top-right-radius:3px;box-shadow:0 4px 12px #14b8a633}.msg .bubble strong{font-weight:700}.typing{color:var(--muted);padding:4px 0;font-size:.82rem}.chat-input-row{gap:10px;display:flex}.chat-input-row input{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:.9rem}.chat-input-row input:focus{border-color:var(--accent)}.mic-btn{cursor:pointer;background:var(--card2);width:42px;height:42px;color:var(--text);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.mic-btn:hover{background:var(--accent)}.mic-btn.recording{background:var(--danger);animation:1s infinite pulse-mic}@keyframes pulse-mic{0%,to{box-shadow:0 0 #f8717155}50%{box-shadow:0 0 0 8px #f8717100}}.quick-prompts{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.quick-btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:99px;padding:6px 13px;font-size:.78rem;transition:all .2s}.quick-btn:hover{border-color:var(--accent);color:var(--accent)}.btn-chat{cursor:pointer;background:var(--accent);color:#fff;white-space:nowrap;border:none;border-radius:8px;padding:10px 20px;font-size:.88rem;font-weight:700}.section-title{color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #374151;margin-top:32px;margin-bottom:16px;padding-bottom:8px;font-size:.85rem;font-weight:700}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:20px;display:grid}.plan-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.plan-card .lbl{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.7rem;font-weight:700}.plan-card .content{font-size:.85rem;line-height:1.8}.mood-upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--card);margin-bottom:16px;padding:32px;transition:all .2s}.mood-upload-zone:hover{border-color:var(--accent);background:#7c6af711}.mood-upload-zone.dragover{border-color:var(--accent2);background:#5ee7b011}.mood-result{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:24px;display:none}.mood-emoji-big{text-align:center;margin-bottom:12px;font-size:5rem;line-height:1}.mood-label{text-align:center;margin-bottom:6px;font-size:1.4rem;font-weight:900}.confidence-bar{background:var(--card2);border-radius:99px;height:10px;margin:12px 0;overflow:hidden}.confidence-fill{background:linear-gradient(90deg,#14b8a6 0%,#06b6d4 100%);border-radius:99px;height:100%;transition:width .8s;box-shadow:0 0 12px #14b8a666}.confidence-label{color:var(--muted);text-align:right;margin-top:4px;font-size:.78rem}.mood-section{background:var(--card2);border-radius:10px;margin-top:12px;padding:14px 16px}.mood-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:.72rem;font-weight:700}.mood-section-text{font-size:.88rem;line-height:1.6}.mood-history{margin-top:24px}.mood-history-item{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.mood-history-emoji{flex-shrink:0;font-size:1.8rem}.mood-history-info{flex:1;min-width:0}.mood-history-date{color:var(--muted);font-size:.72rem}.mood-history-text{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.82rem;overflow:hidden}.mood-analyzing{text-align:center;color:var(--muted);padding:32px;display:none}.mood-spinner{margin-bottom:10px;font-size:2.5rem;animation:1.5s linear infinite spin;display:inline-block}.toast{background:var(--accent);color:#fff;z-index:99999;border-radius:10px;padding:12px 20px;font-size:.86rem;font-weight:600;animation:.3s slideIn;position:fixed;bottom:24px;right:24px}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty{text-align:center;color:var(--muted);padding:32px;font-size:.86rem}.progress-indicator{align-items:center;gap:10px;margin-bottom:24px;display:flex}.progress-step{background:var(--card2);border:2px solid var(--border);width:32px;height:32px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.progress-step.active{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border-color:#14b8a6;box-shadow:0 4px 12px #14b8a64d}.progress-step.done{color:#fff;background:linear-gradient(135deg,#78a878 0%,#86efac 100%);border-color:#78a878;box-shadow:0 4px 12px #78a8784d}.progress-line{background:var(--border);flex:1;height:2px}.age-slider{appearance:none;background:var(--card2);border-radius:99px;outline:none;height:6px;margin:12px 0 0;padding:0;width:100%!important}.age-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border:2px solid #0f172a;border-radius:50%;width:22px;height:22px;box-shadow:0 4px 12px #14b8a64d}.age-slider::-moz-range-thumb{cursor:pointer;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border:2px solid #0f172a;border-radius:50%;width:22px;height:22px;box-shadow:0 4px 12px #14b8a64d}@media (max-width:600px){body{font-size:16px}.onboarding{min-height:100dvh;padding:16px}.onboarding-card{border-radius:16px;padding:20px}.ob-title{font-size:1.2rem}.ob-sub{font-size:.9rem}input,select{min-height:44px;padding:12px 14px;font-size:16px}.btn{min-height:44px;padding:12px;font-size:1rem}.chip{min-height:40px;padding:10px 14px;font-size:.9rem}.chips{gap:6px}.section{padding:16px 16px 140px}nav.top-nav{flex-wrap:wrap;gap:8px;padding:8px 12px}nav.top-nav .logo{font-size:1rem}nav.top-nav .dog-name{font-size:.85rem}nav.top-nav .beta-pill{padding:2px 8px;font-size:.65rem}nav.top-nav .nav-links{gap:2px;width:100%;margin-top:8px}nav a{text-align:center;flex:1;justify-content:center;align-items:center;min-height:40px;padding:6px 10px;font-size:.75rem;display:flex}.hero{gap:12px;margin-bottom:16px;padding:16px}.dog-avatar{width:80px;height:80px;font-size:2.5rem}.hero h1{font-size:1.3rem}.trainer-card{flex-direction:column;overflow:hidden}.trainer-img{width:100%;height:160px}.trainer-info{padding:14px}.trainer-info .name{font-size:1.1rem}.trainer-info .role{font-size:.75rem}.trainer-info .bio{font-size:.8rem}.quick-prompts{margin-bottom:12px}.quick-btn{flex:1;min-width:0;min-height:40px;padding:8px 12px;font-size:.8rem}.chat-messages{gap:10px;max-height:300px;margin-bottom:8px;padding:12px}.msg .bubble{max-width:85%;padding:8px 12px;font-size:.85rem}.chat-input-row{background:var(--card);border-top:1px solid var(--border);z-index:1000;gap:8px;padding:10px 12px;position:fixed;bottom:0;left:0;right:0}.chat-input-row input{border-radius:6px;min-height:44px;font-size:16px}.btn-chat{min-width:44px;min-height:44px;padding:10px}.plan-grid{grid-template-columns:1fr;gap:10px}.plan-card{padding:12px}.section-title{margin-top:20px;margin-bottom:12px;font-size:.75rem}.mood-upload-zone{padding:24px}.mood-emoji-big{font-size:4rem}.mood-label{font-size:1.2rem}.msg .avatar{width:28px;height:28px}}.training-container{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.training-header{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.training-header h1{font-size:1.2rem;font-weight:800}.training-main{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.training-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.training-empty h2{margin:12px 0;font-size:1.5rem;font-weight:900}.training-empty p{color:var(--muted);margin-bottom:24px}.training-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.training-title{margin-bottom:24px;font-size:1.3rem;font-weight:900;line-height:1.4}.dog-name{color:var(--accent2)}.trick-name{color:var(--accent);font-style:italic}.progress-section{margin-bottom:32px}.progress-circles{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:16px;display:flex}.progress-circle{background:var(--card2);border:2px solid var(--border);width:50px;height:50px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;transition:all .3s;display:flex}.progress-circle.filled{color:#fff;background:linear-gradient(135deg,#78a878 0%,#86efac 100%);border-color:#78a878;box-shadow:0 4px 12px #78a8784d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.progress-label{text-align:center;color:var(--muted);font-size:.9rem}.progress-label strong{color:var(--text);font-weight:800}.streak-box{text-align:center;background:linear-gradient(135deg,#f973161a 0%,#fb923c0d 100%);border:2px solid #f9731655;border-radius:16px;margin-bottom:16px;padding:24px}.streak-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.75rem;font-weight:700}.streak-number{margin-bottom:12px;font-size:3rem;line-height:1;animation:1.5s ease-in-out infinite pulse-fire}@keyframes pulse-fire{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-text{color:var(--text);font-size:.95rem;font-weight:700}.time-box{background:var(--card2);border:2px solid #7c6af744;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.time-emoji{flex-shrink:0;font-size:2rem}.time-text{flex:1}.time-text strong{color:#14b8a6;margin-bottom:4px;font-size:1.1rem;display:block}.time-note{color:var(--muted);font-size:.82rem}.difficulty-box{background:var(--card2);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px;display:flex}.difficulty-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.difficulty-badge{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:.9rem;font-weight:700}.btn-checkin{color:#fff;cursor:pointer;text-align:center;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border:none;border-radius:12px;width:100%;margin-bottom:12px;padding:18px;font-size:1.1rem;font-weight:900;transition:all .3s;box-shadow:0 8px 24px #14b8a64d}.btn-checkin:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #14b8a666}.btn-checkin:disabled{opacity:.6;cursor:default}.checkin-note{text-align:center;color:#14b8a6;font-size:.85rem;font-weight:600}.tips-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.tips-title{margin-bottom:16px;font-size:1.1rem;font-weight:900}.tips-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.tips-list li{color:var(--text);padding-left:0;font-size:.92rem;line-height:1.5}.info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.info-title{margin-bottom:16px;font-size:1.1rem;font-weight:900}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;font-size:.95rem;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--muted);font-weight:700}.info-value{color:var(--text)}.celebration-overlay{z-index:99999;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.celebration-content{text-align:center;background:linear-gradient(135deg,#1e2f47 0%,#273552 100%);border:2px solid #f97316;border-radius:20px;max-width:90%;padding:48px 32px;animation:.5s cubic-bezier(.68,-.55,.265,1.55) celebrationPop;position:relative;box-shadow:0 20px 60px #f9731633}@keyframes celebrationPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.confetti{pointer-events:none;border-radius:var(--radius);width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.celebration-message{word-break:break-word;margin-bottom:24px;font-size:1.5rem;font-weight:900;line-height:1.4}@media (max-width:600px){.training-main{padding:16px 16px 20px}.progress-circles{gap:8px}.progress-circle{width:40px;height:40px;font-size:.85rem}.celebration-content{padding:32px 16px}.celebration-message{font-size:1.2rem}}.fun-fact-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#14b8a61f 0%,#78a87814 100%);border-top:1px solid #14b8a633;border-bottom:1px solid #374151;margin-bottom:0;padding:16px 20px}.fun-fact-content{align-items:center;gap:12px;max-width:1200px;margin:0 auto;display:flex}.fun-fact-icon{flex-shrink:0;font-size:1.5rem}.fun-fact-text{color:var(--text);margin:0;font-size:.95rem;font-weight:500;line-height:1.5}@media (max-width:768px){.fun-fact-banner{padding:12px 16px}.fun-fact-text{font-size:.85rem}.fun-fact-icon{font-size:1.3rem}}.chat-input-container{background:var(--card);border:1px solid var(--border);border-top:1px solid #7c6af733;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.chat-textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);resize:none;border-radius:8px;outline:none;flex:1;min-height:44px;max-height:120px;padding:12px 14px;font-family:inherit;font-size:.95rem;line-height:1.4}.chat-textarea:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.chat-textarea::placeholder{color:var(--text-secondary);font-size:.85rem}.chat-button-row{align-items:center;gap:8px;display:flex}.btn-icon{border:1px solid var(--border);background:var(--card2);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex}.btn-icon:hover:not(:disabled){color:#fff;background:#14b8a6;border-color:#14b8a6;transform:scale(1.05);box-shadow:0 4px 12px #14b8a633}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.recording{background:#f87171;border-color:#f87171;animation:1s infinite pulse}.btn-chat{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border:none;border-radius:8px;flex:1;min-width:80px;padding:11px 20px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #14b8a633}.btn-chat:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #14b8a666}.btn-chat:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.chat-textarea{min-height:40px;padding:10px 12px;font-size:.9rem}.btn-icon{width:38px;height:38px;font-size:1rem}.btn-chat{padding:10px 16px;font-size:.9rem}}.timeline-container{padding:20px 0}.timeline{padding:20px 0;position:relative}.timeline-event{gap:20px;margin-bottom:30px;display:flex}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;width:60px;display:flex;position:relative}.timeline-dot{z-index:2;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);border:3px solid #0f172a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;box-shadow:0 8px 24px #14b8a64d}.timeline-line{background:var(--border);flex:1;width:2px;position:absolute;top:48px;bottom:-30px}.timeline-content{background:#1e2f47;border:1px solid #374151;border-left:4px solid #14b8a6;border-radius:12px;flex:1;padding:16px;transition:all .2s}.timeline-content:hover{border-color:#14b8a6;box-shadow:0 4px 12px #14b8a61a}.timeline-date{color:#14b8a6;text-transform:uppercase;margin-bottom:4px;font-size:.8rem;font-weight:600}.timeline-title{color:var(--text);margin:0 0 8px;font-size:1.1rem;font-weight:600}.timeline-description{color:var(--text-secondary);margin:0;font-size:.95rem}.timeline-photo{object-fit:cover;border-radius:8px;width:100%;max-height:200px;margin-top:12px}.timeline-empty,.timeline-loading{text-align:center;color:var(--muted);background:var(--card);border-radius:8px;padding:20px}.journal-container{padding:20px 0}.journal-form{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:20px}.journal-form .form-group{margin-bottom:16px}.journal-form label{color:var(--text);margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.journal-form input,.journal-form textarea{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit}.journal-form input:focus,.journal-form textarea:focus{border-color:var(--accent);outline:none}.journal-entries{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.journal-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:16px;transition:all .2s}.journal-card:hover{border-color:#14b8a6;transform:translateY(-4px);box-shadow:0 8px 24px #14b8a626}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:16px;max-width:600px;max-height:90vh;padding:24px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;color:var(--text);background:0 0;border:none;font-size:1.5rem;position:absolute;top:12px;right:12px}.modal h2{color:var(--text);margin-top:0}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#06b6d4 100%);box-shadow:0 4px 12px #14b8a633}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #14b8a666}.btn-secondary{background:var(--card2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-accent{color:#14b8a6;background:#14b8a61a;border:1px solid #14b8a6}.btn-accent:hover:not(:disabled){color:#fff;background:#14b8a6}.date-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit}.date-input:focus{border-color:var(--accent);outline:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--card2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;padding:8px 12px;font-size:.9rem;font-weight:500;transition:all .2s}.chip:hover{border-color:var(--accent)}.chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width:768px){.journal-entries{grid-template-columns:1fr}.modal{max-width:none;margin:16px}.timeline-event{gap:12px}.timeline-marker{width:50px}.timeline-dot{width:40px;height:40px;font-size:1.2rem}.grid-layout-test{grid-template-columns:1fr!important}}@keyframes fadeInDelay{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s ease-out fadeIn}.animate-fade-in-delay{animation:1s ease-out .3s both fadeInDelay}.delay-700{animation-delay:.7s}@keyframes christinaFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){button,a,input[type=button],input[type=submit]{min-width:48px;min-height:48px;padding:12px 16px}button,a,input[type=button],input[type=submit],select,textarea{touch-action:manipulation}body{padding-top:max(env(safe-area-inset-top), 0);padding-left:max(env(safe-area-inset-left), 0);padding-right:max(env(safe-area-inset-right), 0);font-size:16px}.container{padding:12px}.horizontal-layout{flex-direction:column}html,body{width:100%;overflow-x:hidden}img{max-width:100%;height:auto}p,span{word-break:break-word;overflow-wrap:break-word}}@media (max-width:390px){body{font-size:14px}button,a{padding:10px 12px;font-size:14px}.card{margin:8px 0!important;padding:12px!important}}@media (min-width:769px){body{font-size:16px}.mobile-menu{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-color-scheme:dark){body{color:#fff;background:#0f172a}}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}}html,body{overscroll-behavior-x:none}*{-webkit-tap-highlight-color:#14b8a61f}body{overscroll-behavior-y:contain}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
