:root{--bg-color: #FAF4EC;--surface: #FFFFFF;--drawer-bg: rgba(255, 255, 255, .96);--text-main: #333333;--text-sub: #888888;--text-faint: #BBBBBB;--accent-light: #E8B4A2;--accent-dark: #c97a7e;--accent-rgb: 201, 122, 126;--bubble-user: var(--accent-light);--bubble-aura: #FFFFFF;--orb-core: #c97a7e;--disabled: #CCCCCC;--header-bg: rgba(250, 244, 236, .92);--vibe-high: rgba(183, 28, 28, .6);--vibe-mid: rgba(201, 122, 126, .4);--px-grid: rgba(201, 122, 126, .05)}body.mode-focus{--bg-color: #EEF6F6;--accent-light: #6FBFBF;--accent-dark: #3A8C8C;--accent-rgb: 74, 155, 155;--bubble-user: #6FBFBF;--bubble-aura: #FBFFFE;--orb-core: #3A8C8C;--header-bg: rgba(238, 246, 246, .92);--px-grid: rgba(74, 155, 155, .05)}body.mode-sleep{--bg-color: #ECEAF7;--accent-light: #8A82C9;--accent-dark: #5D54A4;--accent-rgb: 93, 84, 164;--bubble-user: #8A82C9;--bubble-aura: #FCFBFF;--orb-core: #5D54A4;--header-bg: rgba(236, 234, 247, .92);--px-grid: rgba(93, 84, 164, .05)}body.mode-sleep.night{--bg-color: #0A0A12;--surface: #12121C;--drawer-bg: rgba(16, 16, 26, .96);--text-main: #C9C7D8;--text-sub: #6E6C80;--text-faint: #4A485C;--accent-light: #6F67B8;--accent-dark: #8A82C9;--accent-rgb: 122, 113, 196;--bubble-user: #3E3870;--bubble-aura: #14141F;--orb-core: #4A4390;--disabled: #2A2A38;--header-bg: rgba(10, 10, 18, .92);--px-grid: rgba(122, 113, 196, .04)}body{background-color:var(--bg-color);color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;display:flex;justify-content:center;height:100vh;overflow:hidden;transition:background-color .45s ease}#app-container{width:100%;max-width:480px;height:100%;display:flex;flex-direction:column;background-color:var(--bg-color);box-shadow:0 0 20px #0000000d;position:relative;transition:background-color .45s ease,box-shadow .2s cubic-bezier(.4,0,.2,1)}.px-icon{width:13px;height:13px;fill:currentColor;shape-rendering:crispEdges;vertical-align:-2px}.mode-tab .px-icon{width:11px;height:11px;vertical-align:-1px;margin-right:2px}#sendBtn .px-icon{width:16px;height:16px;vertical-align:middle}.settings-btn .px-icon{width:18px;height:18px}@keyframes vibe-pulse-high{0%{box-shadow:0 0 5px var(--vibe-high)}50%{box-shadow:0 0 30px var(--vibe-high)}to{box-shadow:0 0 5px var(--vibe-high)}}@keyframes vibe-pulse-mid{0%{box-shadow:0 0 2px var(--vibe-mid)}50%{box-shadow:0 0 15px var(--vibe-mid)}to{box-shadow:0 0 2px var(--vibe-mid)}}#app-container.vibrating-high{animation:vibe-pulse-high .1s infinite}#app-container.vibrating-mid{animation:vibe-pulse-mid .3s infinite}header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;gap:10px;background-color:var(--header-bg);backdrop-filter:blur(10px);border-bottom:1px solid rgba(var(--accent-rgb),.25);z-index:10;transition:background-color .45s,border-color .45s}.header-title{font-size:17px;font-weight:700;color:var(--accent-dark);letter-spacing:1px;display:flex;align-items:center;gap:7px;flex-shrink:0;transition:color .45s}.status-dot{width:8px;height:8px;border-radius:50%;background-color:#ccc;display:inline-block;transition:.3s}.status-dot.connected{background-color:#a39193;box-shadow:0 0 8px #a39193}.settings-btn{background:none;border:none;font-size:20px;color:var(--accent-dark);cursor:pointer;padding:5px;flex-shrink:0;transition:color .45s}.mode-toggle{flex:1;display:flex;align-items:center;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);border-radius:20px;padding:3px;gap:2px;transition:background .45s,border-color .45s}.mode-tab{flex:1;padding:5px 6px;border-radius:15px;border:none;font-size:10px;font-weight:700;cursor:pointer;background:transparent;color:var(--accent-dark);white-space:nowrap;text-align:center;transition:all .25s}.mode-tab.active{background:var(--accent-dark);color:#fff;box-shadow:0 2px 6px #00000026}#ageModal{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;background:#0a0508cc;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);transition:opacity .4s ease}#ageModal.hidden{opacity:0;pointer-events:none}.modal-card{position:relative;overflow:hidden;background:linear-gradient(150deg,#ffffff24,#ffffff0f);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:46px 34px 38px;max-width:340px;width:88%;text-align:center;box-shadow:0 16px 70px #00000080,inset 0 1px #ffffff24}.modal-card:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:8px 8px}.modal-card:after{content:"";position:absolute;left:0;right:0;top:-40%;height:34%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,255,255,.05),transparent);animation:scanSweep 7s linear infinite}@keyframes scanSweep{to{transform:translateY(420%)}}.modal-eyebrow{font-size:10px;letter-spacing:4px;font-weight:600;text-transform:uppercase;color:#ffffff59;margin-bottom:8px;font-family:Courier New,monospace}.modal-brand{font-size:34px;font-weight:900;letter-spacing:3px;margin-bottom:3px;background:linear-gradient(130deg,#f2cabc,#e898a0 55%,#d46885);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-tagline{font-size:12px;color:#ffffff61;letter-spacing:1.5px;margin-bottom:30px}.modal-divider{width:36px;height:1px;background:#ffffff1f;margin:0 auto 26px}.modal-desc{font-size:14px;color:#ffffffbf;line-height:1.85;margin-bottom:30px}.modal-btn{display:block;width:100%;padding:15px;border:none;border-radius:16px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.3px;margin-bottom:12px;transition:transform .15s,opacity .15s;position:relative;z-index:1}.modal-btn:active{transform:scale(.97);opacity:.9}.modal-btn.primary{background:linear-gradient(135deg,#e8b4a2,#c97a7e);color:#fff;box-shadow:0 6px 22px #c97a7e73}.modal-btn.secondary{background:#ffffff12;color:#ffffff80;border:1px solid rgba(255,255,255,.11);margin-bottom:0}.modal-notice{font-size:10px;color:#ffffff38;margin-top:18px;line-height:1.7}#chatBox{flex-grow:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:15px;scroll-behavior:smooth}.message{max-width:85%;padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.5;word-wrap:break-word;position:relative}.user-msg{align-self:flex-end;background-color:var(--bubble-user);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 5px rgba(var(--accent-rgb),.3);transition:background-color .45s}.aura-msg{align-self:flex-start;background-color:var(--bubble-aura);color:var(--text-main);border:1px solid rgba(var(--accent-rgb),.2);border-bottom-left-radius:4px;box-shadow:0 2px 5px #00000005;transition:border-color .45s,background-color .45s}.sys-log{align-self:center;font-size:12px;color:var(--text-sub);margin:5px 0;font-family:Courier New,monospace;font-variant-numeric:tabular-nums}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.aura-msg.streaming:after{content:"▋";animation:blink .7s infinite;margin-left:2px;color:var(--accent-light)}#inputArea{display:flex;padding:15px 20px;background-color:var(--surface);border-top:1px solid rgba(var(--accent-rgb),.25);gap:10px;align-items:center;padding-bottom:env(safe-area-inset-bottom,15px);transition:border-color .45s,background-color .45s}input[type=text],input[type=password]{flex-grow:1;padding:12px 15px;background-color:var(--bg-color);border:none;border-radius:20px;font-size:15px;color:var(--text-main);outline:none;font-family:inherit;transition:box-shadow .2s}input[type=text]:focus,input[type=password]:focus{box-shadow:0 0 0 2px rgba(var(--accent-rgb),.4)}#sendBtn{background-color:var(--accent-dark);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:16px;box-shadow:0 2px 8px rgba(var(--accent-rgb),.4);transition:background-color .45s,box-shadow .45s,transform .1s}#sendBtn:active{transform:scale(.9)}#sendBtn:disabled{background-color:var(--disabled);box-shadow:none;cursor:not-allowed}#vibeControl{display:flex;align-items:center;gap:8px;padding:6px 20px;background:var(--surface);border-top:1px solid rgba(var(--accent-rgb),.12);transition:border-color .45s,background-color .45s}#manualVibeSlider{flex-grow:1;accent-color:var(--accent-dark)}#settingsDrawer{position:absolute;top:0;right:-100%;width:85%;height:100%;background-color:var(--drawer-bg);backdrop-filter:blur(15px);background-image:linear-gradient(var(--px-grid) 1px,transparent 1px),linear-gradient(90deg,var(--px-grid) 1px,transparent 1px);background-size:12px 12px;z-index:100;box-shadow:-5px 0 20px #0000000d;transition:right .3s cubic-bezier(.25,.8,.25,1);display:flex;flex-direction:column;padding:30px 20px;box-sizing:border-box;overflow-y:auto}#settingsDrawer.open{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.drawer-title{font-size:20px;font-weight:700;color:var(--accent-dark);transition:color .45s}.drawer-title:before{content:"▚ ";font-size:15px;opacity:.7}.close-btn{font-size:24px;background:none;border:none;color:var(--text-sub);cursor:pointer}.setting-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.setting-label{font-size:13px;font-weight:700;color:var(--text-sub)}.setting-hint{font-size:11px;color:var(--text-faint);line-height:1.5}.setting-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-main);cursor:pointer}.setting-check input{accent-color:var(--accent-dark);width:16px;height:16px;margin:0}.setting-input,.setting-select,.setting-textarea{width:100%;padding:12px;border:1px solid rgba(var(--accent-rgb),.35);border-radius:8px;background-color:var(--bg-color);color:var(--text-main);font-family:inherit;font-size:14px;box-sizing:border-box;outline:none}.setting-textarea{min-height:120px;resize:vertical;overflow-y:auto;font-size:12px;line-height:1.4}.account-status{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-sub);padding:8px 10px;border-radius:8px;background:rgba(var(--accent-rgb),.07)}.tier-badge{font-size:10px;font-weight:800;letter-spacing:1px;padding:2px 8px;border-radius:999px;background:var(--accent-dark);color:#fff}.tier-badge.premium{background:linear-gradient(135deg,#e8b4a2,#c97a7e)}.account-status a{color:var(--accent-dark);font-weight:700;text-decoration:none;margin-left:auto}.data-actions{display:flex;gap:8px}.data-btn{flex:1;padding:10px;border-radius:10px;cursor:pointer;border:1px solid rgba(var(--accent-rgb),.35);background:transparent;color:var(--accent-dark);font-size:13px;font-weight:700;font-family:inherit}.data-btn.danger{border-color:#b71c1c66;color:#b71c1c}#connectHardwareBtn{background-color:var(--accent-dark);color:#fff;text-align:center;padding:12px;border-radius:12px;cursor:pointer;font-size:14px;margin-bottom:10px;font-weight:700;transition:background-color .45s}#saveSettingsBtn{margin-top:10px;margin-bottom:10px;background-color:var(--accent-light);color:#fff;border:none;padding:15px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(var(--accent-rgb),.35);width:100%;transition:background-color .45s,box-shadow .45s}#breathOrb{position:fixed;left:50%;top:40%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.85),var(--orb-core) 72%);box-shadow:0 0 40px rgba(var(--accent-rgb),.45);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(1);pointer-events:none;z-index:50;transition:opacity .6s ease,transform var(--phase-ms, 1s) linear,box-shadow var(--phase-ms, 1s) ease}#breathOrb.breathing-active{opacity:.92}#breathOrb[data-phase=inhale]{transform:scale(1.45)}#breathOrb[data-phase=hold]{transform:scale(1.45);animation:orbHeartbeat 1s infinite}#breathOrb[data-phase=exhale]{transform:scale(1)}#breathOrb[data-phase=rest]{transform:scale(1);animation:orbHeartbeat 1s infinite}#breathPhaseLabel{font-size:13px;font-weight:700;letter-spacing:2px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25);user-select:none}@keyframes orbHeartbeat{0%,15%,to{box-shadow:0 0 40px rgba(var(--accent-rgb),.45)}5%{box-shadow:0 0 65px rgba(var(--accent-rgb),.85)}}.offer-card{align-self:flex-start;max-width:85%;background:var(--bubble-aura);border:1px dashed rgba(var(--accent-rgb),.45);border-radius:18px 18px 18px 4px;padding:12px 16px}.offer-title{font-size:14px;font-weight:700;color:var(--accent-dark);margin-bottom:2px}.offer-hint{font-size:11px;color:var(--text-sub);margin-bottom:10px}.offer-actions{display:flex;gap:8px}.offer-btn{border:1px solid rgba(var(--accent-rgb),.35);background:transparent;color:var(--accent-dark);border-radius:12px;padding:6px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .1s}.offer-btn:active{transform:scale(.95)}.offer-btn.primary{background:var(--accent-dark);color:#fff;border-color:transparent}#toolboxBtn{background:none;border:1px solid rgba(var(--accent-rgb),.35);color:var(--accent-dark);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .45s,border-color .45s,transform .1s}#toolboxBtn:active{transform:scale(.9)}#toolboxBtn .px-icon{width:15px;height:15px}#toolboxSheet{position:absolute;left:12px;right:12px;bottom:96px;background:var(--drawer-bg);backdrop-filter:blur(15px);border:1px solid rgba(var(--accent-rgb),.25);border-radius:16px;padding:10px;z-index:60;display:none;flex-direction:column;gap:4px;box-shadow:0 10px 30px #0000001f}#toolboxSheet.open{display:flex}.toolbox-item{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:transparent;border:none;border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;font-size:14px;font-weight:700;color:var(--text-main);font-family:inherit}.toolbox-item:hover,.toolbox-item:active{background:rgba(var(--accent-rgb),.1)}.toolbox-item-hint{font-size:11px;font-weight:400;color:var(--text-sub);white-space:nowrap}.pwa-bar{position:fixed;left:50%;bottom:-80px;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--drawer-bg);backdrop-filter:blur(12px);border:1px solid rgba(var(--accent-rgb),.3);border-radius:14px;padding:10px 14px;z-index:900;font-size:13px;color:var(--text-main);box-shadow:0 8px 30px #0003;transition:bottom .35s ease}.pwa-bar.show{bottom:calc(env(safe-area-inset-bottom,0px) + 90px)}.pwa-bar-btn{border:none;border-radius:10px;padding:7px 14px;cursor:pointer;background:var(--accent-dark);color:#fff;font-size:13px;font-weight:700;font-family:inherit}.pwa-bar-btn.ghost{background:transparent;color:var(--text-sub)}#memReviewModal{position:fixed;inset:0;z-index:998;display:none;align-items:center;justify-content:center;background:#0a050899;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#memReviewModal.open{display:flex}.mem-review-card{background:var(--drawer-bg);border-radius:20px;border:1px solid rgba(var(--accent-rgb),.3);width:92%;max-width:420px;max-height:80vh;padding:22px 18px;display:flex;flex-direction:column;box-shadow:0 16px 50px #00000059}.mem-review-title{font-size:17px;font-weight:800;color:var(--accent-dark);margin-bottom:4px}.mem-review-sub{font-size:12px;color:var(--text-sub);margin-bottom:14px}#memReviewList{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.mem-review-row{display:flex;align-items:center;gap:8px}.mem-review-row input[type=checkbox]{accent-color:var(--accent-dark);flex-shrink:0}.mem-review-type{font-size:10px;font-weight:700;color:var(--accent-dark);border:1px solid rgba(var(--accent-rgb),.35);border-radius:6px;padding:2px 5px;flex-shrink:0;font-family:Courier New,monospace}.mem-review-text{flex:1;font-size:13px;padding:8px 10px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:8px;background:var(--bg-color);color:var(--text-main);outline:none}.mem-review-actions .modal-btn.secondary{color:var(--text-sub);border-color:rgba(var(--accent-rgb),.25)}body.mode-sleep :is(header,#chatBox,#inputArea,#vibeControl,#lunchGuardBtn){transition:opacity 1.8s ease}body.mode-sleep.dimmed :is(header,#chatBox,#inputArea,#vibeControl,#lunchGuardBtn){opacity:.22}@media(prefers-reduced-motion:reduce){#breathOrb{transition:opacity var(--phase-ms, 1s) ease;transform:none!important;animation:none!important}#breathOrb[data-phase=inhale],#breathOrb[data-phase=hold]{opacity:.95}#breathOrb[data-phase=exhale],#breathOrb[data-phase=rest]{opacity:.4}.modal-card:after{animation:none;opacity:0}}
