:root{--color-excitement:#ffb6c1;--color-exhaustion:#1e3a8a;--color-calm:#fdf5e6;--color-anxiety:#8b5cf6;--color-neutral:#94a3b8;--color-bg-day:#87ceeb;--color-bg-night:#0a0a1a;--color-glass:#ffffff14;--color-glass-border:#ffffff1f;--color-glass-strong:#ffffff24;--color-text-primary:#fffffff2;--color-text-secondary:#ffffff8c;--color-text-hint:#ffffff59;--color-accent:#7dd3fc;--font-primary:"Outfit", "Noto Sans KR", sans-serif;--font-weight-thin:200;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:999px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-primary);background:var(--color-bg-night);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow:hidden}#cosmos-canvas{z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}#app-overlay{z-index:10;pointer-events:none;width:100%;height:100%;padding-top:calc(var(--safe-area-top) + var(--space-lg));padding-bottom:calc(var(--safe-area-bottom));flex-direction:column;justify-content:space-between;display:flex;position:fixed;top:0;left:0;overflow:hidden}#app-overlay>.carousel-nav,#app-overlay>.neighbor-popup{pointer-events:auto}.charging-hint-label{pointer-events:none;z-index:12;width:100%;font-family:inherit;font-size:14px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:2px;text-shadow:0 0 20px #ffffff80;text-align:center;opacity:.8;white-space:pre-line;line-height:1.6;transition:opacity .5s,transform .5s cubic-bezier(.4,0,.2,1);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.charging-hint-label.hidden{pointer-events:none;transform:translate(-50%,-50%)scale(.95);opacity:0!important}.guide-text-center{pointer-events:none;z-index:12;justify-content:center;align-items:center;width:100%;height:120px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.guide-text-center .guide-message{font-family:inherit;font-size:14px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:2px;text-shadow:0 0 20px #ffffff80;text-align:center;white-space:pre-line;opacity:0;width:90%;max-width:320px;line-height:1.6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.guide-text-center .guide-message-1{animation:13s infinite guideMsgSeq1}.guide-text-center .guide-message-2{animation:13s infinite guideMsgSeq2}.guide-icon-wrapper{justify-content:center;align-items:center;width:48px;height:48px;animation:13s infinite guideIconWrapperSequence;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.guide-text-center .guide-icon{color:#fff;transform-origin:50%;font-size:48px;line-height:1;animation:13s linear infinite guideIconSpin;display:block}@keyframes guideIconWrapperSequence{0%{opacity:0;text-shadow:0 0 10px #fff3;transform:translate(-50%,-50%)scale(.3)}3.8%{opacity:1;text-shadow:0 0 35px #fff,0 0 60px #fffc;transform:translate(-50%,-50%)scale(1)}11.5%{opacity:1;text-shadow:0 0 30px #ffffffb3;transform:translate(-50%,-50%)scale(1.06)}13.8%,to{opacity:0;text-shadow:0 0 5px #ffffff1a;transform:translate(-50%,-50%)scale(.3)}}@keyframes guideMsgSeq1{0%,15.4%{opacity:0;transform:translate(-50%,-50%)scale(.95)}18.5%,46.9%{opacity:1;transform:translate(-50%,-50%)scale(1)}49.2%,to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}@keyframes guideMsgSeq2{0%,50%{opacity:0;transform:translate(-50%,-50%)scale(.95)}53.1%,74.6%{opacity:1;transform:translate(-50%,-50%)scale(1)}76.9%,to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}@keyframes guideIconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.guide-text-center.fade-out{animation:guideFadeOut .4s var(--ease-out-expo) forwards}@keyframes guideFadeOut{to{opacity:0;visibility:hidden;transform:translate(-50%,-50%)scale(.9)}}#cosmos-guide-text .guide-message{letter-spacing:2px}.guide-arrow{opacity:0;visibility:hidden;pointer-events:none;z-index:20;--comet-angle:0deg;transform-origin:bottom;width:32px;height:120px;transform:translate(-50%, -100%) rotate(var(--comet-angle)) scale(var(--comet-scale,1));transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),visibility .4s;position:fixed;top:50%;left:50%}.guide-arrow.show-comet{opacity:1;visibility:visible}.guide-chevron-svg{filter:drop-shadow(0 0 6px #fffc);width:100%;height:100%}.chevron{fill:#fffffff2;animation:1.2s ease-in-out infinite chevronChasing}.chevron-1{opacity:.3;animation-delay:0s}.chevron-2{opacity:.45;animation-delay:.15s}.chevron-3{opacity:.6;animation-delay:.3s}.chevron-4{opacity:.75;animation-delay:.45s}.chevron-5{opacity:.9;animation-delay:.6s}.chevron-6{opacity:1;animation-delay:.75s}@keyframes chevronChasing{0%,to{filter:brightness();transform:translateY(0)}50%{filter:brightness(1.6)drop-shadow(0 0 8px #fff);transform:translateY(-3px)}}.emotion-text{font-size:18px;font-weight:var(--font-weight-light);letter-spacing:2px;color:var(--color-text-primary);text-shadow:0 0 10px #ffffff4d}.space-log{bottom:calc(var(--safe-area-bottom) + 100px);pointer-events:none;z-index:50;text-align:left;font-family:var(--font-family-mono);flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:absolute;left:20px}.space-log-line{color:#64ffc8d9;letter-spacing:.5px;text-shadow:0 0 5px #64ffc866;white-space:nowrap;border-right:1px solid #64ffc8cc;max-width:0;font-size:10px;animation:.8s steps(30,end) forwards hud-typing,.8s step-end 3 hud-blink,.5s ease-out 4.5s forwards hud-fade;overflow:hidden}.space-log-line:nth-child(2){animation-delay:.4s,.4s,4.5s}.space-log-line:nth-child(3){animation-delay:.8s,.8s,4.5s}@keyframes hud-typing{0%{max-width:0}to{max-width:300px}}@keyframes hud-blink{0%,to{border-color:#0000}50%{border-color:#64ffc8cc}}@keyframes hud-fade{to{opacity:0}}@keyframes emotionAppear{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.neighbor-popup{z-index:30;min-width:240px;max-width:320px;padding:var(--space-xl) var(--space-lg);text-align:center;background:var(--color-glass-strong);-webkit-backdrop-filter:blur(30px)saturate(150%);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff1a}.neighbor-popup.hidden{opacity:0;pointer-events:none;transition:all .3s var(--ease-out-expo);transform:translate(-50%,-50%)scale(.9)}.neighbor-popup.visible{opacity:1;pointer-events:auto;transition:all .5s var(--ease-out-back);transform:translate(-50%,-50%)scale(1)}.popup-glow{background:linear-gradient(90deg, transparent, var(--color-accent), transparent);border-radius:2px;height:2px;position:absolute;top:-1px;left:20%;right:20%}.popup-text{font-size:15px;font-weight:var(--font-weight-light);color:var(--color-text-primary);margin-bottom:var(--space-md);line-height:1.7}.popup-hint{color:var(--color-text-hint);letter-spacing:1px;text-transform:uppercase;font-size:11px}.absolute-header{top:calc(var(--safe-area-top) + 68px);z-index:10;width:100%;position:absolute;left:0}.view-panel{z-index:15;width:100%;padding:calc(var(--safe-area-top) + 68px) var(--space-lg) calc(var(--safe-area-bottom) + 190px);-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(40px);background:linear-gradient(#0a0a1af2 0%,#0a0a1ad9 100%);position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.view-panel.hidden{opacity:0;pointer-events:none;transition:all .4s var(--ease-out-expo);transform:translateY(20px)}.view-panel.visible{opacity:1;pointer-events:auto;transition:all .5s var(--ease-out-expo);transform:translateY(0)}#cosmos-view.visible{pointer-events:none}#cosmos-view .cosmos-zoom-controls,#cosmos-view .star-action-menu,#cosmos-view .whisper-panel{pointer-events:auto}.view-header{text-align:center;margin-bottom:var(--space-xl)}.view-title{font-size:24px;font-weight:var(--font-weight-light);letter-spacing:2px;margin-bottom:var(--space-xs);background:linear-gradient(135deg, var(--color-text-primary), var(--color-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.view-subtitle{font-size:13px;font-weight:var(--font-weight-thin);color:var(--color-text-secondary);letter-spacing:.5px}.flow-keyword{text-align:center;color:#ffffff80;letter-spacing:.5px;z-index:5;pointer-events:none;width:100%;margin:0;font-size:13px;font-weight:600;position:absolute;top:15px;left:0}.biorhythm-wrapper{touch-action:pan-x;border-radius:var(--radius-md);background:var(--color-glass);border:1px solid var(--color-glass-border);margin-bottom:var(--space-md);position:relative;overflow:hidden}#biorhythm-canvas{width:100%;height:220px;display:block}.chart-tooltip{pointer-events:none;z-index:10;transition:opacity .15s;position:absolute;top:0;left:0}.chart-tooltip.hidden{opacity:0}.chart-tooltip-line{background:#ffffff40;width:1px;height:100%;position:absolute;top:0}.chart-tooltip-bubble{white-space:nowrap;color:#ffffffe6;-webkit-backdrop-filter:blur(8px);background:#0f0f23e6;border:1px solid #ffffff26;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;transform:translate(-50%)}.chart-tooltip-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block;box-shadow:0 0 6px}.mood-solution{padding:12px 0 10px}.solution-card{-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#8b5cf614,#7dd3fc0f);border:1px solid #ffffff0f;border-radius:14px;align-items:flex-start;gap:12px;padding:16px;display:flex}.solution-icon{flex-shrink:0;margin-top:2px;font-size:22px}.solution-text{flex-direction:column;gap:6px;display:flex}.solution-label{letter-spacing:1px;color:#8b5cf6b3;text-transform:uppercase;font-size:11px;font-weight:600}.solution-body{color:#fff9;font-size:13px;line-height:1.6;font-weight:var(--font-weight-light);margin:0}.carousel-nav{z-index:60;padding-top:calc(var(--safe-area-top) - 4px);background:linear-gradient(#0a0a1ab3 0%,#0000 100%);padding-bottom:10px;position:fixed;top:0;left:0;right:0}.carousel-track{justify-content:center;align-items:center;gap:0;height:60px;display:flex;position:relative;overflow:visible}.carousel-track:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg,#0000 0%,#ffffff1f 25%,#ffffff2e 50%,#ffffff1f 75%,#0000 100%);height:1px;position:absolute;top:50%;left:20%;right:20%;transform:translateY(-5px)}.carousel-item{cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;outline:none;flex-direction:column;align-items:center;gap:4px;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;transform:scale(.5)}.carousel-item.pos-center{opacity:1;pointer-events:auto;z-index:3;position:relative;transform:scale(1)}.carousel-item.pos-left{opacity:.55;pointer-events:auto;z-index:1;position:absolute;left:12%;transform:scale(.7)}.carousel-item.pos-right{opacity:.55;pointer-events:auto;z-index:1;position:absolute;right:12%;transform:scale(.7)}.carousel-item.pos-hidden{opacity:0;pointer-events:none;transform:scale(.3)}.carousel-icon{color:#fff9;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:all .4s;display:flex}.carousel-icon svg{fill:currentColor;width:22px;height:22px;transition:all .4s}.carousel-item.pos-center .carousel-icon{color:#fff;text-shadow:0 0 12px var(--color-accent);font-size:26px}.carousel-item.pos-center .carousel-icon svg{width:26px;height:26px;filter:drop-shadow(0 0 8px var(--color-accent))}.carousel-item[data-view=star] .carousel-icon svg{width:28px;height:28px}.carousel-item.pos-center[data-view=star] .carousel-icon svg{width:32px;height:32px}.carousel-label{font-family:var(--font-family-mono);letter-spacing:2px;text-transform:uppercase;color:#fff6;font-size:9px;font-weight:400;transition:all .4s}.carousel-item.pos-center .carousel-label{color:#ffffffe6;font-size:10px}.launch-feedback{z-index:25;text-align:center;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.launch-text{font-size:16px;font-weight:var(--font-weight-thin);letter-spacing:4px;color:var(--color-text-primary);text-shadow:0 0 30px #ffffff80;animation:launchText 2s var(--ease-out-expo) forwards}@keyframes launchText{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.2)translateY(-30px)}}.view-panel::-webkit-scrollbar{width:3px}.view-panel::-webkit-scrollbar-track{background:0 0}.view-panel::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:3px}.emotion-directions{z-index:18;pointer-events:none;width:100%;height:100%;transition:opacity .4s var(--ease-out-expo);position:fixed;top:0;left:0}.emotion-directions.hidden{opacity:0}.emotion-directions.visible{opacity:1}.emo-dir{transition:opacity .3s var(--ease-out-expo), transform .3s var(--ease-out-expo);opacity:.4;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute}.emo-dir.active{opacity:1;transform:scale(1.15)}.emo-dir-emoji{filter:drop-shadow(0 0 8px #ffffff4d);font-size:22px}.emo-dir-label{letter-spacing:1px;color:var(--color-text-secondary);text-shadow:0 0 10px #00000080;font-size:11px;font-weight:700}.emo-dir.active .emo-dir-label{color:var(--color-text-primary)}.emo-dir-up{top:12%;left:50%;transform:translate(-50%)}.emo-dir-up.active{transform:translate(-50%)scale(1.15)}.emo-dir-up-right{top:22%;right:20%}.emo-dir-up-right.active{transform:scale(1.15)}.emo-dir-right{top:50%;right:24px;transform:translateY(-50%)}.emo-dir-right.active{transform:translateY(-50%)scale(1.15)}.emo-dir-down-right{bottom:25%;right:20%}.emo-dir-down-right.active{transform:scale(1.15)}.emo-dir-down{bottom:120px;left:50%;transform:translate(-50%)}.emo-dir-down.active{transform:translate(-50%)scale(1.15)}.emo-dir-down-left{bottom:25%;left:20%}.emo-dir-down-left.active{transform:scale(1.15)}.emo-dir-left{top:50%;left:24px;transform:translateY(-50%)}.emo-dir-left.active{transform:translateY(-50%)scale(1.15)}.emo-dir-up-left{top:22%;left:20%}.emo-dir-up-left.active{transform:scale(1.15)}.hidden{opacity:0;pointer-events:none!important}.rhythm-tabs{justify-content:center;gap:var(--space-md);margin-top:var(--space-md);margin-bottom:var(--space-lg);display:flex}.rhythm-tab{color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-light);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:6px 16px;transition:all .3s}.rhythm-tab.active{color:var(--color-text-primary);background:#ffffff1a;border-color:#ffffff4d;box-shadow:0 0 10px #ffffff0d}.rhythm-content{animation:.4s fadeIn;display:none}.rhythm-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#rhythm-calendar-container{background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-sm);box-shadow:0 4px 20px #0000004d}.calendar-header{margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.cal-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:8px;font-size:14px;transition:color .3s}.cal-btn:hover{color:var(--color-text-primary)}#cal-month-title{font-size:14px;font-weight:var(--font-weight-light);color:var(--color-text-primary);letter-spacing:1px}.calendar-weekdays{text-align:center;color:var(--color-text-hint);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid #ffffff0d;grid-template-columns:repeat(7,1fr);font-size:10px;display:grid}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}#mood-waves-wrapper{border-radius:var(--radius-sm);background:#ffffff05;border:1px solid #ffffff0d;transition:border-color .3s;overflow:hidden;box-shadow:inset 0 0 20px #00000080}#mood-waves-wrapper:hover{border-color:#ffffff1a}#mood-waves-canvas{width:100%;height:100%;display:block}#cal-zoom-out{opacity:.7;transition:all .2s}#cal-zoom-out:hover{opacity:1;background:#ffffff14;border-color:#ffffff4d!important}#cal-zoom-out.hidden{display:none!important}.modal-timeline{animation:.5s both fadeIn}.timeline-wrapper{box-shadow:inset 0 0 10px #0006}#daily-timeline-canvas{width:100%;height:100%;display:block}.calendar-solution{margin-top:16px;padding:0 4px}.calendar-journals-list{flex-direction:column;gap:10px;max-height:250px;margin-top:20px;padding-right:4px;display:flex;overflow-y:auto}.calendar-journals-list::-webkit-scrollbar{width:4px}.calendar-journals-list::-webkit-scrollbar-track{background:#ffffff03;border-radius:2px}.calendar-journals-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.calendar-journals-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.journal-list-item{border-radius:var(--radius-sm);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .25s cubic-bezier(.4,0,.2,1);animation:.4s both slideUpFade;display:flex}.journal-list-item:hover{background:#ffffff0f;border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.journal-list-item:active{background:#ffffff0a;transform:scale(.985)}.journal-item-left{flex:1;align-items:center;gap:12px;display:flex;overflow:hidden}.journal-item-dot{width:7px;height:7px;box-shadow:0 0 6px var(--dot-color,#fffc);border-radius:50%;flex-shrink:0}.journal-item-date{color:var(--color-text-secondary);white-space:nowrap;font-family:Outfit,sans-serif;font-size:11px;font-weight:500}.journal-item-text{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.journal-item-arrow{color:var(--color-text-hint);margin-left:8px;font-size:12px;transition:transform .2s}.journal-list-item:hover .journal-item-arrow{color:var(--color-text-secondary);transform:translate(2px)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.today-journal-card{border-radius:var(--radius-sm);box-sizing:border-box;text-align:left;background:#ffffff08;border:1px solid #ffffff0f;width:90%;max-width:420px;margin:20px auto 0;padding:12px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);animation:.4s both slideUpFade;box-shadow:0 4px 15px #00000026}.today-journal-card:hover{background:#ffffff0f;border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 6px 20px #00000040}.today-journal-card:active{background:#ffffff0a;transform:scale(.99)}.today-journal-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.today-journal-label{color:var(--color-text-secondary);align-items:center;gap:6px;font-family:Outfit,sans-serif;font-size:11px;font-weight:500;display:flex}.today-journal-dot{background:#c084fc;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 6px #c084fc}.today-journal-edit-hint{color:var(--color-text-hint);font-size:10px;transition:color .2s}.today-journal-card:hover .today-journal-edit-hint{color:var(--color-text-secondary)}.today-journal-body{color:var(--color-text-primary);word-break:break-all;margin:0;font-size:11.5px;line-height:1.5}.btn-journal-circle{color:#c8b4ffcc;cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:16px auto 0;font-size:20px;transition:all .2s;display:flex}.btn-journal-circle:active{background:#8b5cf64d;transform:scale(.9)}.calendar-day{aspect-ratio:1/.75;color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:10px;transition:all .3s;display:flex;position:relative}.calendar-day.empty{pointer-events:none}.calendar-day.has-data{color:var(--color-text-primary)}.calendar-day.has-data:before{content:"";background:var(--day-color,#ffffff1a);opacity:.6;filter:blur(2px);z-index:-1;border-radius:50%;width:100%;height:100%;transition:all .3s;position:absolute;top:0;left:0}.calendar-day.has-data:after{content:"";border:1px solid var(--day-color,#fff3);opacity:.8;border-radius:50%;position:absolute;top:2px;bottom:2px;left:2px;right:2px}.calendar-day.today{border:1px solid #ffffff80;font-weight:700}.calendar-day.has-data:hover:before{opacity:1;filter:blur(4px);transform:scale(1.1)}.daily-detail-modal{z-index:100;justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.daily-detail-modal.hidden{opacity:0;pointer-events:none!important}.daily-detail-modal .modal-overlay{-webkit-backdrop-filter:blur(5px);background:#0009;width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.daily-detail-modal.hidden .modal-overlay{opacity:0}.daily-detail-modal .modal-content{background:linear-gradient(180deg, var(--color-glass) 0%, #0a0a1af2 100%);border-top:1px solid var(--color-glass-border);width:calc(100% - 24px);max-width:500px;padding:var(--space-md) var(--space-md) calc(var(--safe-area-bottom) + 110px);transition:transform .5s var(--ease-out-expo);will-change:transform;border-radius:20px 20px 0 0;max-height:70vh;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 -10px 40px #00000080}.daily-detail-modal.hidden .modal-content{transform:translateY(100%)}.modal-header{margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}#modal-date-title{font-size:16px;font-weight:var(--font-weight-light);color:var(--color-text-primary);letter-spacing:1px}.modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px}.section-title{color:var(--color-text-secondary);letter-spacing:1px;margin-bottom:4px;font-size:11px;font-weight:300}.modal-stats{margin-bottom:var(--space-sm)}.stats-summary{gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.stat-box{padding:var(--space-sm);background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.stat-label{color:var(--color-text-hint);font-size:11px}.stat-value{color:var(--color-text-primary);font-size:14px;font-weight:var(--font-weight-light)}.stats-breakdown{flex-wrap:wrap;gap:8px;display:flex}.breakdown-item{color:var(--color-text-secondary);border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;display:flex}.breakdown-color-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.modal-journal textarea{width:100%;height:80px;padding:var(--space-sm);color:var(--color-text-primary);resize:none;font-family:inherit;font-size:13px;line-height:1.4;font-weight:var(--font-weight-light);background:#0003;border:1px solid #ffffff1a;border-radius:8px}.modal-journal textarea:focus{background:#0006;border-color:#ffffff4d;outline:none}.btn-save-journal{width:100%;margin-top:var(--space-sm);color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-light);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:10px;transition:all .3s}.btn-save-journal:hover{background:#fff3}.btn-save-journal.saved{background:var(--color-accent);color:#000;border-color:var(--color-accent)}.modal-solution{margin-top:12px}.cosmos-teaser{text-align:center;pointer-events:none;width:90%;max-width:400px;animation:4s ease-in-out infinite alternate fadeInPulse;position:absolute;top:65%;left:50%;transform:translate(-50%)}.teaser-main{color:var(--color-text-primary);font-size:16px;font-weight:var(--font-weight-light);letter-spacing:2px;margin-bottom:var(--space-md);text-shadow:0 0 20px #ffffff4d}.teaser-sub{color:var(--color-text-hint);font-size:13px;font-weight:var(--font-weight-thin);letter-spacing:1px;line-height:1.6}.cosmos-zoom-controls{z-index:20;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:80px;right:16px}.cosmos-zoom-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;background:#0a0f1e99;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:300;transition:all .3s;display:flex;box-shadow:0 0 12px #648cff0d}.cosmos-zoom-btn:hover{color:#fffffff2;background:#141e3cb3;border-color:#96b4ff66;box-shadow:0 0 20px #648cff26}.cosmos-zoom-btn:active{background:#283c7880;transform:scale(.9)}@keyframes fadeInPulse{0%{opacity:.5}to{opacity:.9}}#cosmos-view{-webkit-backdrop-filter:none;background:0 0;overflow:hidden}.bottom-nav{bottom:calc(var(--safe-area-bottom) + 105px);z-index:60;pointer-events:auto;justify-content:center;display:flex;position:fixed;left:0;right:0}.bottom-nav-track{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);background:#0a0a1ad9;border:1px solid #ffffff1f;align-items:center;gap:28px;padding:8px 24px;display:flex;position:relative}@supports (mask-composite:exclude) or (-webkit-mask-composite:xor){.bottom-nav-track{border:none}.bottom-nav-track:before{content:"";border-radius:var(--radius-full);pointer-events:none;-webkit-mask-composite:xor;will-change:background-position;background:linear-gradient(135deg,#ff75c3,#ffa647,#ffe83f,#9ef53b,#70e2ff,#a066ff,#ff75c3) 0 0/300% 300%;padding:1px;animation:12s linear infinite auroraBorderLight;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#fff 0,#fff 0),linear-gradient(#fff 0,#fff 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}}@keyframes auroraBorder{0%{filter:hue-rotate();background-position:0%}50%{background-position:100%}to{filter:hue-rotate(360deg);background-position:0%}}@keyframes auroraBorderLight{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.bottom-nav-item{cursor:pointer;color:#ffffff4d;pointer-events:auto;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:4px;font-size:16px;line-height:1;transition:all .3s;display:flex}.bottom-nav-item svg{fill:none;stroke:currentColor;width:18px;height:18px;transition:all .3s}.bottom-nav-item[data-view=star] svg,.bottom-nav-item[data-view=settings] svg{fill:currentColor;stroke:none}.bottom-nav-item[data-view=star] svg{width:24px;height:24px}.bottom-nav-item.active{color:#fffffff2;text-shadow:0 0 10px var(--color-accent);transform:scale(1.2)}.bottom-nav-item.active svg{filter:drop-shadow(0 0 8px var(--color-accent))}.ad-banner-space{height:calc(var(--safe-area-bottom) + 50px);z-index:50;pointer-events:auto;background:#0a0a1af2;border-top:1px solid #ffffff14;justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.web-ad-placeholder{color:#ffffff59;letter-spacing:.15em;text-transform:uppercase;background:#ffffff05;border:1px dashed #ffffff26;border-radius:4px;justify-content:center;align-items:center;width:320px;height:50px;font-family:Outfit,sans-serif;font-size:11px;display:flex}.web-store-buttons{bottom:calc(var(--safe-area-bottom) + 58px);z-index:60;pointer-events:auto;justify-content:center;gap:12px;display:flex;position:fixed;left:0;right:0}.web-store-buttons .btn-store{border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 12px #0000004d}.web-store-buttons .btn-apple{color:#000;background:#fff;border:1px solid #fff}.web-store-buttons .btn-apple:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffffff26}.web-store-buttons .btn-google{color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff26}.web-store-buttons .btn-google:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 20px #ffffff0d}.native-app .web-store-buttons,.native-app .ad-banner-space{display:none!important}.native-app .bottom-nav{bottom:calc(var(--safe-area-bottom) + 85px)!important}html:not(.platform-android) .native-app #cosmos-view{height:calc(100vh - 64px)!important;padding-bottom:0!important}html:not(.platform-android) .native-app #biorhythm-view,html:not(.platform-android) .native-app #settings-view,html:not(.platform-android) .native-app #history-panel{padding-bottom:calc(var(--safe-area-bottom) + 64px)!important}.settings-list{gap:var(--space-md);flex-direction:column;padding-bottom:120px;display:flex}.settings-section{border-radius:var(--radius-md);padding:var(--space-sm) 0;background:#ffffff08;border:1px solid #ffffff0f;overflow:hidden}.settings-section-title{color:var(--color-text-hint);letter-spacing:1.5px;text-transform:uppercase;padding:4px var(--space-md) 8px;font-size:10px;font-weight:400}.settings-item{padding:12px var(--space-md);border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;display:flex}.settings-item.clickable{cursor:pointer;transition:background .2s}.settings-item.clickable:active{background:#ffffff0a}.settings-label{color:var(--color-text-primary);font-size:13px;font-weight:var(--font-weight-light)}.settings-label.settings-danger{color:#ff6b6b}.settings-value{color:var(--color-text-hint);font-size:12px;font-weight:var(--font-weight-light)}.settings-arrow{color:var(--color-text-hint);font-size:16px;font-weight:300}.settings-desc{color:var(--color-text-hint);padding:4px var(--space-md) 10px;border-top:1px solid #ffffff05;font-size:11px;line-height:1.5}.settings-desc .desc-item{margin-bottom:4px}.settings-desc .desc-item:last-child{margin-bottom:0}.settings-select{border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;outline:none;padding:4px 8px;font-family:inherit;font-size:12px}.settings-select option{color:var(--color-text-primary);background:#112}.info-icon-btn{color:#ffffff73;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;transition:all .2s;display:inline-flex}.info-icon-btn:hover{color:#ffffffe6;background:#ffffff2e}.info-tooltip-popup{color:#fffffff2;z-index:100;text-align:left;white-space:normal;pointer-events:auto;visibility:visible;opacity:1;background:#12121ef5;border:1px solid #ffffff26;border-radius:8px;width:240px;padding:8px 12px;font-size:11px;line-height:1.4;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;bottom:42px;left:10px;transform:translateY(0);box-shadow:0 4px 16px #00000080}.info-tooltip-popup.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px)}.info-tooltip-popup:after{content:"";border:6px solid #0000;border-top-color:#12121ef5;position:absolute;top:100%;left:98px}.info-tooltip-popup:before{content:"";z-index:-1;border:7px solid #0000;border-top-color:#ffffff26;position:absolute;top:100%;left:97px}.lang-list{max-height:500px;transition:max-height .3s ease-out,padding .3s,border-top .3s;overflow-y:auto}.lang-list.collapsed{border-top:none!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important}.settings-item-notifications{justify-content:space-between;align-items:center;display:flex}.settings-notifications-times{align-items:center;gap:10px;margin-left:auto;margin-right:15px;display:flex}.time-btn-wrapper{cursor:pointer;display:inline-block;position:relative}.time-btn{color:var(--color-text-primary);border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid #ffffff1a;padding:4px 8px;font-size:12px;font-weight:400;transition:all .2s;display:inline-block}.time-btn-wrapper:active .time-btn{background:#ffffff1f}.time-input-hidden{opacity:0;cursor:pointer;box-sizing:border-box;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0}.settings-notifications-times.disabled{pointer-events:none}.settings-notifications-times.disabled .time-btn{opacity:.35;border-color:#ffffff08}.star-shape-selector{gap:var(--space-sm);padding:8px var(--space-md);justify-content:center;display:flex}.star-shape-btn{border-radius:var(--radius-md);color:#fff6;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;transition:all .3s;display:flex}.star-shape-btn.active{border-color:var(--color-accent);color:#fff;background:#ffffff14;transform:scale(1.05);box-shadow:0 0 12px #78b4ff33}.star-shape-btn:active{transform:scale(.95)}.toggle-switch{flex-shrink:0;width:42px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#ffffff1a;border-radius:24px;transition:all .3s;position:absolute;top:0;bottom:0;left:0;right:0}.toggle-slider:before{content:"";background:#ffffff80;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#78b4ff66,#b478ff66)}.toggle-switch input:checked+.toggle-slider:before{background:#fff;transform:translate(18px);box-shadow:0 0 6px #78b4ff80}.settings-input{color:var(--color-text-primary);letter-spacing:.5px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:14px;font-weight:400;transition:border-color .2s}.settings-input:focus{border-color:#8b5cf680}.settings-input::placeholder{color:#ffffff40}.settings-save-btn{color:#8b5cf6cc;cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf64d;border-radius:8px;width:40px;height:40px;margin-left:8px;font-size:16px;transition:all .2s}.settings-save-btn:active{background:#8b5cf64d;transform:scale(.9)}.settings-star-name{text-align:center;color:#c8b4ffd9;letter-spacing:1px;border-bottom:1px solid #ffffff0d;margin-bottom:12px;padding:12px 0;font-size:16px;font-weight:500}.energy-stats{gap:10px;display:flex}.energy-stat-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:10px;padding:10px 8px;display:flex}.energy-stat-icon{font-size:16px}.energy-stat-label{color:#fff6;letter-spacing:.5px;font-size:10px}.energy-stat-value{color:#ffffffd9;vertical-align:middle;font-size:16px;font-weight:700;display:inline-block}.settings-sub-label{color:#ffffff59;letter-spacing:1px;margin-bottom:10px;font-size:11px}.settings-footer{text-align:center;padding:var(--space-lg) 0 var(--space-md)}.settings-footer-logo{letter-spacing:2px;font-size:20px;font-weight:700;font-family:var(--font-family-mono);margin:0 0 6px}.settings-footer-logo .logo-star{color:#ffffffd9}.settings-footer-logo .logo-astro{color:#ffffffe6}.settings-footer-logo .logo-emotion{color:#b4b4dcb3}.settings-footer-sub{color:#ffffff59;letter-spacing:1.5px;font-size:11px;font-family:var(--font-family-mono);margin:0 0 14px}.settings-footer-version{color:#ffffff4d;letter-spacing:1px;font-size:13px;font-family:var(--font-family-mono);margin:8px 0 0}.settings-footer-copyright{color:#ffffff40;letter-spacing:.5px;font-size:10px;font-family:var(--font-family-mono);margin:0}.bg-theme-btn{border-radius:var(--radius-md);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:80px;height:60px;padding:4px;transition:all .3s;display:flex}.bg-theme-btn.active{border-color:var(--color-accent);transform:scale(1.05);box-shadow:0 0 12px #78b4ff33}.bg-theme-btn:active{transform:scale(.95)}.bg-theme-preview{border-radius:6px;width:100%;height:30px;display:block}.bg-theme-name{color:var(--color-text-hint);letter-spacing:1px;font-size:9px}.bg-theme-btn.active .bg-theme-name{color:var(--color-text-primary)}.lang-check{color:var(--color-accent,#78b4ffcc);text-align:center;min-width:16px;font-size:14px;font-weight:300}.lang-option.active{background:#ffffff08}.lang-list{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;max-height:200px;overflow-y:auto}.lang-list::-webkit-scrollbar{width:4px}.lang-list::-webkit-scrollbar-track{background:0 0}.lang-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.energy-toast{top:calc(var(--safe-area-top) + 210px);-webkit-backdrop-filter:blur(12px);z-index:200;pointer-events:none;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:20px;justify-content:center;align-items:center;gap:8px;min-width:320px;max-width:90%;padding:12px 32px;animation:.4s toastSlideIn;display:flex;position:fixed;left:50%;transform:translate(-50%)}.energy-toast.hidden{display:none}.energy-toast-icon{font-size:18px}.energy-toast-text{color:#ffffffd9;letter-spacing:.5px;font-size:13px;font-weight:300}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-15px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.star-action-menu{z-index:120;gap:8px;animation:.25s actionMenuPop;display:flex;position:fixed}.star-action-menu.hidden{display:none}@keyframes actionMenuPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.action-btn{-webkit-backdrop-filter:blur(12px);cursor:pointer;background:#0f0f23d9;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.action-btn:active{background:#8b5cf640;border-color:#8b5cf666;transform:scale(.85)}.action-emoji{font-size:18px}.whisper-panel{bottom:calc(var(--safe-area-bottom) + 160px);-webkit-backdrop-filter:blur(16px);z-index:150;background:#0f0f23f0;border:1px solid #8b5cf633;border-radius:16px;max-height:320px;padding:20px;animation:.35s panelSlideUp;position:fixed;left:16px;right:16px;overflow-y:auto}.whisper-panel.hidden{display:none}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.whisper-panel-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.whisper-panel-title{letter-spacing:1.5px;color:#8b5cf6d9;text-transform:uppercase;font-size:12.5px;font-weight:600}.whisper-panel-close{color:#fff6;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.whisper-options{flex-direction:column;gap:8px;display:flex}.whisper-option-btn{color:#fffc;text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:13px 18px;font-size:14.5px;font-weight:300;line-height:1.5;transition:all .2s}.whisper-option-btn:active{color:#ffffffe6;background:#8b5cf626;border-color:#8b5cf64d}.floating-whisper{-webkit-backdrop-filter:blur(8px);color:#fffffff2;pointer-events:none;z-index:100;background:#140f2dd9;border:1px solid #8b5cf659;border-radius:12px;max-width:260px;padding:12px 18px;font-size:15px;font-weight:400;line-height:1.4;animation:5s forwards whisperFloat;position:fixed;box-shadow:0 8px 32px #0000004d}@keyframes whisperFloat{0%{opacity:0;transform:translateY(0)scale(.8)}15%{opacity:1;transform:translateY(-10px)scale(1)}75%{opacity:.8;transform:translateY(-30px)scale(1)}to{opacity:0;transform:translateY(-50px)scale(.9)}}#history-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;color:#fff;pointer-events:auto;background:#14141ef2;border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;width:100%;height:78%;padding:24px;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;box-shadow:0 -10px 40px #00000080}#history-panel.hidden{pointer-events:none;transform:translateY(100%)}.history-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.history-panel-header h3{margin:0;font-size:1.2rem;font-weight:600}#history-panel-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:1.5rem}.history-tabs{gap:10px;margin-bottom:16px;display:flex}.history-tab-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;flex:1;padding:10px;font-size:.95rem;transition:all .2s}.history-tab-btn.active{background:#ffffff40;border-color:#fff6;font-weight:600}#history-list-container{flex:1;overflow-y:auto}#history-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.history-item{background:#0000004d;border:1px solid #ffffff0d;border-radius:12px;padding:16px}.history-item-time{color:#ffffff80;margin-bottom:4px;font-size:.75rem}.history-item-content{font-size:.8rem;line-height:1.4}.history-item-content b{color:#fff;font-weight:600}.history-empty{text-align:center;color:#ffffff80;padding:30px 0;font-size:.9rem}.today-stats-container{gap:12px;margin-top:16px;margin-bottom:8px;display:flex}.today-stat-card{-webkit-backdrop-filter:blur(4px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:12px;display:flex}.today-stat-card .stat-label{color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.today-stat-card .stat-value{color:var(--color-text-primary);font-size:14px;font-weight:500}.today-stats-breakdown{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.today-journal-container{margin-top:16px;margin-bottom:24px}.today-journal-box.solution-card{-webkit-backdrop-filter:blur(8px);cursor:pointer;background:linear-gradient(135deg,#8b5cf614,#7dd3fc0f);border:1px solid #ffffff0f;border-radius:14px;align-items:flex-start;gap:12px;padding:16px;transition:border-color .2s;display:flex;position:relative}.today-journal-box.solution-card:hover{border-color:#ffffff1f}.solution-label-wrapper{justify-content:space-between;align-items:center;width:100%;display:flex}.journal-edit-btn{width:22px;height:22px;color:var(--color-text-primary);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:all .2s;display:flex}.journal-edit-btn:hover{background:#ffffff40;border-color:#fff6;transform:scale(1.08)}.journal-textarea{width:100%;height:70px;color:var(--color-text-primary);resize:none;box-sizing:border-box;background:#00000040;border:1px solid #ffffff1a;border-radius:8px;margin-top:8px;padding:10px;font-family:inherit;font-size:13px;line-height:1.4}.journal-textarea:focus{background:#0006;border-color:#ffffff40;outline:none}.journal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.journal-save-btn,.journal-cancel-btn{cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:300;transition:all .2s}.journal-save-btn{color:#fff;background:#ffffff26;border:1px solid #ffffff40}.journal-save-btn:hover{background:#ffffff40;border-color:#fff6}.journal-cancel-btn{color:var(--color-text-secondary);background:0 0;border:1px solid #ffffff1a}.journal-cancel-btn:hover{background:#ffffff0d}.calendar-detail-panel{-webkit-backdrop-filter:blur(8px);background:#ffffff05;border:1px solid #ffffff0d;border-radius:16px;margin-top:16px;margin-bottom:16px;padding:16px;transition:all .3s ease-in-out;box-shadow:0 8px 32px #00000040}.calendar-detail-panel.hidden{display:none}.calendar-detail-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:8px;display:flex}.calendar-detail-title{color:var(--color-text-primary);letter-spacing:.5px;font-size:14px;font-weight:400}.calendar-detail-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px;transition:color .2s}.calendar-detail-close:hover{color:var(--color-text-primary)}.calendar-detail-chart-wrapper{width:100%;height:120px;margin:12px 0;position:relative}.calendar-detail-chart-wrapper canvas{width:100%;height:100%;display:block}.platform-android:not(.native-app) .carousel-nav{padding-top:calc(var(--safe-area-top) + 4px)}.platform-android:not(.native-app) .absolute-header{top:calc(var(--safe-area-top) + 58px)}.platform-android:not(.native-app) .view-panel{padding-top:calc(var(--safe-area-top) + 58px)!important;padding-bottom:220px!important}.platform-android.native-app .carousel-nav{padding-top:calc(var(--safe-area-top) + 38px)}.platform-android.native-app .absolute-header{top:calc(var(--safe-area-top) + 100px)}.platform-android.native-app .view-panel{padding-top:calc(var(--safe-area-top) + 100px)!important;padding-bottom:220px!important}.platform-android.native-app .bottom-nav{bottom:calc(var(--safe-area-bottom,80px) + 100px)!important}#app-overlay,.rhythm-container,.demo-bottom-bar-wrap,.top-carousel-nav{transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}body.healing-sleep-mode #app-overlay,body.healing-sleep-mode .rhythm-container,body.healing-sleep-mode .demo-bottom-bar-wrap,body.healing-sleep-mode .top-carousel-nav{opacity:0!important;pointer-events:none!important}body.healing-sleep-mode:after{content:"";pointer-events:none;z-index:999;opacity:1;background:radial-gradient(circle,#0a0a1a59 0%,#05050fb3 100%);width:100%;height:100%;animation:1.2s forwards sleepOverlayFade;position:fixed;top:0;left:0}@keyframes sleepOverlayFade{0%{opacity:0}to{opacity:1}}.sleep-whisper{z-index:1001;box-sizing:border-box;text-align:center;letter-spacing:.2px;color:#c8d2ffd9;text-shadow:0 0 20px #82a0ff4d;opacity:0;pointer-events:none;width:80%;max-width:80%;padding:0;font-family:Noto Serif KR,Georgia,serif;font-size:15px;font-weight:300;line-height:1.8;transition:opacity 1.5s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.sleep-whisper.visible{opacity:1}.bottom-nav-track.shimmer-guide{animation:5.5s ease-in-out forwards bottomNavAmbientGlow}@keyframes bottomNavAmbientGlow{0%,to{box-shadow:0 0 #70e2ff00,0 0 #a066ff00}30%{box-shadow:0 0 30px #70e2ff8c,0 0 8px #a066ff59}60%{box-shadow:0 0 55px #70e2ffcc,0 0 18px #a066ff8c}85%{box-shadow:0 0 25px #70e2ff73,0 0 6px #a066ff40}}.onboarding-overlay{visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(20px);z-index:10000;pointer-events:auto;background:#04040cd9;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s,visibility .5s;display:flex;position:fixed;top:0;left:0}.onboarding-overlay.visible{visibility:visible;opacity:1}.needs-onboarding .onboarding-overlay{visibility:visible!important;opacity:1!important}.onboarding-card{text-align:center;color:#fff;-webkit-backdrop-filter:blur(15px);background:#121226b3;border:1px solid #ffffff14;border-radius:28px;flex-direction:column;align-items:center;width:90%;max-width:340px;padding:30px 22px;display:flex;box-shadow:0 24px 60px #000000b3}.onboarding-title{letter-spacing:-.3px;color:#a78bfa;text-shadow:0 0 10px #a78bfa4d;margin-bottom:24px;font-size:19.5px;font-weight:700}.onboarding-cartoon-container{box-sizing:border-box;background:#ffffff04;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:250px;margin-bottom:20px;padding:12px 10px;display:flex;position:relative;overflow:hidden}.onboarding-cartoon-svg{flex-grow:1;width:100%;height:140px}.mock-top-nav{display:none}.mock-top-item{letter-spacing:.5px;color:#ffffff59;font-size:11px;transition:all .3s}.mock-top-item[data-view=star]{animation:20s infinite mockTopStar}.mock-top-item[data-view=rhythm]{animation:20s infinite mockTopRhythm}.mock-top-item[data-view=cosmos]{animation:20s infinite mockTopCosmos}@keyframes mockTopStar{0%,35%{color:#fff;text-shadow:0 0 8px #ffffffb3;font-weight:700;transform:scale(1.1)}40%,95%{color:#ffffff59;text-shadow:none;font-weight:600;transform:scale(1)}to{color:#fff;text-shadow:0 0 8px #ffffffb3;font-weight:700;transform:scale(1.1)}}@keyframes mockTopRhythm{0%,35%{color:#ffffff59;text-shadow:none;font-weight:600;transform:scale(1)}40%,65%{color:#fff;text-shadow:0 0 8px #ffffffb3;font-weight:700;transform:scale(1.1)}70%,to{color:#ffffff59;text-shadow:none;font-weight:600;transform:scale(1)}}@keyframes mockTopCosmos{0%,65%{color:#ffffff59;text-shadow:none;font-weight:600;transform:scale(1)}70%,95%{color:#fff;text-shadow:0 0 8px #ffffffb3;font-weight:700;transform:scale(1.1)}to{color:#ffffff59;text-shadow:none;font-weight:600;transform:scale(1)}}.mock-bottom-nav{border-top:1px solid #ffffff0f;justify-content:center;gap:36px;width:100%;padding-top:10px;display:flex}.mock-bottom-item{color:#ffffff59;transition:all .3s}.mock-bottom-item svg{width:18px;height:18px}.mock-bottom-item[data-view=star]{animation:20s infinite mockBottomStar}.mock-bottom-item[data-view=rhythm]{animation:20s infinite mockBottomRhythm}.mock-bottom-item[data-view=cosmos]{animation:20s infinite mockBottomCosmos}@keyframes mockBottomStar{0%,35%{color:#fff;filter:drop-shadow(0 0 6px #ffffffd9);transform:scale(1.2)}40%,95%{color:#ffffff59;filter:none;transform:scale(1)}to{color:#fff;filter:drop-shadow(0 0 6px #ffffffd9);transform:scale(1.2)}}@keyframes mockBottomRhythm{0%,35%{color:#ffffff59;filter:none;transform:scale(1)}40%,65%{color:#fff;filter:drop-shadow(0 0 6px #ffffffd9);transform:scale(1.2)}70%,to{color:#ffffff59;filter:none;transform:scale(1)}}@keyframes mockBottomCosmos{0%,65%{color:#ffffff59;filter:none;transform:scale(1)}70%,95%{color:#fff;filter:drop-shadow(0 0 6px #ffffffd9);transform:scale(1.2)}to{color:#ffffff59;filter:none;transform:scale(1)}}.onboarding-desc-area{width:100%;height:125px;margin-top:4px;margin-bottom:16px;position:relative}.onboarding-desc-item{opacity:0;pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;transition:opacity .35s;display:flex;position:absolute;top:0;left:0}.onboarding-desc-icon-group{flex-direction:column;align-items:center;gap:6px;display:flex}.onboarding-desc-large-icon{color:#fff;filter:drop-shadow(0 0 10px #ffffffbf);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.onboarding-desc-large-icon svg{width:42px;height:42px}.onboarding-desc-sub-label{letter-spacing:.5px;color:#fff;opacity:.95;text-shadow:0 0 8px #ffffff59;text-transform:uppercase;font-size:11px;font-weight:700}.onboarding-desc-text{color:#fff;word-break:normal;overflow-wrap:break-word;font-size:14.5px;font-weight:500;line-height:1.5}.onboarding-desc-item[data-view=star]{animation:20s infinite descStar}.onboarding-desc-item[data-view=rhythm]{animation:20s infinite descRhythm}.onboarding-desc-item[data-view=cosmos]{animation:20s infinite descCosmos}@keyframes descStar{0%,35%{opacity:1;pointer-events:auto}40%,95%{opacity:0;pointer-events:none}to{opacity:1;pointer-events:auto}}@keyframes descRhythm{0%,35%{opacity:0;pointer-events:none}40%,65%{opacity:1;pointer-events:auto}70%,to{opacity:0;pointer-events:none}}@keyframes descCosmos{0%,65%{opacity:0;pointer-events:none}70%,95%{opacity:1;pointer-events:auto}to{opacity:0;pointer-events:none}}.onboarding-btn{color:#04040c;cursor:pointer;background:#fff;border:none;border-radius:12px;width:100%;padding:13px 0;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s}.onboarding-btn:active{opacity:.9;transform:scale(.98)}.cartoon-scene-1{animation:20s infinite scene1Fade}@keyframes scene1Fade{0%,35%{opacity:1}40%,95%{opacity:0}to{opacity:1}}.touch-ring{transform-origin:150px 125px;animation:20s infinite touchPulseMaster}@keyframes touchPulseMaster{0%{opacity:0;filter:drop-shadow(0 0 2px #fff6);transform:scale(.5)}2.5%{opacity:1;filter:drop-shadow(0 0 12px #fffffff2);transform:scale(1.4)}5%{opacity:0;transform:scale(1)}5.01%{opacity:0;transform:scale(.5)}7.5%{opacity:1;filter:drop-shadow(0 0 12px #fffffff2);transform:scale(1.4)}10%{opacity:0;transform:scale(1)}20%{opacity:0}20%{opacity:0;filter:drop-shadow(0 0 2px #fff6);transform:scale(.5)}22.5%{opacity:1;filter:drop-shadow(0 0 12px #fffffff2);transform:scale(1.4)}25%{opacity:0;transform:scale(1)}25.01%{opacity:0;transform:scale(.5)}27.5%{opacity:1;filter:drop-shadow(0 0 12px #fffffff2);transform:scale(1.4)}30%{opacity:0;transform:scale(1)}40%,to{opacity:0}}.touch-hand{transform-origin:150px 125px;animation:20s infinite handDragMaster}@keyframes handDragMaster{0%{opacity:1;transform:translate(0)scale(1)}1%{opacity:1}2.5%{transform:translate(0)scale(.85)}5%{transform:translate(0)scale(1)}7.5%{transform:translate(0)scale(.85)}10%{transform:translate(0)scale(1)}11%{transform:translate(0)scale(1)}17.5%{transform:translateY(-90px)scale(1)}19%{opacity:0;transform:translateY(-90px)scale(1)}20%{opacity:0}20%{opacity:0;transform:translate(0)scale(1)}21%{opacity:1}22.5%{transform:translate(0)scale(.85)}25%{transform:translate(0)scale(1)}27.5%{transform:translate(0)scale(.85)}30%{transform:translate(0)scale(1)}31%{transform:translate(0)scale(1)}37.5%{transform:translateY(-90px)scale(1)}39%{opacity:0;transform:translateY(-90px)scale(1)}40%,to{opacity:0}}.launch-star{transform-origin:150px 33px;animation:20s infinite starFlyMaster}@keyframes starFlyMaster{0%{opacity:1;transform:translateY(92px)scale(.5)}1%{opacity:1}11%{transform:translateY(92px)scale(.5)}17.5%{transform:translate(0)scale(1)}19%{opacity:1;transform:translate(0)scale(1)}20%{opacity:0}20%{opacity:0;transform:translateY(92px)scale(.5)}21%{opacity:1}31%{transform:translateY(92px)scale(.5)}37.5%{transform:translate(0)scale(1)}39%{opacity:1;transform:translate(0)scale(1)}40%,to{opacity:0}}.cartoon-scene-2{animation:20s infinite scene2Fade}@keyframes scene2Fade{0%,35%{opacity:0}40%,65%{opacity:1}70%,to{opacity:0}}.rhythm-wave{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:20s linear infinite waveDrawMaster}@keyframes waveDrawMaster{0%,39.9%{stroke-dashoffset:1000px}40%{stroke-dashoffset:1000px}52.5%{stroke-dashoffset:0}65%{stroke-dashoffset:0}69%,to{stroke-dashoffset:1000px}}.cartoon-scene-3{animation:20s infinite scene3Fade}@keyframes scene3Fade{0%,65%{opacity:0}70%,95%{opacity:1}to{opacity:0}}.cosmos-send-line{stroke-dasharray:6 6;stroke-dashoffset:12px;animation:1.8s linear infinite cosmosFlow}@keyframes cosmosFlow{0%{stroke-dashoffset:12px}to{stroke-dashoffset:0}}.ring-1{transform-origin:80px 80px;animation:20s infinite ringPulse1}.ring-2{transform-origin:80px 80px;animation:20s infinite ringPulse2}.ring-3{transform-origin:80px 80px;animation:20s infinite ringPulse3}@keyframes ringPulse1{70%{opacity:0;transform:scale(.3)}75%{opacity:.8;transform:scale(1.2)}83%{opacity:0;transform:scale(1.8)}85%{opacity:0}85%{opacity:0;transform:scale(.3)}90%{opacity:.8;transform:scale(1.2)}98%{opacity:0;transform:scale(1.8)}to{opacity:0}0%,69.9%{opacity:0}}@keyframes ringPulse2{70%,72.5%{opacity:0;transform:scale(.3)}77.5%{opacity:.8;transform:scale(1.2)}84%{opacity:0;transform:scale(1.8)}85%{opacity:0}85%,87.5%{opacity:0;transform:scale(.3)}92.5%{opacity:.8;transform:scale(1.2)}99%{opacity:0;transform:scale(1.8)}to{opacity:0}0%,69.9%{opacity:0}}@keyframes ringPulse3{70%,75%{opacity:0;transform:scale(.3)}80%{opacity:.8;transform:scale(1.2)}85%{opacity:0;transform:scale(1.8)}85%,90%{opacity:0;transform:scale(.3)}95%{opacity:.8;transform:scale(1.2)}to{opacity:0;transform:scale(1.8)}0%,69.9%{opacity:0}}.neighbor-star{transform-origin:220px 80px;animation:20s infinite neighborFlashMaster}@keyframes neighborFlashMaster{70%,77.5%{opacity:.5;transform:scale(1)}82.5%{opacity:1;transform:scale(1.3)}85%{opacity:.5;transform:scale(1)}85%,92.5%{opacity:.5;transform:scale(1)}97.5%{opacity:1;transform:scale(1.3)}to{opacity:.5;transform:scale(1)}0%,69.9%{opacity:.5}}.love-heart{transform-origin:235px 60px;animation:20s infinite heartRiseMaster}@keyframes heartRiseMaster{70%,74.5%{opacity:0;transform:translateY(10px)scale(0)}82.5%{opacity:1;transform:translateY(0)scale(1)}85%{opacity:0;transform:translateY(-10px)scale(0)}85%,89.5%{opacity:0;transform:translateY(10px)scale(0)}97.5%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(0)}0%,69.9%{opacity:0}}.onboarding-overlay *{animation-play-state:paused!important}.onboarding-overlay.animation-active *{animation-play-state:running!important}.star-burst{transform-origin:150px 33px;animation:20s infinite starBurstMaster}@keyframes starBurstMaster{0%,17.4%{opacity:0;transform:scale(.3)}17.5%{opacity:1;transform:scale(.6)}19%{opacity:0;transform:scale(2.2)}20%{opacity:0}20%,37.4%{opacity:0;transform:scale(.3)}37.5%{opacity:1;transform:scale(.6)}39%{opacity:0;transform:scale(2.2)}40%,to{opacity:0}}.launch-path-mask{transform-origin:150px 125px;animation:20s infinite pathMaskMaster}@keyframes pathMaskMaster{0%,11%{transform:scaleY(0)}17.5%,19%{transform:scaleY(1)}20%{transform:scaleY(0)}20%,31%{transform:scaleY(0)}37.5%,39%{transform:scaleY(1)}40%,to{transform:scaleY(0)}}.onboarding-btn.btn-glow{animation:2s ease-in-out infinite alternate btnGlowPulse}@keyframes btnGlowPulse{0%{box-shadow:0 0 10px #a78bfa59}to{box-shadow:0 0 32px #a78bfaf2,0 0 55px #a78bfa99,0 0 80px #a78bfa4d}}
