/* Fedya / Quiet technology — shared visual system, 0.23 */
:root{--bg:#070b11;--panel:#111720;--panel2:#171e29;--line:rgba(181,202,230,.10);--cyan:#9aeee4;--blue:#80b9f4;--violet:#ab9afb;--text:#eef3f8;--muted:#8f9dad;--nav:84px}
html,body{background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#app{background:radial-gradient(ellipse at 50% 21%,#101a29 0,transparent 57%),#070b11}
button{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.page{padding-top:env(safe-area-inset-top);max-width:900px;margin:0 auto}
.scroll{padding:20px 22px 32px}
.card,.soft,.modalCard{background:#111720;border:1px solid var(--line);box-shadow:none;border-radius:22px}
.btn{background:#1a2b32;border:1px solid #304b52;border-radius:14px;color:#c4f5ef;min-height:44px;font-weight:600;box-shadow:none}
.iconBtn{background:#18212d;border-color:var(--line);color:#c4d0df;min-width:40px}
.input{background:#0c121b;border-color:var(--line);border-radius:14px;font-size:14px;color:var(--text)}
.input:focus{border-color:#779caa;box-shadow:0 0 0 3px #9aeee409}
.sectionLabel{font-size:11px;letter-spacing:.09em;color:#8999ad;font-weight:600;margin:24px 2px 12px}
.muted{color:var(--muted)}
.badge{border-color:var(--line);color:#a2b0c2;font-size:11px}
.screenTitle{display:block!important;color:var(--text);font-size:27px;letter-spacing:-.045em}
.screenSub{display:block!important;color:var(--muted);font-size:13px}
.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 24px 18px;flex-shrink:0}
.pageHeader h1{font-size:27px;letter-spacing:-.045em;font-weight:600;margin:0}
.pageHeader p{font-size:12px;color:var(--muted);margin:6px 0 0}
.headerMark{height:34px;width:34px;border:1px solid #66878260;border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:17px}
#home{padding:0 22px;justify-content:flex-start;align-items:stretch}
.homeHeader{display:flex;justify-content:space-between;align-items:center;padding:calc(24px + env(safe-area-inset-top)) 2px 0;position:relative;z-index:2;flex-shrink:0}
.wordmark{display:flex;gap:9px;align-items:center;font-size:23px;letter-spacing:-.055em;font-weight:650}
.brandDot{width:7px;height:7px;border-radius:50%;background:#b1eee2;box-shadow:0 0 14px #9aeee44a}
.homeEyebrow{font-size:10px;letter-spacing:.15em;color:#758798;margin-top:5px}
.lifeShortcut{height:40px;padding:0 13px;border:1px solid var(--line);border-radius:24px;background:#ffffff04;color:#b1bfcc;display:flex;gap:8px;align-items:center;font-size:12px}
.lifeShortcut svg{width:15px;height:15px}
.voiceStage{width:100%;height:auto;min-height:0;flex:1;max-width:620px;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:14px;gap:12px}
.sceneIntro{position:absolute;top:26px;left:0;right:0;text-align:center;pointer-events:none;z-index:1}
.sceneIntro .eyebrow{font-size:10px;color:#7d97a8;letter-spacing:.23em;text-transform:uppercase}
.sceneIntro h1{margin:9px 0 0;font-size:clamp(22px,6.2vw,30px);letter-spacing:-.045em;font-weight:450}
.avatarHalo{position:absolute;inset:92px -22px 218px;width:auto;height:auto;margin:0;border:0;border-radius:0;background:none;box-shadow:none;filter:none;overflow:hidden}
.avatarHalo:before,.avatarHalo:after{display:none}
#fedyaCanvas{display:block;width:100%;height:100%;position:absolute;inset:0}
.sceneAura{position:absolute;inset:15% 6% 5%;background:radial-gradient(ellipse at 50% 50%,#5081aa10,transparent 64%);pointer-events:none}
.sceneFallback{position:absolute;height:82%;width:100%;top:9%;left:0;opacity:.9;filter:drop-shadow(0 0 10px #70baff38)}
.has-webgl .sceneFallback{display:none}
.sceneFallback .fallbackCore{transform-origin:150px 134px;animation:coreBreath 3s ease-in-out infinite}
.motion-paused .sceneFallback .fallbackCore{animation:none}
.sceneTools{position:absolute;right:0;bottom:222px;z-index:3}
.motionToggle{height:36px;width:36px;border:1px solid #a3c1d117;border-radius:50%;background:#101923a6;color:#778a9d;display:grid;place-items:center}
.motionToggle svg{width:13px;height:13px}
.motionToggle .playIcon{display:none}
.motionToggle[data-paused=true] .pauseIcon{display:none}
.motionToggle[data-paused=true] .playIcon{display:block}
.voiceAnswer,.voiceAnswer.show,.voiceAnswer:not(.show){position:relative;left:auto;right:auto;bottom:auto;transform:none;opacity:1;margin:0 auto;padding:0 18px;border:0;border-radius:0;background:none;backdrop-filter:none;box-shadow:none;width:100%;min-height:22px;max-height:65px;overflow:auto;font-size:15px;font-weight:400;line-height:1.5;color:#c9d4df;pointer-events:auto;z-index:2}
.voiceControls{display:flex;justify-content:center;align-items:center;gap:24px;position:relative;z-index:3;flex-shrink:0}
.voiceOrb{position:relative;bottom:auto;width:66px;height:66px;min-height:66px;margin:0;border:1px solid #c3fff178;border-radius:50%;background:#b5ece2;color:#0c272a;box-shadow:0 0 32px #91e3dc16;font-size:24px;display:grid;place-items:center}
.voiceOrb svg{width:25px;height:25px;stroke:currentColor;filter:none}
.voiceOrb.listening{animation:none;box-shadow:0 0 0 7px #9aeee40b,0 0 0 15px #9aeee405}
.voiceOrb:active{transform:scale(.96)}
.homeTextShortcut{width:42px;height:42px;border:1px solid var(--line);background:#101721;color:#9cabbc;border-radius:50%;display:grid;place-items:center}
.homeTextShortcut svg{width:18px;height:18px;stroke:currentColor}
.voiceControlSpacer{width:42px}
.voiceStatus{position:static;bottom:auto;margin:-2px 0 0;height:16px;font-size:10px;letter-spacing:.13em;text-align:center;color:#8b9dae;flex-shrink:0}
.todayDock{position:relative;bottom:auto!important;left:auto;right:auto;width:100%;border:1px solid var(--line);border-radius:18px;background:#111923;box-shadow:none;backdrop-filter:blur(20px);flex-shrink:0;order:10;z-index:6}
.todayDockHead{min-height:57px;padding:10px 15px;gap:12px}
.todayDockTitle{font-size:10px;letter-spacing:.11em;font-weight:600;color:#b0c4d2}
.todayDockLine{font-size:11px;color:#7f91a4;margin-top:4px}
.todayDockChevron{font-size:18px;color:#a6b6c5}
.todayDock.open{position:absolute;bottom:14px!important;background:#111b28f5;box-shadow:0 -30px 80px #0008}
.todayDock.open .todayDockBody{max-height:min(48vh,360px)}
.todayDockBody{transition:none}
.todayDockScroll{max-height:min(45vh,335px)}
.todayMini,.todayBlock{background:#ffffff03;border-color:var(--line)}
.todayAction{background:#172931;border-color:#ffffff15;color:#b5e4df;font-size:11px;min-height:40px}
#bottomNav{left:20px;right:20px;bottom:max(12px,env(safe-area-inset-bottom));height:66px;max-width:620px;margin:0 auto;padding:4px 7px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #a3c1d114;border-radius:24px;background:#111822f5;box-shadow:0 10px 30px #0003}
.navBtn{font-size:10px;color:#7e8da0;font-weight:500;gap:5px;border-radius:18px;min-width:0}
.navIcon{width:22px;height:22px}
.navBtn.active{color:#b7ede3;background:#a6ebdc0b;box-shadow:none}
.navBtn.active .navIcon{filter:none}
.navBtn[data-page=memory]{display:none}
#chat .pageHeader{border-bottom:1px solid #ffffff06}
#chatMessages{padding:22px 20px 142px;gap:18px}
.msg{padding:14px 16px;font-size:14px;line-height:1.6;border-radius:20px;box-shadow:none}
.msg.me{background:#233537;border-color:#96e5d812;color:#e0f2ed;border-bottom-right-radius:6px}
.msg.ai{background:#131c28;border-color:#ffffff08;color:#cfdae6;border-bottom-left-radius:6px}
.quickAction{background:#131f2c;border-color:var(--line);color:#a7c4d8;min-height:40px;font-weight:500}
.chatComposer,.projectComposer{background:#141d29;border:1px solid #b0cce21c;border-radius:22px;box-shadow:0 -10px 24px #070b1166;left:16px;right:16px;bottom:10px}
.chatComposer textarea,.projectComposer textarea{font-size:14px;color:#e8eff5}
textarea::placeholder,input::placeholder{color:#718398}
.composerBtn{border:0;color:#9aabbc;background:none;min-width:40px;min-height:40px}
.composerBtn.send{background:#b5ece2;color:#102b2e;border-radius:14px;box-shadow:none}
.planHero{padding:20px;background:linear-gradient(125deg,#172831,#131c29);border-color:#a3c1d118}
.todayBig{font-size:30px;font-weight:500;margin-top:5px}
.planStats{gap:10px;margin-top:18px}
.stat{background:#080f171f;border-color:#ffffff09;padding:12px}
.stat strong{font-size:24px;font-weight:500;color:#deedf4}
.stat span{font-size:10px;color:#869cad}
.dayChip{background:#111923;border-color:var(--line);padding:12px 7px;color:#8a9bae;border-radius:16px}
.dayChip.active{background:#b5ece2;color:#103032;border-color:transparent;box-shadow:none}
.dayChip b{font-size:20px;font-weight:500}
.taskCard{padding:15px;background:#111923}
.taskCheck{border-radius:10px;border-color:#718b9255;background:none;flex-shrink:0}
.taskTitle{font-size:14px;font-weight:500}
.taskMeta{color:#8596a9}
.floatingAdd{background:#b5ece2;color:#103032;border:0;box-shadow:0 8px 30px #0005;bottom:22px;right:22px}
.projectCard{background:linear-gradient(135deg,#18232f,#111720);border-color:var(--line);box-shadow:none;padding:20px}
.projectName{font-size:20px;font-weight:550;letter-spacing:-.03em}
.projectDesc{color:#91a0b3;line-height:1.55}
.projectProgress{background:#ffffff09}.projectProgress span{background:#9ac9c2;box-shadow:none}
.projectTop{background:transparent;border-color:var(--line);padding:20px}
.projectTabs{background:#101720;border-color:var(--line)}
.projectTab.active{background:#accfca14;color:#c4eee4;border-color:transparent;box-shadow:none}
.lifeHero{background:linear-gradient(130deg,#19302e,#131e29);border-color:#a3c1d116;box-shadow:none;padding:22px}
.lifeCard{background:#111923;border-color:var(--line);box-shadow:none}
.lifeCardIcon{filter:none}
.lifeCardTitle{font-weight:550;font-size:15px}
.lifeCardValue{font-weight:500;letter-spacing:-.035em}
.lifeAction{background:#182932;border-color:var(--line);color:#b2d6d4;min-height:40px}
.lifeTitle{font-size:28px;font-weight:500}.lifeEyebrow{color:#96b5b3;font-weight:500}
.lifeStat{background:#111923;border-color:var(--line)}.lifeStat b{font-weight:500}
.lifeValue{font-size:22px;font-weight:500;letter-spacing:-.035em;overflow-wrap:anywhere}
.lifeCardHead b{font-size:14px;font-weight:550}.lifeCardHead span{color:#8e9fb3}
.lifeIcon{background:#a5ded20c;border-color:#a5ded225;color:#b0d8d4;border-radius:14px}
.lifeBtn{font-size:11px;font-weight:500;padding:10px 8px}
.voiceProfileCard{background:#111923;border-color:var(--line)}
.voiceProfileIcon{background:#a5ded20c;border-color:#a5ded225;color:#b0d8d4;box-shadow:none}
.voiceProfileTitle{font-weight:550}.voiceProfileStatus{color:#8e9fb3}
.emptyPremium{min-height:340px}
.emptyPremium{padding:38px 22px;background:none;border:0;box-shadow:none}
.emptyPremiumVisual{background:#a4d7d605;border-color:#a4d7d61a;box-shadow:none}
.emptyPremiumVisual svg{stroke:#8aafa9;filter:none}
.emptyPremiumTitle{font-size:21px;font-weight:500;color:#dbe6f0;letter-spacing:-.035em}
.emptyPremiumText{font-size:13px;color:#889caf;line-height:1.6}
.modal{background:#03070bd9;backdrop-filter:blur(12px)}
.modalTitle{font-size:22px;font-weight:550;letter-spacing:-.035em}
#offlineState{top:calc(8px + env(safe-area-inset-top));font-size:10px;background:#272016;color:#e7c791;border-color:#d5ac6422}
@keyframes coreBreath{50%{opacity:.45;transform:scale(.92)}}
@media(min-width:700px){.homeHeader{width:100%;max-width:620px;margin:0 auto}.avatarHalo{inset:88px 0 218px}.sceneIntro{top:22px}.pageHeader{padding-left:32px;padding-right:32px}.scroll{padding-left:32px;padding-right:32px}}
@media(max-height:740px){.homeHeader{padding-top:calc(14px + env(safe-area-inset-top))}.sceneIntro{top:17px}.sceneIntro h1{font-size:23px}.sceneIntro .eyebrow{font-size:9px}.avatarHalo{top:84px;bottom:180px}.voiceStage{gap:9px;padding-bottom:10px}.voiceOrb{width:56px;height:56px;min-height:56px}.sceneTools{bottom:195px}.todayDockHead{min-height:50px}.voiceAnswer{font-size:13px;max-height:43px}.homeEyebrow{display:none}}
@media(max-height:740px){.voiceAnswer,.voiceAnswer.show,.voiceAnswer:not(.show){font-size:13px;max-height:43px}}
@media(max-height:560px){.sceneIntro{left:0;right:48%;top:18px}.sceneIntro h1{font-size:21px}.avatarHalo{left:52%;right:-10px;top:0;bottom:60px}.voiceAnswer,.voiceAnswer.show,.voiceAnswer:not(.show){width:52%;margin:0 auto 0 0;padding:0 4px;font-size:12px;max-height:36px}.voiceControls{width:52%;gap:12px;align-self:flex-start}.voiceStatus{width:52%;align-self:flex-start;font-size:8px}.sceneTools{right:0;bottom:70px}.voiceStage{gap:7px}.todayDock{margin-top:5px}.homeHeader{padding-top:10px}.pageHeader{padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
