:root{--bg-app: #090b11;--bg-phone: #0e121e;--bg-card: rgba(30, 41, 59, .5);--border-card: rgba(255, 255, 255, .08);--app-bg-center: #1e1b4b;--app-bg-edge: #030712;--primary: #3b82f6;--primary-hover: #2563eb;--primary-deep: #1d4ed8;--primary-button: #2563eb;--primary-button-hover: #1d4ed8;--primary-button-deep: #1e40af;--primary-light: #60a5fa;--primary-text: #bfdbfe;--primary-rgb: 59, 130, 246;--primary-glow: rgba(var(--primary-rgb), .35);--accent-cyan: #06b6d4;--accent-cyan-rgb: 6, 182, 212;--accent-purple: #8b5cf6;--accent-purple-rgb: 139, 92, 246;--accent-red: #ef4444;--accent-green: #10b981;--streak-warm: #f59e0b;--streak-hot: #fb7185;--wave-primary: rgba(var(--primary-rgb), .65);--wave-secondary: rgba(var(--accent-cyan-rgb), .45);--wave-tertiary: rgba(var(--accent-purple-rgb), .3);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--font-family: "SF Pro Display", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-streak-tier="1"]{--bg-phone: #0c1622;--bg-card: rgba(25, 50, 71, .54);--app-bg-center: #0b3550;--app-bg-edge: #040b16;--primary: #2f9bff;--primary-hover: #1d84e8;--primary-deep: #1762c2;--primary-button: #1769b5;--primary-button-hover: #125b9d;--primary-button-deep: #16457f;--primary-light: #7cc4ff;--primary-text: #d5edff;--primary-rgb: 47, 155, 255;--primary-glow: rgba(47, 155, 255, .38);--accent-cyan: #22d3ee;--accent-cyan-rgb: 34, 211, 238;--accent-purple: #7c8cff;--accent-purple-rgb: 124, 140, 255;--wave-primary: rgba(47, 155, 255, .7);--wave-secondary: rgba(34, 211, 238, .5);--wave-tertiary: rgba(124, 140, 255, .34)}:root[data-streak-tier="2"]{--bg-phone: #091a20;--bg-card: rgba(20, 60, 66, .52);--app-bg-center: #0a454c;--app-bg-edge: #030d14;--primary: #22c1c3;--primary-hover: #14a8ad;--primary-deep: #0f7185;--primary-button: #0d747c;--primary-button-hover: #0b646d;--primary-button-deep: #0b5063;--primary-light: #67e8f9;--primary-text: #cffafe;--primary-rgb: 34, 193, 195;--primary-glow: rgba(34, 193, 195, .4);--accent-cyan: #38bdf8;--accent-cyan-rgb: 56, 189, 248;--accent-purple: #9b7cf6;--accent-purple-rgb: 155, 124, 246;--wave-primary: rgba(34, 193, 195, .72);--wave-secondary: rgba(56, 189, 248, .5);--wave-tertiary: rgba(155, 124, 246, .36)}:root[data-streak-tier="3"]{--bg-phone: #141022;--bg-card: rgba(53, 35, 79, .5);--app-bg-center: #3a1d66;--app-bg-edge: #080611;--primary: #9b6df5;--primary-hover: #8452e5;--primary-deep: #5b2eae;--primary-button: #7040c9;--primary-button-hover: #6335b7;--primary-button-deep: #4c248f;--primary-light: #c4b5fd;--primary-text: #ede9fe;--primary-rgb: 155, 109, 245;--primary-glow: rgba(155, 109, 245, .42);--accent-cyan: #2dd4bf;--accent-cyan-rgb: 45, 212, 191;--accent-purple: #d08cff;--accent-purple-rgb: 208, 140, 255;--wave-primary: rgba(155, 109, 245, .74);--wave-secondary: rgba(45, 212, 191, .48);--wave-tertiary: rgba(208, 140, 255, .34)}:root[data-streak-tier="4"]{--bg-phone: #1b0d21;--bg-card: rgba(75, 29, 78, .48);--app-bg-center: #59144f;--app-bg-edge: #0c050f;--primary: #e05adf;--primary-hover: #c63fc9;--primary-deep: #86278f;--primary-button: #a82ba8;--primary-button-hover: #922493;--primary-button-deep: #6f1d78;--primary-light: #f0abfc;--primary-text: #fae8ff;--primary-rgb: 224, 90, 223;--primary-glow: rgba(224, 90, 223, .42);--accent-cyan: #2dd4bf;--accent-cyan-rgb: 45, 212, 191;--accent-purple: #a78bfa;--accent-purple-rgb: 167, 139, 250;--wave-primary: rgba(224, 90, 223, .7);--wave-secondary: rgba(45, 212, 191, .5);--wave-tertiary: rgba(167, 139, 250, .4)}:root[data-streak-tier="5"]{--bg-phone: #171122;--bg-card: rgba(64, 43, 77, .52);--app-bg-center: #4b2461;--app-bg-edge: #09060f;--primary: #ad8bff;--primary-hover: #9871ee;--primary-deep: #6539ad;--primary-button: #7550bd;--primary-button-hover: #6542aa;--primary-button-deep: #4b2a85;--primary-light: #d8b4fe;--primary-text: #f3e8ff;--primary-rgb: 173, 139, 255;--primary-glow: rgba(173, 139, 255, .44);--accent-cyan: #22d3ee;--accent-cyan-rgb: 34, 211, 238;--accent-purple: #f59e0b;--accent-purple-rgb: 245, 158, 11;--streak-warm: #fbbf24;--streak-hot: #fb7185;--wave-primary: rgba(173, 139, 255, .74);--wave-secondary: rgba(34, 211, 238, .52);--wave-tertiary: rgba(245, 158, 11, .35)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:radial-gradient(circle at 50% 50%,var(--app-bg-center) 0%,var(--app-bg-edge) 100%);font-family:var(--font-family);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;transition:background .8s ease}.app-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100vh}.app-wrapper:before,.app-wrapper:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(120px);z-index:0;opacity:.5}.app-wrapper:before{background:var(--primary);top:15%;left:25%}.app-wrapper:after{background:var(--accent-purple);bottom:15%;right:25%}.iphone-frame{position:relative;width:390px;height:844px;background-color:var(--bg-phone);border:11px solid #27272a;border-radius:54px;box-shadow:0 25px 60px -15px #000c,0 0 0 4px #18181b;z-index:10;display:flex;flex-direction:column;overflow:hidden;transition:background-color .8s ease,box-shadow .8s ease}.iphone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:115px;height:30px;background-color:#000;border-bottom-left-radius:18px;border-bottom-right-radius:18px;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 16px}.camera-lens{width:9px;height:9px;background-color:#111827;border-radius:50%;border:1px solid #1f2937}.speaker-grill{width:35px;height:3px;background-color:#1f2937;border-radius:2px}.iphone-status-bar{height:48px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 28px 6px;font-size:13px;font-weight:600;color:var(--text-primary);background-color:transparent;z-index:90;-webkit-user-select:none;user-select:none}.status-icons{display:flex;align-items:center;gap:6px}.status-icons svg{height:14px;width:14px}.status-network{font-size:11px;font-weight:700;margin-right:2px}.iphone-home-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:130px;height:5px;background-color:#fff;border-radius:3px;z-index:100;opacity:.8}.screen-container{flex:1;display:flex;flex-direction:column;position:relative;padding-bottom:24px;overflow:hidden}.beta-toolbar{position:relative;z-index:120;height:34px;flex:0 0 34px;display:flex;align-items:flex-start;justify-content:flex-end;padding:0 14px 4px}.report-bug-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(251,191,36,.38);border-radius:999px;background:#78350f4d;color:#fde68a;padding:5px 10px;font-family:var(--font-family);font-size:11px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.report-bug-btn:hover{background:#92400e73;border-color:#fbbf24a6}.report-bug-btn:disabled{cursor:wait;opacity:.65}.report-bug-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;font-size:9px;font-weight:800}.bug-report-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:#020617cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bug-report-panel{width:100%;max-height:calc(100% - 16px);overflow-y:auto;border:1px solid rgba(148,163,184,.22);border-radius:22px;background:#111827;box-shadow:0 24px 70px #000000a6;padding:18px}.bug-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.bug-report-heading h2{font-size:21px;line-height:1.1;margin-bottom:5px}.bug-report-heading p{color:var(--text-secondary);font-size:11.5px;line-height:1.4}.bug-report-close{flex:0 0 auto;width:30px;height:30px;border:1px solid var(--border-card);border-radius:50%;background:#ffffff0d;color:var(--text-secondary);cursor:pointer}.bug-screenshot-card{display:flex;align-items:center;gap:11px;margin-bottom:15px;border:1px solid rgba(16,185,129,.22);border-radius:12px;background:#10b98112;padding:9px}.bug-screenshot-card img{width:52px;height:74px;flex:0 0 auto;border-radius:7px;object-fit:cover;object-position:top;background:#ffffff0f}.bug-screenshot-card div{display:flex;flex-direction:column;gap:3px}.bug-screenshot-card strong{color:#86efac;font-size:12px}.bug-screenshot-card span{color:var(--text-muted);font-size:10.5px}.bug-description-label{display:flex;flex-direction:column;gap:4px;margin-bottom:7px;color:var(--text-primary);font-size:13px;font-weight:700}.bug-description-label span{color:var(--text-secondary);font-size:11px;font-weight:400;line-height:1.4}#bug-description{width:100%;min-height:116px;resize:vertical;border:1px solid rgba(148,163,184,.25);border-radius:12px;background:#0f172acc;color:var(--text-primary);padding:11px 12px;font-family:var(--font-family);font-size:13px;line-height:1.45;outline:none}#bug-description:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}.bug-voice-actions{min-height:38px;display:flex;align-items:center;gap:8px;margin-top:9px}.bug-voice-btn,.bug-stop-btn{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;font-family:var(--font-family);font-size:11px;font-weight:700;cursor:pointer}.bug-voice-btn{border:1px solid rgba(var(--primary-rgb),.35);background:rgba(var(--primary-rgb),.13);color:var(--primary-text)}.bug-stop-btn{border:1px solid rgba(239,68,68,.38);background:#ef444421;color:#fca5a5}.bug-mic-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-light)}.bug-voice-status{color:var(--text-muted);font-size:10.5px;line-height:1.3}.bug-report-status{min-height:18px;margin-top:5px;color:#86efac;font-size:11px;line-height:1.35}.bug-report-status.error{color:#fca5a5}.bug-report-actions{display:grid;grid-template-columns:.8fr 1.4fr;gap:9px;margin-top:8px}.bug-cancel-btn,.bug-submit-btn{min-height:42px;border-radius:11px;font-family:var(--font-family);font-size:12px;font-weight:700;cursor:pointer}.bug-cancel-btn{border:1px solid var(--border-card);background:#ffffff0d;color:var(--text-secondary)}.bug-submit-btn{border:1px solid rgba(var(--primary-rgb),.7);background:var(--primary);color:#fff}.bug-submit-btn:disabled{cursor:not-allowed;opacity:.45}.screen{position:absolute;top:0;left:0;width:100%;height:100%;padding:16px 20px;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translate(30px);transition:opacity .4s ease,transform .4s ease;z-index:1}.screen.active{opacity:1;pointer-events:auto;transform:translate(0);z-index:10}#screen-login{justify-content:center}#screen-create-user{padding-top:18px;overflow-y:auto;justify-content:flex-start}.auth-panel{width:100%;max-width:310px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:16px}.auth-panel-top{margin-top:28px}.auth-logo{align-self:center;margin-bottom:2px}.auth-title{text-align:center;font-size:32px;font-weight:700;line-height:1}.auth-subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-top:-8px}.auth-form,.account-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:600}.auth-field.compact{font-size:11px}.auth-field input{width:100%;border:1px solid rgba(148,163,184,.22);background:#0f172aad;color:var(--text-primary);border-radius:8px;padding:12px 13px;font:inherit;outline:none}.auth-field input:focus{border-color:rgba(var(--primary-rgb),.8);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}.auth-field input[type=range]{border:0;background:transparent;box-shadow:none;padding:0}.gender-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gender-selector label{cursor:pointer}.gender-selector input{position:absolute;opacity:0;pointer-events:none}.gender-selector span{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;border:1px solid rgba(148,163,184,.22);background:#0f172aad;color:var(--text-secondary);font-size:14px;font-weight:700}.gender-selector input:checked+span{border-color:rgba(var(--primary-rgb),.82);background:rgba(var(--primary-rgb),.18);color:var(--text-primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}.onboarding-voice-card{display:flex;flex-direction:column;gap:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;padding:12px;background:#0f172a5c}.onboarding-voice-title{color:var(--text-primary);font-size:13px;font-weight:700}.auth-error,.auth-success{min-height:16px;font-size:12px;line-height:1.35}.auth-error{color:#fca5a5}.auth-success{color:#86efac}.auth-link-btn{align-self:center;border:0;background:transparent;color:#93c5fd;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:8px 10px}.current-user-pill{align-self:center;min-height:24px;padding:5px 11px;border-radius:999px;background:#0f172aad;border:1px solid rgba(148,163,184,.18);color:var(--text-secondary);font-size:12px;font-weight:600}.account-card{margin-bottom:8px}.account-actions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.password-panel{margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.16)}#screen-welcome{justify-content:space-between;padding-top:40px}.welcome-header{text-align:center;margin-top:15px}.logo-container{position:relative;width:90px;height:90px;margin:0 auto 20px;display:flex;justify-content:center;align-items:center}.logo-ring{position:absolute;border-radius:50%;border:2px solid var(--primary);opacity:.3}.ring-1{width:100%;height:100%;animation:pulse-ring 3s infinite linear}.ring-2{width:80%;height:80%;animation:pulse-ring 2.2s infinite linear reverse}.logo-icon{width:36px;height:36px;color:var(--primary);filter:drop-shadow(0 0 10px var(--primary));z-index:10}.app-title{font-size:28px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#ffffff 30%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-subtitle{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;font-weight:500;margin-top:4px}.welcome-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:24px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-card h2{font-size:18px;font-weight:600;margin-bottom:12px;color:var(--primary)}.welcome-card p{font-size:14px;line-height:1.5;color:var(--text-secondary);margin-bottom:16px}.guide-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.guide-item:last-child{margin-bottom:0}.guide-num{background-color:rgba(var(--primary-rgb),.15);border:1px solid rgba(var(--primary-rgb),.3);color:var(--primary);font-size:12px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;margin-top:2px}.guide-text{font-size:13px;color:var(--text-primary);line-height:1.4}.welcome-form{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.input-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:-6px;padding-left:4px}.text-input{background:#0f172a99;border:1.5px solid var(--border-card);border-radius:16px;padding:14px 18px;color:#fff;font-size:15px;font-family:var(--font-family);outline:none;transition:border-color .2s,box-shadow .2s}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.btn{width:100%;padding:16px;border-radius:16px;border:none;font-size:16px;font-weight:600;font-family:var(--font-family);cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;position:relative;overflow:hidden;transition:transform .15s,background-color .2s,box-shadow .2s}.btn:active{transform:scale(.97)}.btn:disabled{cursor:wait;opacity:.62;transform:none}.btn-primary{background:linear-gradient(135deg,var(--primary-button) 0%,var(--primary-button-deep) 100%);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-button-hover) 0%,var(--primary-button-deep) 100%)}.btn-primary:disabled{background:#1e293b;color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.btn-primary.is-session-loading:disabled{background:linear-gradient(135deg,var(--primary-button) 0%,var(--primary-button-deep) 68%,var(--primary-button-hover) 100%);color:#fff;box-shadow:0 0 0 1px #93c5fd33,0 12px 30px rgba(var(--primary-rgb),.28);cursor:wait}.btn-primary.is-session-loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0%,transparent 30%,rgba(255,255,255,.24) 44%,rgba(255,255,255,.44) 50%,rgba(255,255,255,.18) 56%,transparent 70%,transparent 100%);transform:translate(-120%);animation:session-button-sheen 2s infinite cubic-bezier(.42,0,.24,1);pointer-events:none}.btn-primary.is-session-loading:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:14px;border:1px solid rgba(255,255,255,.12);pointer-events:none}.session-loading-label,.session-loading-dots{position:relative;z-index:1}.session-loading-label{min-width:154px}.session-loading-dots{display:inline-flex;align-items:center;gap:5px}.session-loading-dots span{width:5px;height:5px;border-radius:50%;background:#ffffffeb;box-shadow:0 0 10px #ffffff73;animation:session-dot-orbit 2s infinite ease-in-out}.session-loading-dots span:nth-child(2){animation-delay:.18s}.session-loading-dots span:nth-child(3){animation-delay:.36s}.btn-secondary{background:#33415566;border:1px solid var(--border-card);color:var(--text-primary)}.btn-secondary:hover{background:#33415599}.pulse-effect{animation:btn-pulse 2s infinite}#screen-chat{padding-top:30px}.chat-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-card);padding-bottom:12px;margin-bottom:12px}.header-left{display:flex;align-items:center;gap:6px}.rec-badge{background-color:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:100px;padding:4px 8px;display:flex;align-items:center;gap:6px}.rec-dot{width:6px;height:6px;background-color:var(--accent-red);border-radius:50%;animation:dot-blink 1.2s infinite}.rec-text{font-size:10px;font-weight:700;color:var(--accent-red);letter-spacing:.5px}.end-session-btn{display:flex;align-items:center;gap:4px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:100px;color:var(--accent-red);font-size:10px;font-weight:700;font-family:var(--font-family);letter-spacing:.4px;padding:4px 8px;cursor:pointer;width:auto;transition:background .15s,border-color .15s}.end-session-btn svg{width:8px;height:8px;flex-shrink:0}.end-session-btn:hover{background:#ef444438;border-color:#ef444480}.end-session-btn:active{transform:scale(.95)}.session-title{font-size:13px;font-weight:600;text-align:center}.session-subtitle{font-size:10px;color:var(--text-secondary);text-align:center;letter-spacing:.5px}.timer{font-family:monospace;font-size:12px;font-weight:600;color:var(--text-secondary);background:#ffffff0d;border-radius:6px;padding:2px 6px}.chat-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px;margin-bottom:12px;scroll-behavior:smooth}.chat-area::-webkit-scrollbar{width:4px}.chat-area::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:4px}.message-bubble{max-width:85%;padding:12px 16px;border-radius:20px;font-size:14px;line-height:1.45;animation:bubble-entrance .3s cubic-bezier(.16,1,.3,1) forwards;transform-origin:left bottom}.message-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.message-bubble.chatbot{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border-card);border-bottom-left-radius:4px;color:var(--text-primary)}.topic-choice-launcher{display:block;width:100%;margin-top:10px;padding:9px 12px;border:1px solid rgba(var(--primary-rgb),.5);border-radius:12px;background:rgba(var(--primary-rgb),.13);color:var(--primary-text);font-family:var(--font-family);font-size:13px;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.topic-choice-launcher:hover{background:rgba(var(--primary-rgb),.22);border-color:rgba(var(--primary-rgb),.75)}.topic-choice-launcher:active{transform:scale(.98)}.topic-chooser{align-self:flex-start;width:min(94%,430px);padding:14px;border:1px solid rgba(var(--primary-rgb),.3);border-radius:18px;background:var(--bg-phone);box-shadow:0 16px 34px #02061747;animation:bubble-entrance .24s cubic-bezier(.16,1,.3,1) forwards}.topic-chooser-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.topic-chooser-title{color:var(--text-primary);font-size:13px;font-weight:650;line-height:1.35}.topic-refresh-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:7px 9px;border:1px solid var(--border-card);border-radius:10px;background:#3341558c;color:var(--text-secondary);font-family:var(--font-family);font-size:11px;font-weight:600;cursor:pointer}.topic-refresh-btn:hover:not(:disabled){color:var(--text-primary);border-color:rgba(var(--primary-rgb),.55)}.topic-refresh-btn:disabled{cursor:default;opacity:.42}.topic-options{display:grid;grid-template-columns:1fr;gap:8px}.topic-option-btn{min-height:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:11px 13px;border:1px solid rgba(148,163,184,.25);border-radius:13px;background:var(--bg-card);color:var(--text-primary);font-family:var(--font-family);font-size:14px;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.topic-option-btn small{color:var(--text-secondary);font-size:10px;font-weight:500;text-transform:capitalize}.topic-option-btn:hover{background:#334155eb;border-color:rgba(var(--primary-rgb),.58)}.topic-option-btn:active{transform:scale(.985)}.topic-option-own{border-color:rgba(var(--primary-rgb),.45);color:var(--primary-text)}.topic-choice-back{display:block;margin:11px auto 0;padding:6px 10px;border:0;background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:11px;cursor:pointer}.topic-choice-back:hover{color:var(--text-primary);text-decoration:underline}.topic-choice-launcher:focus-visible,.topic-refresh-btn:focus-visible,.topic-option-btn:focus-visible,.topic-choice-back:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.message-bubble.patient{align-self:flex-end;background:linear-gradient(135deg,var(--primary-button) 0%,var(--primary-button-deep) 100%);color:#fff;border-bottom-right-radius:4px;transform-origin:right bottom}.message-actions{display:flex;justify-content:flex-end;gap:4px;margin:7px -5px -5px 0}.message-action-btn{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#0f172a38;color:#ffffffeb;font-family:var(--font-family);font-size:15px;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.message-action-btn:hover{background:#0f172a70}.message-action-btn:active{transform:scale(.92)}.message-action-btn:disabled{cursor:wait;opacity:.45}.message-bubble.patient.editing{width:min(92%,300px);max-width:92%}.message-editor{display:flex;flex-direction:column;gap:8px}.message-edit-textarea{width:100%;min-height:88px;resize:vertical;border:1px solid rgba(255,255,255,.35);border-radius:11px;background:#0f172a47;color:#fff;padding:9px 10px;font-family:var(--font-family);font-size:13px;line-height:1.4;outline:none}.message-edit-textarea:focus{border-color:#ffffffb8;box-shadow:0 0 0 3px #ffffff1f}.message-editor-actions{display:flex;justify-content:flex-end;gap:7px}.message-editor-actions button{min-width:55px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#0f172a3d;color:#fff;padding:6px 10px;font-family:var(--font-family);font-size:11px;font-weight:700;cursor:pointer}.message-editor-actions button:last-child{background:#fff;color:#1e3a8a}.tts-retry{margin:0 0 12px;padding:11px 12px;border:1px solid rgba(96,165,250,.55);border-radius:14px;background:#1e40af33;color:var(--text-primary);font-size:12px;line-height:1.35;text-align:center}.tts-retry button{display:block;width:100%;margin-top:8px;padding:9px 12px;border:0;border-radius:999px;background:var(--primary);color:#fff;font-family:var(--font-family);font-size:13px;font-weight:700;cursor:pointer}.tts-retry button:disabled{cursor:wait;opacity:.65}.visualizer-container{background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),var(--bg-card));border:1px solid var(--border-card);border-radius:20px;padding:12px;margin-bottom:12px;text-align:center;position:relative;overflow:hidden}.visualizer-wave-box{height:45px;width:100%;display:flex;align-items:center;justify-content:center}.visualizer-canvas{width:100%;height:100%;display:block}.visualizer-status{font-size:11px;color:var(--text-secondary);font-weight:500;margin-top:6px;letter-spacing:.3px;display:flex;justify-content:center;align-items:center;gap:4px}.transcript-box{background:var(--bg-card);border:1px solid var(--border-card);border-radius:20px;padding:14px;margin-bottom:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.transcript-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.transcript-body-container{position:relative}.transcript-textarea{width:100%;height:112px;background:transparent;border:none;resize:none;color:#fff;font-family:var(--font-family);font-size:13.5px;line-height:1.45;outline:none}.transcript-textarea::placeholder{color:var(--text-muted)}.transcript-feedback-row{display:flex;justify-content:space-between;gap:10px;min-height:16px;margin-top:4px;color:var(--text-muted);font-size:10.5px;line-height:1.3}#transcript-learning-status{color:var(--accent-green)}#transcript-confidence{margin-left:auto;text-align:right}.loading-dots{display:none;position:absolute;bottom:0;right:0;align-items:center;gap:3px;background:var(--bg-phone);padding:4px 10px;border-radius:20px;border:1px solid var(--border-card)}.loading-dots.active{display:flex}.loading-dots span{width:5px;height:5px;background-color:var(--primary);border-radius:50%;animation:typing-dot 1.4s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.chat-controls{margin-top:auto}.continuation-choice{display:flex;gap:10px;width:100%;margin-top:10px}.continuation-choice .btn{flex:1}.icon-arrow{width:16px;height:16px;transition:transform .2s}.btn:hover .icon-arrow{transform:translate(3px)}#screen-finish{justify-content:flex-start;align-items:center;text-align:center;padding:24px 26px 32px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.finish-icon-box{position:relative;width:80px;height:80px;margin-bottom:16px;display:flex;justify-content:center;align-items:center}.success-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid rgba(16,185,129,.2);animation:pulse-ring 2.5s infinite}.success-checkmark{width:40px;height:40px;color:var(--accent-green);filter:drop-shadow(0 0 8px rgba(16,185,129,.4));animation:draw-check .4s cubic-bezier(.16,1,.3,1) forwards}.finish-title{font-size:24px;font-weight:700;margin-bottom:8px}.finish-message{font-size:14px;color:var(--text-secondary);margin-bottom:18px}.streak-celebration{position:relative;width:100%;margin-bottom:18px;padding:14px 16px 15px;overflow:hidden;border:1px solid rgba(var(--primary-rgb),.34);border-radius:22px;background:radial-gradient(circle at 50% 5%,rgba(251,191,36,.18),transparent 46%),linear-gradient(145deg,rgba(var(--primary-rgb),.14),rgba(var(--accent-purple-rgb),.1));box-shadow:0 16px 36px rgba(var(--primary-rgb),.13);animation:streak-card-arrive .65s cubic-bezier(.16,1,.3,1) both}.streak-celebration:before{content:"";position:absolute;top:-70%;right:20%;bottom:45%;left:20%;border-radius:50%;background:#fbbf242e;filter:blur(26px);pointer-events:none}.streak-celebration.is-milestone{border-color:#fbbf247a;box-shadow:0 18px 42px #f59e0b29,0 0 30px rgba(var(--primary-rgb),.13)}.streak-celebration.is-same-day{animation-name:bubble-entrance}.streak-flame{position:relative;width:58px;height:70px;margin:-3px auto 3px;filter:drop-shadow(0 8px 14px rgba(245,158,11,.24));animation:streak-flame-rise .82s cubic-bezier(.16,1,.3,1) .08s both}.streak-flame svg{width:100%;height:100%;overflow:visible}.streak-flame-outer{fill:var(--streak-hot)}.streak-flame-inner{fill:var(--streak-warm)}.streak-flame-number{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);color:#fff;font-size:17px;font-weight:800;line-height:1;text-shadow:0 1px 5px rgba(88,28,12,.6);animation:streak-number-pop .5s cubic-bezier(.16,1,.3,1) .48s both}.streak-celebration-title{position:relative;color:var(--text-primary);font-size:17px;font-weight:750;line-height:1.25}.streak-celebration-message{position:relative;margin-top:4px;color:var(--text-secondary);font-size:12px;line-height:1.4}.streak-trail-finish{position:relative;margin-top:12px}.streak-trail-finish span{width:9px;height:9px}#screen-finish .stats-card{margin-bottom:20px}#screen-finish .portrait-frame{max-width:280px;margin-bottom:18px}#screen-finish.save-failed .finish-icon-box{display:none}.stats-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:24px;padding:20px;width:100%;margin-bottom:36px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stats-card h3{font-size:15px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px;border-bottom:1px solid var(--border-card);padding-bottom:8px}.stat-row{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px}.stat-row:last-of-type{margin-bottom:16px}.stat-label{color:var(--text-secondary)}.stat-value{font-weight:600;color:#fff}.stat-footer{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-card);padding-top:12px}.icon-secure{width:14px;height:14px;flex-shrink:0}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.1);opacity:.3}to{transform:scale(1.25);opacity:0}}@keyframes streak-card-arrive{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes streak-flame-rise{0%{opacity:0;transform:translateY(16px) scale(.72) rotate(-4deg)}65%{opacity:1;transform:translateY(-2px) scale(1.06) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes streak-number-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.16)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes streak-dot-fill{0%{transform:scale(.55);opacity:.35}65%{transform:scale(1.35);opacity:1}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.streak-celebration,.streak-flame,.streak-flame-number,.streak-trail span.newly-filled{animation:none!important}body,.iphone-frame,.home-streak,.streak-trail span{transition-duration:.01ms!important}}@keyframes btn-pulse{0%{box-shadow:0 0 0 0 var(--primary-glow)}70%{box-shadow:0 0 0 10px rgba(var(--primary-rgb),0)}to{box-shadow:0 0 rgba(var(--primary-rgb),0)}}@keyframes session-button-sheen{0%{transform:translate(-120%);opacity:0}12%{opacity:1}58%{opacity:1}to{transform:translate(120%);opacity:0}}@keyframes session-dot-orbit{0%,to{transform:translateY(0) scale(.88);opacity:.45}35%{transform:translateY(-3px) scale(1.08);opacity:1}70%{transform:translateY(0) scale(.92);opacity:.7}}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes typing-dot{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes bubble-entrance{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes draw-check{0%{stroke-dashoffset:80px;stroke-dasharray:80px}to{stroke-dashoffset:0;stroke-dasharray:80px}}#screen-home{justify-content:flex-start;padding:28px 20px 24px;align-items:center;text-align:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}#screen-home::-webkit-scrollbar{width:3px}#screen-home::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.home-top{display:flex;flex-direction:column;align-items:center;width:100%;min-height:min-content;padding-bottom:8px}.home-logo{position:relative;width:62px;height:62px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.home-logo .logo-ring{position:absolute;border-radius:50%;border:2px solid var(--primary);opacity:.3}.home-logo .ring-1{width:100%;height:100%;animation:pulse-ring 3s infinite linear}.home-logo .ring-2{width:78%;height:78%;animation:pulse-ring 2.2s infinite linear reverse}.home-logo .logo-icon{width:29px;height:29px;color:var(--primary);filter:drop-shadow(0 0 10px var(--primary));z-index:10}.home-title{font-size:28px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#ffffff 30%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}.home-subtitle{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;font-weight:500;margin-bottom:16px}#screen-home .portrait-frame{max-width:300px;margin-bottom:16px;cursor:pointer;transition:transform .15s,border-color .15s}#screen-home .portrait-frame:active{transform:scale(.985)}#screen-home #btn-start{margin-top:0}.home-streak{width:100%;margin-top:10px;padding:11px 14px 10px;border:1px solid rgba(var(--primary-rgb),.24);border-radius:16px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.11),rgba(var(--accent-purple-rgb),.08));box-shadow:inset 0 1px #ffffff0a;transition:background .7s ease,border-color .7s ease,box-shadow .7s ease}.home-streak.is-complete{border-color:rgba(var(--primary-rgb),.42);box-shadow:0 8px 24px rgba(var(--primary-rgb),.1),inset 0 1px #ffffff0f}.streak-trail{display:flex;justify-content:center;align-items:center;gap:8px}.streak-trail span{width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(148,163,184,.42);background:#0f172a8c;transition:background .45s ease,border-color .45s ease,box-shadow .45s ease,transform .45s ease}.streak-trail span.filled{border-color:rgba(var(--primary-rgb),.95);background:linear-gradient(135deg,var(--primary-light),var(--accent-cyan));box-shadow:0 0 10px rgba(var(--primary-rgb),.52)}.streak-trail span.newly-filled{animation:streak-dot-fill .68s cubic-bezier(.16,1,.3,1) both}.home-streak-message{margin-top:8px;color:var(--text-primary);font-size:13px;font-weight:700}.home-streak-detail{margin-top:2px;color:var(--text-secondary);font-size:10.5px;line-height:1.35}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:18px;margin-bottom:0}.stat-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:20px;padding:18px 12px;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat-icon-home{width:20px;height:20px;color:var(--primary);margin:0 auto 8px;display:block}.stat-number{font-size:34px;font-weight:700;color:var(--primary);line-height:1;margin-bottom:5px}.stat-card-label{font-size:11px;color:var(--text-secondary);font-weight:500;line-height:1.3}.home-description{font-size:13.5px;color:var(--text-secondary);line-height:1.55;margin-top:16px;margin-bottom:0;padding:0 4px}.app-version{margin-top:14px;color:#94a3b8a6;font-size:10px;font-weight:500;letter-spacing:.35px;-webkit-user-select:text;user-select:text}.gear-btn{position:absolute;top:14px;right:14px;background:#ffffff0f;border:1px solid var(--border-card);border-radius:12px;color:var(--text-secondary);cursor:pointer;padding:8px;width:auto;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s;z-index:5}.gear-btn svg{width:20px;height:20px}.gear-btn:hover{color:var(--text-primary);background:#ffffff1f}#screen-settings{padding:14px 18px 20px;justify-content:flex-start}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border-card);flex-shrink:0}.settings-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary);font-size:15px;font-weight:500;font-family:var(--font-family);cursor:pointer;padding:6px 0;width:auto;transition:opacity .2s}.settings-back-btn svg{width:18px;height:18px}.settings-back-btn:hover{opacity:.75}.settings-title{font-size:17px;font-weight:600;color:var(--text-primary)}.settings-header-spacer{width:60px}.settings-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-right:2px}.settings-content::-webkit-scrollbar{width:3px}.settings-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.setting-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:20px;padding:18px 16px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.setting-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.setting-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:14px}.settings-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:var(--text-primary);font-size:13px;font-weight:600}.settings-field small,.field-help{color:var(--text-muted);font-size:11.5px;font-weight:400;line-height:1.4}.settings-select,.settings-field input[type=text]{width:100%;box-sizing:border-box;border:1px solid var(--border-card);border-radius:12px;background:#ffffff12;color:var(--text-primary);font:inherit;padding:11px 12px;outline:none}.settings-select:focus,.settings-field input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e52e}.settings-select option{color:#111827}.settings-select.compact{padding:8px 10px;border-radius:10px;font-size:12px;margin-bottom:4px}.dictionary-form{padding-bottom:14px;border-bottom:1px solid var(--border-card)}.dictionary-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.dictionary-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;background:#ffffff0d;padding:9px 10px;color:var(--text-secondary);font-size:12px}.dictionary-entry strong{color:var(--text-primary)}.dictionary-entry button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px}.dictionary-entry button:hover{color:#fca5a5}.dictionary-empty,.dictionary-status{color:var(--text-muted);font-size:11.5px;line-height:1.4}.dictionary-status{min-height:18px;margin-top:10px;color:var(--accent-green)}.dictionary-status.error{color:#fca5a5}.slider-end-labels{display:flex;justify-content:space-between;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.slider-wrapper{position:relative;height:40px;display:flex;align-items:center}.slider-track-bg{position:absolute;left:0;right:0;height:8px;border-radius:4px;pointer-events:none;opacity:.85}.grad-threshold{background:linear-gradient(to right,#ef4444,#f59e0b 33%,#10b981 50%,#10b981 68%,#f59e0b 82%,#ef4444)}.grad-silence{background:linear-gradient(to right,#ef4444,#f59e0b,#10b981 25%,#10b981 56%,#f59e0b 75%,#ef4444)}.settings-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;background:transparent;outline:none;cursor:pointer;position:relative;z-index:1}.settings-slider::-webkit-slider-runnable-track{background:transparent;height:8px;border-radius:4px}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 2px 12px #00000080,0 0 0 2px #ffffff26;cursor:grab;margin-top:-11px;transition:transform .1s}.settings-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}.settings-slider::-moz-range-track{background:transparent;height:8px;border-radius:4px}.settings-slider::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 2px 12px #00000080;cursor:grab;border:none}.slider-bottom-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.zone-legend{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--text-muted);flex-wrap:wrap;gap:4px 8px}.zone-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.zone-dot.red{background:#ef4444}.zone-dot.amber{background:#f59e0b}.zone-dot.green{background:#10b981}.slider-val{font-size:15px;font-weight:700;color:var(--text-primary);background:#ffffff12;border-radius:8px;padding:4px 10px;min-width:58px;text-align:center;flex-shrink:0}.advanced-card{padding-top:0}.advanced-card summary,.drawer-advanced summary{cursor:pointer;list-style:none;color:var(--text-primary);font-weight:600}.advanced-card summary::-webkit-details-marker,.drawer-advanced summary::-webkit-details-marker{display:none}.advanced-card summary{padding-top:16px;font-size:15px}.advanced-card summary:after,.drawer-advanced summary:after{content:"+";float:right;color:var(--text-secondary);font-weight:700}.advanced-card[open] summary:after,.drawer-advanced[open] summary:after{content:"-"}.advanced-desc{margin-top:10px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--border-card)}.toggle-row span{display:flex;flex-direction:column;gap:3px;min-width:0}.toggle-row strong{font-size:13px;line-height:1.25;color:var(--text-primary)}.toggle-row small{font-size:11.5px;line-height:1.35;color:var(--text-muted)}.toggle-row input[type=checkbox]{flex:0 0 auto;width:44px;height:26px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.12);position:relative;cursor:pointer;transition:background .2s,border-color .2s}.toggle-row input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000059;transition:transform .2s}.toggle-row input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.toggle-row input[type=checkbox]:checked:after{transform:translate(18px)}.settings-footer{flex-shrink:0;padding-top:14px}.save-status{text-align:center;font-size:13px;font-weight:500;color:var(--accent-green);min-height:22px;margin-bottom:10px;opacity:0;transition:opacity .35s}.save-status.visible{opacity:1}.header-right{display:flex;flex-direction:row;align-items:center;gap:8px}.header-right-stats{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.chat-gear-btn{background:#ffffff0f;border:1px solid var(--border-card);border-radius:8px;color:var(--text-secondary);padding:5px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto;flex-shrink:0;transition:color .15s,background .15s}.chat-gear-btn svg{width:14px;height:14px}.chat-gear-btn:hover{color:var(--text-primary);background:#ffffff1f}.session-drawer{position:absolute;bottom:0;left:0;right:0;background:var(--bg-phone);border-top:1px solid rgba(255,255,255,.1);border-radius:20px 20px 0 0;padding:14px 18px 28px;z-index:20;box-shadow:0 -12px 36px #00000080;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1)}.session-drawer.open{transform:translateY(0)}.drawer-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.drawer-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.drawer-close-btn{background:#ffffff14;border:none;border-radius:50%;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;width:auto;padding:0;width:24px;height:24px;transition:background .15s,color .15s}.drawer-close-btn:hover{color:var(--text-primary);background:#ffffff26}.drawer-setting{margin-bottom:12px}.drawer-setting-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.drawer-setting-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.drawer-setting-val{font-size:14px;font-weight:700;color:var(--text-primary)}.drawer-advanced{margin:4px 0 10px;padding-top:8px;border-top:1px solid var(--border-card)}.drawer-advanced summary{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.7px;margin-bottom:2px}.toggle-row.compact{padding:9px 0}.toggle-row.compact strong{font-size:12px}.toggle-row.compact small{font-size:10.5px}.drawer-status{text-align:center;font-size:11px;font-weight:500;color:var(--accent-green);min-height:16px;margin-top:4px;opacity:0;transition:opacity .3s}.drawer-status.visible{opacity:1}.word-counter{font-size:10px;font-weight:600;color:var(--accent-cyan);background:rgba(var(--accent-cyan-rgb),.1);border-radius:6px;padding:2px 6px;letter-spacing:.2px}.stat-card-tappable{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.stat-card-tappable:hover{border-color:rgba(var(--primary-rgb),.35);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.15)}.stat-card-tappable:active{transform:scale(.96)}.stat-card-hint{font-size:9.5px;color:var(--text-muted);margin-top:4px;letter-spacing:.3px}#screen-image-explorer{padding:14px 18px 20px;justify-content:flex-start}.image-explorer-header{flex-shrink:0}.image-explorer-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-right:2px}.image-explorer-content::-webkit-scrollbar{width:3px}.image-explorer-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.image-viewer{width:100%;height:calc(100vh - 210px);min-height:500px;max-height:650px;border-radius:22px;overflow:hidden;background:#05070d;border:1px solid var(--border-card);box-shadow:0 12px 42px #00000073;position:relative;cursor:grab;touch-action:none}.image-viewer.dragging{cursor:grabbing}.image-viewer-img{position:absolute;top:50%;left:50%;width:100%;height:auto;max-width:none;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform:translate(-50%,-50%) translate(0) scale(1.65);transition:transform .12s ease-out;transform-origin:center center}.image-viewer.dragging .image-viewer-img{transition:none}.image-viewer-hint{color:var(--text-muted);font-size:11px;text-align:center;margin:10px 0 20px}.image-gallery-section{padding-bottom:16px}.image-gallery-title{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.image-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-thumb{background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;padding:0;overflow:hidden;cursor:pointer;color:var(--text-primary);font-family:var(--font-family);text-align:left;transition:transform .15s,border-color .15s}.gallery-thumb:active{transform:scale(.98)}.gallery-thumb:hover{border-color:rgba(var(--primary-rgb),.55)}.gallery-thumb img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.gallery-thumb span{display:block;padding:8px 9px 9px;font-size:12px;color:var(--text-secondary)}.gallery-empty{grid-column:1 / -1;color:var(--text-muted);font-size:13px;text-align:center;padding:18px 0}.print-order-section{padding:4px 0 22px}.order-print-btn{width:100%;border:1px solid rgba(var(--primary-rgb),.36);border-radius:14px;padding:14px 16px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.22),rgba(var(--accent-cyan-rgb),.12));color:#f8fafcb8;font-family:var(--font-family);font-size:15px;font-weight:650;letter-spacing:0;cursor:not-allowed;box-shadow:inset 0 1px #ffffff0f}.print-order-note{margin-top:10px;color:var(--text-muted);font-size:12.5px;line-height:1.45;text-align:center}#screen-biography{padding:14px 18px 20px;justify-content:flex-start}.bio-scroll-area{flex:1;overflow-y:auto;padding-right:2px}.bio-scroll-area::-webkit-scrollbar{width:3px}.bio-scroll-area::-webkit-scrollbar-thumb{background:#b48c504d;border-radius:2px}.bio-book-page{background:#f5edd8;border-radius:10px;box-shadow:0 6px 24px #00000080,inset 0 0 0 1px #a0783c40,inset 4px 0 12px -4px #0000001f;position:relative;overflow:hidden}.bio-book-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 0% 0%,rgba(210,180,120,.18) 0%,transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(180,140,80,.12) 0%,transparent 55%);pointer-events:none}.bio-book-page:after{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:linear-gradient(to right,rgba(0,0,0,.08),transparent);pointer-events:none}.bio-book-inner{padding:22px 20px 20px 24px;position:relative;z-index:1}.bio-ornament{text-align:center;font-size:22px;color:#8b6b1a;opacity:.75;line-height:1;margin-bottom:8px}.bio-chapter-title{font-family:EB Garamond,Georgia,Times New Roman,serif;font-size:17px;font-weight:500;font-style:italic;text-align:center;color:#3a2e1a;letter-spacing:.5px;margin-bottom:4px}.bio-divider{text-align:center;font-size:11px;color:#8b6b1a;opacity:.65;letter-spacing:4px;margin-bottom:16px}.bio-paragraphs{font-family:EB Garamond,Georgia,Times New Roman,serif;font-size:15.5px;line-height:1.75;color:#2e2418}.bio-paragraph{margin-bottom:1.2em;text-align:justify;hyphens:auto;-webkit-hyphens:auto}.bio-paragraph:first-child:first-letter{font-family:EB Garamond,Georgia,serif;font-size:3.4em;font-weight:500;float:left;line-height:.78;margin:4px 5px -2px 0;color:#7a5a10}.bio-paragraph:last-child{margin-bottom:0}.book-order-section{margin-top:18px;padding-top:16px;border-top:1px solid rgba(139,107,26,.18)}.order-book-btn{width:100%;border:1px solid rgba(122,90,16,.32);border-radius:9px;padding:12px 14px;background:linear-gradient(180deg,#fff8e1bd,#d6b77947);color:#3a2e1ab8;font-family:EB Garamond,Georgia,serif;font-size:16px;font-weight:600;cursor:not-allowed;box-shadow:inset 0 1px #ffffff6b}.book-order-note{margin-top:10px;color:#3a2e1a9e;font-family:EB Garamond,Georgia,serif;font-size:14px;font-style:italic;line-height:1.42;text-align:center}.bio-page-foot{text-align:center;font-size:11px;color:#8b6b1a;opacity:.55;letter-spacing:4px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(139,107,26,.2)}.bio-loading,.bio-empty{font-family:EB Garamond,Georgia,serif;font-size:15px;font-style:italic;color:#8b6b1a;text-align:center;padding:20px 0;opacity:.7}#screen-sessions{padding:14px 18px 20px;justify-content:flex-start}.sessions-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:2px}.sessions-list::-webkit-scrollbar{width:3px}.sessions-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.sessions-loading,.sessions-empty{color:var(--text-muted);font-size:14px;text-align:center;padding:20px 0}.session-item{background:var(--bg-card);border:1px solid var(--border-card);border-radius:18px;padding:14px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.session-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-card)}.session-item-date{font-size:13.5px;font-weight:600;color:var(--text-primary)}.session-item-time{font-size:11px;color:var(--text-muted);margin-top:2px}.session-audio-badge{display:flex;align-items:center;gap:4px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:100px;padding:3px 8px;font-size:9.5px;font-weight:600;color:var(--accent-green);letter-spacing:.3px;flex-shrink:0}.session-audio-badge svg{width:10px;height:10px}.session-item-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.session-stat{display:flex;flex-direction:column;gap:3px}.session-stat-label{font-size:9.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.session-stat-value{font-size:15px;font-weight:700;color:var(--primary)}.personality-additions-box{background:#0003;border:1px solid var(--border-card);border-radius:12px;padding:12px 14px;margin-bottom:12px;min-height:52px;font-size:13px;line-height:1.55;color:var(--text-secondary);word-break:break-word}.personality-empty{color:var(--text-muted);font-style:italic;font-size:13px}.personality-addition-line{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px}.personality-addition-line:last-child{margin-bottom:0}.personality-addition-bullet{color:var(--primary);flex-shrink:0;margin-top:2px}.personality-actions{display:flex;align-items:center;gap:10px}.personality-record-btn{display:flex;align-items:center;gap:7px;background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.3);border-radius:100px;color:var(--primary);font-size:12px;font-weight:600;font-family:var(--font-family);padding:7px 14px;cursor:pointer;width:auto;transition:background .15s,border-color .15s}.personality-record-btn:hover{background:rgba(var(--primary-rgb),.2);border-color:rgba(var(--primary-rgb),.5)}.personality-clear-btn{background:none;border:none;color:var(--text-muted);font-size:11.5px;font-family:var(--font-family);cursor:pointer;padding:4px 0;width:auto;transition:color .15s;text-decoration:underline;text-underline-offset:2px}.personality-clear-btn:hover{color:var(--accent-red)}.personality-recording-row{display:flex;align-items:center;gap:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:10px 12px}.personality-rec-dot{width:8px;height:8px;background:var(--accent-red);border-radius:50%;animation:dot-blink 1.2s infinite;flex-shrink:0}.personality-rec-label{font-size:12px;font-weight:600;color:var(--accent-red);flex:1}.personality-stop-btn{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:100px;color:var(--accent-red);font-size:11px;font-weight:700;font-family:var(--font-family);padding:4px 12px;cursor:pointer;width:auto;transition:background .15s}.personality-stop-btn:hover{background:#ef444440}.personality-preview{background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px;padding:12px;margin-top:2px}.personality-preview-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.personality-preview-text{font-size:13.5px;color:var(--text-primary);line-height:1.5;margin-bottom:12px;font-style:italic}.personality-preview-actions{display:flex;gap:8px}.personality-add-btn{flex:1;background:linear-gradient(135deg,var(--primary-button) 0%,var(--primary-button-deep) 100%);border:none;border-radius:10px;color:#fff;font-size:12px;font-weight:600;font-family:var(--font-family);padding:8px 0;cursor:pointer;transition:opacity .15s}.personality-add-btn:hover{opacity:.85}.personality-discard-btn{flex:1;background:#ffffff0d;border:1px solid var(--border-card);border-radius:10px;color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-family);padding:8px 0;cursor:pointer;transition:background .15s}.personality-discard-btn:hover{background:#ffffff1a}.personality-transcribing{display:flex;align-items:center;justify-content:center;padding:10px 0}.personality-transcribing-text{font-size:12px;color:var(--text-muted);font-style:italic}.personality-status{font-size:12px;font-weight:500;color:var(--accent-green);min-height:18px;margin-top:8px;opacity:0;transition:opacity .3s;text-align:center}.personality-status.visible{opacity:1}.hidden{display:none!important}.portrait-frame{display:none;position:relative;width:100%;max-width:320px;margin:0 auto 20px;aspect-ratio:1 / 1;border-radius:20px;overflow:hidden;border:1px solid var(--border-card);background:var(--bg-card);box-shadow:0 10px 40px #00000059}.portrait-frame.has-image{display:block}.portrait-img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .6s ease,opacity .6s ease}.portrait-frame.rendering .portrait-img{filter:saturate(.92) brightness(.97);animation:portrait-breathe 2.4s ease-in-out infinite}@keyframes portrait-breathe{0%,to{opacity:.88}50%{opacity:1}}.portrait-frame.rendering:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);background-size:220% 100%;animation:portrait-sheen 1.8s linear infinite;pointer-events:none}@keyframes portrait-sheen{0%{background-position:200% 0}to{background-position:-120% 0}}.portrait-caption{position:absolute;left:0;right:0;bottom:0;padding:18px 14px 10px;font-size:13px;font-weight:500;color:var(--text-primary);text-align:center;background:linear-gradient(to top,rgba(9,11,17,.75),transparent)}.insecure-context-banner{background:#fffbeb;border-bottom:2px solid #f59e0b;color:#92400e;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.95rem;z-index:9999}.btn-switch-https{background:#f59e0b;color:#fff;padding:.4rem .9rem;border-radius:6px;text-decoration:none;font-weight:600;white-space:nowrap;transition:background .2s ease}.btn-switch-https:hover{background:#d97706}.canvas-wrapper{position:relative;width:100%;height:380px;background:#1e293b;border:2px dashed rgba(255,255,255,.2);border-radius:16px;overflow:hidden;touch-action:none;margin:1rem 0}.trail-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:invert(.9) hue-rotate(180deg)}.drawing-canvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}@media(min-width:768px){.app-wrapper{padding:24px 0}}
