p{line-height:var(--leading-relaxed)}h1,h2,h3,h4{font-family:var(--font-primary);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--ink-primary);margin:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}.app{height:100vh;height:100dvh;width:100%;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;padding-bottom:var(--input-bar-height)}#content{background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:calc(var(--bar-top-reserve) + var(--safe-top)) var(--space-4) var(--space-4);width:100%;flex:1;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app #content.pile-expanded{justify-content:flex-start;padding-top:calc(var(--bar-top-reserve) + var(--safe-top))}@media(max-width:768px){.app #content{padding-left:0;padding-right:0}}.app .box{display:flex;flex-direction:column;overflow:hidden;padding:var(--space-4) var(--space-4) 0 var(--space-4);width:var(--frame-width);min-height:calc(var(--frame-width) / (var(--frame-aspect)));height:auto;outline:var(--comic-outline-width) solid var(--comic-ink);background:transparent;flex-shrink:0;box-sizing:border-box;position:relative}.app .box:before{content:"";position:absolute;inset:0;z-index:0;background-color:var(--bg-primary);background-image:none;background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-size .4s ease-out,background-position .4s ease-out;-ms-interpolation-mode:nearest-neighbor;image-rendering:-moz-crisp-edges;image-rendering:pixelated;image-rendering:crisp-edges}.app .box.box-bg-calm-halftone:before,.app .stack-card-inline.box-bg-calm-halftone{background-color:var(--color-gray-50);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='8' cy='8' r='2.5' fill='rgba(0,0,0,0.08)'/%3E%3C/svg%3E"),radial-gradient(ellipse 100% 80% at 50% 80%,rgba(255,248,225,.5),transparent 60%);background-repeat:repeat,no-repeat;background-size:16px 16px,100% 100%!important}.app .box.box-bg-misty-swirls:before,.app .stack-card-inline.box-bg-misty-swirls{background:radial-gradient(ellipse 120% 80% at 10% 20%,rgba(120,144,156,.5),transparent 50%),radial-gradient(ellipse 100% 120% at 90% 10%,rgba(144,164,174,.6),transparent 45%),radial-gradient(ellipse 140% 100% at 5% 85%,rgba(96,125,139,.5),transparent 50%),radial-gradient(ellipse 80% 140% at 85% 90%,rgba(120,144,156,.5),transparent 45%),radial-gradient(ellipse 100% 100% at 50% 50%,rgba(176,190,197,.3),transparent 70%),linear-gradient(180deg,#cfd8dc,#eceff1,#cfd8dc);animation:mistDrift 8s ease-in-out infinite}.app .box.box-bg-misty-swirls:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 60% 40%,rgba(255,255,255,.4),transparent 50%),radial-gradient(ellipse 70% 90% at 30% 70%,rgba(200,210,220,.3),transparent 45%);pointer-events:none;z-index:0;animation:mistOverlayDrift 12s ease-in-out infinite reverse;opacity:.7}@keyframes mistDrift{0%,to{background-position:0% 0%,100% 0%,0% 100%,100% 100%,50% 50%,0% 0%}33%{background-position:5% 3%,95% 5%,3% 97%,97% 95%,52% 48%,0% 0%}66%{background-position:-3% -2%,103% -3%,-2% 102%,102% 103%,48% 52%,0% 0%}}@keyframes mistOverlayDrift{0%,to{transform:translate(0) scale(1);opacity:.7}50%{transform:translate(3%,-2%) scale(1.02);opacity:.5}}@media(prefers-reduced-motion:reduce){.app .box.box-bg-misty-swirls:before,.app .box.box-bg-misty-swirls:after{animation:none}}.app .box.box-bg-speed-lines{--focal-x: 50%;--focal-y: 65%;--line-gap: 2.5deg;--line-width: 1deg;--line-opacity: .08;--glow-w: 80%;--glow-h: 60%;--glow-mid: 30%;--glow-end: 60%}.app .box[data-character-position=left].box-bg-speed-lines{--focal-x: 30%;--glow-w: 70%;--glow-h: 50%;--glow-mid: 25%;--glow-end: 55%}.app .box[data-character-position=right].box-bg-speed-lines{--focal-x: 70%;--glow-w: 70%;--glow-h: 50%;--glow-mid: 25%;--glow-end: 55%}.app .box[data-camera-shot=closeup].box-bg-speed-lines,.app .box[data-camera-shot=extreme].box-bg-speed-lines{--focal-y: 55%;--line-gap: 2deg;--line-width: 1deg;--line-opacity: .1;--glow-w: 60%;--glow-h: 45%;--glow-mid: 20%;--glow-end: 50%}.app .box[data-camera-shot=closeup][data-character-position=left].box-bg-speed-lines,.app .box[data-camera-shot=extreme][data-character-position=left].box-bg-speed-lines{--focal-x: 35%;--glow-w: 55%;--glow-h: 40%}.app .box[data-camera-shot=closeup][data-character-position=right].box-bg-speed-lines,.app .box[data-camera-shot=extreme][data-character-position=right].box-bg-speed-lines{--focal-x: 65%;--glow-w: 55%;--glow-h: 40%}.app .box.box-bg-speed-lines:before,.app .stack-card-inline.box-bg-speed-lines{background-color:var(--bg-primary);background-image:repeating-conic-gradient(from 0deg at var(--focal-x, 50%) var(--focal-y, 65%),transparent 0deg var(--line-gap, 2.5deg),rgba(0,0,0,var(--line-opacity, .08)) var(--line-gap, 2.5deg) calc(var(--line-gap, 2.5deg) + var(--line-width, 1deg)),transparent calc(var(--line-gap, 2.5deg) + var(--line-width, 1deg)) calc(var(--line-gap, 2.5deg) + var(--line-width, 1deg) + var(--line-gap, 2.5deg))),radial-gradient(ellipse var(--glow-w, 80%) var(--glow-h, 60%) at var(--focal-x, 50%) var(--focal-y, 65%),rgba(255,255,255,.95) 0%,rgba(255,255,255,.7) var(--glow-mid, 30%),transparent var(--glow-end, 60%));animation:speedLinesSubtle 3s ease-in-out infinite}@keyframes speedLinesSubtle{0%,to{opacity:1}50%{opacity:.92}}.app .box.box-bg-hero-burst{--hero-x: 50%;--hero-y: 65%}.app .box[data-character-position=left].box-bg-hero-burst{--hero-x: 30%}.app .box[data-character-position=right].box-bg-hero-burst{--hero-x: 70%}.app .box.box-bg-hero-burst:before,.app .stack-card-inline.box-bg-hero-burst{background:repeating-conic-gradient(from 0deg at var(--hero-x, 50%) var(--hero-y, 65%),var(--color-paper-cream) 0deg 3deg,var(--badge-ray-light) 3deg 6deg,var(--badge-ray-dark) 6deg 9deg),radial-gradient(circle at var(--hero-x, 50%) var(--hero-y, 65%),var(--bg-primary) 0%,rgba(255,245,157,.9) 15%,rgba(255,215,64,.4) 40%,transparent 60%)}.app .box.box-bg-hero-burst:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--hero-x, 50%) var(--hero-y, 65%),rgba(255,255,255,.95) 0%,rgba(255,255,255,.6) 12%,rgba(255,245,157,.3) 25%,transparent 45%);pointer-events:none;z-index:0;animation:heroPulse 2s ease-in-out infinite}@keyframes heroPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.app .box.box-bg-hero-burst:after,.app .box.box-bg-speed-lines:before,.app .box.box-bg-misty-swirls:before,.app .box.box-bg-misty-swirls:after{animation:none}}.app .box[data-camera-shot=full]:before{background-size:100% 100%}.app .box[data-camera-shot=medium]:before{background-size:115% 115%}.app .box[data-camera-shot=closeup]:before{background-size:130% 130%}.app .box[data-camera-shot=extreme]:before{background-size:150% 150%}.app .box[data-character-position=center]:before{background-position:center}.app .box[data-character-position=left]:before{background-position:35% center}.app .box[data-character-position=right]:before{background-position:65% center}.app .box[data-camera-shot=medium][data-character-position=left]:before{background-size:115% 115%;background-position:30% center}.app .box[data-camera-shot=medium][data-character-position=right]:before{background-size:115% 115%;background-position:70% center}.app .box[data-camera-shot=closeup][data-character-position=left]:before{background-size:130% 130%;background-position:25% 40%}.app .box[data-camera-shot=closeup][data-character-position=right]:before{background-size:130% 130%;background-position:75% 40%}.app .box[data-camera-shot=extreme][data-character-position=center]:before{background-size:150% 150%;background-position:center 35%}.app .box[data-camera-shot=extreme][data-character-position=left]:before{background-size:150% 150%;background-position:20% 35%}.app .box[data-camera-shot=extreme][data-character-position=right]:before{background-size:150% 150%;background-position:80% 35%}.app .box,.app .box-with-badge{margin:var(--space-2)}.app .box-with-badge>.box{margin:0}@media(max-width:768px){.app .box,.app .box-with-badge{margin:var(--space-2) auto}}.app .box.clickable{cursor:pointer;transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease,z-index 0s;position:relative;z-index:1}.app .box.clickable:hover{transform:scale(1.02);box-shadow:var(--shadow-float);z-index:var(--z-dropdown)}.app .balloon-zone{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;justify-content:flex-start;gap:.3rem;width:100%;flex:0 0 auto;min-height:20%;max-height:60%;overflow:visible;padding:0 var(--space-2);box-sizing:border-box;position:relative;z-index:2}.app .balloon-zone .chat-bubble{flex:0 1 auto;max-width:85%;margin-bottom:var(--space-8)}.app .character-zone{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-around;width:100%;flex:0 0 auto;height:clamp(190px,34vh,320px);position:relative;z-index:1;margin-top:auto}.app .character{display:flex;align-items:flex-end;justify-content:center;flex:1;max-width:55%;height:90%}.app .character-zone .character:only-child{max-width:70%}.app .character .avatar{height:100%;max-width:100%;max-height:100%;display:flex;align-items:flex-end;justify-content:center}.app .character .avatar img{height:auto;max-height:100%;width:auto;max-width:100%;object-fit:contain}.app .avatar{max-width:100%;flex-shrink:1;min-height:0}.app .avatar img{width:100%;height:auto;filter:drop-shadow(2px 0 0 white) drop-shadow(-2px 0 0 white) drop-shadow(0 2px 0 white) drop-shadow(0 -2px 0 white) drop-shadow(1px 1px 0 white) drop-shadow(-1px 1px 0 white) drop-shadow(1px -1px 0 white) drop-shadow(-1px -1px 0 white)}.app .chat-bubble{text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:center}.app .chat-bubble .markdown-content,.ptt-speech-bubble .markdown-content{word-wrap:break-word;overflow-wrap:break-word}.app .chat-bubble .markdown-content>*:first-child,.ptt-speech-bubble .markdown-content>*:first-child{margin-top:0}.app .chat-bubble .markdown-content>*:last-child,.ptt-speech-bubble .markdown-content>*:last-child{margin-bottom:0}.app .chat-bubble p,.ptt-speech-bubble p{margin:0 0 .5em;line-height:var(--leading-tight)}.app .chat-bubble p:last-child,.ptt-speech-bubble p:last-child{margin-bottom:0}.app .chat-bubble strong,.ptt-speech-bubble strong{font-weight:var(--font-bold)}.app .chat-bubble em,.ptt-speech-bubble em{font-style:italic}.app .chat-bubble code,.ptt-speech-bubble code{background:var(--color-gray-100);border-radius:var(--radius-tight);font-family:monospace;font-size:.9em;padding:.1em .3em}.app .chat-bubble pre,.ptt-speech-bubble pre{background:var(--color-gray-100);border-radius:var(--radius-tight);font-size:.85em;margin:.5em 0;overflow-x:auto;padding:.5em}.app .chat-bubble pre code,.ptt-speech-bubble pre code{background:none;padding:0}.app .chat-bubble ul,.ptt-speech-bubble ul,.app .chat-bubble ol,.ptt-speech-bubble ol{margin:.3em 0;padding-left:1.2em}.app .chat-bubble li,.ptt-speech-bubble li{margin:.2em 0}.app .chat-bubble blockquote,.ptt-speech-bubble blockquote{border-left:3px solid var(--color-gray-300);margin:.5em 0;padding-left:.5em;color:var(--color-gray-600)}.app .chat-bubble a,.ptt-speech-bubble a{color:var(--ink-link);text-decoration:underline;cursor:pointer;transition:color var(--duration-fast) ease}.app .chat-bubble a:hover,.ptt-speech-bubble a:hover{color:var(--ink-link-hover)}.app .chat-bubble a[href="#journal"]{color:var(--color-success-800);font-weight:var(--font-bold)}.app .chat-bubble a[href="#journal"]:hover{color:var(--color-success-900)}.app .chat-bubble a.external-link{color:var(--ink-link);font-weight:var(--font-normal)}.app .chat-bubble a.external-link:after{content:" 🔗";font-size:.8em;vertical-align:middle}.app .chat-bubble a.external-link:hover{color:var(--ink-link-hover)}.app .chat-bubble h1,.ptt-speech-bubble h1,.app .chat-bubble h2,.ptt-speech-bubble h2,.app .chat-bubble h3,.ptt-speech-bubble h3,.app .chat-bubble h4,.ptt-speech-bubble h4,.app .chat-bubble h5,.ptt-speech-bubble h5,.app .chat-bubble h6,.ptt-speech-bubble h6{font-weight:var(--font-bold);margin:.3em 0;line-height:var(--leading-tight)}.app .chat-bubble h1,.ptt-speech-bubble h1{font-size:1.3em}.app .chat-bubble h2,.ptt-speech-bubble h2{font-size:1.2em}.app .chat-bubble h3,.ptt-speech-bubble h3{font-size:1.1em}.app .chat-bubble h4,.ptt-speech-bubble h4,.app .chat-bubble h5,.ptt-speech-bubble h5,.app .chat-bubble h6,.ptt-speech-bubble h6{font-size:1em}.app .chat-bubble:after{border-color:var(--bg-primary) transparent;border-style:solid;border-width:2.2rem .4rem 0 .6rem;bottom:-1.8rem;content:"";display:block;left:45%;position:absolute;width:0;z-index:1;transform:rotate(-5deg)}.app .chat-bubble:before{border-color:var(--comic-ink) transparent;border-style:solid;border-width:2.5rem .55rem 0 .75rem;bottom:-2.2rem;content:"";display:block;left:44.5%;position:absolute;width:0;z-index:0;transform:rotate(-5deg)}.app .chat-bubble.thought{background:linear-gradient(135deg,var(--color-error-50) 0%,var(--color-primary-100) 50%,var(--color-primary-100) 100%);border:2px solid var(--color-primary-200);border-radius:50% 40%;box-shadow:0 4px 20px #ce93d866}.app .chat-bubble.thought:after,.app .chat-bubble.thought:before{border:none;background:var(--color-primary-100);border-radius:var(--radius-full);transform:none}.app .chat-bubble.thought:after{width:12px;height:12px;bottom:-1rem;left:50%;border:2px solid var(--color-primary-200)}.app .chat-bubble.thought:before{width:8px;height:8px;bottom:-1.8rem;left:52%;border:2px solid var(--color-primary-200)}.app .chat-bubble.thought .thought-dots{position:absolute;width:5px;height:5px;background:var(--color-primary-100);border:2px solid var(--color-primary-200);border-radius:var(--radius-full);bottom:-2.4rem;left:54%}.app .chat-bubble.whisper{border-style:dashed;border-width:.15rem;font-style:italic;box-shadow:0 0 0 4px #fff,var(--shadow-speech) #0000001a;font-size:var(--text-base)}.app .chat-bubble.whisper:after{border-style:dashed;border-width:2rem .3rem 0 .5rem}.app .chat-bubble.whisper:before{display:block}.app .chat-bubble.shout{background:linear-gradient(180deg,var(--color-error-50) 0%,var(--color-error-100) 100%);border:4px solid var(--color-error-600);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-error-600)}.app .chat-bubble.shout:after{border-color:var(--color-error-100) transparent;border-style:solid;border-width:2.2rem .4rem 0 .6rem;bottom:-1.8rem;content:"";display:block;left:45%;position:absolute;width:0;z-index:1;transform:rotate(-5deg)}.app .chat-bubble.shout:before{border-color:var(--color-error-600) transparent;border-style:solid;border-width:2.5rem .55rem 0 .75rem;bottom:-2.2rem;content:"";display:block;left:44.5%;position:absolute;width:0;z-index:0;transform:rotate(-5deg)}.app .balloon-zone .chat-bubble[data-tail-position=left]{align-self:flex-start;margin-right:auto}.app .balloon-zone .chat-bubble[data-tail-position=right]{align-self:flex-start;margin-left:auto}.app .balloon-zone .chat-bubble[data-tail-position=center]{align-self:flex-start;margin-left:auto;margin-right:auto}.app .balloon-zone .chat-bubble[data-tail-position=left]:after{left:20%;right:auto;border-width:2.2rem .4rem 0 .6rem;transform:rotate(-8deg)}.app .balloon-zone .chat-bubble[data-tail-position=left]:before{left:19.5%;right:auto;border-width:2.5rem .55rem 0 .75rem;transform:rotate(-8deg)}.app .balloon-zone .chat-bubble[data-tail-position=right]:after{left:auto;right:20%;border-width:2.2rem .6rem 0 .4rem;transform:rotate(8deg)}.app .balloon-zone .chat-bubble[data-tail-position=right]:before{left:auto;right:19.5%;border-width:2.5rem .75rem 0 .55rem;transform:rotate(8deg)}.app .balloon-zone .chat-bubble[data-tail-position=center]:after{left:50%;right:auto;border-width:2.2rem .5rem 0;transform:translate(-50%) rotate(-2deg)}.app .balloon-zone .chat-bubble[data-tail-position=center]:before{left:50%;right:auto;border-width:2.5rem .65rem 0;transform:translate(-50%) rotate(-2deg)}.app .balloon-zone .chat-bubble.thought[data-tail-position=left]:after{left:25%;border:2px solid var(--color-primary-200);transform:none}.app .balloon-zone .chat-bubble.thought[data-tail-position=left]:before{left:23%;border:2px solid var(--color-primary-200);transform:none}.app .balloon-zone .chat-bubble.thought[data-tail-position=right]:after{left:auto;right:25%;border:2px solid var(--color-primary-200);transform:none}.app .balloon-zone .chat-bubble.thought[data-tail-position=right]:before{left:auto;right:23%;border:2px solid var(--color-primary-200);transform:none}.app .balloon-zone .chat-bubble.thought[data-tail-position=center]:after{left:50%;border:2px solid var(--color-primary-200);transform:translate(-50%)}.app .balloon-zone .chat-bubble.thought[data-tail-position=center]:before{left:52%;border:2px solid var(--color-primary-200);transform:none}.app .chat-bubble .bubble-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);padding-top:.4rem;border-top:2px dashed var(--color-gray-300);gap:var(--space-2)}.app .chat-bubble .page-indicator{font-size:var(--text-sm);color:var(--color-gray-500);font-style:italic}.app .chat-bubble .btn-cta--skip{margin-left:auto}.app .flip-horizontal{-ms-filter:fliph;filter:fliph;-webkit-transform:scaleX(-1);transform:scaleX(-1)}.app .frames-row{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--space-8);width:100%;margin-top:var(--space-2)}.app #content.pile-expanded .frames-row{display:grid;grid-template-columns:repeat(2,minmax(280px,450px));justify-content:center;justify-items:center;gap:var(--space-4);max-width:1000px}.app #content.pile-expanded .frames-row .box{animation:fanOut .25s ease-out backwards}.app #content.pile-expanded .frames-row .box:nth-child(1){animation-delay:0ms}.app #content.pile-expanded .frames-row .box:nth-child(2){animation-delay:30ms}.app #content.pile-expanded .frames-row .box:nth-child(3){animation-delay:60ms}.app #content.pile-expanded .frames-row .box:nth-child(4){animation-delay:90ms}.app #content.pile-expanded .frames-row .box:nth-child(5){animation-delay:.12s}.app #content.pile-expanded .frames-row .box:nth-child(6){animation-delay:.15s}.app #content.pile-expanded .frames-row .box:nth-child(7){animation-delay:.18s}.app #content.pile-expanded .frames-row .box:nth-child(8){animation-delay:.21s}.app #content.pile-expanded .frames-row .box:nth-child(n+9){animation-delay:.24s}@media(max-width:768px){.app .frames-row{flex-direction:column;align-items:center}.app #content.pile-expanded .frames-row{grid-template-columns:1fr}}@keyframes fanOut{0%{opacity:0;transform:scale(.8) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0)}}.app .placeholder-box{animation:fadeIn var(--duration-slow) ease-out}.app .chat-bubble.placeholder-bubble{min-width:10rem;min-height:5rem;display:flex;align-items:center;justify-content:center;animation:bubblePulse 1.5s ease-in-out infinite}@keyframes bubblePulse{0%,to{transform:scale(1);box-shadow:var(--shadow-speech) var(--shadow-speech-ink),0 0 #64646400;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--color-gray-50) 100%)}50%{transform:scale(1.03);box-shadow:var(--shadow-speech) var(--shadow-speech-ink),0 0 20px 5px #9696964d;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--color-gray-200) 100%)}}.app .placeholder-thinking{position:static;width:100%;height:100%;min-height:3rem;display:flex;align-items:center;justify-content:center}.app .placeholder-thinking .thinking-text{background:linear-gradient(90deg,var(--color-primary-200) 0%,var(--color-primary-200) 25%,var(--color-primary-400) 50%,var(--color-primary-400) 75%,var(--color-primary-200) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:var(--text-xl);font-style:italic;font-weight:var(--font-bold);letter-spacing:var(--tracking-display);animation:dreamyFlow 3s ease-in-out infinite,dreamyWave 2s ease-in-out infinite}@keyframes dreamyFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes dreamyWave{0%,to{transform:translateY(0) scale(1);filter:blur(0)}25%{transform:translateY(-2px) scale(1.01)}50%{transform:translateY(0) scale(1.02);filter:blur(.5px)}75%{transform:translateY(2px) scale(1.01)}}.app .chat-bubble.placeholder-bubble .thought-dots{position:absolute;width:5px;height:5px;background:var(--color-primary-100);border:2px solid var(--color-primary-200);border-radius:var(--radius-full);bottom:-2.4rem;left:27%;animation:thoughtDotPulse 1.5s ease-in-out infinite var(--duration-slow)}.app .balloon-zone .chat-bubble.placeholder-bubble[data-tail-position=right] .thought-dots{left:auto;right:27%}.app .balloon-zone .chat-bubble.placeholder-bubble[data-tail-position=center] .thought-dots{left:54%;right:auto}.app .chat-bubble.placeholder-bubble.thought:after{animation:thoughtDotPulse 1.5s ease-in-out infinite .1s}.app .chat-bubble.placeholder-bubble.thought:before{animation:thoughtDotPulse 1.5s ease-in-out infinite var(--duration-normal)}@keyframes thoughtDotPulse{0%,to{transform:scale(.85)}50%{transform:scale(1.15)}}.app .box[data-camera-angle=dutch]{transform:rotate(-2deg)}.app .box[data-camera-angle=dutch].clickable:hover{transform:rotate(-2deg) scale(1.02)}.app .character[data-camera-shot=full] .avatar img{transform:scale(1);transform-origin:bottom center}.app .character-zone .character:not([data-camera-shot=full]),.app .character-zone .character:only-child:not([data-camera-shot=full]){max-width:100%;padding-left:0;padding-right:0}.app .character[data-camera-shot=medium] .avatar,.app .character[data-camera-shot=closeup] .avatar,.app .character[data-camera-shot=extreme] .avatar{position:relative;overflow:hidden;width:100%}.app .character[data-camera-shot=medium] .avatar img,.app .character[data-camera-shot=closeup] .avatar img,.app .character[data-camera-shot=extreme] .avatar img{--band-depth: calc(var(--band-bottom) - var(--band-top));position:absolute;left:50%;transform:translate(-50%);width:auto;max-width:none;max-height:none;height:calc(100% / var(--band-depth));top:calc(-100% * var(--band-top) / var(--band-depth))}.app .character[data-camera-shot=medium] .avatar img{--band-top: 0;--band-bottom: calc(var(--sprite-waist) + .04)}.app .character[data-camera-shot=closeup] .avatar img{--band-top: calc(var(--sprite-hair-top) - .04);--band-bottom: calc(var(--sprite-shoulders) + .05)}.app .character[data-camera-shot=extreme] .avatar img{--band-top: calc(var(--sprite-hair-top) - .02);--band-bottom: calc(var(--sprite-chin) + .04)}.app .character[data-character-position=center]{justify-content:center;margin-left:auto;margin-right:auto}.app .character[data-character-position=left]{justify-content:center;margin-left:0;margin-right:auto;padding-left:5%}.app .character[data-character-position=right]{justify-content:center;margin-left:auto;margin-right:0;padding-right:5%}.app .character-zone:has(.character:only-child[data-character-position=left]){justify-content:flex-start}.app .character-zone:has(.character:only-child[data-character-position=right]){justify-content:flex-end}.app .box:has(.character[data-camera-shot=closeup]) .balloon-zone,.app .box:has(.character[data-camera-shot=extreme]) .balloon-zone{max-height:50%}.app .character .avatar img{transition:transform var(--duration-slow) ease-out}.app .box{transition:transform var(--duration-normal) ease}.app .box.entry-pop{animation:entryPop .25s var(--ease-bounce) forwards}@keyframes entryPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.app .box.entry-fadeZoom{animation:entryFadeZoom .5s ease-out forwards}@keyframes entryFadeZoom{0%{opacity:0;transform:scale(1.1);filter:blur(4px)}60%{opacity:.8;filter:blur(1px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.app .box.entry-slide{animation:entrySlide .35s var(--ease-out-soft) forwards}@keyframes entrySlide{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.app .box.entry-bounce{animation:entryBounce .5s var(--ease-bounce) forwards}@keyframes entryBounce{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{opacity:1;transform:scale(1.1) translateY(-10px)}70%{transform:scale(.95) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.app .box[data-camera-angle=dutch].entry-pop{animation:entryPopDutch .25s var(--ease-bounce) forwards}@keyframes entryPopDutch{0%{opacity:0;transform:scale(.85) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(-2deg)}}.app .box[data-camera-angle=dutch].entry-fadeZoom{animation:entryFadeZoomDutch .5s ease-out forwards}@keyframes entryFadeZoomDutch{0%{opacity:0;transform:scale(1.1) rotate(-2deg);filter:blur(4px)}60%{opacity:.8;filter:blur(1px)}to{opacity:1;transform:scale(1) rotate(-2deg);filter:blur(0)}}.app .box[data-camera-angle=dutch].entry-slide{animation:entrySlideDutch .35s var(--ease-out-soft) forwards}@keyframes entrySlideDutch{0%{opacity:0;transform:translate(50px) rotate(-2deg)}to{opacity:1;transform:translate(0) rotate(-2deg)}}.app .box[data-camera-angle=dutch].entry-bounce{animation:entryBounceDutch .5s var(--ease-bounce) forwards}@keyframes entryBounceDutch{0%{opacity:0;transform:scale(.3) translateY(50px) rotate(-2deg)}50%{opacity:1;transform:scale(1.1) translateY(-10px) rotate(-2deg)}70%{transform:scale(.95) translateY(5px) rotate(-2deg)}to{opacity:1;transform:scale(1) translateY(0) rotate(-2deg)}}.app #content.pile-expanded .frames-row .box.entry-pop,.app #content.pile-expanded .frames-row .box.entry-fadeZoom,.app #content.pile-expanded .frames-row .box.entry-slide,.app #content.pile-expanded .frames-row .box.entry-bounce{animation:fanOut .25s ease-out backwards}@media(prefers-reduced-motion:reduce){.app .box.entry-pop,.app .box.entry-fadeZoom,.app .box.entry-slide,.app .box.entry-bounce,.app .box[data-camera-angle=dutch].entry-pop,.app .box[data-camera-angle=dutch].entry-fadeZoom,.app .box[data-camera-angle=dutch].entry-slide,.app .box[data-camera-angle=dutch].entry-bounce{animation:none}}.login-page{position:fixed;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;align-items:center;padding:calc(1.5rem + var(--safe-top)) 1.5rem calc(1.5rem + var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.login-overlay{position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary-500) 0%,#764ba2 100%)}.badge-container{position:relative;padding-top:var(--space-6);z-index:1;margin:auto 0;width:100%;display:flex;justify-content:center}.badge-clip{position:absolute;top:-15px;left:50%;transform:translate(-50%);width:60px;height:30px;background:linear-gradient(180deg,var(--color-gray-400) 0%,var(--color-gray-500) 100%);border-radius:var(--radius-tight) var(--radius-tight) var(--radius-base) var(--radius-base);box-shadow:var(--shadow-raised);z-index:var(--z-dropdown)}.badge-clip:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:8px;background:var(--color-gray-600);border-radius:var(--radius-tight)}.badge{width:100%;max-width:480px;background:var(--bg-primary);border-radius:var(--radius-large);box-shadow:0 25px 50px -12px #0006,0 0 0 8px #ffffff1a;overflow:hidden;transform:rotate(-2deg);animation:badgeDrop .6s var(--ease-bounce)}@keyframes badgeDrop{0%{opacity:0;transform:rotate(-2deg) scale(.8) translateY(-50px)}to{opacity:1;transform:rotate(-2deg) scale(1) translateY(0)}}.badge-header{background:linear-gradient(180deg,var(--color-error-500) 0%,var(--color-error-600) 100%);padding:var(--space-6) var(--space-8);text-align:center;position:relative}.badge-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 50%,transparent 100%)}.badge-hello{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink-inverse);letter-spacing:var(--tracking-display);text-transform:uppercase;text-shadow:2px 2px 0 rgba(0,0,0,.2);margin-bottom:var(--space-1)}.badge-subtitle{font-family:var(--font-handwritten);font-size:var(--text-display-sm);color:var(--ink-inverse);font-weight:var(--font-bold);text-shadow:2px 2px 0 rgba(0,0,0,.2);line-height:var(--leading-none)}.badge-content{padding:var(--space-8);background:linear-gradient(180deg,var(--bg-primary) 0%,var(--color-gray-50) 100%);min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-form{width:100%;display:flex;flex-direction:column;gap:var(--space-4)}.input-group{position:relative}.input-group input{width:100%;padding:var(--space-4) var(--space-6);border:var(--border-dashed);border-radius:var(--radius-base);font-family:var(--font-handwritten);font-size:var(--text-2xl);color:var(--color-gray-700);background:transparent;text-align:center;transition:all var(--duration-normal) ease;box-sizing:border-box}.input-group input:focus{outline:none;border-color:var(--focus-ring-color);border-style:solid;background:var(--bg-primary)}.input-group input::placeholder{color:var(--ink-placeholder);font-style:italic}.input-group input[type=password]{font-family:var(--font-primary);letter-spacing:4px}.input-group input:disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.7}.input-label{position:absolute;top:-10px;left:20px;background:var(--color-gray-50);padding:0 8px;font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-500);transform:rotate(-1deg);z-index:1}.auth-tabs{display:flex;gap:0;margin:0 var(--space-8);background:var(--color-gray-50);border-radius:var(--radius-base) var(--radius-base) 0 0;overflow:hidden}.auth-tab{flex:1;padding:var(--space-3) var(--space-4);min-height:var(--touch-target-min);border:none;background:transparent;font-family:var(--font-primary);font-size:var(--text-lg);color:var(--color-gray-500);cursor:pointer;transition:all var(--duration-normal) ease;border-bottom:3px solid transparent}.auth-tab:hover{color:var(--color-gray-600);background:#00000008}.auth-tab.active{color:var(--color-error-600);border-bottom-color:var(--color-error-500);font-weight:var(--font-bold)}.login-page .error-message{padding:var(--space-3) var(--space-4);background:var(--color-error-100);border:2px solid var(--color-error-300);border-radius:var(--radius-base);color:var(--color-error-600);font-family:var(--font-handwritten);font-size:var(--text-lg);text-align:center;animation:shake .4s ease-in-out;transform:rotate(-1deg)}.login-page .success-message{padding:var(--space-3) var(--space-4);background:var(--color-success-100);border:2px solid var(--color-success-300);border-radius:var(--radius-base);color:var(--color-success-800);font-family:var(--font-handwritten);font-size:var(--text-lg);text-align:center;transform:rotate(1deg)}.forgot-password-link{margin-top:var(--space-2);padding:var(--space-2);background:transparent;border:none;font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--ink-secondary);cursor:pointer;text-decoration:underline;transition:color var(--duration-normal) ease;min-height:var(--touch-target-min)}.forgot-password-link:hover{color:var(--color-error-600)}.divider{display:flex;align-items:center;margin:var(--space-4) 0;gap:var(--space-4)}.divider:before,.divider:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--color-gray-300),transparent)}.divider span{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-500);text-transform:lowercase}.google-button{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:.875rem var(--space-6);background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);font-family:var(--font-primary);font-size:var(--text-lg);color:var(--color-gray-600);cursor:pointer;transition:all var(--duration-normal) ease;transform:rotate(-.5deg)}.google-button:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300);box-shadow:var(--shadow-raised);transform:rotate(-.5deg) translateY(-1px)}.google-button:active:not(:disabled){transform:rotate(-.5deg) translateY(1px);box-shadow:none}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}@keyframes shake{0%,to{transform:rotate(-1deg) translate(0)}20%{transform:rotate(-1deg) translate(-8px)}40%{transform:rotate(-1deg) translate(8px)}60%{transform:rotate(-1deg) translate(-4px)}80%{transform:rotate(-1deg) translate(4px)}}.login-button{margin-top:var(--space-4);padding:var(--space-4) var(--space-8);min-height:var(--touch-target-min);background:linear-gradient(180deg,var(--color-success-400) 0%,var(--color-success-600) 100%);border:none;border-radius:var(--radius-base);font-family:var(--font-primary);font-size:var(--text-xl);color:var(--comic-ink);letter-spacing:var(--tracking-display);text-transform:uppercase;cursor:pointer;--btn-lip: var(--color-success-700);--btn-glow-rgb: 72, 187, 120;box-shadow:var(--shadow-btn);transition:all var(--duration-instant) ease;transform:rotate(1deg)}.login-button:hover:not(:disabled){transform:rotate(1deg) translateY(-2px);box-shadow:var(--shadow-btn-hover)}.login-button:active:not(:disabled){transform:rotate(1deg) translateY(2px);box-shadow:var(--shadow-btn-pressed)}.login-button:disabled{background:linear-gradient(180deg,var(--color-gray-400) 0%,var(--color-gray-500) 100%);--btn-lip: var(--color-gray-600);--btn-glow-rgb: 0, 0, 0;--btn-glow-alpha: .2;cursor:not-allowed;opacity:.7}.badge-footer{background:linear-gradient(180deg,var(--color-error-600) 0%,var(--color-error-700) 100%);padding:var(--space-4) var(--space-8);text-align:center}.badge-footer p{font-family:var(--font-handwritten);font-size:var(--text-lg);color:#ffffffe6;letter-spacing:var(--tracking-caps);margin:0}@media(max-width:480px){.login-page{padding:calc(.5rem + var(--safe-top)) .5rem calc(.5rem + var(--safe-bottom))}.badge{width:calc(100vw - 3.5rem);max-width:480px}.badge-header{padding:var(--space-4) var(--space-6)}.badge-hello{font-size:var(--text-base)}.badge-subtitle{font-size:var(--text-2xl)}.badge-content{padding:var(--space-6);min-height:240px}.input-group input{font-size:var(--text-lg);padding:var(--space-3)}.login-button{font-size:var(--text-base);padding:var(--space-3) var(--space-4)}.badge-footer{padding:var(--space-3) var(--space-4)}.badge-footer p{font-size:var(--text-base)}}.verify-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-4) 0;width:100%}.verify-title{font-family:var(--font-primary);font-size:var(--text-xl);color:var(--color-gray-700);margin:0 0 var(--space-3) 0;transform:rotate(-1deg)}.verify-text{font-family:var(--font-handwritten);font-size:var(--text-lg);color:var(--color-gray-600);margin:0 0 var(--space-1) 0}.verify-email{font-family:var(--font-handwritten);font-size:var(--text-xl);color:var(--color-error-600);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0;word-break:break-all}.verify-hint{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-500);margin:0 0 var(--space-6) 0;font-style:italic}.verify-spinner{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.spinner-dot{width:12px;height:12px;background:var(--color-error-500);border-radius:var(--radius-full);animation:spinnerPulse 1.4s ease-in-out infinite}.spinner-dot:nth-child(1){animation-delay:0s}.spinner-dot:nth-child(2){animation-delay:.2s}.spinner-dot:nth-child(3){animation-delay:.4s}@keyframes spinnerPulse{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.verify-waiting{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--ink-tertiary);margin:0 0 var(--space-6) 0}.resend-button{padding:var(--space-3) var(--space-6);background:linear-gradient(180deg,var(--color-primary-400) 0%,var(--color-primary-500) 100%);border:none;border-radius:var(--radius-base);font-family:var(--font-primary);font-size:var(--text-lg);color:var(--ink-inverse);letter-spacing:var(--tracking-display);text-transform:uppercase;cursor:pointer;--btn-lip: var(--color-primary-600);--btn-glow-rgb: 66, 153, 225;box-shadow:var(--shadow-btn);transition:all var(--duration-instant) ease;transform:rotate(-1deg)}.resend-button:hover:not(:disabled){transform:rotate(-1deg) translateY(-2px);box-shadow:var(--shadow-btn-hover)}.resend-button:active:not(:disabled){transform:rotate(-1deg) translateY(2px);box-shadow:var(--shadow-btn-pressed)}.resend-button:disabled{background:linear-gradient(180deg,var(--color-gray-400) 0%,var(--color-gray-500) 100%);--btn-lip: var(--color-gray-600);--btn-glow-rgb: 0, 0, 0;--btn-glow-alpha: .2;cursor:not-allowed;opacity:.7}.verify-divider{width:80%;height:2px;background:linear-gradient(90deg,transparent,var(--color-gray-300),transparent);margin:var(--space-6) 0}.settings-overlay{position:absolute;inset:0}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem var(--space-6);background:linear-gradient(135deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);border-bottom:none}.settings-header h1{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ink-inverse);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3);letter-spacing:var(--tracking-caps)}.close-button:focus-visible{outline:var(--focus-ring-width) solid var(--ink-inverse);outline-offset:2px}.close-button{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease}.close-button:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.settings-tabs{display:flex;gap:0;background:linear-gradient(180deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);padding:0 var(--space-4);border-bottom:2px solid rgba(255,255,255,.1)}.tab-button{flex:1;padding:var(--space-4) var(--space-6);min-height:var(--touch-target-min);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);color:#ffffffd9;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--duration-normal) ease;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.tab-button:hover{color:#ffffffe6;background:#ffffff0d}.tab-button.active{color:var(--ink-inverse);border-bottom-color:var(--color-primary-500);background:#a035b61a}.tab-button:focus-visible{outline:var(--focus-ring-width) solid var(--ink-inverse);outline-offset:-3px}.tab-button:disabled{opacity:.4;cursor:not-allowed}.settings-content{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%)}.settings-avatar{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:-.75rem}.settings-avatar__window{align-self:center;flex-shrink:0;height:clamp(160px,20vh,215px);overflow:hidden;pointer-events:none}.settings-avatar__image{display:block;height:clamp(240px,30vh,320px);object-fit:contain;object-position:top center;width:auto}.settings-avatar--left{align-items:flex-start;margin-bottom:0}.settings-avatar__note{margin:0;font-size:var(--text-sm);color:var(--color-gray-500)}.settings-avatar__bubble{align-self:center}.edit-profile-button{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ink-inverse);background:var(--gradient-secondary);border:none;border-radius:var(--radius-base);padding:.8rem var(--space-8);cursor:pointer;text-transform:uppercase;letter-spacing:var(--tracking-caps);transition:all var(--duration-fast) ease;--glow-rgb: var(--color-primary-rgb);box-shadow:var(--shadow-glow);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.edit-profile-button:hover{background:var(--gradient-secondary-hover);box-shadow:var(--shadow-glow-hover);transform:translateY(-1px)}.edit-profile-button:active{transform:scale(.98) translateY(0)}@media(max-width:768px){.settings-page{padding:0}.modal-panel.settings-modal{max-width:100%}.settings-content{max-height:none;flex:1}.settings-header{padding:calc(1rem + var(--safe-top)) 1rem 1rem}.settings-header h1{font-size:var(--text-xl)}.profile-section,.subscription-section{padding:var(--space-6) var(--space-4);min-height:auto;flex:1}}@media(max-width:480px){.settings-header{padding:calc(.75rem + var(--safe-top)) 1rem .75rem}.settings-header h1{font-size:var(--text-xl)}.close-button{font-size:var(--text-base)}.tab-button{padding:var(--space-3) var(--space-2);font-size:var(--text-sm);letter-spacing:var(--tracking-none)}.profile-view{padding:var(--space-4)}.edit-profile-button,.manage-subscription-button{font-size:var(--text-base);padding:.8rem var(--space-6)}}.profile-section{padding:var(--space-8);flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.profile-section .loading-state,.profile-section .error-state,.profile-section .no-questionnaire{text-align:center;padding:var(--space-8);color:var(--color-gray-600);font-family:var(--font-primary)}.profile-section .error-state button{margin-top:var(--space-4);padding:var(--space-2) var(--space-6);background:var(--color-primary-500);color:var(--ink-inverse);border:none;border-radius:var(--radius-base);cursor:pointer;font-family:var(--font-primary);font-weight:var(--font-bold)}.profile-view{background:var(--bg-primary);border-radius:var(--radius-large);padding:var(--space-6) var(--space-8);border:2px solid var(--color-gray-200);box-shadow:var(--shadow-raised);position:relative;z-index:1}.profile-view h2{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-dark-primary);margin:0 0 var(--space-4) 0;border-bottom:2px solid var(--color-gray-200);padding-bottom:var(--space-3)}.settings-page .success-message{background:var(--color-success-100);color:var(--color-success-800);padding:var(--space-3) var(--space-4);border-radius:var(--radius-base);margin-bottom:var(--space-4);font-family:var(--font-primary);font-weight:var(--font-bold)}.no-profile{color:var(--ink-tertiary);font-style:italic;margin:var(--space-4) 0}.profile-actions{display:flex;justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:none}.profile-actions button{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);border-radius:var(--radius-base);padding:var(--space-3) var(--space-6);cursor:pointer;text-transform:uppercase;letter-spacing:var(--tracking-caps);transition:all var(--duration-fast) ease}.profile-actions .edit-profile-button{color:var(--ink-inverse);background:var(--gradient-secondary);border:none;--glow-rgb: var(--color-primary-rgb);box-shadow:var(--shadow-glow)}.profile-actions .edit-profile-button:hover{background:var(--gradient-secondary-hover);box-shadow:var(--shadow-glow-hover);transform:translateY(-1px)}.profile-actions .save-profile-button{color:var(--comic-ink);background:linear-gradient(135deg,var(--color-success-500) 0%,var(--color-success-600) 100%);border:none;--glow-rgb: 34, 197, 94;box-shadow:var(--shadow-glow)}.profile-actions .save-profile-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-600) 0%,var(--color-success-700) 100%);box-shadow:var(--shadow-glow-hover);transform:translateY(-1px)}.profile-actions .save-profile-button:disabled{background:var(--color-gray-300);cursor:not-allowed;box-shadow:none;transform:none}.profile-actions .cancel-button{color:var(--ink-secondary);background:var(--bg-primary);border:2px solid var(--color-gray-300)}.profile-actions .cancel-button:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.profile-actions .cancel-button:disabled{opacity:.6;cursor:not-allowed}.profile-section .settings-content{padding:var(--space-6)}.profile-section .onboarding-badge{background:var(--gradient-secondary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-large) var(--radius-large) 0 0}.profile-section .form-footer{display:flex;justify-content:flex-end;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.profile-form-scroll-area{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-4);max-height:45vh}.profile-question-section{display:flex;flex-direction:column;gap:var(--space-4)}.profile-section-title{margin:0;padding-bottom:var(--space-2);font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-bottom:2px dashed var(--color-gray-300)}.profile-section-description{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-500);font-style:italic;margin:0 0 var(--space-2) 0;line-height:var(--leading-normal)}.profile-question{display:flex;flex-direction:column;gap:.35rem;position:relative}.profile-question-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.profile-question-label-row .profile-question-label{align-self:center}.profile-question-label{font-family:var(--font-handwritten);font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;color:var(--color-gray-700)}.profile-required{color:var(--color-error-600);margin-left:var(--space-1)}.profile-question-input{width:100%;padding:.8rem var(--space-4);border:var(--border-dashed);border-radius:var(--radius-base);font-family:var(--font-handwritten);font-size:var(--text-lg);color:var(--color-gray-700);background:transparent;transition:all var(--duration-normal) ease;box-sizing:border-box}.profile-question-input:focus{outline:none;border-color:var(--color-primary-500);border-style:solid;background:var(--bg-primary)}.profile-question-input::placeholder{color:var(--color-gray-400);font-style:italic}.profile-question-input:disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.7}textarea.profile-question-input{resize:vertical;min-height:70px}.profile-question-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:var(--inset-affordance);cursor:pointer}.profile-question-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}.profile-question-number{appearance:textfield;-moz-appearance:textfield}.profile-question-number::-webkit-inner-spin-button,.profile-question-number::-webkit-outer-spin-button{opacity:1;height:2rem}.profile-multiselect-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2);padding:var(--space-2);border:var(--border-dashed);border-radius:var(--radius-base);background:var(--color-gray-50)}.profile-multiselect-option{min-height:var(--touch-target-min);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);cursor:pointer;font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-700);transition:all var(--duration-fast) ease;-webkit-user-select:none;user-select:none}.profile-multiselect-option:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.profile-multiselect-option:has(input:checked){background:var(--color-primary-50);border-color:var(--color-primary-500);color:var(--color-primary-600)}.profile-multiselect-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary-500);cursor:pointer}.profile-multiselect-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-help-text{font-size:var(--text-sm);color:var(--color-gray-500);font-family:var(--font-handwritten);font-style:italic;margin-top:var(--space-1)}.profile-field-value{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-primary);background:var(--color-gray-50);padding:var(--space-3) var(--space-4);border-radius:var(--radius-base);border:1px solid var(--color-gray-200)}.profile-view.editing{display:flex;flex-direction:column;flex:1;min-height:0}.subscription-section{padding:var(--space-8);flex:1}.subscription-section h3{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-dark-primary);margin:0 0 var(--space-6) 0}.subscription-info{background:var(--bg-primary);border-radius:var(--radius-base);padding:var(--space-6);margin-bottom:var(--space-6);border:2px solid var(--color-gray-200);box-shadow:var(--shadow-raised)}.subscription-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-gray-50);font-family:var(--font-primary)}.subscription-row:last-child{border-bottom:none}.subscription-row .label{font-weight:var(--font-bold);color:var(--ink-secondary)}.subscription-row .value{font-weight:var(--font-bold);color:var(--ink-primary)}.subscription-row .value.status-active{color:var(--color-success-600)}.subscription-row .value.status-trialing{color:var(--color-primary-600)}.subscription-row .value.status-past_due{color:var(--color-error-600)}.subscription-row .value.status-canceled{color:var(--ink-tertiary)}.settings-page .error-message{background:var(--color-error-100);color:var(--color-error-600);padding:var(--space-3) var(--space-4);border-radius:var(--radius-base);margin-bottom:var(--space-4);font-family:var(--font-primary)}.subscription-actions{text-align:center}.manage-subscription-button{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ink-inverse);background:var(--gradient-secondary);border:none;border-radius:var(--radius-base);padding:.9rem var(--space-8);cursor:pointer;text-transform:uppercase;letter-spacing:var(--tracking-caps);transition:all var(--duration-fast) ease;--glow-rgb: var(--color-primary-rgb);box-shadow:var(--shadow-glow)}.manage-subscription-button:hover:not(:disabled){background:var(--gradient-secondary-hover);box-shadow:var(--shadow-glow-hover);transform:translateY(-2px)}.manage-subscription-button:disabled{background:var(--color-gray-300);cursor:not-allowed;box-shadow:none}.subscription-help{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary);margin-top:var(--space-3)}.notifications-section{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.notifications-push-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-primary-50);border:2px solid var(--color-primary-200);border-radius:var(--radius-base)}.push-banner-text{display:flex;flex-direction:column;gap:.2rem}.push-banner-title{font-family:var(--font-primary);font-weight:var(--font-bold);font-size:var(--text-base);color:var(--color-primary-700)}.push-banner-desc{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-primary-600)}.push-enable-button{flex-shrink:0;padding:var(--space-2) var(--space-4);background:var(--color-primary-600);color:var(--ink-inverse);border:none;border-radius:var(--radius-full);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-display);text-transform:uppercase;cursor:pointer;transition:background var(--duration-fast) ease}.push-enable-button:hover{background:var(--color-primary-700)}.push-enable-button:disabled{cursor:not-allowed;opacity:.6}.notifications-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;border:2px solid var(--border-light);border-radius:var(--radius-base);overflow:hidden}.notification-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--bg-primary);border-bottom:1px solid var(--border-light)}.notification-row:last-child{border-bottom:none}.notification-info{display:flex;flex-direction:column;gap:.2rem;flex:1}.notification-name{font-family:var(--font-primary);font-weight:var(--font-bold);font-size:var(--text-base);color:var(--ink-primary)}.notification-desc{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-secondary)}.toggle-switch{position:relative;display:inline-block;width:48px;height:28px;flex-shrink:0;cursor:pointer}.toggle-switch.saving{opacity:.5;pointer-events:none}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background:var(--color-gray-300);border-radius:var(--radius-full);transition:background var(--duration-normal) ease}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:4px;top:4px;background:#fff;border-radius:var(--radius-full);transition:transform var(--duration-normal) ease;box-shadow:var(--shadow-raised)}.toggle-switch input:checked+.toggle-slider{background:var(--color-primary-500)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.notifications-loading,.notifications-empty{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-secondary);text-align:center;padding:var(--space-8) 0}.notifications-web-note{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary);text-align:center;margin:0}.settings-legal-footer{border-top:1px solid var(--border-light);padding:var(--space-4) var(--space-6) var(--space-6);text-align:center}.settings-legal-links{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.settings-legal-link{background:none;border:none;padding:var(--space-1) var(--space-2);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-link);text-decoration:underline;cursor:pointer}.settings-legal-link:hover{color:var(--ink-link-hover)}.settings-legal-separator{color:var(--ink-tertiary)}.settings-legal-accepted,.settings-legal-entity{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary);margin:var(--space-1) 0 0}.account-data-section{border-top:1px solid var(--border-light);margin-top:var(--space-6);padding-top:var(--space-6)}.account-data-heading{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-primary);margin:0 0 var(--space-4)}.account-data-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0}.account-data-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.account-data-title{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-primary)}.account-data-desc{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary)}.account-data-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-error-300);border-radius:var(--radius-base);background:var(--color-error-50)}.account-data-confirm label{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-error-700)}.account-data-confirm input{min-height:var(--touch-target-min);padding:var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-base);font-family:var(--font-primary);font-size:var(--text-base)}.account-data-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.voice-input{position:relative;display:inline-flex;align-items:center;gap:var(--space-1)}.voice-input-button{position:relative;display:flex;align-items:center;justify-content:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-gray-500);cursor:pointer;transition:all var(--duration-fast) ease}.voice-input-button:hover:not(:disabled){background-color:var(--bg-overlay-light);color:var(--color-gray-700);transform:scale(1.1)}.voice-input-button:active:not(:disabled){background-color:#0000001f;transform:scale(.95)}.voice-input-button:disabled{cursor:default;opacity:.7}.voice-input-button svg{position:relative;width:20px;height:20px}.voice-input-button.is-recording{color:var(--color-error-500)}.voice-input-button.is-recording:hover{color:var(--color-error-600)}.voice-input-level{position:absolute;inset:var(--space-2);border-radius:var(--radius-full);background-color:var(--color-error-500);opacity:0;transition:transform var(--duration-fast) ease-out}.voice-input-button.is-recording .voice-input-level{opacity:.22}.voice-input-elapsed{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--color-error-500);font-variant-numeric:tabular-nums}.voice-input-cancel{display:flex;align-items:center;justify-content:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-1);border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-gray-500);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) ease}.voice-input-cancel:hover{background-color:var(--bg-overlay-light);color:var(--color-gray-700)}.voice-input-button.is-error{color:var(--color-error-600)}.voice-input-button.is-error:hover:not(:disabled){color:var(--color-error-700)}.voice-input-error{position:absolute;bottom:100%;right:0;z-index:var(--z-dropdown);display:flex;align-items:center;gap:var(--space-1);width:max-content;max-width:15rem;margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-error-100);border-radius:var(--radius-base);background-color:var(--color-error-50);box-shadow:var(--shadow-overlay);color:var(--color-error-700);font-family:var(--font-primary);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:left}.voice-input-dismiss{flex-shrink:0;align-self:flex-start;padding:0;border:none;background:transparent;color:var(--color-error-700);font-size:var(--text-xs);line-height:var(--leading-none);cursor:pointer}.voice-input-spinner{width:20px;height:20px;border:2px solid var(--color-gray-300);border-top-color:var(--color-gray-500);border-radius:var(--radius-full);animation:voice-input-spin .8s linear infinite}@keyframes voice-input-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.voice-input-button,.voice-input-level,.voice-input-cancel{transition:none}.voice-input-button.is-error{color:var(--color-error-600)}.voice-input-button.is-error:hover:not(:disabled){color:var(--color-error-700)}.voice-input-error{position:absolute;bottom:100%;right:0;z-index:var(--z-dropdown);display:flex;align-items:center;gap:var(--space-1);width:max-content;max-width:15rem;margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-error-100);border-radius:var(--radius-base);background-color:var(--color-error-50);box-shadow:var(--shadow-overlay);color:var(--color-error-700);font-family:var(--font-primary);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:left}.voice-input-dismiss{flex-shrink:0;align-self:flex-start;padding:0;border:none;background:transparent;color:var(--color-error-700);font-size:var(--text-xs);line-height:var(--leading-none);cursor:pointer}.voice-input-spinner{animation:voice-input-spin 2s linear infinite}}.voice-input-clipboard .voice-input-button{color:var(--color-gray-600)}.voice-input-clipboard .voice-input-button:hover:not(:disabled){background-color:#0000000f;color:var(--color-gray-700)}.voice-input-clipboard .voice-input-elapsed{font-family:var(--font-handwritten)}.read-only .voice-input{pointer-events:none;opacity:.85}.voice-input-field .voice-input-button{color:var(--color-gray-500)}.voice-input-field .voice-input-button:hover:not(:disabled){color:var(--color-primary-600)}.greek-chorus{position:absolute;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);z-index:var(--z-sticky);pointer-events:none;animation:greek-chorus-enter .5s var(--ease-bounce) both;animation-delay:.4s}@keyframes greek-chorus-enter{0%{opacity:0;transform:translateY(20px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}.greek-chorus[data-position=bottom-right]{bottom:-70px;right:-30px}.greek-chorus[data-position=bottom-center]{bottom:-70px;left:50%;transform:translate(-50%)}.greek-chorus[data-position=bottom-center]{animation:greek-chorus-enter-center .5s var(--ease-bounce) both;animation-delay:.4s}@keyframes greek-chorus-enter-center{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.6)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.greek-chorus-balloon{background:var(--bg-primary);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-base);padding:var(--space-2) .7rem;max-width:90px;text-align:center;position:relative;box-shadow:var(--shadow-comic) var(--shadow-comic-ink);margin-bottom:-30px;z-index:1}.greek-chorus-balloon:after{content:"";position:absolute;bottom:-7px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--bg-primary)}.greek-chorus-balloon:before{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--comic-ink)}.greek-chorus-quip{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-normal);font-style:italic;color:var(--color-gray-700);line-height:var(--leading-tight);letter-spacing:var(--tracking-caps);text-transform:uppercase}.greek-chorus-avatar{width:70px;height:auto;position:relative}.greek-chorus-avatar img{width:100%;height:auto;display:block;filter:drop-shadow(2px 2px 3px rgba(0,0,0,.25))}@media(max-width:768px){.greek-chorus-avatar{width:90px}.greek-chorus[data-position=bottom-right]{bottom:-50px;right:5px}.greek-chorus[data-position=bottom-left]{bottom:-50px;left:5px}.greek-chorus[data-position=bottom-center]{bottom:-50px}.greek-chorus-balloon{max-width:75px;padding:.4rem var(--space-2);margin-bottom:-25px}.greek-chorus-quip{font-size:var(--text-xs)}}@media(max-width:480px){.greek-chorus-avatar{width:70px}.greek-chorus[data-position=bottom-right],.greek-chorus[data-position=bottom-left]{bottom:-40px}.greek-chorus-balloon{max-width:65px;padding:.3rem .4rem}.greek-chorus-quip{font-size:var(--text-xs)}}.countdown-timer-container{position:absolute;bottom:60px;right:12px;z-index:0;pointer-events:none;opacity:.85;transition:opacity var(--duration-normal) ease}.countdown-timer-container:hover{opacity:1}.countdown-timer-svg{width:240px;height:240px;filter:drop-shadow(4px 4px 8px rgba(0,0,0,.2))}.countdown-timer-face{fill:var(--bg-primary);stroke:var(--color-primary-400);stroke-width:3}.countdown-timer-text{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-bold);fill:var(--ink-primary);dominant-baseline:central;text-anchor:middle}.countdown-timer-label{font-family:var(--font-primary);font-size:8px;fill:var(--ink-tertiary);dominant-baseline:central;text-anchor:middle}.countdown-timer-arc-from{stop-color:var(--color-primary-400)}.countdown-timer-arc-to{stop-color:var(--color-primary-500)}.countdown-timer-crown{fill:var(--color-primary-400)}.countdown-timer-button{fill:var(--color-accent-400);stroke:var(--color-accent-500);stroke-width:1}@media(max-width:768px){.countdown-timer-svg{width:120px;height:120px}}.timer-widget{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-primary);border:var(--comic-outline-thin) solid var(--comic-ink-chrome);border-radius:var(--radius-base);box-shadow:var(--shadow-comic) var(--comic-ink-chrome);width:100%;max-width:280px;margin:var(--space-2) auto 0;font-family:var(--font-primary);position:relative;z-index:1}.timer-widget__clock-ring{width:96px;height:96px}.timer-widget__svg{width:100%;height:100%}.timer-widget__ring-bg{fill:none;stroke:var(--color-gray-100);stroke-width:8}.timer-widget__ring-fill{fill:none;stroke:url(#timer-ring-gradient);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .5s linear}.timer-widget--complete .timer-widget__ring-fill{stroke:var(--color-success-500);transition:stroke var(--duration-normal) ease,stroke-dasharray .5s linear}.timer-widget__time-text{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);fill:var(--ink-primary);dominant-baseline:central}.timer-widget__steps{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:var(--space-1)}.timer-widget__step{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-tight);font-size:var(--text-xs);color:var(--ink-tertiary);transition:background var(--duration-fast) ease}.timer-widget__step--active{background:var(--color-accent-100);color:var(--color-accent-800);font-weight:var(--font-bold)}.timer-widget__step--done{color:var(--color-success-600)}.timer-widget__step-marker{min-width:18px;font-size:var(--text-xs);font-weight:var(--font-bold);text-align:center}.timer-widget__step-label{line-height:var(--leading-tight)}.timer-widget__controls{display:flex;gap:var(--space-2)}.timer-widget__btn{padding:var(--space-1) var(--space-3);border:var(--comic-outline-thin) solid var(--comic-ink-chrome);border-radius:var(--radius-base);background:var(--bg-primary);color:var(--ink-primary);font-size:var(--text-xs);font-weight:var(--font-bold);font-family:var(--font-primary);letter-spacing:var(--tracking-display);text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-comic) var(--comic-ink-chrome);transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.timer-widget__btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-comic) var(--comic-ink-chrome)}.timer-widget__btn:active{transform:translate(1px,1px);box-shadow:var(--shadow-comic-pressed) var(--comic-ink-chrome)}.timer-widget__btn--start{background:var(--gradient-confirm);color:var(--comic-ink-chrome);border-color:var(--comic-ink-chrome)}.timer-widget__btn--resume{background:var(--gradient-secondary);color:var(--ink-inverse);border-color:var(--comic-ink-chrome)}.timer-widget__btn--done{border-color:var(--color-success-600);color:var(--color-success-700);box-shadow:var(--shadow-comic) var(--color-success-600)}.timer-widget__btn--done:hover{box-shadow:var(--shadow-comic) var(--color-success-600)}.timer-widget__btn--done:active{box-shadow:var(--shadow-comic-pressed) var(--color-success-600)}.timer-widget__complete{font-size:var(--text-sm);font-weight:var(--font-bold);font-family:var(--font-primary);color:var(--color-success-700);padding:var(--space-1) 0}@media(max-width:768px){.timer-widget{max-width:100%;box-shadow:var(--shadow-comic) var(--comic-ink-chrome)}.timer-widget__clock-ring{width:80px;height:80px}.timer-widget__time-text{font-size:var(--text-lg)}}@media(max-width:480px){.timer-widget{padding:var(--space-2);gap:var(--space-2)}.timer-widget__btn{padding:var(--space-1) var(--space-2)}}.gp-outer{display:flex;flex-direction:column;background:var(--comic-ink);gap:3px;overflow:hidden;flex:1;margin-left:-1rem;margin-right:-1rem;position:relative;z-index:1}.gp-establishing{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;background:var(--bg-primary);padding:.4rem .55rem 0;gap:.4rem;flex:1;min-height:120px;overflow:hidden}.gp-mentor{flex-shrink:0;--gp-mentor-height: clamp(150px, 26vh, 230px);align-self:flex-end;height:var(--gp-mentor-height);overflow:hidden}.gp-mentor img{height:calc(var(--gp-mentor-height) / var(--sprite-thighs));width:auto;display:block;object-fit:contain;object-position:top}.gp-right{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.35rem}.gp-row{display:flex;flex-direction:row;background:var(--comic-ink);gap:3px;position:relative}.gp-row-qf{height:92px;flex-shrink:0}.gp-row-rp{height:84px;flex-shrink:0}.gp-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.14rem;text-align:center;padding:.45rem .3rem;cursor:pointer;transition:filter var(--duration-instant) ease;position:relative;border:none;outline:none}.gp-cell:hover{filter:brightness(.92)}.gp-cell:active{filter:brightness(.82)}.gp-cell:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.gp-cell.gp-cell-full,.gp-photo.gp-cell-full,.gp-starters.gp-cell-full{flex:1}.gp-sos{background:var(--color-error-50);flex:0 0 55%}.gp-help-buy{background:#f0f9ff;flex:1}.gp-routine{background:var(--color-success-50);flex:0 0 41%}.gp-project{background:var(--color-primary-50);flex:1}.gp-cell-icon{font-size:1.45rem;line-height:var(--leading-none)}.gp-cell-label{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);color:var(--color-dark-primary);line-height:var(--leading-none)}.gp-cell-desc{font-size:var(--text-xs);color:var(--ink-tertiary);font-family:var(--font-handwritten);line-height:var(--leading-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gp-bottom-row{display:flex;flex-direction:row;height:74px;flex-shrink:0;background:var(--comic-ink);gap:3px;position:relative}.gp-photo{flex:0 0 57%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.14rem;background:#fefce8;border:none;cursor:pointer;transition:filter var(--duration-instant) ease;padding:.45rem .3rem;outline:none;text-align:center}.gp-photo:hover{filter:brightness(.94)}.gp-photo:active{filter:brightness(.84)}.gp-photo:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.gp-ph-icon{font-size:1.1rem;line-height:var(--leading-none)}.gp-ph-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);color:var(--color-dark-primary);line-height:var(--leading-none)}.gp-ph-desc{font-size:var(--text-xs);color:var(--ink-tertiary);font-family:var(--font-handwritten);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gp-starters{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;background:var(--color-primary-50);border:none;cursor:pointer;transition:filter var(--duration-instant) ease;padding:.3rem;text-align:center;outline:none}.gp-starters:hover{filter:brightness(.94)}.gp-starters:active{filter:brightness(.84)}.gp-starters:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.gp-starters-icon{font-size:1.05rem;line-height:var(--leading-none)}.gp-starters-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);color:var(--color-dark-primary);line-height:var(--leading-none)}.gp-starters-desc{font-size:var(--text-xs);color:var(--ink-tertiary);font-family:var(--font-handwritten)}.gp-blade{position:absolute;background:var(--comic-ink);z-index:var(--z-sticky);pointer-events:none}.gp-blade-v-qf{width:14px;height:120px;top:50%;left:calc(55% + 1.5px);transform:translate(-50%,-50%) rotate(-6deg)}.gp-blade-v-rp{width:14px;height:110px;top:50%;left:calc(41% + 1.5px);transform:translate(-50%,-50%) rotate(6deg)}.gp-blade-v-bot{width:14px;height:96px;top:50%;left:calc(57% + 1.5px);transform:translate(-50%,-50%) rotate(-5deg)}.gp-blade-h-top{width:110%;height:8px;left:-5%;top:-4px;transform:rotate(1.5deg);transform-origin:left center}.gp-blade-h-mid{width:110%;height:8px;left:-5%;top:-4px;transform:rotate(-2deg);transform-origin:left center}.gp-blade-h-bot{width:110%;height:8px;left:-5%;top:-4px;transform:rotate(1deg);transform-origin:left center}.app .about-wave-wrapper{position:relative;cursor:pointer}.app .about-wave{font-size:clamp(1.8rem,4vw,2.5rem);display:block;animation:waveFloat 2.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,193,7,.6)) drop-shadow(0 0 16px rgba(255,152,0,.3))}.app .about-wave-wrapper:hover .about-wave{animation:waveBounce .4s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(255,193,7,.9)) drop-shadow(0 0 24px rgba(255,152,0,.6))}.app .about-tooltip{position:absolute;top:-28px;left:50%;transform:translate(-50%) scale(0);color:var(--ink-inverse);font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;padding:.35rem .7rem;border-radius:var(--radius-tight);white-space:nowrap;opacity:0;transition:all var(--duration-normal) ease;pointer-events:none}.app .about-wave-wrapper:hover .about-tooltip{transform:translate(-50%) scale(1);opacity:1}.app .about-wave-wrapper:focus{outline:var(--focus-ring-width) solid var(--color-accent-400);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-tight)}@keyframes waveFloat{0%,to{transform:translateY(0) scale(1) rotate(-10deg)}25%{transform:translateY(-5px) scale(1.05) rotate(15deg)}50%{transform:translateY(-8px) scale(1.08) rotate(-10deg)}75%{transform:translateY(-5px) scale(1.05) rotate(15deg)}}@keyframes waveBounce{0%,to{transform:scale(1.2) rotate(-15deg)}50%{transform:scale(1.3) rotate(20deg)}}.app .choice-bubble-container{position:relative;margin-bottom:var(--space-8);min-width:9rem;padding:0;overflow:visible;background:transparent}.app .choice-bubble-container:after{left:auto;right:30%;border-width:2.2rem .6rem 0 .4rem;border-color:#ffe0b2 transparent;transform:rotate(8deg)}.app .choice-bubble-container:before{left:auto;right:29.5%;border-width:2.5rem .75rem 0 .55rem;transform:rotate(8deg)}.app .stacked-choice-options{display:flex;flex-direction:row;width:100%;position:relative}.app .choice-option-btn{padding:var(--space-4) .8rem;border:none;cursor:pointer;font-family:var(--font-primary);font-weight:var(--font-bold);font-size:var(--text-base);text-transform:uppercase;transition:all var(--duration-fast) ease;text-align:center;line-height:var(--leading-normal);flex:1}.app .choice-option-btn.option-a{background:var(--gradient-choice-a);color:var(--color-primary-800);border-radius:var(--radius-base) 0 0 var(--radius-base);padding-right:1.8rem}.app .choice-option-btn.option-a:hover{background:var(--gradient-choice-a-hover)}.app .choice-option-btn.option-b{background:var(--gradient-choice-b);color:#e65100;border-radius:0 var(--radius-base) var(--radius-base) 0;padding-left:1.8rem}.app .choice-option-btn.option-b:hover{background:var(--gradient-choice-b-hover)}.app .choice-option-btn.selected{box-shadow:inset 0 0 0 3px var(--comic-ink);font-weight:var(--font-bold)}.app .choice-or-badge{flex-shrink:0;align-self:center;margin:0 -.9rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--color-gray-50) 100%);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-full);width:1.8rem;height:1.8rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-weight:var(--font-bold);font-size:var(--text-xs);color:var(--comic-ink);box-shadow:0 0 0 3px #fff,var(--shadow-comic) 3px #00000026;z-index:var(--z-dropdown);pointer-events:none}.app .photo-mounted-background{position:absolute;inset:12px;z-index:0;overflow:hidden;background:var(--bg-primary);border-radius:var(--radius-tight);box-shadow:var(--shadow-float);transform:rotate(-1deg);padding:10px}.app .photo-mounted-image{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:var(--photo-corner-radius);display:block}.app .photo-mounted-overlay{position:absolute;inset:10px;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.15) 100%);pointer-events:none;border-radius:var(--photo-corner-radius)}.app .photo-mounted-background .photo-corner{position:absolute;width:24px;height:24px;z-index:var(--z-dropdown)}.app .photo-mounted-background .photo-corner:before,.app .photo-mounted-background .photo-corner:after{content:"";position:absolute;background:var(--gradient-kraft);box-shadow:var(--shadow-inset-highlight)}.app .photo-mounted-background .photo-corner.top-left{top:6px;left:6px}.app .photo-mounted-background .photo-corner.top-left:before{width:20px;height:6px;top:0;left:0;border-radius:var(--photo-corner-radius) var(--photo-corner-radius) 0 0}.app .photo-mounted-background .photo-corner.top-left:after{width:6px;height:20px;top:0;left:0;border-radius:var(--photo-corner-radius) 0 0 var(--photo-corner-radius)}.app .photo-mounted-background .photo-corner.top-right{top:6px;right:6px}.app .photo-mounted-background .photo-corner.top-right:before{width:20px;height:6px;top:0;right:0;border-radius:var(--photo-corner-radius) var(--photo-corner-radius) 0 0}.app .photo-mounted-background .photo-corner.top-right:after{width:6px;height:20px;top:0;right:0;border-radius:0 var(--photo-corner-radius) var(--photo-corner-radius) 0}.app .photo-mounted-background .photo-corner.bottom-left{bottom:6px;left:6px}.app .photo-mounted-background .photo-corner.bottom-left:before{width:20px;height:6px;bottom:0;left:0;border-radius:0 0 var(--photo-corner-radius) var(--photo-corner-radius)}.app .photo-mounted-background .photo-corner.bottom-left:after{width:6px;height:20px;bottom:0;left:0;border-radius:var(--photo-corner-radius) 0 0 var(--photo-corner-radius)}.app .photo-mounted-background .photo-corner.bottom-right{bottom:6px;right:6px}.app .photo-mounted-background .photo-corner.bottom-right:before{width:20px;height:6px;bottom:0;right:0;border-radius:0 0 var(--photo-corner-radius) var(--photo-corner-radius)}.app .photo-mounted-background .photo-corner.bottom-right:after{width:6px;height:20px;bottom:0;right:0;border-radius:0 var(--photo-corner-radius) var(--photo-corner-radius) 0}.app .box:has(.photo-mounted-background) .balloon-zone{position:relative;z-index:2}.app .box:has(.photo-mounted-background) .character-zone{position:relative;z-index:1}.app .box:has(.photo-mounted-background):before{display:none}.app .box:has(.photo-mounted-background){background:var(--color-gray-100);padding:var(--space-4) var(--space-4) 0 var(--space-4)}@media(max-width:768px){.app .photo-mounted-background{inset:8px;padding:8px}.app .photo-mounted-background .photo-corner{width:18px;height:18px}.app .photo-mounted-background .photo-corner:before{width:15px;height:5px}.app .photo-mounted-background .photo-corner:after{width:5px;height:15px}}.app .space-photo-container{position:absolute;top:8px;right:8px;width:40%;max-width:200px;z-index:5;border-radius:var(--radius-base);overflow:hidden;box-shadow:0 4px 12px #0000004d,0 0 0 3px var(--color-gray-700),0 0 0 5px var(--bg-primary);transform:rotate(3deg);transition:transform var(--duration-slow) ease,box-shadow var(--duration-slow) ease}.app .space-photo-container:hover{transform:rotate(0) scale(1.05);box-shadow:0 8px 24px #0006,0 0 0 3px var(--color-gray-700),0 0 0 5px var(--bg-primary)}.app .space-photo{width:100%;height:auto;display:block;object-fit:cover;max-height:150px}.app .space-photo-container:after{content:"📍 My Space";position:absolute;bottom:0;left:0;right:0;background:#fffffff2;padding:4px 8px;font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-bold);color:var(--color-gray-700);text-align:center}.app .box:has(.space-photo-container) .balloon-zone{padding-right:45%}@media(max-width:480px){.app .space-photo-container{width:35%;max-width:120px;top:4px;right:4px}.app .space-photo{max-height:100px}.app .space-photo-container:after{font-size:var(--text-xs);padding:2px 4px}.app .box:has(.space-photo-container) .balloon-zone{padding-right:40%}}.questionnaire-submission-content{display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.questionnaire-icon{font-size:var(--icon-lg);display:inline-block;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2));animation:iconPop .4s var(--ease-bounce) forwards}@keyframes iconPop{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.xkcd-flowchart{display:flex;justify-content:center;align-items:center;width:100%;padding:var(--space-4);box-sizing:border-box}.xkcd-flowchart svg{max-width:100%;height:auto;font-family:var(--font-primary);animation:flowChartFadeIn .4s ease-out}.xkcd-flowchart svg text{font-family:var(--font-primary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}@keyframes flowChartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.xkcd-flowchart__text{fill:var(--comic-ink)}.xkcd-flowchart__box{fill:var(--bg-primary);stroke:var(--comic-ink)}.xkcd-flowchart__ink{fill:none;stroke:var(--comic-ink)}.xkcd-flowchart__link{cursor:pointer;fill:var(--color-primary-600);font-weight:var(--font-normal);text-decoration:underline;transition:fill var(--duration-fast) ease}.xkcd-flowchart__link:hover{fill:var(--color-primary-800)}.scroll-arrows-wrapper{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.scroll-arrows-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.scroll-arrows-content::-webkit-scrollbar{width:4px}.scroll-arrows-content::-webkit-scrollbar-thumb{background:#00000026;border-radius:var(--radius-tight)}.scroll-arrows-fade{position:absolute;left:0;right:0;height:28px;pointer-events:none;opacity:0;transition:opacity var(--duration-normal) ease;z-index:3}.scroll-arrows-fade.visible{opacity:1}.scroll-arrows-fade--top{top:0;background:linear-gradient(to bottom,#ffffffd9,#fff0)}.scroll-arrows-fade--bottom{bottom:0;background:linear-gradient(to top,#ffffffd9,#fff0)}.scroll-arrows-btn{position:absolute;left:50%;transform:translate(-50%);z-index:4;display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:28px;padding:0;border:none;border-radius:var(--radius-full);background:#00000073;color:var(--ink-inverse);cursor:pointer;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:scroll-arrow-fade-in .25s ease-out both;outline:none;-webkit-tap-highlight-color:transparent}.scroll-arrows-btn:active{background:#0009;transform:translate(-50%) scale(.93)}.scroll-arrows-btn--up{top:2px}.scroll-arrows-btn--down{bottom:2px;animation:scroll-arrow-fade-in .25s ease-out both,scroll-arrow-bounce 1.8s ease-in-out .5s 3}@keyframes scroll-arrow-fade-in{0%{opacity:0}to{opacity:1}}@keyframes scroll-arrow-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(3px)}}@media(prefers-reduced-motion:reduce){.scroll-arrows-btn,.scroll-arrows-btn--down{animation:none}.scroll-arrows-fade{transition:none}}@media(max-width:768px){.scroll-arrows-btn{width:40px;height:26px;box-sizing:content-box;padding:9px 2px;margin:-9px -2px}.scroll-arrows-fade{height:22px}}.ptt-card{position:relative;display:flex;flex-direction:column;height:100%;max-width:100%;border:3px solid var(--color-gray-700);border-radius:var(--radius-base);padding:var(--space-4);font-family:var(--font-primary);background-color:var(--ptt-bg-color, #f5f5f5);box-shadow:var(--shadow-comic-lifted) var(--shadow-comic-ink);transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease;box-sizing:border-box}.ptt-card[data-card-type=warning]{border-color:var(--color-error-600);box-shadow:var(--shadow-comic-lifted) var(--color-error-600)}.ptt-card.has-step{--step-gold: #d4a017;border-color:var(--step-gold);box-shadow:var(--shadow-comic-lifted) var(--step-gold)}.ptt-message-badge{position:absolute;top:-15px;right:-10px;background:linear-gradient(135deg,var(--color-error-400),#ffa502);color:var(--ink-inverse);font-size:var(--text-xs);font-weight:var(--font-bold);padding:.35rem .6rem;border-radius:var(--radius-tight);border:2px solid var(--color-gray-700);box-shadow:var(--shadow-comic) var(--color-gray-700);transform:rotate(3deg);z-index:var(--z-dropdown);text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap}.ptt-card-content{display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--space-4)}.ptt-card-header{display:flex;align-items:flex-start;gap:var(--space-3)}.ptt-card-icon{font-size:var(--icon-md);line-height:var(--leading-none);flex-shrink:0}.ptt-card-title{flex:1}.ptt-card-type-label{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--ink-secondary);text-transform:uppercase;letter-spacing:var(--tracking-caps);line-height:var(--leading-none);margin:0 0 .15rem;opacity:.75}.ptt-card-title h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ink-primary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.ptt-card-header,.ptt-avatar-section{flex-shrink:0}.ptt-avatar-section{margin:var(--space-2) 0}.ptt-speech-bubble{flex:1;z-index:3;font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:center}.ptt-instruction-text{margin:0}.ptt-bubble-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);padding-top:.4rem;border-top:2px dashed var(--color-gray-300);gap:var(--space-2)}.ptt-pagination{font-size:var(--text-sm);color:var(--color-gray-500);font-style:italic;font-weight:var(--font-normal)}.ptt-next-button{display:inline-flex;align-items:center;gap:var(--space-1)}.ptt-reference-sections{display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:2;background-color:var(--ptt-bg-color, #f5f5f5)}.ptt-card-section{display:flex;gap:var(--space-2);padding:var(--space-2);background:#fff9;border-radius:var(--radius-base);border:1px solid rgba(0,0,0,.1)}.ptt-card-section-icon{font-size:var(--text-base);flex-shrink:0}.ptt-card-section strong{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-secondary);margin-bottom:var(--space-1)}.ptt-card-section ul{margin:0;padding-left:var(--space-4);font-size:var(--text-sm)}.ptt-card-section li{margin-bottom:.125rem;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.ptt-card-recipe{background:#9c27b01a;border-color:#9c27b033}.ptt-card-instructions{margin:var(--space-2) 0 0;font-style:italic;font-size:var(--text-sm)}.ptt-card-tips{background:#ffc10733;border-color:#ffc1074d}.ptt-card-avoid{background:#f4433626;border:2px solid rgba(244,67,54,.3)}.ptt-card-option .ptt-card-section-icon{font-weight:var(--font-bold);color:var(--ink-secondary);min-width:1ch;text-align:center}.ptt-card-option.is-best{--glow-rgb: var(--color-primary-rgb);--glow-alpha: .5;border:2px solid var(--color-primary-400);box-shadow:var(--shadow-glow)}.ptt-option-best-tag{display:inline-block;margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-primary-700)}.ptt-option-verdict{margin:0 0 var(--space-1);font-size:var(--text-sm);font-style:italic}.ptt-option-pros li,.ptt-option-cons li{text-transform:none;letter-spacing:normal}.ptt-option-pros li::marker{content:"✔ ";color:var(--color-success-600)}.ptt-option-cons li::marker{content:"✘ ";color:var(--color-error-600)}@media(max-width:768px){.ptt-card{max-width:100%}.ptt-card-icon{font-size:var(--text-2xl)}.ptt-card-title h3{font-size:var(--text-lg)}}@media(prefers-reduced-motion:reduce){.ptt-card:hover,.ptt-next-button:hover,.ptt-next-button:active{transform:none}}.ptt-frame{display:flex;flex-direction:column;width:100%;padding:var(--space-2);box-sizing:border-box;box-shadow:var(--shadow-raised)}.box.ptt-frame{outline:none;padding:1.75rem}.ptt-frame .ptt-card{flex:1 1 auto;max-width:100%;width:100%}@media(max-width:768px){.ptt-frame{padding:var(--space-1)}}.questionnaire-card{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-4);font-family:var(--font-primary);box-sizing:border-box;cursor:pointer;overflow:hidden}.questionnaire-avatar-section{margin:var(--space-1) 0 var(--space-4) 0}.questionnaire-speech-bubble{flex:1;z-index:3;font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:center}.questionnaire-speech-bubble .markdown-content>*:first-child{margin-top:0}.questionnaire-speech-bubble .markdown-content>*:last-child{margin-bottom:0}.questionnaire-speech-bubble p{margin:0 0 .5em;line-height:var(--leading-tight)}.questionnaire-speech-bubble p:last-child{margin-bottom:0}.questionnaire-prompt{margin:0;word-wrap:break-word;overflow-wrap:break-word;cursor:pointer}.questionnaire-prompt p{margin:0}.questionnaire-prompt strong{font-weight:var(--font-bold)}.questionnaire-form-panel{z-index:3;margin-top:var(--space-2)}.questionnaire-form-panel--preview{pointer-events:none}.questionnaire-question{display:flex;flex-direction:column;gap:var(--space-2)}.question-select{padding-right:var(--inset-affordance);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.question-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%233182ce' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}.question-select option{font-family:var(--font-handwritten);padding:var(--space-2)}.question-options{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.option-label{min-height:var(--touch-target-min);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:var(--border-dashed);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;-webkit-user-select:none;user-select:none;font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-700)}.option-label:hover{border-color:var(--color-gray-400);background:var(--color-gray-50)}.option-label.selected{border-color:var(--color-primary-500);border-style:solid;background:var(--option-selected-bg);color:var(--color-primary-600)}.option-label input{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary-500);flex-shrink:0}.option-text{flex:1;font-size:var(--text-base);line-height:var(--leading-normal);cursor:pointer}.questionnaire-submit{display:inline-flex;align-items:center;gap:var(--space-1)}.questionnaire-card.read-only .option-label{cursor:inherit;opacity:.85;pointer-events:none}.questionnaire-card.read-only .option-label:hover{border-color:var(--color-gray-300);background:var(--bg-primary)}.questionnaire-card.read-only .option-label.selected{border-color:var(--color-primary-300);background:var(--option-selected-bg)}.questionnaire-card.read-only .option-label.disabled,.questionnaire-card.read-only .option-label input{cursor:not-allowed}@media(max-width:768px){.questionnaire-card{width:clamp(280px,90vw,450px);padding:var(--space-6)}.option-label{padding:.6rem .85rem}.questionnaire-submit{font-size:var(--text-base)}.questionnaire-card.read-only:before{font-size:var(--text-xs);padding:.2rem var(--space-2)}}.questionnaire-frame{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.questionnaire-frame .questionnaire-card{flex:1 1 auto;max-width:100%;width:100%}@media(max-width:768px){.questionnaire-frame{padding:var(--space-1)}}.hmb-add-text{flex:1 1 0;width:auto;min-width:0;padding:0 var(--space-2);line-height:var(--leading-tight)}.hmb-product-row{flex:0 0 100%;min-height:var(--form-card-tile);display:flex;align-items:stretch;gap:.5rem}.hmb-product-field:focus-within{outline:var(--focus-ring);outline-offset:0}.hmb-text-slot-input:focus,.hmb-text-slot-input:focus-visible{outline:none}.read-only .hmb-product-row{opacity:.85;pointer-events:none}.read-only .hmb-product-thumb,.read-only .hmb-product-field{background:var(--color-gray-50);border-color:var(--color-gray-400);box-shadow:none}.hmb-product-thumb{position:relative;flex:0 0 auto;align-self:center;width:var(--form-card-tile);height:var(--form-card-tile);box-sizing:border-box;border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-base);background:var(--bg-secondary);box-shadow:var(--shadow-comic) var(--shadow-comic-ink);overflow:hidden}.hmb-product-thumb--empty{display:flex;align-items:center;justify-content:center;padding:0;border-style:dashed;border-color:var(--color-gray-400);background:transparent;font-size:var(--text-base);line-height:var(--leading-none);opacity:.7;cursor:pointer}.hmb-product-thumb--empty:hover:not(:disabled){background-color:#0000000f;opacity:1}.hmb-product-thumb--empty:disabled{cursor:default}.hmb-product-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hmb-product-field{position:relative;flex:1;min-width:0;min-height:var(--form-card-tile);display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-base);background:var(--bg-secondary);box-shadow:var(--shadow-comic) var(--shadow-comic-ink)}.hmb-product-name{position:relative;flex:0 1 auto;min-height:2.9rem;min-width:0;display:flex;flex-direction:column;justify-content:center}.hmb-product-field--needs-name{border-color:var(--color-error-500);border-style:solid;background:var(--color-error-100)}.hmb-name-skeleton{position:absolute;inset:.25rem .5rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem;pointer-events:none}.hmb-name-skeleton span{height:.5rem;border-radius:var(--radius-tight);background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:hmb-name-shimmer 1.4s infinite}.hmb-name-skeleton span:last-child{width:60%}.hmb-product-field:focus-within .hmb-name-skeleton{display:none}@keyframes hmb-name-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hmb-text-slot-input{width:100%;box-sizing:border-box;resize:none;overflow-y:auto;padding:.25rem .5rem;line-height:1.2;border:none;background:transparent;font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-700)}.hmb-product-controls{flex:0 0 auto;margin-top:auto;display:flex;align-items:center;justify-content:flex-end;height:2rem}.hmb-product-controls .voice-input-button{width:2rem;height:2rem;min-width:2rem;min-height:2rem;padding:0}.hmb-product-controls .voice-input-button:after{content:"";position:absolute;inset:-6px}.hmb-product-controls .voice-input-elapsed,.hmb-product-controls .voice-input-cancel{display:none}.hmb-product-row .form-card-thumb-remove{position:relative;flex-shrink:0;width:2rem;height:2rem;padding:0;background:transparent;color:var(--color-gray-500);font-size:var(--text-base)}.hmb-product-row .form-card-thumb-remove:after{content:"";position:absolute;inset:-6px}.hmb-product-row .form-card-thumb-remove:hover{background-color:#0000000f;color:var(--color-gray-700)}.hmb-hint{font-family:var(--font-handwritten);font-size:var(--text-sm);color:var(--color-gray-500);margin:-.3rem 0 0}.expression-picker-row{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100%;padding:0 var(--space-6);box-sizing:border-box}.expression-row{display:flex;flex-direction:row;gap:.3rem;width:100%;justify-content:center;align-items:flex-end;padding-bottom:var(--space-2)}.expression-face{width:85px;height:95px;border:var(--comic-outline-heavy) solid var(--comic-ink);border-radius:var(--radius-base);background:var(--bg-primary);cursor:pointer;padding:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;box-shadow:0 0 0 4px var(--bg-primary),var(--shadow-comic) var(--shadow-comic-ink);transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease,z-index 0s;animation:fadeIn var(--duration-slow) ease-out backwards}.expression-face:nth-child(1){transform:rotate(-10deg) translateY(12px);z-index:1}.expression-face:nth-child(2){transform:rotate(-5deg) translateY(4px);z-index:2}.expression-face:nth-child(3){transform:rotate(0) translateY(0);z-index:3}.expression-face:nth-child(4){transform:rotate(5deg) translateY(4px);z-index:2}.expression-face:nth-child(5){transform:rotate(10deg) translateY(12px);z-index:1}.expression-face img{height:123px;width:auto;position:absolute;top:-6px;left:50%;transform:translate(-50%);filter:drop-shadow(1px 0 0 rgba(0,0,0,.15)) drop-shadow(-1px 0 0 rgba(0,0,0,.15));transition:transform var(--duration-fast) ease}.expression-face .face-num{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-gray-500);background:#fffffff2;padding:2px 6px;border-radius:var(--radius-tight);z-index:2;font-family:var(--font-primary)}.expression-face:hover{z-index:10;box-shadow:0 0 0 5px var(--bg-primary),0 0 20px #ffc10799,var(--shadow-comic-lifted) var(--shadow-comic-ink)}.expression-face:nth-child(1):hover{transform:rotate(-10deg) translateY(-8px) scale(1.15)}.expression-face:nth-child(2):hover{transform:rotate(-5deg) translateY(-8px) scale(1.15)}.expression-face:nth-child(3):hover{transform:rotate(0) translateY(-12px) scale(1.15)}.expression-face:nth-child(4):hover{transform:rotate(5deg) translateY(-8px) scale(1.15)}.expression-face:nth-child(5):hover{transform:rotate(10deg) translateY(-8px) scale(1.15)}.expression-face:hover img{transform:translate(-50%) scale(1.05)}.expression-face.selected{z-index:11;box-shadow:0 0 0 5px var(--color-accent-400),0 0 25px #ffc107b3,var(--shadow-comic-lifted) var(--shadow-comic-ink);border-color:var(--color-accent-400)}.expression-face:nth-child(1).selected{transform:rotate(-10deg) translateY(-10px) scale(1.2)}.expression-face:nth-child(2).selected{transform:rotate(-5deg) translateY(-10px) scale(1.2)}.expression-face:nth-child(3).selected{transform:rotate(0) translateY(-15px) scale(1.2)}.expression-face:nth-child(4).selected{transform:rotate(5deg) translateY(-10px) scale(1.2)}.expression-face:nth-child(5).selected{transform:rotate(10deg) translateY(-10px) scale(1.2)}.expression-face.selected .face-num{background:var(--color-accent-400);color:var(--comic-ink);font-weight:var(--font-bold)}.expression-anchors-row{display:flex;justify-content:space-between;width:100%;max-width:480px;font-size:var(--text-xs);color:var(--comic-ink);font-weight:var(--font-bold);text-transform:uppercase;font-family:var(--font-primary);padding:0 var(--space-2);margin-top:var(--space-6)}.expression-anchors-row span{cursor:pointer}.expression-picker-row.disabled{pointer-events:none}.expression-picker-row.disabled .expression-face{cursor:default}.expression-picker-row.disabled .expression-face:hover{z-index:auto;box-shadow:0 0 0 4px var(--bg-primary),var(--shadow-comic) var(--shadow-comic-ink)}.expression-picker-row.disabled .expression-face:nth-child(1):hover{transform:rotate(-10deg) translateY(12px)}.expression-picker-row.disabled .expression-face:nth-child(2):hover{transform:rotate(-5deg) translateY(4px)}.expression-picker-row.disabled .expression-face:nth-child(3):hover{transform:rotate(0) translateY(0)}.expression-picker-row.disabled .expression-face:nth-child(4):hover{transform:rotate(5deg) translateY(4px)}.expression-picker-row.disabled .expression-face:nth-child(5):hover{transform:rotate(10deg) translateY(12px)}.expression-picker-row.disabled .expression-face:hover img{transform:translate(-50%)}.expression-face:nth-child(1){animation-delay:0s}.expression-face:nth-child(2){animation-delay:.05s}.expression-face:nth-child(3){animation-delay:.1s}.expression-face:nth-child(4){animation-delay:.15s}.expression-face:nth-child(5){animation-delay:.2s}@media(max-width:768px){.expression-picker-row{padding:0 var(--space-4)}.expression-face{width:65px;height:75px;border-width:var(--comic-outline-width)}.expression-face img{height:95px}.expression-face .face-num{font-size:var(--text-xs)}.expression-anchors-row{font-size:var(--text-xs);max-width:340px}.expression-face:nth-child(1){transform:rotate(-8deg) translateY(8px)}.expression-face:nth-child(2){transform:rotate(-4deg) translateY(3px)}.expression-face:nth-child(4){transform:rotate(4deg) translateY(3px)}.expression-face:nth-child(5){transform:rotate(8deg) translateY(8px)}.expression-face:nth-child(1):hover{transform:rotate(-8deg) translateY(-6px) scale(1.1)}.expression-face:nth-child(2):hover{transform:rotate(-4deg) translateY(-6px) scale(1.1)}.expression-face:nth-child(3):hover{transform:rotate(0) translateY(-8px) scale(1.1)}.expression-face:nth-child(4):hover{transform:rotate(4deg) translateY(-6px) scale(1.1)}.expression-face:nth-child(5):hover{transform:rotate(8deg) translateY(-6px) scale(1.1)}.expression-picker-row.disabled .expression-face:nth-child(1):hover{transform:rotate(-8deg) translateY(8px)}.expression-picker-row.disabled .expression-face:nth-child(2):hover{transform:rotate(-4deg) translateY(3px)}.expression-picker-row.disabled .expression-face:nth-child(3):hover{transform:rotate(0) translateY(0)}.expression-picker-row.disabled .expression-face:nth-child(4):hover{transform:rotate(4deg) translateY(3px)}.expression-picker-row.disabled .expression-face:nth-child(5):hover{transform:rotate(8deg) translateY(8px)}}.expression-rating-frame{display:flex;flex-direction:column;width:100%;height:100%;box-sizing:border-box;cursor:pointer;position:relative}.expression-rating-frame .balloon-zone{flex:0 0 auto;margin-bottom:var(--space-2)}.expression-rating-frame .character-zone{flex:1;display:flex;align-items:flex-end;justify-content:space-around;padding-bottom:var(--space-4)}.expression-rating-picker{pointer-events:auto}@media(max-width:768px){.expression-rating-frame .character-zone{padding-bottom:var(--space-2)}}.app .expression-rating-burst{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);z-index:var(--z-fixed-ui);display:flex;justify-content:center;align-items:flex-end;padding:0;max-width:100%}.app .box:has(.expression-rating-burst),.app .box:has(.greek-chorus){overflow:visible}.app .box:has(.expression-rating-burst) .character-zone,.app .box:has(.greek-chorus) .character-zone{overflow:hidden}.app .expression-rating-burst{animation:burstContainerEnter .4s var(--ease-bounce)}@keyframes burstContainerEnter{0%{opacity:0;transform:translate(-50%) scale(.5) translateY(40px)}50%{opacity:1;transform:translate(-50%) scale(1.05) translateY(-5px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.badge-comic-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.app .box.badge-comic-frame{padding:var(--space-4);background:radial-gradient(ellipse 70% 45% at 50% 55%,var(--color-paper-cream) 40%,transparent 100%),repeating-conic-gradient(from 0deg at 50% 50%,var(--color-paper-cream) 0deg 3deg,var(--badge-ray-light) 3deg 6deg,var(--badge-ray-dark) 6deg 9deg)}.badge-comic-frame:before{display:none}.badge-shake{animation:badgeShake .4s ease-in-out}@keyframes badgeShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-8px) rotate(-2deg)}20%{transform:translate(8px) rotate(2deg)}30%{transform:translate(-6px) rotate(-1deg)}40%{transform:translate(6px) rotate(1deg)}50%{transform:translate(-4px) rotate(-.5deg)}60%{transform:translate(4px) rotate(.5deg)}70%{transform:translate(-2px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}}.badge-speed-lines{position:absolute;inset:0;z-index:0;opacity:.8}.badge-speed-lines svg{width:100%;height:100%}.badge-speed-lines .speed-line{stroke-dasharray:200;stroke-dashoffset:200;animation:speedLineIn .6s ease-out forwards}@keyframes speedLineIn{to{stroke-dashoffset:0}}.badge-burst-glow{position:absolute;width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,255,255,.6) 30%,rgba(255,245,157,.3) 60%,transparent 80%);border-radius:var(--radius-full);z-index:1;animation:glowPulse 1.5s ease-in-out infinite}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1}}.badge-frame-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);z-index:var(--z-dropdown);opacity:0;transform:scale(.8);transition:opacity var(--duration-slow) ease,transform var(--duration-slow) ease}.badge-frame-content.visible{opacity:1;transform:scale(1)}.badge-impact-word{font-family:var(--font-primary);font-size:clamp(2rem,8vw,3rem);font-weight:var(--font-bold);color:var(--color-error-600);text-shadow:3px 3px 0 var(--bg-primary),-1px -1px 0 var(--bg-primary),1px -1px 0 var(--bg-primary),-1px 1px 0 var(--bg-primary),4px 4px 0 rgba(0,0,0,.2);letter-spacing:var(--tracking-caps);animation:impactBounce .5s var(--ease-bounce);line-height:var(--leading-none);margin-bottom:var(--space-1)}@keyframes impactBounce{0%{transform:scale(0) rotate(-10deg)}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0)}}.badge-icon-container{position:relative;display:flex;align-items:center;justify-content:center}.badge-icon{font-size:clamp(3rem,12vw,5rem);animation:iconBounce .6s var(--ease-bounce) var(--duration-normal) backwards;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}@keyframes iconBounce{0%{transform:scale(0) rotate(-180deg)}60%{transform:scale(1.3) rotate(15deg)}to{transform:scale(1) rotate(0)}}.badge-sparkles{position:absolute;width:100%;height:100%;pointer-events:none}.badge-sparkles .sparkle{position:absolute;top:50%;left:50%;font-size:var(--text-2xl);animation:sparkleOut 1s ease-out var(--delay, 0s) forwards;opacity:0}@keyframes sparkleOut{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(0) scale(0)}50%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(-50px) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(-80px) scale(.5)}}.badge-title{font-family:var(--font-primary);font-size:clamp(1.2rem,5vw,1.6rem);font-weight:var(--font-bold);color:var(--color-dark-primary);text-align:center;margin:0;text-transform:uppercase;letter-spacing:var(--tracking-caps);text-shadow:1px 1px 0 rgba(255,255,255,.8)}.badge-message{font-family:var(--font-primary);font-size:clamp(.85rem,3vw,1rem);color:var(--color-gray-700);text-align:center;margin:0;max-width:90%;line-height:var(--leading-normal);text-transform:uppercase}.badge-rarity{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-large);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin-top:var(--space-1)}.badge-rarity.rarity-common{background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-200) 100%);color:var(--color-gray-500);border:2px solid var(--color-gray-400)}.badge-rarity.rarity-uncommon{background:linear-gradient(135deg,var(--color-success-50) 0%,var(--color-success-200) 100%);color:var(--color-success-800);border:2px solid var(--color-success-500)}.badge-rarity.rarity-rare{background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-primary-200) 100%);color:var(--color-primary-700);border:2px solid var(--color-primary-500)}.badge-rarity.rarity-legendary{background:linear-gradient(135deg,var(--color-accent-50) 0%,var(--badge-ray-light) 100%);color:var(--color-accent-700);border:2px solid var(--color-accent-400);box-shadow:0 0 8px #ffc10780}.badge-next{margin-top:var(--space-3)}@media(max-width:768px){.badge-impact-word{font-size:var(--text-2xl)}.badge-icon{font-size:var(--icon-xl)}.badge-title{font-size:var(--text-lg)}.badge-message{font-size:var(--text-base)}.badge-burst-glow{width:150px;height:150px}}.badge-preview .badge-speed-lines .speed-line{animation:none;stroke-dashoffset:0}.badge-preview .badge-burst-glow,.badge-preview .badge-impact-word,.badge-preview .badge-icon{animation:none}.badge-preview .badge-sparkles .sparkle{animation:none;opacity:0}@media(prefers-reduced-motion:reduce){.badge-shake,.badge-speed-lines .speed-line,.badge-burst-glow,.badge-impact-word,.badge-icon,.badge-sparkles .sparkle{animation:none}.badge-speed-lines .speed-line{stroke-dashoffset:0}.badge-frame-content{opacity:1;transform:scale(1)}}.routine-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--routine-task-gap, var(--space-2));flex:1}.routine-task-item{display:flex;align-items:center;gap:.4rem}.routine-task-name{flex:1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-primary);font-size:var(--routine-task-name-size, inherit);color:var(--ink-primary)}.routine-minutes-pill{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--comic-ink);white-space:nowrap;background:var(--color-accent-400);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-full);padding:.05rem .4rem}.routine-change-frame{background:var(--bg-primary);padding:var(--space-6);width:100%;box-sizing:border-box;position:relative}.routine-change-header{margin-bottom:var(--space-4)}.routine-change-summary{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ink-primary)}.routine-change-group{margin-bottom:var(--space-4)}.routine-change-group-label{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-secondary);margin-bottom:var(--space-2)}.routine-change-op-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.routine-change-op{display:flex;flex-direction:column;gap:var(--space-1)}.routine-change-op-line{display:flex;align-items:baseline;gap:var(--space-2)}.routine-change-op-verb{flex-shrink:0;font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) .5rem;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--ink-secondary)}.routine-change-op-text{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-primary)}.routine-change-op-remove_task .routine-change-op-text{text-decoration:line-through;color:var(--ink-secondary)}.routine-change-op-remove_task .routine-change-op-verb{background:var(--color-error-600);color:var(--ink-inverse)}.routine-change-op-add_task .routine-change-op-verb{background:var(--color-accent);color:var(--ink-inverse)}.routine-change-op-reason{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-secondary);line-height:var(--leading-normal)}.routine-change-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-6)}.routine-change-accept-btn{width:100%}.routine-change-accept-btn:disabled,.routine-change-decline-btn:disabled{opacity:.5;cursor:default}.routine-change-decline-btn{background:none;border:none;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--ink-secondary);cursor:pointer;padding:var(--space-2)}.routine-change-decline-btn:hover:not(:disabled){color:var(--ink-primary)}.routine-change-hint{margin:0;font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-secondary);text-align:center}.routine-change-frame-static{pointer-events:none}.project-card-frame{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--bg-primary);font-family:var(--font-primary);position:relative}.project-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card-name{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-primary)}.project-time-badge{background:var(--color-accent);color:var(--ink-inverse);font-size:var(--text-sm);font-weight:var(--font-bold);padding:4px 10px;border-radius:var(--radius-base);white-space:nowrap}.project-card-description{margin:0;font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary)}.project-step-list{display:flex;flex-direction:column;gap:8px}.project-step-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--border-light);border-radius:var(--radius-base)}.project-step-number{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--color-dark-secondary);color:var(--ink-inverse);font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full)}.project-step-body{flex:1;display:flex;flex-direction:column;gap:2px}.project-step-title{font-family:var(--font-primary);font-weight:var(--font-bold);font-size:var(--text-base);color:var(--ink-primary)}.project-step-detail{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary)}.project-step-minutes{flex-shrink:0;font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary);white-space:nowrap}.project-accept-section{display:flex;justify-content:center;margin-top:4px}.project-progress-bar-track{width:100%;height:10px;background:var(--border-light);border-radius:var(--radius-base);overflow:hidden}.project-progress-bar-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-base);transition:width var(--duration-slow) ease}.project-progress-label{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary)}.project-current-step{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-base)}.project-complete-message{align-items:center;text-align:center;font-weight:var(--font-bold);color:var(--ink-primary)}.progress-recap-frame{display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--bg-primary);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-large);font-family:var(--font-primary);position:relative}.progress-recap-header{display:flex;flex-direction:column;gap:4px;text-align:center}.progress-recap-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-primary)}.progress-recap-headline{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary)}.progress-recap-tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.progress-recap-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:1px solid var(--border-light);border-radius:var(--radius-base)}.progress-recap-tile-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-accent)}.progress-recap-tile-label{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary);text-align:center}.app .box.flowchart-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-primary)}.app .box.flowchart-panel:before{display:none}.app .box.flowchart-panel .xkcd-flowchart{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;padding:0}.app .box.flowchart-panel .xkcd-flowchart svg{max-height:100%;max-width:100%}.app .flowchart-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-2);padding-top:var(--space-2);border-top:2px dashed var(--color-gray-300);width:100%}.app .flowchart-footer .page-indicator{font-size:var(--text-sm);color:var(--color-gray-500);font-style:italic;font-family:var(--font-primary);text-transform:uppercase}.app .box-with-badge{position:relative;display:inline-block}.app .chapter-badge{position:absolute;top:-12px;left:-12px;background:var(--gradient-gold);color:var(--comic-ink);padding:6px 12px;border-radius:var(--radius-tight);border:var(--comic-outline-width) solid var(--comic-ink);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);box-shadow:var(--shadow-comic) var(--shadow-comic-ink);z-index:var(--z-sticky);animation:badgeEnter var(--duration-slow) ease-out;white-space:nowrap}@media(max-width:768px){.app .chapter-badge{top:-10px;left:-10px;padding:6px 10px;font-size:var(--text-xs);border-width:var(--comic-outline-thin);max-width:40%}.app .chapter-badge .badge-subtitle{font-size:.55rem}}.comic-title-container{width:100%;display:flex;justify-content:center;padding:calc(.5rem + var(--safe-top)) 1rem 1rem;position:fixed;top:0;left:0;z-index:var(--z-fixed-ui);background:var(--bg-primary);box-sizing:border-box;animation:titleSlideIn .5s var(--ease-bounce) forwards}@keyframes titleSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.comic-title-banner{position:relative;max-width:80%;display:flex;flex-direction:column;align-items:center}.comic-title-burst{position:relative;background:linear-gradient(180deg,#ffe566,#ffd93d,#ff9500);padding:.6rem var(--space-8);border:var(--comic-outline-heavy) solid var(--comic-ink);border-radius:var(--radius-base);box-shadow:var(--shadow-comic-lifted) var(--comic-ink),inset 0 2px #fff6,inset 0 -2px #0000001a;transform:rotate(-1deg);background-image:radial-gradient(circle,rgba(0,0,0,.08) 1px,transparent 1px);background-size:4px 4px}.comic-title-burst:before,.comic-title-burst:after{content:"";position:absolute;width:12px;height:12px;background:var(--comic-ink);border-radius:var(--radius-full)}.comic-title-burst:before{top:-6px;left:20px}.comic-title-burst:after{bottom:-6px;right:20px}.comic-title-text{display:block;font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--comic-ink);text-transform:uppercase;text-align:center;letter-spacing:var(--tracking-caps);line-height:var(--leading-tight);text-shadow:2px 2px 0 var(--bg-primary),-1px -1px 0 rgba(0,0,0,.1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}@media(max-width:768px){.comic-title-text{white-space:normal;max-width:70vw;font-size:var(--text-xl)}.comic-title-burst{padding:var(--space-2) var(--space-6)}.comic-title-container{padding:calc(.25rem + var(--safe-top)) .5rem .5rem}}.comic-title-underline{width:80%;height:4px;background:linear-gradient(90deg,transparent 0%,var(--comic-ink) 10%,var(--comic-ink) 90%,transparent 100%);margin-top:8px;border-radius:var(--radius-tight);transform:rotate(1deg);opacity:.7}.comic-title-banner:hover .comic-title-burst{transform:rotate(0) scale(1.02);transition:transform var(--duration-normal) ease}.app .pile-inline{position:relative;width:var(--frame-width);aspect-ratio:var(--frame-aspect);margin:var(--space-2);cursor:pointer;transition:transform var(--duration-normal) ease;animation:gatherPile .35s ease-out;flex-shrink:0}@media(max-width:768px){.app .pile-inline{margin:var(--space-2) auto var(--space-6) auto}}@keyframes gatherPile{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.app .pile-inline:hover{transform:scale(1.03)}.app .pile-stack-inline{position:relative;width:100%;height:100%}.app .stack-card-inline{position:absolute;width:100%;height:100%;outline:var(--comic-outline-width) solid var(--comic-ink);background-size:100% 100%;background-repeat:no-repeat;border-radius:var(--radius-tight);box-shadow:var(--shadow-overlay);transition:all var(--duration-slow) var(--ease-out-soft);overflow:hidden;box-sizing:border-box;-ms-interpolation-mode:nearest-neighbor;image-rendering:-moz-crisp-edges;image-rendering:pixelated;image-rendering:crisp-edges}.app .stack-card-inline:has(.ptt-card){outline:none;background:var(--bg-primary)}.app .pile-stack-inline .stack-card-inline>.box{margin:0;outline:none;transform:none}.app .stack-card-inline[data-stack-position="0"]{transform:translate(5px,20px) rotate(1.2deg)}.app .stack-card-inline[data-stack-position="1"]{transform:translate(-3px,16px) rotate(-1.8deg)}.app .stack-card-inline[data-stack-position="2"]{transform:translate(8px,12px) rotate(1deg)}.app .stack-card-inline[data-stack-position="3"]{transform:translate(-4px,8px) rotate(-1.5deg)}.app .stack-card-inline[data-stack-position="4"]{transform:translate(6px,4px) rotate(2deg)}.app .stack-card-inline[data-stack-position="5"]{transform:translate(0) rotate(0)}.app .pile-inline:hover .stack-card-inline[data-stack-position="5"]{transform:translate(-3px,-3px) rotate(-1deg)}.app .pile-inline:hover .stack-card-inline[data-stack-position="4"]{transform:translate(10px,2px) rotate(3deg)}.app .pile-inline:hover .stack-card-inline[data-stack-position="3"]{transform:translate(-8px,6px) rotate(-2.5deg)}.app .stack-card-inline[data-stack-position="0"]{z-index:1}.app .stack-card-inline[data-stack-position="1"]{z-index:2}.app .stack-card-inline[data-stack-position="2"]{z-index:3}.app .stack-card-inline[data-stack-position="3"]{z-index:4}.app .stack-card-inline[data-stack-position="4"]{z-index:5}.app .stack-card-inline[data-stack-position="5"]{z-index:6}.app .pile-stack-inline .stack-card-inline.stack-card-inline--frame{background-color:var(--bg-primary);background-image:none}.app .pile-stack-inline .box-with-badge{position:absolute;width:100%;height:100%;margin:0;z-index:6}.app .pile-inline .pile-stack-inline .box-with-badge .stack-card-inline{position:absolute;width:100%;height:100%;transform:none}.app .pile-count-inline{position:absolute;bottom:-8px;right:-8px;background:linear-gradient(135deg,var(--color-error-400),var(--color-error-500));color:var(--ink-inverse);border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-lg);z-index:var(--z-dropdown);--glow-rgb: 238, 90, 90;--glow-alpha: .5;box-shadow:var(--shadow-glow);border:2px solid var(--bg-primary)}.app .input-bar{align-items:center;background:transparent;bottom:0;display:flex;justify-content:center;padding:var(--space-4);padding-bottom:var(--safe-bottom-padding);position:fixed;width:100%;box-sizing:border-box;z-index:var(--z-fixed-ui);pointer-events:none}.app .input-bar-container{align-items:center;pointer-events:auto;background-color:var(--bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);box-shadow:var(--shadow-overlay);display:flex;width:100%;max-width:760px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);box-sizing:border-box;margin-bottom:var(--space-2)}@media(max-width:768px){.app .input-bar-container{max-width:100%;min-width:unset;width:100%;margin-bottom:.25rem}}.app .options{display:flex;flex-shrink:0;justify-content:center;align-items:center;margin-left:var(--space-2)}.app #input{width:100%;border:none;outline:none;background:transparent;font-family:var(--font-primary);font-weight:var(--font-normal);font-size:var(--text-base);text-transform:uppercase;padding:var(--space-3) var(--space-2);line-height:var(--leading-normal)}.app #input::placeholder{color:var(--ink-placeholder)}.app #input-form{flex-grow:1;display:flex}.app .new-chat-button{background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);transition:all var(--duration-fast) ease;display:flex;align-items:center;justify-content:center;color:var(--color-gray-500)}.app .new-chat-button:hover{background-color:var(--bg-overlay-light);color:var(--color-gray-700);transform:scale(1.1)}.app .new-chat-button:active{background-color:#0000001f;transform:scale(.95)}.app .new-chat-button svg{width:20px;height:20px}.app .journal-button{background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-2xl);min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);transition:all var(--duration-fast) ease;display:flex;align-items:center;justify-content:center}.app .journal-button:hover{background-color:var(--bg-overlay-light);transform:scale(1.1)}.app .journal-button:active{background-color:#0000001f;transform:scale(.95)}.app .settings-button{background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-2xl);min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);transition:background-color var(--duration-fast) ease;display:flex;align-items:center;justify-content:center}.app .settings-button:hover{background-color:var(--bg-overlay-light)}.app .settings-button:active{background-color:#0000001f}.app .logout-button{background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);transition:background-color var(--duration-fast) ease;display:flex;align-items:center;justify-content:center;color:var(--color-gray-500)}.app .logout-button:hover{background-color:var(--bg-overlay-light);color:var(--color-gray-700)}.app .logout-button:active{background-color:#0000001f}.app .logout-button svg{width:20px;height:20px}.app .camera-menu-item{display:flex}.app .more-menu-wrapper{position:relative;display:flex}.app .more-menu-item.settings-menu-item,.app .more-menu-item.logout-menu-item{display:none}@media(min-width:769px){.app .more-menu-wrapper--mobile-only{display:none}}@media(max-width:768px){.app .settings-button-inline,.app .logout-button-inline{display:none}.app .more-menu-item.settings-menu-item,.app .more-menu-item.logout-menu-item{display:flex}}.app .settings-button-inline.has-notification-dot,.app .more-button.has-notification-dot,.app .more-menu-item.settings-menu-item.has-notification-dot{position:relative}.app .settings-button-inline.has-notification-dot:after,.app .more-button.has-notification-dot:after,.app .more-menu-item.settings-menu-item.has-notification-dot:after{content:"";position:absolute;width:.5rem;height:.5rem;border-radius:var(--radius-full);background-color:var(--color-error-500);box-shadow:0 0 0 2px var(--bg-primary)}.app .settings-button-inline.has-notification-dot:after,.app .more-button.has-notification-dot:after{top:.35rem;right:.35rem}@media(min-width:769px){.app .more-button.has-notification-dot:after{content:none}}.app .more-menu-item.settings-menu-item.has-notification-dot:after{top:50%;right:var(--space-3);transform:translateY(-50%)}.app .more-button{background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-2);transition:all var(--duration-fast) ease;display:flex;align-items:center;justify-content:center;color:var(--color-gray-500)}.app .more-button:hover{background-color:var(--bg-overlay-light);color:var(--color-gray-700);transform:scale(1.1)}.app .more-button:active{background-color:#0000001f;transform:scale(.95)}.app .more-menu{position:absolute;bottom:100%;right:0;margin-bottom:var(--space-2);background:var(--bg-primary);border:1px solid var(--color-gray-200);border-radius:var(--radius-base);box-shadow:var(--shadow-overlay);z-index:var(--z-dropdown);min-width:160px;overflow:hidden;padding:var(--space-1)}.app .more-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;background:transparent;border:none;border-radius:var(--radius-base);cursor:pointer;padding:.65rem var(--space-3);font-size:var(--text-base);color:var(--color-gray-700);text-align:left;min-height:var(--touch-target-min);box-sizing:border-box}.app .more-menu-item:hover{background-color:#0000000f}.app .more-menu-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.badge-collection{padding:var(--space-4);height:100%;overflow-y:auto;overflow-x:hidden}.badge-rarity-section{margin-bottom:var(--space-6)}.badge-rarity-section.rarity-common{--rarity-ink: var(--color-gray-500)}.badge-rarity-section.rarity-uncommon{--rarity-ink: var(--color-success-800)}.badge-rarity-section.rarity-rare{--rarity-ink: var(--color-primary-700)}.badge-rarity-section.rarity-legendary{--rarity-ink: var(--color-accent-700)}.rarity-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.rarity-label{font-family:var(--font-primary);font-weight:var(--font-bold);font-size:var(--text-base);text-transform:uppercase;color:var(--rarity-ink)}.rarity-count{font-size:var(--text-xs);color:var(--color-gray-500)}.rarity-progress{flex:1;height:6px;background:var(--color-gray-200);border-radius:var(--radius-tight);overflow:hidden}.rarity-progress-fill{height:100%;border-radius:var(--radius-tight);background:var(--rarity-ink);transition:width var(--duration-slow) ease}.badge-grid{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:left}.badge-card-wrapper{display:flex;flex-direction:column;align-items:center}.badge-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border:none;border-radius:var(--radius-base);transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease;width:130px;height:130px;box-sizing:border-box}.badge-card.earned{cursor:pointer;background:linear-gradient(145deg,var(--color-paper-cream) 0%,#fff8e1 100%);box-shadow:0 2px 4px #0000001a,inset 0 -2px #0000000d}.badge-card.earned:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 8px #00000026,inset 0 -2px #0000000d}.badge-card .badge-icon{font-size:var(--icon-lg);line-height:var(--leading-none);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.badge-card .badge-icon.locked{font-size:var(--icon-lg);color:var(--color-gray-400);filter:grayscale(1)}.badge-card .badge-name{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;color:var(--color-gray-700);text-align:center;line-height:var(--leading-tight);max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.badge-card .badge-name.locked{color:var(--color-gray-400)}.badge-card.locked{background:linear-gradient(145deg,var(--color-gray-50) 0%,var(--color-gray-200) 100%);border:2px dashed var(--color-gray-300);opacity:.7}.badge-card.locked.clickable{cursor:pointer;transition:all var(--duration-normal) ease}.badge-card.locked.clickable:hover{opacity:1;border-color:var(--color-gray-400);transform:translateY(-2px);box-shadow:var(--shadow-overlay)}.badge-card.locked.rarity-common{border-color:var(--color-gray-300)}.badge-card.locked.rarity-uncommon{border-color:var(--color-success-200)}.badge-card.locked.rarity-rare{border-color:var(--color-primary-200)}.badge-card.locked.rarity-legendary{border-color:var(--color-accent-200)}.badge-hint{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;color:var(--color-gray-500);text-align:center;line-height:var(--leading-normal);margin-top:var(--space-2);max-width:100px;word-wrap:break-word;letter-spacing:var(--tracking-caps)}@media(max-width:480px){.badge-grid{gap:var(--space-2)}.badge-card{width:90px;height:95px;padding:var(--space-2)}.badge-card .badge-icon,.badge-card .badge-icon.locked{font-size:var(--icon-md)}.badge-hint{font-size:.5rem;max-width:90px}}.progress-timeline{display:flex;flex-direction:column;gap:var(--space-3)}.progress-timeline-loading,.progress-timeline-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--ink-tertiary);font-family:var(--font-primary)}.progress-entry-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-base);background:var(--bg-primary);border:1px solid var(--border-light)}.progress-entry-icon{flex-shrink:0;font-size:var(--text-xl);line-height:var(--leading-none)}.progress-entry-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.progress-entry-title{font-weight:var(--font-bold);color:var(--ink-primary)}.progress-entry-subtitle{font-size:var(--text-sm);color:var(--ink-tertiary)}.progress-entry-timestamp{font-size:var(--text-xs);color:var(--ink-tertiary)}.progress-entry-photo{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-base);flex-shrink:0}.journal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem var(--space-6);background:linear-gradient(135deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);border-bottom:none}.journal-header-content{display:flex;flex-direction:column}.journal-header-actions{display:flex;align-items:center;gap:var(--space-3)}.journal-title{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ink-inverse);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3);letter-spacing:var(--tracking-caps)}.journal-subtitle{font-family:var(--font-primary);font-size:var(--text-sm);color:#ffffffd9;margin:.2rem 0 0;letter-spacing:var(--tracking-caps)}.journal-tabs-nav{display:flex;gap:0;background:linear-gradient(180deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);padding:0 var(--space-4);border-bottom:2px solid rgba(255,255,255,.1)}.journal-tab-btn{flex:1;padding:var(--space-4) var(--space-6);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);color:#fff9;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--duration-normal) ease;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-tab-btn:hover{color:#ffffffe6;background:#ffffff0d}.journal-tab-btn.active{color:var(--ink-inverse);border-bottom-color:var(--color-primary-500);background:#a035b61a}.journal-page.badges-tab{flex:1;width:100%;padding-left:0;background:var(--bg-primary);background-image:none}.journal-page.badges-tab .page-lines{display:none}.journal-close-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);width:var(--touch-target-min);height:var(--touch-target-min);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease;flex-shrink:0}.journal-close-btn:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.journal-content{display:flex;flex:1;overflow:hidden;background:linear-gradient(180deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%)}.journal-tabs{width:240px;min-width:240px;border-right:2px solid var(--border-medium);background:var(--bg-primary);overflow-y:auto;overscroll-behavior:contain;overflow-x:hidden;padding:var(--space-4) 0}.tab-group{margin-bottom:var(--space-3)}.tab-group-label{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--space-2) var(--space-4) .4rem}.journal-tab{display:flex;align-items:center;width:100%;padding:.7rem var(--space-4);margin:0;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;transition:all var(--duration-fast) ease;position:relative}.journal-tab:hover{background:var(--color-gray-50);border-left-color:var(--color-gray-300)}.journal-tab.active{background:linear-gradient(90deg,var(--color-primary-50) 0%,var(--color-gray-50) 100%);border-left-color:var(--color-primary-500)}.tab-name{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-tab.active .tab-name{font-weight:var(--font-bold);color:var(--ink-primary)}.tab-current-badge{color:var(--color-success-600);font-size:var(--text-xs);margin-left:var(--space-2)}.journal-page{--ink-tertiary: var(--color-gray-600)}.journal-page{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;background-color:var(--color-gray-50);background-image:repeating-linear-gradient(transparent,transparent 27px,var(--color-gray-200) 27px,var(--color-gray-200) 28px);background-position:0 10px}.page-lines{position:absolute;left:50px;top:0;bottom:0;width:2px;background:#ef444440;pointer-events:none}.page-header{margin-bottom:var(--space-6);padding-bottom:var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px dashed var(--color-gray-300);text-align:center;gap:.4rem}.journal-entries-wrapper .page-header{padding-left:0}.page-header-title{flex:1;min-width:0;text-align:center}.page-title{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-primary);margin:0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.page-title.clickable{cursor:pointer;border-bottom:2px dashed transparent;transition:all var(--duration-normal) ease;padding-bottom:2px}.page-title.clickable:hover{border-bottom-color:var(--color-primary-500);color:var(--color-primary-600)}.page-title.clickable:focus{outline:none;border-bottom-color:var(--color-primary-500)}.editable-title{display:flex;align-items:center;gap:var(--space-2);justify-content:center}.editable-title.editing{flex-direction:column;align-items:center}.title-input{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-primary);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:center;background:var(--bg-primary);border:2px solid var(--color-primary-500);border-radius:var(--radius-base);padding:var(--space-2) var(--space-4);width:100%;max-width:400px;outline:none}.title-input:focus{box-shadow:var(--shadow-focus-ring)}.title-loading{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-primary-500);animation:pulse 1s infinite}.title-error{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-error-600);margin-top:var(--space-1)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.page-date{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary);margin:var(--space-1) 0 0 0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.resume-chat-btn{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);min-height:var(--touch-target-min);padding:.35rem .7rem;color:var(--ink-inverse);background:var(--gradient-secondary);border:none;border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;--glow-rgb: var(--color-primary-rgb);box-shadow:var(--shadow-glow);text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap;line-height:var(--leading-tight)}.resume-chat-btn:hover{background:var(--gradient-secondary-hover);box-shadow:var(--shadow-glow-hover);transform:translateY(-1px)}.resume-chat-btn:active{transform:scale(.98) translateY(0);box-shadow:var(--shadow-glow-pressed)}.page-actions{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0;flex-wrap:wrap}.delete-chat-btn{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);min-height:var(--touch-target-min);padding:.35rem .7rem;color:var(--color-error-600);background:var(--bg-primary);border:2px solid var(--color-error-200);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap;line-height:var(--leading-tight)}.delete-chat-btn:hover{background:var(--color-error-50);border-color:var(--color-error-300);transform:translateY(-1px)}.delete-chat-btn:active{transform:scale(.98) translateY(0)}.delete-confirm{display:flex;align-items:center;gap:.3rem;font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-error-600);white-space:nowrap}.delete-confirm .confirm-yes,.delete-confirm .confirm-no{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);min-height:var(--touch-target-min);padding:.35rem .7rem;border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.delete-confirm .confirm-yes{background:linear-gradient(135deg,var(--color-error-500) 0%,var(--color-error-600) 100%);color:var(--ink-inverse);border:none;--glow-rgb: 229, 62, 62;box-shadow:var(--shadow-glow)}.delete-confirm .confirm-yes:hover{background:linear-gradient(135deg,var(--color-error-600) 0%,var(--color-error-700) 100%);box-shadow:var(--shadow-glow-hover);transform:translateY(-1px)}.delete-confirm .confirm-yes:active{transform:scale(.98) translateY(0);box-shadow:var(--shadow-glow-pressed)}.delete-confirm .confirm-yes:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-confirm .confirm-no{background:var(--color-gray-100);color:var(--color-gray-700);border:2px solid var(--color-gray-300);box-shadow:var(--shadow-raised)}.delete-confirm .confirm-no:hover{background:var(--color-gray-200);transform:translateY(-1px)}.delete-confirm .confirm-no:active{transform:scale(.98) translateY(0)}.journal-entries-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;padding:var(--space-6) var(--space-8);padding-left:calc(60px + 2rem)}.journal-entries-wrapper .page-header{flex-shrink:0;margin-bottom:var(--space-4);padding-bottom:var(--space-3);z-index:1}.journal-entries{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding-right:var(--space-2)}.journal-entry{margin-bottom:var(--space-6);padding:var(--space-6);border:3px solid var(--color-gray-200);border-radius:var(--radius-large);box-shadow:0 4px 12px #0000000f,inset 0 -2px #00000008;transition:all var(--duration-normal) ease}.journal-entry:hover{border-color:var(--color-gray-300);box-shadow:0 8px 20px #00000014,inset 0 -2px #00000008}.journal-entry.completed{border-color:#a7f3d0;background:linear-gradient(135deg,var(--color-success-50) 0%,var(--bg-primary) 100%)}.journal-entry.completed .entry-title{color:var(--ink-tertiary);text-decoration:line-through;text-decoration-color:var(--color-gray-400)}.journal-entry.badge-entry{position:relative;padding-right:5rem;border-color:var(--color-accent-400);background:linear-gradient(135deg,var(--color-accent-50) 0%,var(--bg-primary) 100%)}.badge-decal{position:absolute;right:.75rem;top:50%;transform:translateY(-50%) rotate(8deg);font-size:var(--icon-lg);opacity:.9;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.15));pointer-events:none}.journal-entry.ptt-card-entry{padding:0;border-color:transparent;background:transparent;box-shadow:none;display:flex;justify-content:center}.journal-entry.ptt-card-entry:hover{border-color:transparent;box-shadow:none}.journal-entry.ptt-card-entry .ptt-card{height:auto;min-height:260px;max-width:320px;width:100%;transform:rotate(-1deg);transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.journal-entry.ptt-card-entry:hover .ptt-card{transform:rotate(0) translateY(-2px);box-shadow:var(--shadow-comic-lifted) var(--shadow-comic-ink)}.journal-entry .ptt-bubble-footer,.journal-entry.ptt-card-entry .ptt-avatar{display:none}.journal-entry.ptt-card-entry .ptt-speech-bubble{border-radius:var(--radius-base);border-width:2px;border-color:#00000026;border-style:dashed;background:#ffffffd9;box-shadow:none;max-width:100%;font-size:var(--text-base);padding:.6rem .8rem}.journal-entry.ptt-card-entry .ptt-speech-bubble:before,.journal-entry.ptt-card-entry .ptt-speech-bubble:after{display:none}.entry-title{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ink-primary);margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-gray-200);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.entry-content{font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-tight);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.entry-content.markdown-content h1,.entry-content.markdown-content h2,.entry-content.markdown-content h3{font-weight:var(--font-bold);margin:var(--space-4) 0 var(--space-2) 0;color:var(--ink-primary)}.entry-content.markdown-content h2,.entry-content.markdown-content h3{font-size:var(--text-base)}.entry-content.markdown-content p{margin:var(--space-2) 0}.entry-content.markdown-content ul,.entry-content.markdown-content ol{margin:var(--space-2) 0;padding-left:var(--space-6)}.entry-content.markdown-content li{margin:var(--space-1) 0}.entry-content.markdown-content strong{font-weight:var(--font-bold)}.entry-content.markdown-content code{background:var(--color-gray-50);padding:.15rem .4rem;border-radius:var(--radius-tight);font-family:monospace;font-size:.9em}.entry-content.markdown-content blockquote{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-primary-500);background:var(--color-gray-50);border-radius:0 var(--radius-tight) var(--radius-tight) 0;font-style:italic}.entry-content.markdown-content a{color:var(--color-primary-500);text-decoration:underline;cursor:pointer;transition:color var(--duration-fast) ease;font-weight:var(--font-bold)}.entry-content.markdown-content a:hover{color:var(--color-primary-600)}.entry-content.markdown-content a.external-link{color:var(--color-primary-500)}.entry-content.markdown-content a.external-link:after{content:" 🔗";font-size:.8em;vertical-align:middle}.entry-content.markdown-content a.external-link:hover{color:var(--color-primary-600)}.journal-empty-page,.journal-empty-tabs{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-8);color:var(--ink-tertiary)}.journal-empty-page{padding-left:60px}.journal-empty-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink-tertiary);min-height:0}.journal-empty-content .empty-icon{font-size:var(--icon-xl);margin-bottom:var(--space-4);opacity:.5}.journal-empty-content h2,.journal-empty-content .page-title{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-700);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-empty-content p{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary);margin:var(--space-1) 0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-empty-content p.hint{font-size:var(--text-sm);font-style:italic;color:var(--ink-tertiary);margin-top:var(--space-4);max-width:320px;line-height:var(--leading-relaxed);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.empty-icon{font-size:var(--icon-xl);margin-bottom:var(--space-4);opacity:.5}.journal-empty-page h2{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-700);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-empty-page p{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary);margin:var(--space-1) 0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-empty-page p.hint{font-size:var(--text-sm);font-style:italic;color:var(--ink-tertiary);margin-top:var(--space-4);max-width:320px;line-height:var(--leading-relaxed);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-empty-tabs{padding:var(--space-8) var(--space-4)}.journal-empty-tabs span{font-size:var(--icon-lg);margin-bottom:var(--space-3);opacity:.4}.journal-empty-tabs p{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ink-tertiary);margin:0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);height:100%;color:var(--ink-tertiary)}.journal-loading span{font-family:var(--font-primary);font-size:var(--text-base);margin-top:var(--space-3);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.journal-loading-more{padding:var(--space-3);text-align:center}.journal-spinner{width:32px;height:32px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);animation:spin .8s linear infinite}.journal-spinner.small{width:20px;height:20px;border-width:2px}.paper-color-picker{position:relative}.paper-color-trigger{display:flex;align-items:center;gap:.35rem;padding:var(--space-2) var(--space-3);background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-normal) ease}.paper-color-trigger:hover{background:#fff3;border-color:#ffffff80}.color-swatch{width:20px;height:20px;border-radius:var(--radius-tight);border:2px solid var(--bg-overlay-light)}.color-swatch.current{box-shadow:0 0 0 2px #ffffff4d}.color-label{font-size:var(--text-base)}.paper-color-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-2);background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius-base);box-shadow:var(--shadow-overlay);z-index:var(--z-dropdown);min-width:160px;overflow:hidden}.color-dropdown-header{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--space-3) var(--space-4) var(--space-2);background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.color-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:.6rem var(--space-4);background:transparent;border:none;cursor:pointer;transition:background var(--duration-fast) ease;font-family:var(--font-primary)}.color-option:hover{background:var(--color-gray-100)}.color-option.active{background:var(--color-primary-50)}.color-name{font-size:var(--text-sm);color:var(--color-gray-700);flex:1;text-align:left}.color-check{color:var(--color-primary-500);font-weight:var(--font-bold)}.interactive-checklist{display:flex;flex-direction:column;gap:var(--space-2)}.checklist-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease}.checklist-item:hover{border-color:var(--border-medium);background:var(--color-gray-100)}.checklist-item.checked{background:var(--color-success-50);border-color:var(--color-success-200)}.checklist-item.checked .checklist-text{text-decoration:line-through;color:var(--ink-tertiary)}.checklist-checkbox{width:20px;height:20px;margin-top:.1rem;cursor:pointer;accent-color:var(--color-success-500)}.checklist-text{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-gray-700);flex:1;line-height:var(--leading-normal)}.add-note-btn{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary);background:#00000008;border:2px dashed var(--border-medium);border-radius:var(--radius-base);padding:var(--space-4) var(--space-4);cursor:pointer;transition:all var(--duration-fast) ease;margin-top:var(--space-6);width:100%;text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.add-note-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600);background:rgba(var(--color-primary-rgb),.05);transform:translateY(-1px)}.notes-postit-wrapper{margin-top:var(--space-8);margin-bottom:var(--space-6);margin-left:auto;margin-right:auto;transform:rotate(-1deg);transition:transform var(--duration-slow) ease;max-width:100%;width:fit-content;cursor:pointer;padding:0 var(--space-2)}.notes-postit-wrapper:hover{transform:rotate(-.5deg) translateY(-2px)}.notes-postit{position:relative;padding:var(--space-6);padding-bottom:var(--space-8);border:1px solid var(--color-gray-200);border-bottom-right-radius:60px 5px;background:linear-gradient(135deg,var(--color-accent-100) 81%,var(--color-accent-100) 82%,var(--color-accent-100) 82%,#ffffc6 100%);width:280px;height:280px;max-width:calc(100% - 1rem);display:flex;flex-direction:column;box-sizing:border-box}.notes-postit.has-content:after,.notes-postit.editing:after{content:"";position:absolute;z-index:-1;right:0;bottom:20px;width:200px;height:25px;background:#0003;box-shadow:2px 15px 5px #0006;transform:matrix(-1,-.1,0,1,0,0)}.notes-postit.editing .notes-actions{flex-shrink:0}.postit-tape{position:absolute;top:-15px;left:50%;transform:translate(-50%) rotate(1deg);width:100px;height:32px;background:#ffffff59;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.2);z-index:2;clip-path:polygon(0% 12%,4% 0%,12% 10%,20% 2%,28% 12%,36% 4%,44% 14%,52% 6%,60% 16%,68% 8%,76% 18%,84% 10%,92% 20%,100% 12%,100% 88%,92% 80%,84% 90%,76% 82%,68% 92%,60% 84%,52% 94%,44% 86%,36% 96%,28% 88%,20% 98%,12% 90%,4% 100%,0% 88%);box-shadow:var(--shadow-raised)}.postit-content{font-family:var(--font-handwritten);font-size:var(--text-lg);color:var(--ink-primary);line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word;position:relative;z-index:1;flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0}.notes-postit .notes-textarea{font-family:var(--font-handwritten);font-size:var(--text-lg);color:var(--ink-primary);line-height:var(--leading-relaxed);width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;resize:none;outline:none;box-sizing:border-box;position:relative;z-index:1;overflow-y:auto;overscroll-behavior:contain;flex:1;white-space:pre-wrap;word-break:break-word}.notes-postit .notes-textarea:focus{outline:none;border:none;box-shadow:none}.notes-postit .notes-textarea::placeholder{color:var(--ink-placeholder);font-style:italic}.notes-postit .notes-textarea{caret-color:var(--ink-secondary)}.notes-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.notes-buttons{display:flex;align-items:center;gap:var(--space-2)}.notes-cancel-btn{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);min-height:var(--touch-target-min);padding:.35rem .7rem;border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap;line-height:var(--leading-tight)}.notes-hint{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary);margin:0;font-style:italic;flex:1}.journal-mobile-dropdown{display:none}@media(max-width:768px){.journal-overlay{padding:var(--space-2)}.journal-header{padding:calc(1rem + var(--safe-top)) 1rem 1rem}.journal-content{flex-direction:column}.journal-tabs{display:none}.journal-mobile-dropdown{display:block;position:relative;padding:var(--space-3) var(--space-4);background:var(--bg-primary);border-bottom:2px solid var(--color-gray-300)}.mobile-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;font-family:var(--font-primary)}.mobile-dropdown-trigger:hover,.mobile-dropdown-trigger:focus{border-color:var(--color-primary-500);outline:none}.mobile-dropdown-label{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--tracking-caps);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.mobile-dropdown-arrow{font-size:var(--text-xs);color:var(--ink-tertiary);margin-left:var(--space-2);transition:transform var(--duration-normal) ease}.mobile-dropdown-arrow.open{transform:rotate(180deg)}.mobile-dropdown-menu{position:absolute;top:100%;left:1rem;right:1rem;max-height:60vh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);box-shadow:var(--shadow-overlay);z-index:var(--z-fixed-ui);margin-top:-.5rem}.mobile-dropdown-group-label{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--space-3) var(--space-4) .4rem;background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.mobile-dropdown-group-label:first-child,.mobile-dropdown-menu>div:first-child .mobile-dropdown-group-label{border-top:none;border-radius:var(--radius-base) var(--radius-base) 0 0}.mobile-dropdown-item{display:flex;align-items:center;width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;cursor:pointer;text-align:left;transition:all var(--duration-fast) ease;font-family:var(--font-primary)}.mobile-dropdown-item:hover{background:var(--color-gray-50)}.mobile-dropdown-item.active{background:linear-gradient(90deg,var(--color-primary-50) 0%,var(--color-gray-50) 100%)}.mobile-dropdown-item-name{font-size:var(--text-base);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.mobile-dropdown-item.active .mobile-dropdown-item-name{font-weight:var(--font-bold);color:var(--ink-primary)}.mobile-dropdown-current-badge{color:var(--color-success-500);font-size:var(--text-xs);margin-left:var(--space-2)}.mobile-dropdown-loading,.mobile-dropdown-empty{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary);padding:var(--space-6);text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.mobile-dropdown-load-more{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border:none;border-top:1px solid var(--color-gray-200);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-primary-500);text-transform:uppercase;letter-spacing:var(--tracking-caps);transition:background var(--duration-fast) ease}.mobile-dropdown-load-more:hover{background:var(--color-primary-50)}.page-lines{display:none}.journal-page{padding:var(--space-4);background-position:0 5px}.journal-entries-wrapper{padding:0;padding-left:var(--space-4)}.page-header,.journal-entries,.journal-empty-page{padding-left:0}.page-header{flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}.journal-entry.ptt-card-entry .ptt-card{max-width:100%;transform:none}.journal-entry.ptt-card-entry:hover .ptt-card{transform:translateY(-2px)}}@media(max-width:480px){.journal-header{padding:calc(.75rem + var(--safe-top)) 1rem .75rem}.journal-subtitle{font-size:var(--text-sm)}.journal-close-btn{font-size:var(--text-base)}.journal-entry{padding:var(--space-4);border-radius:var(--radius-base)}.entry-title,.entry-content{font-size:var(--text-base)}.resume-chat-btn,.delete-chat-btn{font-size:var(--text-sm);padding:.35rem .7rem}.delete-confirm .confirm-yes,.delete-confirm .confirm-no{font-size:var(--text-xs);padding:.3rem .55rem}.notes-postit{width:240px;height:240px;padding:var(--space-4);padding-bottom:var(--space-6)}.postit-content,.notes-postit .notes-textarea{font-size:var(--text-base);line-height:var(--leading-relaxed)}.notes-hint{display:none}.notes-cancel-btn,.notes-save-btn{padding:.35rem .7rem;font-size:var(--text-sm)}.notes-actions{gap:var(--space-2);justify-content:center}}.modal-overlay.video-modal-overlay{z-index:var(--z-modal-high);animation:fadeIn var(--duration-slow) ease}.modal-panel.video-modal{height:auto;max-height:none}.video-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem var(--space-6);background:linear-gradient(135deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);border-bottom:none}.video-modal-header-content{display:flex;flex-direction:column}.video-modal-close{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);width:var(--touch-target-min);height:var(--touch-target-min);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease;flex-shrink:0}.video-modal-close:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.video-modal-title{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ink-inverse);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3);letter-spacing:var(--tracking-caps)}.video-modal-content{position:relative;aspect-ratio:16 / 9;background:var(--comic-ink);overflow:hidden}.no-select{cursor:default;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.film-container{position:absolute;inset:0;width:100%;height:100%;background:url(https://res.cloudinary.com/thdoan/image/upload/v1509581279/countdown/film_grain-small.gif) no-repeat;background-size:100% 100%;z-index:var(--z-dropdown);transition:opacity .5s ease-out}.film-container.countdown-fading{opacity:0}.film-container svg{display:inline-block}.film-mask,.film-countdown{position:absolute;top:0;left:0;width:100%;height:100%}.numbers text{fill:#000;font:700 120px Arial,sans-serif;letter-spacing:-10px;opacity:0}.circle01{fill:none;stroke:#111;stroke-width:1.5px}.circle02{fill:none;stroke:#0000004d;stroke-dasharray:1 3200;stroke-width:989;transform:rotate(-90deg);transform-origin:50% 50%}.line01,.line02{stroke:#deedee}.rectangle01{fill:gray}.animated-flicker{height:100%;animation:flicker 3s 1;opacity:.2}.animated-flicker.fade-out{opacity:0;transition:opacity .5s}.animated-rotate{animation:rotate 1s linear;animation-fill-mode:forwards}.animated-text-1{animation:countdown 1s 1;animation-delay:0s}.animated-text-2{animation:countdown 1s 1;animation-delay:1s}.animated-text-3{animation:countdown 1s 1;animation-delay:2s}@keyframes countdown{0%{opacity:1}99%{opacity:1}to{opacity:0}}@keyframes flicker{0%{opacity:.45}10%{opacity:.7}23%{opacity:.85}30%{opacity:.4}41%{opacity:.6}46%{opacity:.8}53%{opacity:.4}60%{opacity:.75}75%{opacity:.5}79%{opacity:.55}to{opacity:.1}}@keyframes rotate{to{stroke-dasharray:3200 0}}.video-wrapper{position:absolute;inset:0;z-index:1}.video-wrapper.video-preloading{opacity:1}.video-wrapper.video-visible{z-index:var(--z-sticky)}.video-wrapper iframe{width:100%;height:100%;border:none}@media(max-width:768px){.modal-overlay.video-modal-overlay{padding:var(--space-2)}.modal-panel.video-modal{width:100%;max-width:none;border-radius:var(--radius-large);border-width:var(--comic-outline-heavy);padding-bottom:0}.video-modal-header{padding:var(--space-4)}.numbers text{font-size:80px}}@media(max-width:480px){.modal-panel.video-modal{border-radius:var(--radius-base);border-width:var(--comic-outline-width)}.video-modal-header{padding:var(--space-3) var(--space-4)}.video-modal-title{font-size:var(--text-lg)}.video-modal-close{font-size:var(--text-base)}.numbers text{font-size:60px}}.modal-overlay.legal-modal-overlay{padding:calc(var(--space-4) + var(--safe-top)) var(--space-4) calc(var(--space-4) + var(--safe-bottom));animation:fadeIn var(--duration-normal) ease-out}.modal-panel.legal-modal{background:var(--color-paper-ivory);border-radius:var(--radius-large);box-shadow:var(--shadow-comic-lifted) var(--shadow-comic-ink);width:100%;max-width:700px;height:auto;max-height:85vh;max-height:85dvh;animation:legalModalSlideIn .25s ease-out}@keyframes legalModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:2px dashed var(--color-gray-300);background:linear-gradient(180deg,var(--color-accent-50) 0%,var(--color-paper-ivory) 100%)}.legal-modal-header-content{flex:1}.legal-modal-title{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-gray-700);margin:0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.legal-modal-close{background:transparent;border:none;cursor:pointer;font-size:var(--text-2xl);color:var(--color-gray-500);padding:var(--space-2);min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--duration-fast) ease;line-height:var(--leading-none)}.legal-modal-close:hover{background:var(--bg-overlay-light);color:var(--color-gray-700)}.legal-modal-content{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-6)}.legal-modal-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);font-family:var(--font-primary);font-size:var(--text-lg);color:var(--color-gray-500)}.legal-modal-spinner{font-size:var(--text-2xl);animation:spin 1s linear infinite}.legal-modal-error{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);font-family:var(--font-primary);font-size:var(--text-lg);color:var(--color-error-600)}.error-icon{font-size:var(--text-2xl)}.legal-modal-markdown{font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-gray-700);text-transform:none}.legal-modal-markdown h1{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-2);border-bottom:var(--comic-outline-thin) solid var(--comic-ink);text-transform:uppercase}.legal-modal-markdown h2{font-size:var(--text-xl);font-weight:var(--font-bold);margin:var(--space-6) 0 var(--space-3) 0;color:var(--color-gray-700)}.legal-modal-markdown h3{font-size:var(--text-lg);font-weight:var(--font-bold);margin:var(--space-4) 0 var(--space-2) 0;color:var(--color-gray-600)}.legal-modal-markdown p{margin:0 0 var(--space-4) 0}.legal-modal-markdown ul,.legal-modal-markdown ol{margin:0 0 var(--space-4) 0;padding-left:var(--space-6)}.legal-modal-markdown li{margin:.3rem 0}.legal-modal-markdown strong{font-weight:var(--font-bold)}.legal-modal-markdown em{font-style:italic}.legal-modal-markdown a{color:var(--ink-link);text-decoration:underline}.legal-modal-markdown a:hover{color:var(--ink-link-hover)}@media(max-width:768px){.modal-panel.legal-modal{max-height:90vh;max-height:90dvh;border-radius:var(--radius-base);border-width:var(--comic-outline-heavy);padding-bottom:0}.legal-modal-header{padding:var(--space-3) var(--space-4)}.legal-modal-content{padding:var(--space-4)}.legal-modal-markdown{font-size:var(--text-base)}.legal-modal-markdown h1{font-size:var(--text-xl)}.legal-modal-markdown h2{font-size:var(--text-lg)}}.starter-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem var(--space-6);background:linear-gradient(135deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);border-bottom:none}.starter-menu-header-content{display:flex;flex-direction:column}.starter-menu-title{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ink-inverse);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3);letter-spacing:var(--tracking-caps)}.starter-menu-subtitle{font-family:var(--font-primary);font-size:var(--text-sm);color:#ffffffd9;margin:.2rem 0 0;letter-spacing:var(--tracking-caps)}.starter-menu-close{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);width:var(--touch-target-min);height:var(--touch-target-min);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease;flex-shrink:0}.starter-menu-close:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.starter-menu-content{display:flex;flex:1;overflow:hidden;background:linear-gradient(180deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%)}.starter-categories-sidebar{width:240px;min-width:240px;border-right:2px solid var(--color-gray-300);background:var(--bg-primary);overflow-y:auto;overscroll-behavior:contain;overflow-x:hidden;padding:var(--space-4) 0}.starter-tab-group-label{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--space-2) var(--space-4) .4rem}.starter-category-tab{display:flex;align-items:center;width:100%;padding:.7rem var(--space-4);margin:0;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;transition:all var(--duration-fast) ease}.starter-category-tab:hover{background:var(--color-gray-50);border-left-color:var(--color-gray-300)}.starter-category-tab.active{background:linear-gradient(90deg,var(--color-primary-50) 0%,var(--color-gray-50) 100%);border-left-color:var(--color-primary-500)}.starter-category-info{flex:1;min-width:0}.starter-category-name{font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.starter-category-tab.active .starter-category-name{font-weight:var(--font-bold);color:var(--ink-primary)}.starter-category-count{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary);margin-top:.1rem}.starter-page{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;background-color:var(--color-gray-50);background-image:repeating-linear-gradient(transparent,transparent 27px,var(--color-gray-200) 27px,var(--color-gray-200) 28px);background-position:0 10px}.starter-page-margin-line{position:absolute;left:50px;top:0;bottom:0;width:2px;background:#ef444440;pointer-events:none}.starter-page-header{margin-bottom:var(--space-6);padding:1.5rem 2rem .75rem calc(60px + 2rem);border-bottom:2px dashed var(--color-gray-300);text-align:center}.starter-page-title{font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-primary);margin:0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.starter-page-desc{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--ink-tertiary);margin:var(--space-1) 0 0 0;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.starter-list-wrapper{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 2rem 1.5rem calc(60px + 1rem)}.starter-list{display:flex;flex-direction:column}.starter-line{padding:.3rem var(--space-2);cursor:pointer;transition:all var(--duration-fast) ease;border-radius:var(--radius-tight);min-height:28px;display:flex;align-items:center}.starter-line:hover{background:rgba(var(--color-primary-rgb),.1)}.starter-line:active{background:rgba(var(--color-primary-rgb),.2)}.starter-text{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--color-gray-700);text-transform:uppercase;line-height:var(--leading-relaxed);letter-spacing:var(--tracking-caps)}.starter-line:hover .starter-text{color:var(--color-primary-500);font-weight:var(--font-bold)}.starter-num{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-primary-500);background:var(--color-primary-50);padding:.15rem .4rem;border-radius:var(--radius-tight);margin-right:var(--space-3)}.starter-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-8);color:var(--ink-tertiary)}.starter-empty-text{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.starter-empty-hint{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary);margin-top:var(--space-2)}.starter-mobile-dropdown{display:none}@media(max-width:768px){.starter-menu-overlay{padding:var(--space-2)}.starter-menu-header{padding:calc(1rem + var(--safe-top)) 1rem 1rem}.starter-menu-content{flex-direction:column}.starter-categories-sidebar{display:none}.starter-mobile-dropdown{display:block;position:relative;padding:var(--space-3) var(--space-4);background:var(--bg-primary);border-bottom:2px solid var(--color-gray-300)}.starter-mobile-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) ease;font-family:var(--font-primary)}.starter-mobile-dropdown-trigger:hover,.starter-mobile-dropdown-trigger:focus{border-color:var(--color-primary-500);outline:none}.starter-mobile-dropdown-label{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--tracking-caps);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.starter-mobile-dropdown-arrow{font-size:var(--text-xs);color:var(--ink-tertiary);margin-left:var(--space-2);transition:transform var(--duration-normal) ease}.starter-mobile-dropdown-arrow.open{transform:rotate(180deg)}.starter-mobile-dropdown-menu{position:absolute;top:100%;left:1rem;right:1rem;max-height:60vh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);box-shadow:var(--shadow-overlay);z-index:var(--z-fixed-ui);margin-top:-.5rem}.starter-mobile-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-bottom:1px solid var(--color-gray-50);cursor:pointer;text-align:left;transition:all var(--duration-fast) ease;font-family:var(--font-primary)}.starter-mobile-dropdown-item:last-child{border-bottom:none}.starter-mobile-dropdown-item:hover{background:var(--color-gray-50)}.starter-mobile-dropdown-item.active{background:linear-gradient(90deg,var(--color-primary-50) 0%,var(--color-gray-50) 100%)}.starter-mobile-dropdown-item-name{font-size:var(--text-base);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-transform:uppercase;letter-spacing:var(--tracking-caps)}.starter-mobile-dropdown-item.active .starter-mobile-dropdown-item-name{font-weight:var(--font-bold);color:var(--ink-primary)}.starter-mobile-dropdown-item-count{font-size:var(--text-xs);color:var(--color-gray-400);margin-left:var(--space-2);flex-shrink:0}.starter-page-margin-line{display:none}.starter-page-header,.starter-list-wrapper{padding-left:var(--space-4)}}@media(max-width:480px){.starter-menu-header{padding:calc(.75rem + var(--safe-top)) 1rem .75rem}.starter-menu-subtitle{font-size:var(--text-sm)}.starter-menu-close{font-size:var(--text-base)}.starter-text{font-size:var(--text-sm)}}.polaroid{position:relative;background:var(--bg-primary);padding:12px 12px 50px;border-radius:var(--radius-tight);box-shadow:var(--shadow-float);transform:rotate(-1deg);transition:transform var(--duration-slow) ease}.polaroid:hover{transform:rotate(0) scale(1.02)}.polaroid-photo-frame{width:200px;height:240px;overflow:hidden;background:var(--color-gray-100);border-radius:var(--photo-corner-radius);position:relative}.polaroid-photo-frame.cartoon-mode{background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-200) 100%);display:flex;align-items:center;justify-content:center}.polaroid-photo{width:100%;height:100%;object-fit:cover;animation:polaroidPhotoFadeIn .5s ease-out}.polaroid-photo.cartoon-image{width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:drop-shadow(2px 4px 8px rgba(0,0,0,.2));animation:none}@keyframes polaroidPhotoFadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.polaroid:hover .polaroid-photo:not(.cartoon-image){transform:scale(1.03);transition:transform var(--duration-slow) ease}.polaroid-caption{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;font-family:var(--font-handwritten);font-size:var(--text-xl);color:var(--color-gray-700);letter-spacing:var(--tracking-caps)}.polaroid-nav{position:absolute;top:50%;transform:translateY(-50%);width:var(--touch-target-min);height:var(--touch-target-min);border-radius:var(--radius-full);border:var(--comic-outline-thin) solid var(--comic-ink);background:var(--bg-primary);color:var(--comic-ink);font-size:var(--text-xl);font-weight:var(--font-bold);cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-comic) var(--shadow-comic-ink);line-height:var(--leading-none);padding:0;transition:transform var(--duration-fast) ease}.polaroid-nav:hover{transform:translateY(-50%) scale(1.1)}.polaroid-nav.prev{left:-14px}.polaroid-nav.next{right:-14px}.bean-thinking{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;padding:var(--space-2) 0;width:100%}.bean-thinking__bubble{align-items:center;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--color-gray-50) 100%);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-large);display:flex;gap:.4rem;justify-content:center;min-height:3.25rem;padding:.6rem 1.1rem;position:relative;text-align:center;animation:beanBubblePulse 1.5s ease-in-out infinite}@keyframes beanBubblePulse{0%,to{box-shadow:var(--shadow-comic) var(--comic-ink);transform:scale(1)}50%{box-shadow:var(--shadow-comic) var(--comic-ink),0 0 18px 4px #96969647;transform:scale(1.025)}}.bean-thinking__phrase{background:linear-gradient(90deg,var(--color-primary-200) 0%,var(--color-primary-200) 25%,var(--color-primary-400) 50%,var(--color-primary-400) 75%,var(--color-primary-200) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--font-primary);font-size:var(--text-lg);font-style:italic;font-weight:var(--font-bold);letter-spacing:var(--tracking-caps);animation:beanPhraseFlow 3s ease-in-out infinite,beanPhraseWave 2s ease-in-out infinite}@keyframes beanPhraseFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes beanPhraseWave{0%,to{transform:translateY(0) scale(1);filter:blur(0)}50%{transform:translateY(0) scale(1.015);filter:blur(.4px)}}.bean-thinking__dots{background:var(--color-primary-100);border:2px solid var(--color-primary-200);border-radius:var(--radius-full);flex-shrink:0;height:6px;width:6px;animation:beanDotPulse 1.5s ease-in-out infinite var(--duration-slow)}@keyframes beanDotPulse{0%,to{transform:scale(.8)}50%{transform:scale(1.25)}}.bean-thinking__bean{height:auto;max-height:130px;max-width:110px;width:auto}.bean-thinking--compact{flex-direction:row;gap:var(--space-2);padding:0}.bean-thinking--compact .bean-thinking__bubble{animation:none;background:none;border:none;box-shadow:none;min-height:0;padding:0}.bean-thinking--compact .bean-thinking__phrase{font-size:var(--text-base);letter-spacing:var(--tracking-caps)}.bean-thinking--compact .bean-thinking__bean{max-height:44px;max-width:40px;order:-1}@media(prefers-reduced-motion:reduce){.bean-thinking__bubble,.bean-thinking__phrase,.bean-thinking__dots{animation:none}}@media(max-width:480px){.bean-thinking__phrase{font-size:var(--text-base)}.bean-thinking__bean{max-height:100px;max-width:90px}}.selfie-capture{align-items:center;display:flex;flex-direction:column;gap:.9rem;width:100%}.selfie-capture__viewfinder{aspect-ratio:var(--capture-frame-aspect);background:var(--color-dark-primary);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-base);box-shadow:var(--shadow-comic) var(--comic-ink);height:var(--capture-frame-height);max-width:100%;overflow:hidden;position:relative;width:auto}.selfie-capture__video{display:block;height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.selfie-capture__guide{inset:0;pointer-events:none;position:absolute}.selfie-capture__guide-svg{height:100%;width:100%}.selfie-capture__guide-text{bottom:.5rem;color:#ffffffe6;font-family:var(--font-handwritten);font-size:var(--text-base);left:0;margin:0;position:absolute;right:0;text-align:center;text-shadow:1px 1px 0 rgba(0,0,0,.6)}.selfie-capture__countdown{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:absolute}.selfie-capture__countdown span{animation:selfieCountdownPop 1s ease-in-out infinite;color:var(--ink-inverse);font-family:var(--font-display);font-size:4.5rem;text-shadow:3px 3px 0 rgba(0,0,0,.4)}@keyframes selfieCountdownPop{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.selfie-capture__camera-error{color:var(--ink-inverse);font-family:var(--font-handwritten);font-size:var(--text-lg);left:50%;margin:0;max-width:80%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.selfie-capture__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.selfie-capture__upload{cursor:pointer;font-family:var(--font-handwritten);font-size:var(--text-base);text-decoration:underline}.selfie-capture__upload input{height:0;opacity:0;position:absolute;width:0}.selfie-capture__upload:focus-within span{outline:var(--focus-ring-width) solid var(--comic-ink);outline-offset:3px}.selfie-capture__tips{color:var(--color-gray-700);font-family:var(--font-primary);font-size:var(--text-sm);margin:0;max-width:420px;padding-left:1.1rem;width:100%}.selfie-capture__tips li+li{margin-top:.15rem}@media(prefers-reduced-motion:reduce){.selfie-capture__countdown span{animation:none}}.onboarding-frame{position:relative;width:clamp(560px,84vw,900px);outline:var(--comic-outline-width) solid var(--comic-ink);background:var(--bg-primary);overflow:visible;box-sizing:border-box;max-height:calc(var(--content-fit-height) - 2 * var(--comic-outline-width))}.onboarding-badge{position:absolute;top:-12px;left:-12px;background:var(--gradient-gold);color:var(--comic-ink);padding:6px 12px;border-radius:var(--radius-tight);border:var(--comic-outline-width) solid var(--comic-ink);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);box-shadow:var(--shadow-comic) var(--shadow-comic-ink);z-index:var(--z-sticky);white-space:nowrap;display:flex;align-items:center;gap:var(--space-2);animation:badgeEnter var(--duration-slow) ease-out}.onboarding-badge .badge-text{font:inherit;letter-spacing:inherit;margin:0}.back-button{background:var(--bg-primary);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-base);color:var(--comic-ink);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);padding:var(--space-2) var(--space-4);min-height:var(--touch-target-min);text-transform:uppercase;letter-spacing:var(--tracking-caps);transition:background var(--duration-fast) ease,transform var(--duration-fast) ease;box-shadow:var(--shadow-comic) var(--shadow-comic-ink);text-wrap:nowrap}.back-button:hover{background:var(--bg-secondary);transform:translate(1px,1px);box-shadow:var(--shadow-comic) var(--shadow-comic-ink)}.onboarding-step-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;max-width:var(--video-max-width);padding:0}.onboarding-content{display:flex;min-height:400px;max-height:calc(var(--content-fit-height) - 2 * var(--comic-outline-width));position:relative;overflow:hidden}.onboarding-left{flex:0 0 45%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-6) var(--space-4);position:relative;background-color:var(--color-gray-50);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='8' cy='8' r='2.5' fill='rgba(0,0,0,0.08)'/%3E%3C/svg%3E"),radial-gradient(ellipse 100% 80% at 50% 80%,rgba(255,248,225,.5),transparent 60%);background-repeat:repeat,no-repeat;background-size:16px 16px,100% 100%}.mentor-greeting{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%;padding:0 var(--space-6)}.speech-bubble.speech-bubble-cycling{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3)}.greeting-paragraph{animation:greetingFadeIn .6s ease-out;margin:0}.speech-bubble .bubble-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);padding-top:.4rem;border-top:2px dashed var(--color-gray-300);gap:var(--space-2);width:100%}.speech-bubble .page-indicator{font-size:var(--text-sm);color:var(--color-gray-500);font-style:italic}@keyframes greetingFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onboarding-right{flex:1;min-width:0;display:flex;flex-direction:column;padding:0;background:var(--bg-primary);position:relative;z-index:5;box-sizing:border-box}.onboarding-form{display:flex;flex-direction:column;height:100%;overflow:hidden}.form-scroll-area{flex:1;overflow-y:auto;padding:var(--space-8) var(--space-6);padding-left:var(--inset-form);padding-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.form-footer{flex-shrink:0;padding:var(--space-4) var(--space-6);padding-left:var(--inset-form);background:var(--bg-primary);border-top:2px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.question-section{display:flex;flex-direction:column;gap:var(--space-4)}.section-title{margin:0;padding-bottom:var(--space-2);font-family:var(--font-primary);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-bottom:2px dashed var(--color-gray-300)}.onboarding-question{display:flex;flex-direction:column;gap:.35rem;position:relative}.question-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.question-label-row .question-label{align-self:center}.question-label{font-family:var(--font-handwritten);font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;color:var(--color-gray-700);transform:rotate(-.5deg)}.required{color:var(--color-error-600);margin-left:var(--space-1)}.question-input{width:100%;padding:.8rem var(--space-4);border:var(--border-dashed);border-radius:var(--radius-base);font-family:var(--font-handwritten);font-size:var(--text-lg);color:var(--color-gray-700);background:transparent;transition:all var(--duration-normal) ease;box-sizing:border-box}.question-input:focus{outline:none;border-color:var(--focus-ring-color);border-style:solid;background:var(--bg-primary)}.question-input::placeholder{color:var(--ink-placeholder);font-style:italic}.question-input.has-error{border-color:var(--color-error-500);border-style:solid;background:var(--color-error-100)}.question-input:disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.7}textarea.question-input{resize:vertical;min-height:70px}.question-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:var(--inset-affordance);cursor:pointer}.question-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e53e3e' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}.question-number{appearance:textfield;-moz-appearance:textfield}.question-number::-webkit-inner-spin-button,.question-number::-webkit-outer-spin-button{opacity:1;height:2rem}.multiselect-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2);padding:var(--space-2);border:var(--border-dashed);border-radius:var(--radius-base);background:var(--color-gray-50)}.multiselect-options.has-error{border-color:var(--color-error-500);border-style:solid;background:var(--color-error-100)}.multiselect-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:var(--touch-target-min);box-sizing:border-box;background:var(--bg-primary);border:2px solid var(--color-gray-200);border-radius:var(--radius-base);cursor:pointer;font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-700);transition:all var(--duration-fast) ease;-webkit-user-select:none;user-select:none}.multiselect-option:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.multiselect-option:has(input:checked){background:var(--option-selected-bg);border-color:var(--color-primary-500);color:var(--color-primary-600)}.multiselect-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary-500);cursor:pointer}.multiselect-option span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.help-text{font-size:var(--text-sm);color:var(--ink-secondary);font-family:var(--font-handwritten);font-style:italic;margin-top:var(--space-1)}.section-description{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-500);font-style:italic;margin:0 0 var(--space-3) 0;line-height:var(--leading-normal)}.error-text{font-size:var(--text-sm);color:var(--color-error-600);font-family:var(--font-handwritten);transform:rotate(-1deg)}.legal-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:2px dashed var(--color-gray-300)}.legal-checkbox{display:flex;align-items:flex-start;gap:.6rem}.legal-checkbox input[type=checkbox]{margin-top:.3rem;width:20px;height:20px;cursor:pointer;accent-color:var(--color-success-400)}.legal-checkbox label{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-600);line-height:var(--leading-normal)}.legal-checkbox a,.legal-link{color:var(--color-primary-500);text-decoration:underline;font-weight:var(--font-bold);background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;font-size:inherit}.legal-checkbox a:hover,.legal-link:hover{color:var(--color-primary-700)}.legal-checkbox.has-error input[type=checkbox]{outline:var(--focus-ring-width) solid var(--color-error-500);outline-offset:2px}.submit-button{padding:var(--space-4) var(--space-8);min-height:var(--touch-target-min);background:linear-gradient(180deg,var(--color-success-400) 0%,var(--color-success-600) 100%);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-base);font-family:var(--font-primary);font-size:var(--text-xl);color:var(--comic-ink);letter-spacing:var(--tracking-display);text-transform:uppercase;cursor:pointer;--btn-lip: var(--color-success-700);--btn-glow-rgb: 72, 187, 120;box-shadow:var(--shadow-btn);transition:all var(--duration-fast) ease;transform:rotate(1deg);text-wrap:balance}.submit-button:hover:not(:disabled){transform:rotate(1deg) translateY(-2px);box-shadow:var(--shadow-btn-hover)}.submit-button:active:not(:disabled){transform:rotate(1deg) translateY(2px);box-shadow:var(--shadow-btn-pressed)}.submit-button--next{background:var(--gradient-cta);color:var(--comic-ink)}.submit-button--next:hover:not(:disabled){background:var(--gradient-cta-hover)}.submit-button:disabled{background:linear-gradient(180deg,var(--color-gray-400) 0%,var(--color-gray-500) 100%);--btn-lip: var(--color-gray-600);--btn-glow-rgb: 0, 0, 0;--btn-glow-alpha: .2;cursor:not-allowed;opacity:.7}.payment-description{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-600);margin:0}.payment-description strong{color:var(--color-success-700);font-weight:var(--font-bold)}.card-element-wrapper{padding:var(--space-4);border:var(--border-dashed);border-radius:var(--radius-base);background:var(--color-gray-50);transition:all var(--duration-normal) ease}.card-element-wrapper:focus-within{border-color:var(--color-primary-500);border-style:solid;background:var(--bg-primary);box-shadow:var(--shadow-focus-ring)}.card-element-wrapper.has-error{border-color:var(--color-error-500);border-style:solid;background:var(--color-error-100)}.card-element-wrapper.complete{border-color:var(--color-success-400);border-style:solid;background:var(--color-success-50)}.payment-locked{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-success-700);font-weight:var(--font-bold);text-align:center;padding:var(--space-1) 0}.payment-loading{padding:var(--space-4);text-align:center}.payment-loading p{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-500);margin:0;animation:paymentPulse 1.5s ease-in-out infinite}@keyframes paymentPulse{0%,to{opacity:.6}50%{opacity:1}}.onboarding-step-video{display:flex;flex-direction:column}.onboarding-step-video .onboarding-content{display:none}.onboarding-video-step{--video-max-width: 720px;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-8);width:100%;box-sizing:border-box}.onboarding-unavailable{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-8);text-align:center}.onboarding-unavailable p{font-family:var(--font-handwritten);font-size:var(--text-base);margin:0}.onboarding-video-wrapper{position:relative;width:100%;max-width:var(--video-max-width);aspect-ratio:16 / 9;border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-base);overflow:hidden;box-shadow:var(--shadow-comic) var(--shadow-comic-ink)}.onboarding-video-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.clothes-input-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:200px}.clothes-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--touch-target-min)}.clothes-label-row .clothes-label{margin-bottom:0}.clothes-label{display:block;font-family:var(--font-handwritten);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-gray-700);text-transform:uppercase;margin-bottom:var(--space-2);transform:rotate(-.5deg);cursor:pointer;text-wrap:balance}.clothes-input:disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.7}.clothes-input{width:100%;padding:.8rem var(--space-4);border:var(--border-dashed);border-radius:var(--radius-base);font-family:var(--font-handwritten);font-size:var(--text-lg);color:var(--color-gray-700);background:transparent;box-sizing:border-box}.onboarding-avatar-step .onboarding-right{flex:1;min-width:0}.onboarding-avatar-step .form-scroll-area{align-items:stretch}.onboarding-avatar-step__capture,.onboarding-avatar-step__result{display:flex;flex-direction:column;gap:var(--space-4);margin:0 auto;max-width:420px;width:100%}.onboarding-avatar-step__result>.onboarding-avatar-step__slot,.onboarding-avatar-step__result>.onboarding-avatar-step__caption-slot,.onboarding-avatar-step__result>.btn-cta{align-self:center}.onboarding-avatar-step__slot{align-items:center;background:var(--bg-primary);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-base);box-shadow:var(--shadow-comic) var(--comic-ink);display:flex;justify-content:center;overflow:hidden;aspect-ratio:var(--capture-frame-aspect);height:var(--capture-frame-height);max-width:100%;width:auto}.onboarding-avatar-step__pose{animation:avatarSlotFade .32s ease-out;height:100%;object-fit:contain;width:100%}@keyframes avatarSlotFade{0%{opacity:0}to{opacity:1}}.onboarding-avatar-step__caption-slot{align-items:center;display:flex;justify-content:center;min-height:3.25rem;width:100%}@media(prefers-reduced-motion:reduce){.onboarding-avatar-step__pose{animation:none}}@media(max-width:768px){.onboarding-frame{width:calc(100% - 2rem);min-height:auto;max-height:none}.onboarding-content{flex-direction:column;min-height:auto;max-height:none;overflow:visible}.onboarding-left{flex:none;padding:var(--space-6) var(--space-4);padding-top:var(--space-8)}.onboarding-right{margin-left:0;max-height:none;padding:var(--space-6) var(--space-4)}.form-scroll-area{padding:var(--space-6) var(--space-4)}.form-footer{padding:var(--space-4)}.onboarding-badge{top:-10px;left:-10px;padding:6px 10px;font-size:var(--text-xs);border-width:var(--comic-outline-thin)}.submit-button{font-size:var(--text-base);padding:.875rem var(--space-6)}.onboarding-video-step{--video-max-width: 100%;padding:var(--space-6)}}@media(max-width:480px){.form-footer{padding-left:var(--space-2);padding-right:var(--space-2);gap:var(--space-2)}.back-button{flex-shrink:0}.submit-button{min-width:0;padding:.75rem var(--space-2);font-size:var(--text-xs);letter-spacing:var(--tracking-caps)}.onboarding-frame{min-height:auto}.onboarding-video-step{padding:var(--space-6);gap:var(--space-4)}}.payment-disclosure{font-family:var(--font-primary);font-size:var(--text-xs);color:var(--ink-tertiary);margin:0}.app .loading-frame .character-zone{height:120px;margin-top:0;align-items:center}.app .loading-frame .character{max-width:35%;height:100%;align-items:center;justify-content:center}.app .loading-frame .character-zone .character:only-child{max-width:35%}.app .loading-frame .character .avatar{height:100%;align-items:center}.app .loading-frame .avatar img{max-width:100%;max-height:100%;width:auto;height:auto}.modal-panel.about-mentor-modal{max-width:900px}.about-mentor-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem var(--space-6);background:linear-gradient(135deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);border-bottom:none}.about-mentor-modal-header-content{display:flex;flex-direction:column}.about-mentor-modal-title{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ink-inverse);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3);letter-spacing:var(--tracking-caps)}.about-mentor-modal-subtitle{font-family:var(--font-primary);font-size:var(--text-sm);color:#ffffffd9;margin:.2rem 0 0;letter-spacing:var(--tracking-caps)}.about-mentor-modal-close{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);width:var(--touch-target-min);height:var(--touch-target-min);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--ink-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease;flex-shrink:0}.about-mentor-modal-close:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.about-mentor-modal-content{display:flex;flex:1;overflow:hidden;background:linear-gradient(180deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%)}.about-mentor-photo-section{width:320px;min-width:320px;border-right:2px solid var(--color-gray-300);background:var(--bg-primary);overflow-y:auto;overscroll-behavior:contain;overflow-x:hidden;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.about-mentor-modal .photo-corner{position:absolute;width:24px;height:24px;z-index:var(--z-dropdown)}.about-mentor-modal .photo-corner:before,.about-mentor-modal .photo-corner:after{content:"";position:absolute;background:var(--gradient-kraft);box-shadow:var(--shadow-inset-highlight)}.about-mentor-modal .photo-corner.top-left{top:8px;left:8px}.about-mentor-modal .photo-corner.top-left:before{width:20px;height:6px;top:0;left:0;border-radius:var(--photo-corner-radius) var(--photo-corner-radius) 0 0}.about-mentor-modal .photo-corner.top-left:after{width:6px;height:20px;top:0;left:0;border-radius:var(--photo-corner-radius) 0 0 var(--photo-corner-radius)}.about-mentor-modal .photo-corner.top-right{top:8px;right:8px}.about-mentor-modal .photo-corner.top-right:before{width:20px;height:6px;top:0;right:0;border-radius:var(--photo-corner-radius) var(--photo-corner-radius) 0 0}.about-mentor-modal .photo-corner.top-right:after{width:6px;height:20px;top:0;right:0;border-radius:0 var(--photo-corner-radius) var(--photo-corner-radius) 0}.about-mentor-modal .photo-corner.bottom-left{bottom:46px;left:8px}.about-mentor-modal .photo-corner.bottom-left:before{width:20px;height:6px;bottom:0;left:0;border-radius:0 0 var(--photo-corner-radius) var(--photo-corner-radius)}.about-mentor-modal .photo-corner.bottom-left:after{width:6px;height:20px;bottom:0;left:0;border-radius:var(--photo-corner-radius) 0 0 var(--photo-corner-radius)}.about-mentor-modal .photo-corner.bottom-right{bottom:46px;right:8px}.about-mentor-modal .photo-corner.bottom-right:before{width:20px;height:6px;bottom:0;right:0;border-radius:0 0 var(--photo-corner-radius) var(--photo-corner-radius)}.about-mentor-modal .photo-corner.bottom-right:after{width:6px;height:20px;bottom:0;right:0;border-radius:0 var(--photo-corner-radius) var(--photo-corner-radius) 0}.about-mentor-bio-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.about-mentor-bio-page{flex:1;position:relative;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-primary);padding:var(--space-6) var(--space-8)}.about-mentor-margin-line{display:none}.about-mentor-bio-text{font-family:var(--font-primary);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.about-mentor-bio-text p{margin:0 0 var(--space-4) 0}.about-mentor-bio-text p:last-child{margin-bottom:0}.about-mentor-bio-text strong{color:var(--ink-primary);font-weight:var(--font-bold)}.about-mentor-bio-text em{font-style:italic;color:var(--ink-tertiary)}.about-mentor-social-bar{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--bg-primary);border-top:1px solid var(--color-gray-200);justify-content:center;flex-wrap:wrap}.about-mentor-social-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);background:var(--color-gray-50);border:none;border-radius:var(--radius-full);text-decoration:none;color:var(--color-gray-700);transition:all var(--duration-normal) ease}.about-mentor-social-btn:hover{background:var(--color-gray-200);transform:scale(1.15);box-shadow:var(--shadow-overlay)}.about-mentor-social-btn:active{transform:scale(.95)}.about-mentor-social-btn[title*=YouTube]:hover,.about-mentor-social-btn[title*=youtube]:hover{background:var(--color-error-500);color:var(--ink-inverse)}.about-mentor-social-btn[title*=Instagram]:hover,.about-mentor-social-btn[title*=instagram]:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:var(--ink-inverse)}.about-mentor-social-btn[title*=Website]:hover,.about-mentor-social-btn[title*=website]:hover,.about-mentor-social-btn[title*=Blog]:hover,.about-mentor-social-btn[title*=blog]:hover{background:var(--color-dark-primary);color:var(--ink-inverse)}.about-mentor-social-icon{font-size:var(--text-2xl);line-height:var(--leading-none)}.about-mentor-social-label{display:none}@media(max-width:768px){.about-mentor-modal-overlay{padding:var(--space-2)}.about-mentor-modal-content{flex-direction:column;overflow-y:auto;overscroll-behavior:contain;overflow-x:hidden;-webkit-overflow-scrolling:touch}.about-mentor-modal-header{padding:calc(1rem + var(--safe-top)) 1rem 1rem;flex-shrink:0}.about-mentor-photo-section{width:100%;min-width:unset;border-right:none;border-bottom:2px solid var(--color-gray-300);padding:var(--space-4);overflow:visible}.about-mentor-bio-section{overflow:visible;flex:none}.about-mentor-bio-page{overflow-y:visible;padding-left:var(--space-4)}.about-mentor-margin-line{display:none}.about-mentor-social-bar{padding:var(--space-3) var(--space-4);flex-shrink:0}.about-mentor-social-btn{padding:var(--space-2) .8rem;font-size:var(--text-sm)}}@media(max-width:480px){.about-mentor-modal-header{padding:calc(.75rem + var(--safe-top)) 1rem .75rem}.about-mentor-modal-subtitle{font-size:var(--text-sm)}.about-mentor-modal-close,.about-mentor-bio-text{font-size:var(--text-base)}.about-mentor-social-btn{padding:.4rem .6rem;font-size:var(--text-xs)}.about-mentor-social-label{display:none}.about-mentor-social-btn{padding:var(--space-2);border-radius:var(--radius-full)}.about-mentor-social-icon{font-size:var(--text-xl)}}.progress-strip{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:.35rem var(--space-4);min-height:var(--touch-target-min);box-sizing:border-box;background:var(--bg-secondary);border:none;border-top:1px solid var(--color-gray-200);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-xs);color:var(--color-gray-700);text-align:left;transition:background var(--duration-fast) ease}.progress-strip:hover,.progress-strip:focus-visible{background:var(--color-gray-100);outline:none}.progress-strip__streak{font-weight:var(--font-bold);color:var(--color-dark-primary)}.progress-strip__routine{color:var(--color-gray-500)}.progress-strip__project{color:var(--color-gray-500);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-strip__loading{display:inline-block;width:140px;height:.75rem;border-radius:var(--radius-tight);background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:progress-strip-shimmer 1.4s infinite}@keyframes progress-strip-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.progress-strip{padding:.3rem var(--space-3);gap:var(--space-2)}}@media(max-width:480px){.progress-strip__loading{width:100px}}.routine-overlay{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal);display:flex;align-items:stretch;justify-content:flex-end}.routine-panel{position:relative;width:380px;max-width:100vw;height:100%;background:linear-gradient(145deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-left:var(--comic-outline-heavy) solid var(--comic-ink-chrome);border-top-left-radius:var(--radius-large);border-bottom-left-radius:var(--radius-large);box-shadow:var(--shadow-float),inset 0 1px #fffc;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:var(--safe-top);display:flex;flex-direction:column;animation:routineSlideIn var(--duration-slow) var(--ease-bounce)}@keyframes routineSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.routine-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem var(--space-6);background:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px) 0 0 / 6px 6px,linear-gradient(135deg,var(--color-dark-primary) 0%,var(--color-dark-secondary) 100%);border-top-left-radius:var(--radius-large);border-bottom:var(--comic-outline-width) solid var(--comic-ink);flex-shrink:0}.routine-header-left{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.routine-streak{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--comic-ink);background:var(--gradient-gold);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-tight);box-shadow:var(--shadow-comic) var(--shadow-comic-ink);padding:.15rem .45rem}.routine-title{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--ink-inverse);text-shadow:2px 2px 0 rgba(0,0,0,.3);letter-spacing:var(--tracking-caps);line-height:var(--leading-tight)}.routine-close-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);width:var(--touch-target-min);height:var(--touch-target-min);flex-shrink:0;color:var(--ink-inverse);font-size:var(--text-lg);cursor:pointer;line-height:var(--leading-none);transition:transform var(--duration-fast) ease,background var(--duration-fast) ease}.routine-close-btn:hover{background:#fff3;transform:rotate(90deg)}.routine-loading{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--space-8)}.routine-spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--border-light);border-top-color:var(--color-primary-600);border-radius:var(--radius-full);animation:routineSpin .7s linear infinite}@keyframes routineSpin{to{transform:rotate(360deg)}}.routine-empty{padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);color:var(--ink-secondary);font-family:var(--font-primary);font-size:var(--text-base)}.routine-section{padding:var(--space-4) var(--space-6);border-bottom:2px dashed var(--color-gray-300)}.routine-section-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-normal);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-dark-primary);margin-bottom:var(--space-3)}.routine-no-tasks{font-family:var(--font-primary);font-size:var(--text-base);color:var(--ink-tertiary);margin:0}.routine-task-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;width:100%;min-height:var(--touch-target-min);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--ink-primary);padding:.4rem .2rem;background:transparent;border:none;border-radius:var(--radius-tight);transition:background var(--duration-fast) ease;-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.routine-task-label:hover{background:var(--bg-secondary)}}.routine-task-label:active{background:var(--bg-tertiary)}.routine-task-label.routine-task-done{background:transparent}.routine-task-label.routine-task-done .routine-task-name{text-decoration:line-through;color:var(--ink-tertiary)}.routine-task-label input[type=checkbox]{width:1.15rem;height:1.15rem;flex-shrink:0;accent-color:var(--color-primary-600);cursor:pointer}.routine-footer{padding:var(--space-6);margin-top:auto}.routine-chat-link{display:block;width:100%;background:var(--gradient-cta);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-large);box-shadow:var(--shadow-comic) var(--comic-ink);color:var(--comic-ink);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:.65rem var(--space-4);cursor:pointer;text-align:center;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background var(--duration-fast) ease}.routine-chat-link:hover{background:var(--gradient-cta-hover)}.routine-chat-link:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--comic-ink)}.routine-toast{position:sticky;bottom:0;left:0;right:0;background:var(--color-dark-primary);color:var(--ink-inverse);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);border-top:var(--comic-outline-width) solid var(--comic-ink);padding:.75rem 1.25rem calc(.75rem + var(--safe-bottom));text-align:center;animation:routineToastIn var(--duration-normal) ease-out}@keyframes routineToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.routine-celebration{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;animation:routineCelebrationIn 4s ease-out forwards}.routine-celebration-burst{position:absolute;inset:0;transform-origin:50% 50%;-webkit-mask-image:radial-gradient(ellipse 80% 36% at 50% 50%,var(--comic-ink) 50%,transparent 100%);mask-image:radial-gradient(ellipse 80% 36% at 50% 50%,var(--comic-ink) 50%,transparent 100%);background:radial-gradient(circle 160px at 50% 50%,#fffdf0fa,#fff9e0b8 55%,#fff9e000),repeating-conic-gradient(from 0deg at 50% 50%,#ffe0829e 0deg 8deg,#ffca289e 8deg 16deg,#ffb3009e 16deg 24deg);animation:routineBurst .6s var(--ease-bounce) forwards}.routine-celebration-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:var(--space-6);text-align:center}.routine-celebration-emoji{font-size:var(--icon-lg);line-height:var(--leading-none);animation:routineCelebrationPop .5s ease-out}.routine-celebration-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--comic-ink);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-shadow:2px 2px 0 var(--bg-primary),-2px -2px 0 var(--bg-primary),2px -2px 0 var(--bg-primary),-2px 2px 0 var(--bg-primary),0 2px 0 var(--bg-primary),0 -2px 0 var(--bg-primary),2px 0 0 var(--bg-primary),-2px 0 0 var(--bg-primary),3px 3px 0 rgba(0,0,0,.18)}.routine-celebration-streak{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-accent-700);text-shadow:1px 1px 0 var(--bg-primary),-1px -1px 0 var(--bg-primary),1px -1px 0 var(--bg-primary),-1px 1px 0 var(--bg-primary)}@keyframes routineCelebrationIn{0%{opacity:0}8%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes routineBurst{0%{transform:scale(.2) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes routineCelebrationPop{0%{transform:scale(.3)}60%{transform:scale(1.25)}to{transform:scale(1)}}.routine-room-list{display:flex;flex-direction:column;gap:var(--space-2)}.routine-room-group{display:flex;flex-direction:column}.routine-room-header{display:flex;align-items:center;gap:var(--space-2);width:100%;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-normal);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-dark-primary);min-height:var(--touch-target-min);padding:.45rem .2rem;border-bottom:1.5px solid var(--color-gray-300);transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease;-webkit-tap-highlight-color:transparent}.routine-room-toggle{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;min-height:var(--touch-target-min);cursor:pointer;text-align:left;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;padding:0;background:transparent;border:none;-webkit-tap-highlight-color:transparent}.routine-room-rename-btn{flex-shrink:0;width:var(--touch-target-min);min-height:var(--touch-target-min);cursor:pointer;background:transparent;border:none;font-size:var(--text-xs);line-height:var(--leading-none);opacity:.45;transition:opacity var(--duration-fast) ease;-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.routine-room-rename-btn:hover{opacity:1}}.routine-room-rename-btn:focus-visible,.routine-room-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--color-primary-600);outline-offset:var(--focus-ring-offset);opacity:1}.routine-room-name-input{flex:1;min-width:0;min-height:var(--touch-target-min);font:inherit;letter-spacing:inherit;text-transform:none;color:var(--ink-primary);background:var(--bg-primary);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-tight);padding:.2rem .4rem}.routine-room-name-input:focus-visible{outline:var(--focus-ring-width) solid var(--color-primary-600);outline-offset:1px}@media(hover:hover)and (pointer:fine){.routine-room-header:hover{border-bottom-color:var(--comic-ink)}}.routine-room-header:active{background:var(--bg-secondary)}.routine-room-header-open{border-bottom:var(--comic-outline-thin) solid var(--comic-ink)}.routine-room-header.routine-room-complete{color:var(--ink-tertiary);border-bottom-color:var(--color-gray-200)}.routine-tabs{display:flex;gap:var(--space-1);padding:.6rem var(--space-4) 0;flex-shrink:0}.routine-tab{flex:1;min-width:0;min-height:var(--touch-target-min);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;cursor:pointer;padding:.35rem .2rem;background:transparent;border:none;border-bottom:2.5px solid var(--color-gray-300);color:var(--ink-tertiary);font-family:var(--font-primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease;-webkit-tap-highlight-color:transparent}.routine-tab-count{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-none)}.routine-tab-active{color:var(--color-dark-primary);border-bottom-color:var(--comic-ink)}.routine-tab-clear .routine-tab-count{color:var(--color-success-600)}.routine-tab:focus-visible{outline:var(--focus-ring-width) solid var(--color-primary-600);outline-offset:-3px}@media(hover:hover)and (pointer:fine){.routine-tab:hover{color:var(--color-dark-primary)}}.routine-header-stats{display:flex;gap:.35rem;flex-wrap:wrap}.routine-streak-record{background:linear-gradient(135deg,var(--border-light) 0%,var(--border-medium) 100%)}.routine-room-tick{flex-shrink:0;font-size:var(--text-xs);color:var(--color-success-600)}.routine-room-chevron{flex-shrink:0;font-size:var(--text-xs);transform:rotate(-90deg);transition:transform var(--duration-fast) ease}.routine-room-chevron.expanded{transform:rotate(0)}.routine-room-label{flex:1;min-width:0;overflow-wrap:anywhere}.routine-room-meta{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);white-space:nowrap;color:var(--ink-secondary)}.routine-room-header.routine-room-complete .routine-room-meta{color:var(--ink-tertiary)}.routine-room-body{padding:var(--space-2) 0 var(--space-1) var(--space-3)}.routine-room-runway{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--ink-secondary)}.routine-room-runway-urgent{color:var(--color-error-600)}@media(prefers-reduced-motion:reduce){.routine-panel,.routine-celebration,.routine-celebration-burst,.routine-celebration-emoji{animation:none}.routine-room-header,.routine-room-chevron,.routine-room-rename-btn{transition:none}}@media(max-width:480px){.routine-panel{width:100vw;border-left:none;border-radius:0}.routine-header{border-top-left-radius:0}}.routine-task-discuss{flex:0 0 auto;min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;font-size:var(--text-base);line-height:1;opacity:.55;border-radius:var(--radius-full)}.routine-task-discuss:hover,.routine-task-discuss:focus-visible{opacity:1;background:var(--bg-tertiary)}:root{--color-primary-50: #faf4fb;--color-primary-100: #f3e4f6;--color-primary-200: #e5c0ec;--color-primary-300: #d08ddd;--color-primary-400: #ba55ce;--color-primary-500: #a035b6;--color-primary-600: #7a288a;--color-primary-700: #5f1e6c;--color-primary-800: #43144d;--color-primary-rgb: 160, 53, 182;--color-accent-50: #fffbeb;--color-accent-100: #fef3c7;--color-accent-200: #fde68a;--color-accent-300: #fcd34d;--color-accent-400: #fbbf24;--color-accent-500: #f59e0b;--color-accent-600: #d97706;--color-accent-700: #b45309;--color-accent-800: #92400e;--color-accent: var(--color-accent-500);--color-accent-dark: var(--color-accent-700);--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-800: #166534;--color-success-900: #14532d;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-300: #fca5a5;--color-error-400: #f87171;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-dark-primary: #1e2123;--color-dark-secondary: #282d31;--ink-primary: var(--color-gray-700);--ink-secondary: var(--color-gray-600);--ink-tertiary: var(--color-gray-500);--ink-placeholder: var(--color-gray-400);--ink-inverse: #ffffff;--ink-link: var(--color-primary-500);--ink-link-hover: var(--color-primary-600);--bg-primary: #ffffff;--bg-secondary: var(--color-gray-50);--bg-tertiary: var(--color-gray-100);--bg-overlay: rgba(0, 0, 0, .6);--bg-overlay-light: rgba(0, 0, 0, .08);--border-light: var(--color-gray-200);--border-medium: var(--color-gray-300);--border-dark: var(--color-gray-400);--font-primary: "Comic Neue", "Comic Sans MS", cursive, sans-serif;--font-handwritten: "Patrick Hand", "Comic Neue", "Comic Sans MS", cursive;--font-display: "Permanent Marker", "Comic Neue", cursive;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-display-sm: clamp(1.5rem, 5vw, 2rem);--icon-md: 2rem;--icon-lg: 3rem;--icon-xl: 3.5rem;--font-normal: 400;--font-bold: 700;--leading-none: 1;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.6;--tracking-none: 0;--tracking-caps: .05em;--tracking-display: .1em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--inset-affordance: 2.5rem;--inset-form: 2.5rem;--bar-top-reserve: 7rem;--input-bar-height: calc(5.625rem + var(--safe-bottom-padding));--content-fit-height: calc( 100dvh - var(--input-bar-height) - var(--bar-top-reserve) - var(--safe-top) - var(--space-4) );--frame-width: clamp(280px, 42vw, 450px);--frame-aspect: 3 / 4;--radius-tight: 4px;--radius-base: 12px;--radius-large: 16px;--radius-full: 9999px;--photo-corner-radius: 2px;--speech-bubble-radius: 1.2rem 1rem 1.1rem .9rem;--shadow-comic-pressed: 1px 1px 0;--shadow-comic: 3px 3px 0;--shadow-comic-lifted: 5px 5px 0;--shadow-speech: 2px 3px 0;--shadow-comic-ink: rgba(0, 0, 0, .25);--shadow-speech-ink: rgba(0, 0, 0, .15);--shadow-raised: 0 2px 8px rgba(0, 0, 0, .08);--shadow-overlay: 0 6px 16px rgba(0, 0, 0, .15);--shadow-float: 0 10px 25px rgba(0, 0, 0, .25);--shadow-focus-ring: 0 0 0 3px rgba(var(--color-primary-rgb), .2);--shadow-inset-highlight: inset 0 1px 2px rgba(255, 255, 255, .3);--shadow-btn: 0 4px 0 var(--btn-lip), 0 6px 20px rgba(var(--btn-glow-rgb), var(--btn-glow-alpha, .4));--shadow-btn-hover: 0 6px 0 var(--btn-lip), 0 8px 25px rgba(var(--btn-glow-rgb), .5);--shadow-btn-pressed: 0 2px 0 var(--btn-lip), 0 4px 15px rgba(var(--btn-glow-rgb), .3);--shadow-btn-comic-pressed: 0 1px 0 var(--btn-lip), 0 2px 4px rgba(0, 0, 0, .3);--shadow-glow: 0 4px 12px rgba(var(--glow-rgb), var(--glow-alpha, .3));--shadow-glow-hover: 0 6px 16px rgba(var(--glow-rgb), .4);--shadow-glow-pressed: 0 2px 8px rgba(var(--glow-rgb), .3);--z-dropdown: 10;--z-sticky: 20;--z-fixed-ui: 100;--z-modal: 1000;--z-modal-high: 2000;--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out-soft: cubic-bezier(.25, .46, .45, .94);--focus-ring-width: 3px;--focus-ring-color: var(--color-primary-500);--focus-ring-offset: 2px;--focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);--touch-target-min: 44px;--comic-outline-thin: 2px;--comic-outline-width: 3px;--comic-outline-heavy: 4px;--comic-ink: #000;--comic-ink-chrome: var(--color-dark-primary);--gradient-cta: linear-gradient(180deg, #ffd93d 0%, #ff6900 100%);--gradient-cta-hover: linear-gradient(180deg, #ffe566 0%, #ff8533 100%);--cta-lip: #cc7700;--gradient-confirm: linear-gradient(180deg, var(--color-success-400) 0%, var(--color-success-600) 100%);--gradient-confirm-hover: linear-gradient(180deg, var(--color-success-300) 0%, var(--color-success-400) 100%);--confirm-lip: var(--color-success-800);--gradient-danger: linear-gradient(180deg, var(--color-error-400) 0%, var(--color-error-600) 100%);--gradient-danger-hover: linear-gradient(180deg, var(--color-error-300) 0%, var(--color-error-400) 100%);--danger-lip: var(--color-error-700);--option-selected-bg: #ebf8ff;--gradient-secondary: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-400) 100%);--gradient-secondary-hover: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-primary-600) 100%);--btn-back-bg: var(--bg-primary);--btn-back-bg-hover: var(--color-gray-50);--back-lip: var(--color-gray-400);--gradient-choice-a: linear-gradient(135deg, #e3f2fd 0%, #90caf9 100%);--gradient-choice-a-hover: linear-gradient(135deg, #bbdefb 0%, #64b5f6 100%);--gradient-choice-b: linear-gradient(135deg, #fff3e0 0%, #ffcc80 100%);--gradient-choice-b-hover: linear-gradient(135deg, #ffe0b2 0%, #ffb74d 100%);--gradient-kraft: linear-gradient(135deg, #d4a574 0%, #c4956a 50%, #b8865a 100%);--gradient-gold: linear-gradient(135deg, #f4c430 0%, #d4a420 100%);--badge-ray-light: #ffd54f;--badge-ray-dark: #ffca28;--paper-white: var(--color-gray-50);--paper-cream: var(--color-accent-50);--paper-lavender: var(--color-primary-50);--paper-mint: var(--color-success-50);--paper-rose: var(--color-error-50);--paper-butter: var(--color-accent-100);--paper-line-white: var(--color-gray-200);--paper-line-cream: var(--color-accent-200);--paper-line-lavender: var(--color-primary-200);--paper-line-mint: var(--color-success-200);--paper-line-rose: var(--color-error-200);--paper-line-butter: var(--color-accent-300);--color-paper-cream: var(--color-accent-50);--color-paper-ivory: var(--color-accent-50);--border-dashed: 3px dashed var(--color-gray-300);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-bottom-padding: max(1.5rem, env(safe-area-inset-bottom, 1.5rem));--capture-frame-aspect: 4 / 5;--capture-frame-height: min(340px, 44vh);--sprite-hair-top: .064;--sprite-chin: .375;--sprite-shoulders: .44;--sprite-waist: .6;--sprite-thighs: .73;--sprite-aspect: .62}@media(max-width:768px){:root{--bar-top-reserve: 6rem;--input-bar-height: calc(5.375rem + var(--safe-bottom-padding));--frame-width: min(100vw - 2rem, 400px)}}*:focus{outline:none}*:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}button:focus-visible,[role=button]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-tight)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus-ring);outline-offset:0;border-color:var(--focus-ring-color)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}@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(forced-colors:active){*:focus-visible{outline:3px solid CanvasText}button,[role=button]{border:2px solid ButtonText}}button{font-family:var(--font-primary)}.btn-cta{background:var(--gradient-confirm);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-base);box-shadow:var(--shadow-comic) var(--comic-ink);color:var(--comic-ink);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-bold);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);position:relative;text-transform:uppercase;top:0;transition:all var(--duration-fast) ease}.btn-cta:hover{background:var(--gradient-confirm-hover);transform:scale(1.05)}.btn-cta:active{top:3px;--btn-lip: var(--confirm-lip);box-shadow:var(--shadow-btn-comic-pressed)}.btn-cta--compact{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn-cta--next{background:var(--gradient-cta)}.btn-cta--next:hover{background:var(--gradient-cta-hover)}.btn-cta--next:active{--btn-lip: var(--cta-lip);box-shadow:var(--shadow-btn-comic-pressed)}.btn-cta--back,.btn-cta--skip{background:var(--btn-back-bg)}.btn-cta--back:hover,.btn-cta--skip:hover{background:var(--btn-back-bg-hover)}.btn-cta--back:active,.btn-cta--skip:active{--btn-lip: var(--back-lip);box-shadow:var(--shadow-btn-comic-pressed)}.btn-cta--danger{background:var(--gradient-danger);color:var(--ink-inverse)}.btn-cta--danger:hover{background:var(--gradient-danger-hover)}.btn-cta--danger:active{--btn-lip: var(--danger-lip);box-shadow:var(--shadow-btn-comic-pressed)}.modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--bg-overlay);display:flex;inset:0;justify-content:center;padding:calc(var(--space-6) + var(--safe-top)) var(--space-6) calc(var(--space-6) + var(--safe-bottom));position:fixed;z-index:var(--z-modal)}.modal-panel{background:linear-gradient(145deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:var(--comic-outline-heavy) solid var(--comic-ink-chrome);border-radius:var(--radius-large);box-shadow:var(--shadow-float),inset 0 1px #fffc;display:flex;flex-direction:column;height:85vh;height:85dvh;max-height:700px;max-width:1000px;overflow:hidden;position:relative;width:95%;animation:modalSlideIn var(--duration-slow) var(--ease-bounce)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:768px){.modal-panel{width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;border-width:0;padding-bottom:var(--safe-bottom)}}:where(.app .chat-bubble,.ptt-speech-bubble,.speech-bubble,.questionnaire-speech-bubble,.form-card-speech-bubble){position:relative;background:var(--bg-primary);border:var(--comic-ink) solid .2rem;border-radius:var(--speech-bubble-radius);max-width:90%;min-width:5rem;padding:.8rem var(--space-4);box-shadow:var(--shadow-speech) var(--shadow-speech-ink);line-height:var(--leading-normal)}.speech-bubble{width:fit-content;font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-caps);line-height:var(--leading-tight);text-align:center;color:var(--comic-ink);margin-bottom:var(--space-6);word-wrap:break-word;overflow-wrap:break-word}.speech-bubble:after{content:"";position:absolute;bottom:-1.8rem;left:50%;transform:translate(-50%) rotate(-5deg);border-color:var(--bg-primary) transparent;border-style:solid;border-width:2.2rem .4rem 0 .6rem;z-index:1}.speech-bubble:before{content:"";position:absolute;bottom:-2.2rem;left:49%;transform:translate(-50%) rotate(-5deg);border-color:var(--comic-ink) transparent;border-style:solid;border-width:2.5rem .55rem 0 .75rem;z-index:0}.speech-bubble p{margin:0}.speech-bubble-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--space-2);padding-top:.4rem;border-top:2px dashed var(--color-gray-300)}.speech-bubble-footer:empty{display:none}:where(.questionnaire-submit,.form-card-submit-btn,.account-data-action):disabled{background:linear-gradient(180deg,var(--color-gray-300) 0%,var(--color-gray-400) 100%);border-color:var(--color-gray-400);color:var(--color-gray-400);cursor:not-allowed;opacity:.6;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes badgeEnter{0%{opacity:0;transform:scale(.8) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.clipboard{position:relative;background:linear-gradient(180deg,#c49c71,#a67c52);border:var(--comic-outline-width) solid var(--comic-ink);border-radius:var(--radius-base);display:flex;flex-direction:column;flex:1;min-height:0;overflow:visible;box-shadow:var(--shadow-overlay);padding:var(--space-8) var(--space-4) var(--space-4) var(--space-4)}.clipboard:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:124px;height:36px;background:linear-gradient(180deg,var(--color-gray-50) 0%,var(--color-gray-300) 38%,var(--color-gray-400) 65%,var(--color-gray-200) 100%);border:2px solid var(--color-gray-500);border-radius:7px 7px 12px 12px;box-shadow:0 3px 8px #0000004d,inset 0 2px 1px #ffffff80,inset 0 -2px 2px #00000026;z-index:var(--z-sticky)}.clipboard:after{content:"";position:absolute;top:-22px;left:50%;transform:translate(-50%);width:44px;height:16px;background:linear-gradient(180deg,var(--color-gray-50) 0%,var(--color-gray-300) 100%);border:2px solid var(--color-gray-500);border-radius:6px 6px 10px 10px;box-shadow:0 3px 6px #00000059,inset 0 1px 2px #ffffff4d;z-index:calc(var(--z-sticky) + 1)}.clipboard-paper{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6) var(--space-4);margin-top:0;background:var(--bg-primary);border-radius:var(--radius-tight);box-shadow:0 2px 8px #00000026,inset 0 1px #ffffffe6}.clipboard-label{display:block;font-family:var(--font-handwritten);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:normal;margin-bottom:var(--space-2);transform:rotate(-.5deg);cursor:pointer;text-wrap:balance}.clipboard-input{width:100%;padding:.8rem var(--space-4);border:var(--border-dashed);border-radius:var(--radius-base);font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-700);background:var(--bg-primary);cursor:pointer;transition:all var(--duration-normal) ease;box-sizing:border-box}.clipboard-input:hover{border-color:var(--color-gray-400)}.clipboard-input:focus{outline:none;border-color:var(--color-primary-500);border-style:solid;background-color:var(--bg-primary)}.clipboard-input::placeholder{color:var(--color-gray-400)}:where(.questionnaire-card,.form-card).read-only{position:relative}:where(.questionnaire-card,.form-card).read-only:before{content:"✓ Submitted";position:absolute;top:.5rem;right:.5rem;background:linear-gradient(180deg,var(--color-success-400) 0%,var(--color-success-600) 100%);color:var(--ink-inverse);padding:var(--space-1) .6rem;border-radius:var(--radius-base);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);border:2px solid var(--color-success-700);box-shadow:var(--shadow-comic) var(--shadow-comic-ink);z-index:var(--z-dropdown)}.read-only .clipboard-input{background-color:var(--color-gray-50);border-style:solid;border-color:var(--color-gray-400);color:var(--color-gray-700);cursor:inherit;opacity:.85;pointer-events:none;resize:none}.read-only .clipboard-input:hover{border-color:var(--color-gray-400)}.form-card{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-4);font-family:var(--font-primary);box-sizing:border-box;overflow:hidden}.form-card-avatar-section{margin:var(--space-1) 0 var(--space-4) 0}.form-card .clipboard{position:relative;z-index:3}.form-card-speech-bubble{font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:center}.form-card-prompt{margin:0;word-wrap:break-word;overflow-wrap:break-word}.form-card-panel{z-index:3;margin-top:var(--space-2)}.form-card-paper{gap:.9rem}.form-card-body{display:flex;flex-direction:column;gap:.9rem;flex:1}.form-card-instructions{font-family:var(--font-handwritten);font-size:var(--text-base);color:var(--color-gray-700);margin:0;line-height:var(--leading-normal)}.form-card-photos{--form-card-tile: 84px;display:flex;flex-wrap:wrap;gap:.6rem}.form-card-thumb{position:relative;width:var(--form-card-tile);height:var(--form-card-tile);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-base);overflow:hidden;box-shadow:var(--shadow-comic) var(--shadow-comic-ink)}.form-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.form-card-thumb-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:var(--radius-full);border:none;background:#000000a6;color:var(--bg-primary);font-size:var(--text-xs);line-height:var(--leading-none);cursor:pointer}.form-card-add-photo{width:var(--form-card-tile);height:var(--form-card-tile);border:var(--border-dashed);border-radius:var(--radius-base);background:var(--bg-primary);color:var(--color-gray-500);font-family:var(--font-handwritten);font-size:var(--text-sm);font-weight:var(--font-bold);cursor:pointer}.form-card-add-photo:hover{border-color:var(--color-primary-600);color:var(--color-primary-600)}.form-card-slot-empty{display:flex;align-items:center;justify-content:center;width:var(--form-card-tile);height:var(--form-card-tile);border:var(--border-dashed);border-radius:var(--radius-base);background:var(--color-gray-50);color:var(--color-gray-500);font-family:var(--font-handwritten);font-size:var(--text-sm);font-weight:var(--font-bold);text-align:center;opacity:.85}.form-card-error{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-error-600);margin:0}.form-card-submit-btn{display:inline-flex;align-items:center;gap:var(--space-1)}.form-card-textarea{resize:vertical;min-height:4.5rem;cursor:text}.form-card-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.form-card-label-row .clipboard-label{margin-bottom:0}.form-card-options{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.form-card-option{min-height:var(--touch-target-min);position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4);text-align:left;background:var(--bg-primary);border:var(--comic-outline-thin) solid var(--comic-ink);border-radius:var(--radius-base);box-shadow:var(--shadow-comic) var(--shadow-comic-ink);cursor:pointer;transition:all var(--duration-fast) ease;-webkit-user-select:none;user-select:none;color:var(--color-gray-700)}.form-card-option:after{content:"›";position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-family:var(--font-primary);font-size:var(--text-xl);line-height:var(--leading-none);opacity:.55}.form-card-option:hover:not(:disabled){background:var(--color-gray-50);box-shadow:var(--shadow-comic-lifted) var(--shadow-comic-ink);transform:translate(-1px,-1px)}.form-card-option:active:not(:disabled){box-shadow:var(--shadow-comic-pressed) var(--shadow-comic-ink);transform:translate(2px,2px)}.form-card-option-chosen,.form-card-option-chosen:disabled{opacity:1;background:var(--option-selected-bg);color:var(--color-primary-600)}.form-card-option-chosen:after{content:"✓";opacity:1}.form-card-option:disabled{cursor:default;opacity:.5;box-shadow:none;transform:none}.form-card-option-label{font-family:var(--font-handwritten);font-size:var(--text-base);font-weight:var(--font-bold)}.form-card-option-hint{font-family:var(--font-handwritten);font-size:var(--text-sm);opacity:.75}.ptt-avatar-section,.questionnaire-avatar-section,.form-card-avatar-section{--mentor-height: 180px;--mentor-tail-reach: 1.6rem;display:flex;align-items:stretch;gap:var(--mentor-tail-reach);min-height:calc(var(--mentor-height) * var(--sprite-thighs));position:relative}.ptt-avatar,.questionnaire-avatar,.form-card-avatar{flex:0 0 auto;align-self:stretch;width:calc(var(--mentor-height) * var(--sprite-aspect));background:transparent;position:relative;overflow:visible;z-index:2}.ptt-avatar img,.questionnaire-avatar img,.form-card-avatar img{position:absolute;top:auto;bottom:calc(-1 * (1 - var(--sprite-thighs)) * var(--mentor-height));left:0;width:auto;height:var(--mentor-height);transform:none;z-index:0;filter:drop-shadow(1px 0 0 rgba(0,0,0,.12)) drop-shadow(-1px 0 0 rgba(0,0,0,.12))}.ptt-speech-bubble,.questionnaire-speech-bubble,.form-card-speech-bubble{flex:1;min-width:0;z-index:3}.ptt-speech-bubble:before,.questionnaire-speech-bubble:before,.form-card-speech-bubble:before{border-color:transparent var(--comic-ink) transparent transparent;border-style:solid;border-width:.55rem calc(var(--mentor-tail-reach) + .3rem) .75rem 0;left:calc(-1 * var(--mentor-tail-reach));top:44.5%;content:"";display:block;position:absolute;width:0;z-index:0;transform:rotate(-5deg)}.ptt-speech-bubble:after,.questionnaire-speech-bubble:after,.form-card-speech-bubble:after{border-color:transparent var(--bg-primary) transparent transparent;border-style:solid;border-width:.4rem var(--mentor-tail-reach) .6rem 0;left:calc(-1 * var(--mentor-tail-reach) + .4rem);top:45%;content:"";display:block;position:absolute;width:0;z-index:1;transform:rotate(-5deg)}@media(max-width:768px){.ptt-avatar-section,.questionnaire-avatar-section,.form-card-avatar-section{--mentor-height: 140px;--mentor-tail-reach: 1.2rem}}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{font-family:var(--font-primary);font-weight:var(--font-normal);font-size:100%;height:100%;margin:0;padding:0;width:100%;overflow-x:hidden}body{min-width:320px;min-height:100vh;min-height:100dvh}#root{width:100%;min-height:100vh;min-height:100dvh}
