@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-full{height:100%}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.italic{font-style:italic}.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)}.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,)}.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,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--color-primary:#e8784a;--color-primary-light:#f4a574;--color-primary-dark:#d35f35;--color-accent:#5b8fb9;--color-accent-light:#8bb8d0;--color-accent-dark:#3d6b8c;--color-green:#6bcb9a;--color-green-glow:#6bcb9a66;--color-orange:#f5b742;--color-orange-glow:#f5b74266;--color-red:#e87b7b;--color-red-glow:#e87b7b66;--color-success:#6bcb9a;--color-warning:#f5b742;--color-error:#e87b7b;--color-info:#5b8fb9;--color-bg-dark:#12141c;--color-bg-secondary:#1a1d27;--color-bg-elevated:#252936;--color-bg-glass:#1a1d27d9;--color-text-primary:#f5f0e8;--color-text-secondary:#c9c4bc;--color-text-muted:#8a857d;--color-text-subtle:#5c5850;--color-border:#2a2e3a;--color-border-light:#e8784a40;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-family:"Plus Jakarta Sans","Inter",system-ui,-apple-system,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073;--shadow-glow-primary:0 4px 24px #e8784a59;--shadow-glow-green:0 4px 24px var(--color-green-glow);--shadow-glow-orange:0 4px 24px var(--color-orange-glow);--shadow-glow-red:0 4px 24px var(--color-red-glow);--ease-bounce:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--status-bar-height:44px;--nav-bar-height:64px;--demo-banner-height:28px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;height:100%}body{background-color:var(--color-bg-dark);min-height:100%;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;margin:0;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}.app-shell{background-color:var(--color-bg-dark);flex-direction:column;min-height:100vh;display:flex;position:relative}.demo-banner{height:var(--demo-banner-height);background:linear-gradient(90deg,var(--color-primary-dark),var(--color-primary));z-index:200;padding-top:var(--safe-area-top);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.demo-banner-text{font-size:var(--font-size-xs);color:#ffffffe6;letter-spacing:.5px;font-weight:500}.status-bar{top:var(--demo-banner-height);height:var(--status-bar-height);background-color:var(--color-bg-dark);padding:0 var(--space-md);z-index:150;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;display:flex;position:fixed;left:0;right:0}.status-bar-time{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.status-bar-icons{align-items:center;gap:var(--space-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);display:flex}.app-content{padding-top:0;padding-bottom:var(--nav-bar-height);-webkit-overflow-scrolling:touch;flex:1;position:relative}.app-content.no-nav{padding-bottom:0}.nav-bar{height:var(--nav-bar-height);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding-bottom:var(--safe-area-bottom);z-index:150;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-bar-item{padding:var(--space-sm);color:var(--color-text-muted);transition:color var(--transition-fast);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;font-size:22px;display:flex}.nav-bar-item.active{color:var(--color-primary)}.nav-bar-item-label{font-size:10px;font-weight:500}.bubble-fullscreen{z-index:0;position:fixed;inset:0}.bubble-corner{top:calc(var(--demo-banner-height) + var(--status-bar-height) + var(--space-md));right:var(--space-md);z-index:100;border-radius:var(--radius-full);width:72px;height:72px;box-shadow:var(--shadow-glow-primary);cursor:pointer;transition:transform var(--transition-fast);position:fixed;overflow:hidden}.bubble-corner:hover{transform:scale(1.05)}.bubble-corner:active{transform:scale(.95)}.points-display{top:calc(var(--demo-banner-height) + var(--status-bar-height) + var(--space-md));left:var(--space-md);align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);background-color:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);border:1px solid var(--color-border-light);z-index:100;display:flex;position:fixed}.points-icon{font-size:var(--font-size-lg)}.points-value{font-size:var(--font-size-sm);color:var(--color-success);font-weight:600}.points-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:var(--space-lg);background:linear-gradient(135deg,#1e293be6,#1e293bb3);border:1px solid #ffffff1a;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.card-glass{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl);padding:var(--space-lg);background:#1e293b99;border:1px solid #ffffff14;box-shadow:0 8px 32px #00000040,inset 0 1px #ffffff0d}.card-notification{-webkit-backdrop-filter:blur(30px);border-radius:var(--radius-xl);padding:var(--space-xl);background:linear-gradient(160deg,#1e293bf2,#0f172afa);border:1px solid #e8784a4d;animation:.4s cubic-bezier(.34,1.56,.64,1) cardAppear;box-shadow:0 25px 50px #00000080,0 0 0 1px #e8784a33,inset 0 1px #ffffff1a}@keyframes cardAppear{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.speech-bubble-overlay{padding-top:calc(var(--demo-banner-height) + var(--status-bar-height) + 240px);z-index:100;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:fixed;inset:0}.speech-bubble{max-width:320px;width:calc(100% - var(--space-xl)*2);border-radius:var(--radius-xl);padding:var(--space-lg);pointer-events:auto;background:linear-gradient(160deg,#fffffff2,#f1f5f9fa);position:relative;box-shadow:0 10px 40px #0000004d,0 0 0 1px #e8784a1a}.speech-bubble-tail{filter:drop-shadow(0 -2px 2px #0000001a);border-bottom:14px solid #fffffff2;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.speech-bubble-message{color:var(--color-bg-dark);font-size:var(--font-size-base);margin:0 0 var(--space-md)0;text-align:center;font-weight:500;line-height:1.6}.speech-bubble-quote{margin-bottom:var(--space-md)}.speech-bubble-quote .quote-container{border-left-color:var(--color-primary);background:#e8784a1a}.speech-bubble-quote .quote-text{color:var(--color-bg-secondary)}.speech-bubble-points{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--color-primary-dark);font-weight:700;display:flex}.speech-bubble-points .points-value{font-size:var(--font-size-xl)}.speech-bubble-points .points-label{font-size:var(--font-size-sm);font-weight:500}.speech-bubble-badge{margin-bottom:var(--space-md)}.speech-bubble-btn{width:100%;padding:var(--space-md)var(--space-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;border:none;font-family:inherit;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #e8784a66}.speech-bubble-btn:hover{box-shadow:0 6px 20px #e8784a80}.btn{padding:var(--space-md)var(--space-xl);font-size:var(--font-size-base);border-radius:var(--radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;font-family:inherit;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-light)50%,var(--color-primary)100%);color:#fff;text-shadow:0 1px 2px #0003;background-size:200% 200%;animation:4s infinite gradientShift;box-shadow:0 4px 16px #e8784a66,inset 0 1px #ffffff40}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 28px #e8784a80,0 0 0 4px #e8784a26,inset 0 1px #ffffff4d}.btn-primary:active{transition:all .1s;transform:translateY(0)scale(.97);box-shadow:0 2px 8px #e8784a66,inset 0 2px 4px #00000026}.btn-primary:disabled{background:var(--color-bg-elevated);color:var(--color-text-subtle);box-shadow:none;cursor:not-allowed;animation:none;transform:none}.btn-primary:disabled:before{display:none}.btn-secondary{background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg-elevated));color:var(--color-text-primary);border:2px solid var(--color-border);box-shadow:0 2px 10px #0003}.btn-secondary:hover{border-color:var(--color-primary);background:linear-gradient(135deg,#e8784a1f,#e8784a0a);transform:translateY(-2px);box-shadow:0 4px 16px #e8784a33}.btn-secondary:active{transform:translateY(0)scale(.98)}.btn-full{width:100%}.input{width:100%;padding:var(--space-md)var(--space-lg);font-size:var(--font-size-lg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-primary);background:linear-gradient(135deg,#1e293bcc,#1e293b99);border:2px solid #ffffff1a;outline:none;font-family:inherit;transition:all .25s;box-shadow:inset 0 2px 4px #0003}.input:focus{border-color:var(--color-primary);box-shadow:inset 0 2px 4px #0003,0 0 0 4px #e8784a1f,0 0 24px #e8784a26}.input::placeholder{color:var(--color-text-subtle)}.choice-btn{width:100%;padding:var(--space-lg)var(--space-lg);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);color:var(--color-text-primary);cursor:pointer;text-align:left;background:linear-gradient(135deg,#1e293be6,#1e293b99);border:2px solid #ffffff1a;font-family:inherit;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}.choice-btn:before{content:"";background:linear-gradient(180deg,var(--color-primary),var(--color-primary-light));opacity:0;width:4px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.choice-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.choice-btn:hover:after{left:100%}.choice-btn:hover{border-color:var(--color-primary);background:linear-gradient(135deg,#e8784a26,#1a1d27e6);transform:translate(8px)scale(1.02);box-shadow:0 8px 32px #0006,0 0 0 1px #e8784a4d,-4px 0 24px #e8784a26}.choice-btn:hover:before{opacity:1}.choice-btn:active{transition:all .1s;transform:translate(4px)scale(.98);box-shadow:0 2px 10px #0000004d,inset 0 2px 4px #0003}.choice-btn-label{font-weight:700;font-size:var(--font-size-base);color:var(--color-text-primary);align-items:center;gap:var(--space-sm);margin-bottom:6px;display:flex}.choice-btn-subtext{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5}.choices-container{padding:var(--space-xl)var(--space-lg);padding-bottom:calc(var(--nav-bar-height) + var(--space-lg));background:linear-gradient(to top,var(--color-bg-dark)0%,var(--color-bg-dark)60%,#0f172af2 80%,transparent 100%);z-index:20;position:fixed;bottom:0;left:0;right:0}.dilemma-label{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-warning);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md);background:linear-gradient(135deg,#fbbf2433,#fbbf241a);border:1px solid #fbbf244d;padding:6px 14px;font-weight:600;display:inline-flex}.habit-btn{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md)var(--space-lg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-secondary);cursor:pointer;text-align:left;font-family:inherit;font-size:var(--font-size-base);background:linear-gradient(135deg,#1e293bcc,#1e293b80);border:2px solid #ffffff1a;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.habit-btn:before{content:"";background:radial-gradient(circle at var(--mouse-x,50%)var(--mouse-y,50%),#e8784a26,transparent 60%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.habit-btn:hover:before{opacity:1}.habit-btn:hover{border-color:#e8784a66;transform:translateY(-2px)scale(1.01);box-shadow:0 8px 25px #0000004d}.habit-btn:active{transition:all .1s;transform:translateY(0)scale(.99)}.habit-btn.selected{border-color:var(--color-primary);color:var(--color-text-primary);animation:selectPop .3s var(--ease-bounce);background:linear-gradient(135deg,#e8784a33,#e8784a14);box-shadow:0 0 24px #e8784a40,inset 0 0 20px #e8784a14}@keyframes selectPop{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.habit-checkbox{border-radius:var(--radius-sm);background:#0003;border:2px solid #fff3;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.habit-btn.selected .habit-checkbox{border-color:var(--color-primary-light);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;animation:.3s cubic-bezier(.34,1.56,.64,1) checkPop;box-shadow:0 0 12px #e8784a80}@keyframes checkPop{0%{transform:scale(.5)rotate(-10deg)}50%{transform:scale(1.2)rotate(5deg)}to{transform:scale(1)rotate(0)}}.habit-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-primary-light);background:#e8784a26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.habit-btn.selected .habit-icon{color:#fff;background:#e8784a40}.progress-bar{background-color:var(--color-bg-secondary);width:100%;height:4px;margin-bottom:var(--space-xs);border-radius:2px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));height:100%;transition:width .5s}.time-badge{align-items:center;gap:var(--space-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-primary-light);background:linear-gradient(135deg,#e8784a40,#e8784a1a);border:1px solid #e8784a4d;padding:8px 16px;font-weight:600;display:inline-flex;box-shadow:0 4px 15px #e8784a33}.time-badge-icon{font-size:1.1em}.scene-intro{font-size:var(--font-size-xl);color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-lg);border-left:3px solid var(--color-primary);background:linear-gradient(135deg,#e8784a1a,#0000);font-style:italic}.scene-text{font-size:var(--font-size-lg);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-xl);line-height:1.9}.scene-text p{margin-bottom:var(--space-md)}.scene-highlight{color:var(--color-primary-light);font-weight:600}.thought-text{color:var(--color-text-muted);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);background:#0003;font-style:italic;display:inline-block}.scene-view-container{min-height:100vh;padding-bottom:calc(var(--nav-bar-height) + var(--space-lg));flex-direction:column;max-width:500px;margin:0 auto;display:flex}.bubble-habitat{margin:var(--space-sm)0;border-radius:var(--radius-xl);background:linear-gradient(#1e293bf2,#0f172afa);border:2px solid #fff3;width:100%;padding:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff1a,0 8px 32px #0000004d}.habitat-sparkle{color:var(--color-primary-light);opacity:.4;z-index:10;animation:3s ease-in-out infinite sparkle-float;position:absolute}.habitat-sparkle-tl{animation-delay:0s;top:8px;left:8px}.habitat-sparkle-tr{animation-delay:1.5s;top:8px;right:8px}@keyframes sparkle-float{0%,to{opacity:.3;transform:scale(1)rotate(0)}50%{opacity:.6;transform:scale(1.1)rotate(10deg)}}.habitat-header{padding:var(--space-sm)var(--space-md);background:linear-gradient(90deg,#e8784a26,#0000,#6bcb9a1a);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.habitat-points{align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-full);color:#fbbf24;cursor:default;background:#fbbf2426;border:1px solid #fbbf244d;display:flex}.habitat-points svg{filter:drop-shadow(0 0 4px #fbbf2480)}.habitat-points-value{font-weight:700;font-size:var(--font-size-base);text-align:center;min-width:24px}.habitat-points-label{font-size:var(--font-size-xs);opacity:.8;font-weight:500}.habitat-badges{align-items:center;gap:var(--space-xs);display:flex}.habitat-badge{border-radius:var(--radius-sm);cursor:default;background:#e8784a33;border:1px solid #e8784a4d;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .2s;display:flex}.habitat-badge:hover{background:#e8784a4d;box-shadow:0 0 12px #e8784a66}.habitat-badges-empty{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-style:italic}.habitat-bubble-area{cursor:pointer;height:240px;position:relative;overflow:hidden}.habitat-bubble-area>div,.habitat-bubble-area>div>div{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.habitat-bubble-area canvas{background:0 0!important}.habitat-footer{padding:var(--space-xs)var(--space-md)}.habitat-footer-line{border-radius:var(--radius-full);background:linear-gradient(90deg,#0000,#e8784a66 20%,#f4a57480,#6bcb9a66 80%,#0000);height:3px}.bubble-companion-section{z-index:50;background:var(--color-bg-dark);padding:var(--space-sm)var(--space-md);padding-top:var(--safe-area-top);position:sticky;top:0}.sticky-header-content{flex-direction:column;align-items:center;width:100%;max-width:400px;margin:0 auto;display:flex}.scene-story-section{text-align:center;margin-bottom:var(--space-md);padding:0 var(--space-md);flex:none}.scene-badges{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.bubble-companion-container{cursor:pointer;width:100%;height:100%;position:relative}.bubble-companion-container canvas{background:0 0!important}.choices-section{padding-top:var(--space-md);flex:none;margin-top:auto}.choices-grid{gap:var(--space-sm);flex-direction:column;max-width:420px;margin:0 auto;display:flex}.choices-section .choice-btn{padding:var(--space-md)}.choices-section .choice-btn-label{font-size:var(--font-size-base)}.choices-section .choice-btn-subtext{font-size:var(--font-size-xs)}.quote-block{padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);background-color:#e8784a1a}.quote-text{color:var(--color-primary-light);font-size:var(--font-size-sm);margin:0;font-style:italic}.badge-unlock{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background-color:#fbbf241a;display:flex}.badge-icon{font-size:var(--font-size-2xl)}.badge-label{font-size:var(--font-size-xs);color:var(--color-warning);text-transform:uppercase;letter-spacing:.5px}.badge-name{color:#fde68a;font-weight:600}.reflection-card{background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-lg);text-align:center;border:1px solid var(--color-border-light)}.reflection-question{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--space-lg);font-weight:600}.reflection-moods{justify-content:center;gap:var(--space-lg);display:flex}.reflection-mood-btn{border-radius:var(--radius-full);border:2px solid var(--color-border);background-color:var(--color-bg-dark);width:64px;height:64px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.reflection-mood-btn:hover{border-color:var(--color-primary);color:var(--color-primary-light);transform:scale(1.1)}.reflection-mood-btn:active{transform:scale(.95)}.reflection-mood-btn.selected{border-color:var(--color-primary);color:var(--color-primary-light);background-color:#e8784a33;transform:scale(1.05)}.stat-badge{padding:var(--space-md)var(--space-lg);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);flex-direction:column;align-items:center;min-width:90px;display:flex}.stat-value{font-size:var(--font-size-2xl);font-weight:700}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--color-green-glow)}50%{box-shadow:0 0 40px var(--color-green-glow)}}@keyframes pointsFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-slide-up{animation:.3s ease-out slideUp}.animate-pulse{animation:2s ease-in-out infinite pulse}.text-center{text-align:center}.text-left{text-align:left}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-success{background:linear-gradient(135deg,var(--color-green),var(--color-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.flex-center{justify-content:center;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.max-w-sm{max-width:300px}.max-w-md{max-width:400px}.max-w-lg{max-width:500px}.w-full{width:100%}@media(min-width:768px){:root{--demo-banner-height:32px;--nav-bar-height:72px}.app-content{max-width:480px;margin:0 auto}}.view-container{min-height:100vh;padding:var(--space-lg);padding-top:calc(var(--safe-area-top) + var(--space-lg));padding-bottom:calc(var(--nav-bar-height) + var(--space-xl));-webkit-overflow-scrolling:touch;overflow-y:auto}.view-content{max-width:400px;margin:0 auto}.view-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--space-lg)0;text-align:center;font-weight:700}.settings-section{margin-bottom:var(--space-xl)}.settings-section-title{align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-md)0;font-weight:600;display:flex}.setting-row{padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:#1e293b99;justify-content:space-between;align-items:center;display:flex}.setting-info{flex-direction:column;gap:2px;display:flex}.setting-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.setting-description{font-size:var(--font-size-xs);color:var(--color-text-muted)}.toggle-switch{background:var(--color-bg-elevated);border-radius:var(--radius-full);cursor:pointer;width:48px;height:28px;transition:background-color var(--transition-fast);border:none;flex-shrink:0;padding:4px}.toggle-switch.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light))}.toggle-thumb{border-radius:var(--radius-full);background:#fff;width:20px;height:20px;box-shadow:0 2px 4px #0003}.about-card{border-radius:var(--radius-lg);padding:var(--space-lg);background:#1e293b99}.about-intro{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-md)0;line-height:1.6}.about-intro strong{color:var(--color-primary-light)}.principle-list{gap:var(--space-md);margin-bottom:var(--space-md);flex-direction:column;display:flex}.principle-item{align-items:flex-start;gap:var(--space-sm);display:flex}.principle-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.principle-item>div:last-child{flex-direction:column;display:flex}.principle-item strong{font-size:var(--font-size-sm);color:var(--color-text-primary)}.principle-item span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.about-no-manipulation{font-size:var(--font-size-xs);color:var(--color-text-subtle);padding-top:var(--space-sm);border-top:1px solid var(--color-border);margin:0;font-style:italic}.reset-button{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);border-radius:var(--radius-md);color:var(--color-red);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background:#f871711a;border:1px solid #f871714d;font-family:inherit;font-weight:500;display:flex}.reset-button:hover{background:#f8717133}.settings-footer{text-align:center;padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.settings-footer p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-xs)0}.settings-footer .version{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.profile-header{align-items:center;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-xl);margin-bottom:var(--space-xl);background:linear-gradient(135deg,#e8784a33,#e8784a0d);display:flex}.profile-bubble-indicator{border-radius:var(--radius-full);flex-shrink:0;width:48px;height:48px}.profile-info{flex:1}.profile-name{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0;font-weight:700}.profile-bubble-status{font-size:var(--font-size-sm);font-weight:500}.profile-points{padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);background:#fbbf2426;flex-direction:column;align-items:center;display:flex}.profile-points-value{font-size:var(--font-size-xl);color:#fbbf24;font-weight:700}.profile-points-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.profile-section{margin-bottom:var(--space-xl)}.profile-section-title{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-md)0;font-weight:600}.profile-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.goals-grid{gap:var(--space-sm);flex-direction:column;display:flex}.goal-card{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:#1e293b99;border:1px solid #e8784a33;display:flex}.goal-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-primary-light);background:#e8784a26;justify-content:center;align-items:center;display:flex}.goal-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.badge-grid{gap:var(--space-sm);flex-direction:column;display:flex}.badge-card{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#1e293b99;display:flex}.badge-card.earned{background:linear-gradient(135deg,#fbbf241a,#1e293b99);border:1px solid #fbbf244d}.badge-card.locked{opacity:.6}.badge-card-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.badge-card.earned .badge-card-icon{color:#fbbf24;background:#fbbf2433;box-shadow:0 0 12px #fbbf244d}.badge-card.locked .badge-card-icon{color:var(--color-text-subtle);background:#64748b33}.badge-card-info{flex-direction:column;gap:2px;display:flex}.badge-card-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.badge-card.earned .badge-card-name{color:#fde68a}.badge-card-description{font-size:var(--font-size-xs);color:var(--color-text-muted)}.badge-card-locked{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-style:italic}.profile-quote{text-align:center;padding:var(--space-lg);border-radius:var(--radius-lg);border-left:3px solid var(--color-primary);background:linear-gradient(135deg,#e8784a1a,#0000)}.profile-quote p{font-size:var(--font-size-sm);color:var(--color-primary-light);margin:0;font-style:italic}.insights-placeholder{justify-content:center;align-items:center;min-height:60vh;display:flex}.insights-in-progress{text-align:center;max-width:300px}.insights-clock-icon{color:var(--color-text-muted);margin-bottom:var(--space-lg);opacity:.5}.insights-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-xl)0}.insights-partial{border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);background:#1e293b99}.insights-partial h3{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-sm)0;text-transform:uppercase;letter-spacing:.5px}.partial-stats{justify-content:center;gap:var(--space-lg);display:flex}.partial-stat{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.insights-bubble-preview{justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);display:flex}.bubble-dot{border-radius:var(--radius-full);width:12px;height:12px}.insights-section{margin-bottom:var(--space-xl)}.insights-section-title{align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-md)0;font-weight:600;display:flex}.category-bar-container{border-radius:var(--radius-lg);padding:var(--space-lg);background:#1e293b99}.category-bar{background:var(--color-bg-elevated);border-radius:var(--radius-full);height:12px;margin-bottom:var(--space-lg);display:flex;overflow:hidden}.category-segment{height:100%;transition:width .5s}.category-segment:first-child{border-radius:var(--radius-full)0 0 var(--radius-full)}.category-segment:last-child{border-radius:0 var(--radius-full)var(--radius-full)0}.category-legend{gap:var(--space-sm);flex-direction:column;display:flex}.category-legend-item{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);display:flex}.category-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.category-label{color:var(--color-text-secondary);flex:1}.category-count{color:var(--color-text-muted);font-weight:500}.insight-cards{gap:var(--space-sm);flex-direction:column;display:flex}.insight-card{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);background:#1e293b99;display:flex}.insight-arrow{color:var(--color-primary);flex-shrink:0;font-weight:600}.insight-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.bubble-journey{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);background:#1e293b99;display:flex}.journey-point{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.journey-bubble{border-radius:var(--radius-full);width:40px;height:40px}.journey-bubble.start{opacity:.5}.journey-point span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.journey-line{background:linear-gradient(90deg,var(--color-green),var(--color-primary));border-radius:var(--radius-full);flex:1;max-width:100px;height:2px}.insights-total{padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);background:#fbbf241a;justify-content:space-between;align-items:center;display:flex}.insights-total-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.insights-total-value{font-size:var(--font-size-lg);color:#fbbf24;font-weight:700}.insights-ethical-note{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-subtle);margin:0;font-style:italic}.completed-home{padding-top:var(--space-xl)}.completion-header{text-align:center;margin-bottom:var(--space-xl)}.completion-check{background:linear-gradient(135deg,var(--color-green),var(--color-primary));border-radius:var(--radius-full);width:64px;height:64px;margin:0 auto var(--space-md);color:#fff;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 20px #34d39966}.completion-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--space-sm)0;font-weight:700}.completion-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.summary-card{border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);background:#1e293b99}.summary-row{padding:var(--space-sm)0;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;display:flex}.summary-row:last-child{border-bottom:none}.summary-row.highlight{padding-top:var(--space-md);margin-top:var(--space-sm);border-top:1px solid var(--color-border);border-bottom:none}.summary-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.summary-value{font-size:var(--font-size-sm);color:var(--color-text-primary);align-items:center;gap:var(--space-xs);font-weight:500;display:flex}.summary-value.points{font-size:var(--font-size-xl);color:#fbbf24;font-weight:700}.summary-dot{border-radius:var(--radius-full);width:8px;height:8px}.badges-summary{margin-bottom:var(--space-lg);text-align:center}.badges-summary h3{font-size:var(--font-size-sm);color:var(--color-warning);margin:0 0 var(--space-md)0}.badges-row{justify-content:center;gap:var(--space-sm);display:flex}.badge-mini{border-radius:var(--radius-md);color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 0 12px #fbbf2433}.bq-explanation{border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);background:#1e293b99}.bq-explanation h3{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--space-md)0;font-weight:600}.bq-explanation ul{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bq-explanation li{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.bq-explanation li svg{color:var(--color-green);flex-shrink:0}.thank-you{text-align:center;margin-bottom:var(--space-xl)}.thank-you p{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--space-xs)0;font-weight:600}.thank-you .credits{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.restart-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;display:flex}@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-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-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}
