:root{--color-bg-base: #faf9f7;--color-bg-card: #ffffff;--color-bg-card-elevated: #ffffff;--color-bg-input: #f5f4f2;--color-text-primary: #1a1a1a;--color-text-secondary: #4a4a4a;--color-text-muted: #6b6b6b;--color-text-hint: #8a8a8a;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .15);--color-accent: #14b8a6;--color-accent-hover: #0d9488;--color-accent-light: #ccfbf1;--color-accent-text: #ffffff;--color-danger: #ef4444;--color-success: #22c55e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}[data-theme=nordlys]{--color-bg-base: #fef6f0;--color-bg-card: #fffdfb;--color-bg-card-elevated: #ffffff;--color-bg-input: #fef6f0;--color-text-primary: #2d2520;--color-text-secondary: #5c4d42;--color-text-muted: #8c7b6e;--color-text-hint: #a89586;--color-border: rgba(180, 120, 80, .12);--color-border-strong: rgba(180, 120, 80, .2);--color-accent: #e07a5f;--color-accent-hover: #c96a52;--color-accent-light: #fde8e2;--color-accent-text: #ffffff;--shadow-sm: 0 1px 2px rgba(180, 120, 80, .08);--shadow-md: 0 4px 6px rgba(180, 120, 80, .1);--shadow-lg: 0 10px 15px rgba(180, 120, 80, .12)}[data-theme=hygge]{--color-bg-base: #f8f4ef;--color-bg-card: #fffef8;--color-bg-card-elevated: #ffffff;--color-bg-input: #f5f1eb;--color-text-primary: #3d3530;--color-text-secondary: #5c544d;--color-text-muted: #8c8278;--color-text-hint: #a89e94;--color-border: rgba(160, 130, 80, .12);--color-border-strong: rgba(160, 130, 80, .2);--color-accent: #c9a86c;--color-accent-hover: #b8975b;--color-accent-light: #f5eed8;--color-accent-text: #3d3530;--shadow-sm: 0 1px 2px rgba(160, 130, 80, .08);--shadow-md: 0 4px 6px rgba(160, 130, 80, .1);--shadow-lg: 0 10px 15px rgba(160, 130, 80, .12)}[data-theme=nat]{--color-bg-base: #0f172a;--color-bg-card: #1e293b;--color-bg-card-elevated: #334155;--color-bg-input: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-text-hint: #64748b;--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .2);--color-accent: #2dd4bf;--color-accent-hover: #14b8a6;--color-accent-light: rgba(45, 212, 191, .15);--color-accent-text: #0f172a;--color-danger: #f87171;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}[data-theme=glass]{--color-bg-base: #e8f4f8;--color-bg-card: rgba(255, 255, 255, .92);--color-bg-card-elevated: rgba(255, 255, 255, .96);--color-bg-input: rgba(255, 255, 255, .8);--color-text-primary: #1a1a2e;--color-text-secondary: #3a3a4a;--color-text-muted: #5a5a6a;--color-text-hint: #7a7a8a;--color-border: rgba(255, 255, 255, .5);--color-border-strong: rgba(0, 0, 0, .1);--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-light: rgba(99, 102, 241, .15);--color-accent-text: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--blur-card: blur(12px)}[data-theme=glass] .glass-blur{backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card)}@media(max-width:768px){[data-theme=glass]{--blur-card: blur(6px)}}body.low-end-device [data-theme=glass] .glass-blur{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#ffffffd9}@media(prefers-reduced-motion:reduce){[data-theme=glass] .glass-blur{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#ffffffd9}}*,*:before,*:after{box-sizing:border-box}:root{--kiivo-teal: #3A7574;--kiivo-teal-light: #4A9492;--kiivo-teal-dark: #2D5C5B;--kiivo-coral: #E49B8B;--kiivo-coral-light: #F0BAB0;--kiivo-charcoal: #2C3535;--kiivo-gray: #6B7979;--kiivo-cream: #FAF9F7;--kiivo-white: #FFFFFF;--breath-duration: 5s;--breath-ease: cubic-bezier(.4, 0, .2, 1);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;color-scheme:light dark;color:var(--kiivo-charcoal);background-color:var(--kiivo-cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--safe-area-bottom: env(safe-area-inset-bottom);--keyboard-height: 0px;--total-bottom-inset: calc(var(--safe-area-bottom) + var(--keyboard-height))}html,body{overscroll-behavior:none;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}html,button,a,input,textarea,select,[role=button]{touch-action:manipulation}.overflow-y-auto,.overflow-y-scroll{touch-action:pan-y pinch-zoom;overscroll-behavior:contain}.keyboard-aware-fixed{position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(var(--keyboard-height) * -1));transition:transform .3s cubic-bezier(.4,0,.2,1);padding-bottom:var(--safe-area-bottom);z-index:50}html{background-color:var(--kiivo-cream);min-height:100vh;min-height:100dvh;width:100%;overflow-x:hidden;box-sizing:border-box}a{font-weight:500;color:var(--kiivo-teal);text-decoration:none}a:hover{color:var(--kiivo-teal-light)}body{margin:0;display:flex;place-items:center;min-width:320px;width:100%;min-height:100vh;min-height:100dvh;background-color:var(--kiivo-cream);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:hidden;box-sizing:border-box}#root{min-height:100vh;min-height:100dvh;width:100%;background-color:var(--kiivo-cream);box-sizing:border-box;overflow-x:hidden}h1{font-size:2.5rem;font-weight:500;letter-spacing:-.03em;line-height:1.1}h2{font-size:1.75rem;font-weight:500;letter-spacing:-.02em}h3{font-size:1.25rem;font-weight:500;letter-spacing:-.01em}button{border-radius:12px;border:none;padding:.75em 1.5em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--kiivo-teal);color:var(--kiivo-white);cursor:pointer;transition:background-color .2s ease,transform .2s ease}button:hover{background-color:var(--kiivo-teal-light)}button:active{transform:scale(.98)}button:focus,button:focus-visible{outline:3px solid var(--kiivo-coral-light);outline-offset:2px}input,textarea{font-family:inherit;border:2px solid var(--kiivo-cream);border-radius:12px;padding:.75em 1em;font-size:1em;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus{outline:none;border-color:var(--kiivo-teal);box-shadow:0 0 0 4px #3a75741a}@media(prefers-color-scheme:dark){:root{color:var(--kiivo-cream);background-color:var(--kiivo-charcoal)}html,body,#root{background-color:var(--kiivo-charcoal)}input,textarea{background-color:#ffffff14;border-color:#ffffff1f;color:var(--kiivo-cream)}button{background-color:var(--kiivo-teal-light)}}@keyframes breatheLeft{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes breatheRight{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}.kiivo-shape-left{animation:breatheLeft var(--breath-duration) var(--breath-ease) infinite}.kiivo-shape-right{animation:breatheRight var(--breath-duration) var(--breath-ease) infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards}.theme-transitioning,.theme-transitioning *{transition:background-color .3s ease-out,color .3s ease-out,border-color .3s ease-out,box-shadow .3s ease-out,fill .3s ease-out,stroke .3s ease-out!important}.theme-transitioning *{transition-property:background-color,color,border-color,box-shadow,fill,stroke}@keyframes kiviFloat{0%,to{transform:translateY(4px) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}@keyframes kiviEyeParallax{0%,to{transform:translateY(2.4px)}50%{transform:translateY(-2.4px)}}@keyframes kiviPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.03)}}@keyframes kiviSparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes kiviShimmer{0%,to{opacity:.4}50%{opacity:.5}}@keyframes kiviBreathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-2px)}}.animate-float,.animate-breathe{animation:kiviFloat 6s ease-in-out infinite;will-change:transform}.animate-pulse-slow{animation:kiviPulse 4s ease-in-out infinite}.kivi-body{animation:kiviFloat 6s ease-in-out infinite;will-change:transform}.kivi-eyes{animation:kiviEyeParallax 6s ease-in-out infinite;will-change:transform}.kivi-highlight{animation:kiviShimmer 6s ease-in-out infinite}@keyframes kiviBouncy{0%,to{transform:translateY(3px) scale(1)}25%{transform:translateY(-4px) scale(1.025)}50%{transform:translateY(1px) scale(1.01)}75%{transform:translateY(-3px) scale(1.02)}}.kivi-bouncy .kivi-body{animation:kiviBouncy 4s ease-in-out infinite}@keyframes kiviGentle{0%,to{transform:translateY(2px) scale(1)}50%{transform:translateY(-2px) scale(1.01)}}.kivi-gentle .kivi-body{animation:kiviGentle 8s ease-in-out infinite}@keyframes kiviCelebrate{0%,to{transform:translateY(4px) scale(1)}20%{transform:translateY(-5px) scale(1.04)}40%{transform:translateY(2px) scale(1.01)}60%{transform:translateY(-4px) scale(1.03)}80%{transform:translateY(1px) scale(1.015)}}.kivi-celebrate .kivi-body{animation:kiviCelebrate 3s ease-in-out infinite}@keyframes kiviPeaceful{0%,to{transform:translateY(1px) scale(1)}50%{transform:translateY(-1px) scale(1.005)}}.kivi-peaceful .kivi-body{animation:kiviPeaceful 10s ease-in-out infinite}@keyframes kiviCatchlight{0%,to{opacity:.4}50%{opacity:.55}}.kivi-catchlight{animation:kiviCatchlight 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.animate-breathe,.animate-float,.animate-pulse-slow,.kivi-body,.kivi-eyes,.kivi-highlight,.kivi-catchlight,.kivi-bouncy .kivi-body,.kivi-gentle .kivi-body,.kivi-celebrate .kivi-body,.kivi-peaceful .kivi-body{animation:none}.kivi-sparkles{display:none}}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #4A90D9;outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #4A90D9;outline-offset:2px;border-radius:4px;box-shadow:0 0 0 3px #4a90d933}[data-theme=nat] button:focus-visible,[data-theme=nat] a:focus-visible{outline-color:#7eb9c9;box-shadow:0 0 0 3px #7eb9c94d}.skip-link{position:absolute;top:-40px;left:0;background:#4a90d9;color:#fff;padding:8px 16px;text-decoration:none;font-weight:600;border-radius:0 0 4px;z-index:10000;transition:top .2s}.skip-link:focus{top:0;outline:2px solid white;outline-offset:-4px}body.user-is-tabbing *:focus{outline:2px solid #4A90D9;outline-offset:2px}body:not(.user-is-tabbing) *:focus{outline:none}.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){button,a,input,textarea,select{border:2px solid currentColor!important}button:focus,a:focus,input:focus,textarea:focus,select:focus{outline:3px solid currentColor!important;outline-offset:3px!important}}button:hover:not(:disabled),a:hover,[role=button]:hover{opacity:.9;cursor:pointer}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}.keyboard-shortcut-hint{display:inline-block;padding:2px 6px;margin-left:8px;background:#0000001a;border-radius:3px;font-size:11px;font-family:monospace;opacity:.7}.focus-trap{position:relative}.focus-trap:before,.focus-trap:after{content:"";position:absolute;width:0;height:0;outline:none}
