:root{--night:#06123f;--ocean:#0737bb;--electric:#1762ff;--cyan:#50edfa;--pink:#ee246a;--on-dark:#c1d6ff;--ink:#eaf1ff;--ink-2:#dfeaff;--card:#f8fbff;--line:#d3e0f4;--line-strong:#a8bcdf;--text-hi:#11244b;--text-mid:#405779;--text-low:#566c8d;--accent:#124bd8;--accent-hover:#0935ac;--accent-soft:#e0ebff;--success:#14785c;--success-bg:#ddf5eb;--warn:#90600a;--warn-bg:#fff0cf;--danger:#c32156;--danger-bg:#ffe2ed;--processing:#3155d9;--processing-bg:#e4eaff;--error:#c32156;--violet:#7042d1;--violet-bg:#eee7ff;--radius:3px;--radius-sm:3px;--radius-full:9999px;--shadow:4px 5px 0 #020c3420;--shadow-hover:5px 7px 0 #020c3430;--shadow-float:0 20px 70px #020c3460;--font:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;--font-display:"Barlow Condensed","Arial Narrow","Microsoft YaHei",sans-serif;--font-mono:"Barlow Condensed","Arial Narrow","Microsoft YaHei",sans-serif;--nav-height:66px;--sidebar-width:222px;--safe-bottom:env(safe-area-inset-bottom,0px);--page-bottom-clearance:calc(152px + var(--safe-bottom));--surface:#f8fbff;--text-primary:#11244b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font);background:var(--ink);color:var(--text-hi);width:100vw;height:100dvh;line-height:1.65;overflow:hidden}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{color:var(--text-hi);font-family:inherit}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#14140f29;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);transition:transform .12s,box-shadow .12s;box-shadow:0 1px 2px #14140f0d,0 6px 16px -8px #14140f1a}@media (hover:hover){.card:hover{box-shadow:0 2px 4px #14140f12,0 14px 28px -12px #14140f29}button.card:hover,a.card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #14140f0f,0 12px 24px -10px #14140f24}}button{transition:transform .1s}button:active{transform:scale(.97)}.calendar-day:active,.toggle:active{transform:none}@media (pointer:coarse){.back-latest-btn,.compare-toggle,.test-btn,.chip,.ghost-btn,.ghost-select,.snapshot-chip,.lookback-select,.glossary-add-btn,.glossary-cancel,.glossary-submit,.glossary-group-toggle,.term-btn,.todo-circle-btn{min-height:36px}.modal-close{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tag{border-radius:var(--radius-full);box-shadow:inset 0 0 0 1px var(--line);color:var(--text-mid);background:var(--card);align-items:center;gap:5px;padding:2.5px 9px;font-size:11.5px;display:inline-flex}.tag .dot{border-radius:50%;width:5px;height:5px}.tag-type{color:var(--accent);background:var(--accent-soft);box-shadow:none}.tag-processing{color:var(--processing);background:var(--processing-bg);box-shadow:none}.tag-status{font-family:var(--font-mono);font-size:10.5px}.keyword{color:var(--text-low);font-size:12px}.keyword:before{content:"#";color:var(--accent);opacity:.6}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-full);box-shadow:inset 0 0 0 1px var(--line);color:var(--text-mid);background:var(--card);padding:4px 11px;font-size:12px;transition:all .15s}.chip.selected{color:#fff;background:var(--accent);box-shadow:none;border-color:var(--accent);font-weight:600}.chip.mood-chip.selected{background:var(--card);color:inherit;font-weight:500;box-shadow:inset 0 0 0 1.5px}.chip .dot{vertical-align:1px;background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.spinner{border:2px solid var(--processing-bg);border-top-color:var(--processing);border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin;display:inline-block}.status-failed-row{color:var(--danger);align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.date-separator{font-family:var(--font-mono);color:var(--text-low);letter-spacing:.12em;align-items:center;gap:10px;margin:18px 4px 8px;font-size:11.5px;display:flex}.date-separator:after{content:"";background:var(--line);flex:1;height:1px}.empty-state{text-align:center;padding:60px 20px}.empty-icon{background:var(--ink-2);border:1px solid var(--line);border-radius:16px;place-items:center;width:52px;height:52px;margin:0 auto 14px;display:grid}.empty-icon svg{width:22px;height:22px;stroke:var(--text-low);fill:none;stroke-width:1.6px}.empty-title{color:var(--text-mid);font-size:15px}.empty-desc{color:var(--text-low);margin-top:4px;font-size:12.5px}.toggle{background:var(--ink-2);width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border-radius:999px;flex-shrink:0;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .22s cubic-bezier(.34,1.4,.5,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #14140f2e}.toggle.on{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.toggle.on:after{background:#fff;left:21px}.section-label{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-low);font-size:10.5px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{to{opacity:.5}}@keyframes chunkIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes blink{0%,70%,to{opacity:.25}35%{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes breatheOnce{0%{box-shadow:var(--shadow)}45%{box-shadow:0 0 0 4px #2c5fe824, var(--shadow-hover)}to{box-shadow:var(--shadow)}}@keyframes monthIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes dayPop{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}.page-leave-active{pointer-events:none;transition:opacity .16s,transform .16s}.page-leave-to{opacity:0;transform:translate(-24px)}.page-enter-active{transition:clip-path .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),opacity .25s}.page-enter-from{opacity:0;clip-path:polygon(0 0,0 0,-25% 100%,0 100%);transform:translate(38px)}.page-enter-to{opacity:1;clip-path:polygon(0 0,125% 0,100% 100%,0 100%);transform:none}.route-wipe{z-index:25;pointer-events:none;contain:paint;position:absolute;inset:0;overflow:hidden}.wipe-band{animation:.6s cubic-bezier(.65,0,.25,1) both route-slash;position:absolute;inset:0 -40%;transform:translate(-120%)skew(-18deg)}.wipe-band-back{background:var(--cyan)}.wipe-band-front{background:#1557ed;animation-delay:45ms}.route-wipe>span{color:#fff;font:italic 900 clamp(60px,12vw,170px)/.8 var(--font-display);letter-spacing:-.035em;animation:.6s both route-label;position:absolute;top:40%;left:9%}@keyframes route-slash{0%{transform:translate(-120%)skew(-18deg)}36%,48%{transform:translate(0)skew(-18deg)}to{transform:translate(120%)skew(-18deg)}}@keyframes route-label{0%,18%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-70px)}35%,48%{opacity:1;clip-path:inset(0);transform:none}85%,to{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(100px)}}.page-enter-active .masthead-en{animation:.38s cubic-bezier(.16,1,.3,1) both title-cut}.page-enter-active .stage-copy,.page-enter-active .record-intro-copy{animation:.38s 20ms both copy-cut}@keyframes title-cut{0%{clip-path:inset(0 100% 0 0);transform:translate(-35px)skew(-8deg)}to{clip-path:inset(0);transform:none}}@keyframes copy-cut{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.route-wipe{display:none}.page-enter-from,.page-leave-to{clip-path:none;transform:none}}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}.sheet-enter-active,.sheet-leave-active{transition:transform .32s cubic-bezier(.32,.72,.28,1)}.sheet-enter-from,.sheet-leave-to{transform:translate(-50%,110%)}.slide-right-enter-active,.slide-right-leave-active{transition:transform .3s cubic-bezier(.32,.72,.28,1)}.slide-right-enter-from,.slide-right-leave-to{transform:translate(102%)}.slide-right-enter-active{transition:transform .34s cubic-bezier(.16,1,.3,1),clip-path .34s}.slide-right-enter-from{clip-path:polygon(100% 0,100% 0,100% 100%,75% 100%);transform:translate(60px)}.slide-right-enter-to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}@font-face{font-family:Barlow Condensed;src:url(/art/fonts/barlow-condensed-latin.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/art/fonts/barlow-condensed-italic-latin.ttf)format("truetype");font-weight:800;font-style:italic;font-display:swap}body{background:var(--night)}::selection{background:var(--cyan);color:var(--night)}button:disabled{cursor:not-allowed}.card{color:var(--text-hi);box-shadow:var(--shadow);border:1px solid #fff9}.app .page{position:relative}.app .page>.page-header{color:#fff;padding:24px clamp(24px,3.5vw,56px) 4px}.app .page>.page-header .page-title{font-family:var(--font);letter-spacing:-.04em;font-size:28px;font-weight:900}.app .page>.page-header .page-subtitle{color:var(--on-dark)}.app .page .page-content{padding-left:clamp(24px,3.5vw,56px);padding-right:clamp(24px,3.5vw,56px)}.app .page .page-content>.empty-state,.app .page .page-content>.empty-state .empty-title{color:#fff}.app .page .page-content>.empty-state .empty-desc{color:var(--on-dark)}.app .page .page-content>.empty-state .empty-icon{background:#fff1;border-color:#fff4}.app .page .page-content>.empty-state .empty-icon svg{stroke:var(--cyan)}.app .date-separator{color:#c4dcff;font:600 16px var(--font-display);letter-spacing:.04em}.app .date-separator:after{background:#87adff40}.app .section-label{letter-spacing:.035em;color:var(--accent);font-size:15px;font-weight:800}.app .bottom-nav.bottom-nav{border-top:2px solid var(--cyan);background:#05113f}.app .bottom-nav .nav-item{color:#a9c5f4;min-height:44px}.app .bottom-nav .nav-item.active{color:var(--cyan)}.app .bottom-nav .nav-item.active span{background:var(--cyan);color:var(--night);padding:0 8px;font-weight:800;transform:skew(-9deg)}.app .write-fab{background:var(--pink);box-shadow:4px 4px 0 var(--night), 0 0 0 2px white;border-radius:5px;transform:rotate(-8deg)}.app .write-fab svg{transform:rotate(8deg)}.app .mobile-header{color:#fff;background:#06123fbd;border-bottom:1px solid #7aacf540;padding:10px 16px}.app .mobile-header .page-title-sm{font-family:var(--font);font-size:20px;font-weight:900}.app .mobile-header .header-icon-btn{background:#ffffff0d;border-color:#81a4dc50;border-radius:2px}.app .mobile-header .header-icon-btn svg{stroke:#cce6ff}.app .page .sidebar-fab{border-color:var(--cyan);background:var(--night);border-radius:3px}.app .page .sidebar-fab svg{stroke:var(--cyan)}.p3-button{background:var(--cyan);min-height:44px;color:var(--night);justify-content:center;align-items:center;gap:9px;padding:10px 24px;font-size:13px;font-weight:800;transition:background .18s,transform .18s;display:inline-flex;box-shadow:4px 4px #020d38}.p3-button:hover{background:#fff;transform:translateY(-2px)}.p3-button svg{stroke:currentColor;width:18px;height:18px}.p3-button:disabled{opacity:.6;transform:none}.p3-button.secondary{color:#fff;box-shadow:none;background:#fff1;border:1px solid #fff6}.p3-button.secondary:hover{background:#fff2}.p3-link{color:var(--cyan);text-underline-offset:4px;font-size:13px;font-weight:700;text-decoration:underline}@media (width<=899px){.app .page .page-content{padding-left:16px;padding-right:16px}}
