:root{--bg: rgba(248, 248, 250, .88);--panel: rgba(255, 255, 255, .72);--panel-solid: #ffffff;--border: rgba(0, 0, 0, .09);--text: #1d1d1f;--muted: #6e6e73;--accent: #0071e3;--accent-soft: rgba(0, 113, 227, .1);--danger: #e5484d;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "SF Pro SC", "PingFang SC", "Helvetica Neue", sans-serif;--glass: rgba(255, 255, 255, .5);--glass-strong: rgba(255, 255, 255, .72);--glass-thin: rgba(255, 255, 255, .34);--glass-line: rgba(255, 255, 255, .7);--glass-hi: rgba(255, 255, 255, .9);--glass-blur: saturate(190%) blur(26px);--shadow-glass: 0 1px 1px rgba(0, 0, 0, .04), 0 6px 20px rgba(0, 0, 0, .09);--shadow-lift: 0 2px 6px rgba(0, 0, 0, .06), 0 14px 34px rgba(0, 0, 0, .13);--hair: rgba(0, 0, 0, .07)}@media(prefers-color-scheme:dark){html{background:#1e1e20}:root{--bg: rgba(30, 30, 32, .86);--panel: rgba(60, 60, 64, .55);--panel-solid: #2c2c2e;--border: rgba(255, 255, 255, .12);--text: #f2f2f7;--muted: #98989d;--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .18);--glass: rgba(44, 44, 48, .52);--glass-strong: rgba(58, 58, 64, .7);--glass-thin: rgba(40, 40, 44, .36);--glass-line: rgba(255, 255, 255, .16);--glass-hi: rgba(255, 255, 255, .14);--shadow-glass: 0 1px 1px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .4);--shadow-lift: 0 2px 6px rgba(0, 0, 0, .35), 0 14px 34px rgba(0, 0, 0, .5);--hair: rgba(255, 255, 255, .08);--accent: #66aaff;--accent-soft: rgba(102, 170, 255, .16)}}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{height:100%;display:flex;flex-direction:column}.topbar{height:46px;flex:0 0 46px;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand{font-weight:600;font-size:14px;letter-spacing:.3px}.stats{font-size:12px;color:var(--muted)}.me{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.pwa-banner{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.pwa-banner-icon{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:#fff;font-size:15px}.pwa-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pwa-banner-text strong{font-size:13px}.pwa-banner-text span{font-size:12px;color:var(--muted)}.pwa-banner-actions{margin-left:auto;display:flex;gap:8px}.columns{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr) minmax(0,1fr)}.col{position:relative;min-width:0;display:flex;flex-direction:column;padding:14px;overflow-y:auto;border-right:1px solid var(--border)}html.in-native body{padding-right:var(--filezone-w, 0px);transition:padding-right .2s ease}.columns:has(.col:nth-child(4)){grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,.9fr)}.col:last-child{border-right:none}.col h2{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.composer{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:10px;margin-bottom:14px;transition:border-color .15s,background .15s}.composer.peek{padding:0;border:none;background:transparent;box-shadow:none}.composer-peek{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px 9px 14px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-glass);color:var(--muted);font-family:inherit;font-size:13px;cursor:text;transition:border-color .15s,box-shadow .15s}.composer-peek:hover{border-color:var(--accent)}.composer-peek:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.peek-plus{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;line-height:1;flex:none}.peek-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peek-record{flex:none;font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--glass-line);background:var(--glass-thin);color:var(--text);cursor:pointer;transition:color .14s,border-color .14s}.peek-record:hover{color:#d1345b;border-color:#d1345b73}.peek-kbd{flex:none;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.composer.dragging{border-color:var(--accent);background:var(--accent-soft)}.composer textarea{width:100%;border:none;outline:none;resize:none;overflow-y:auto;background:transparent;color:var(--text);font-family:inherit;font-size:14px;line-height:1.5}.pending-files{list-style:none;margin:8px 0 0;padding:0}.pending-files li{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0;color:var(--muted)}.pending-files .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.composer-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.hint{font-size:11px;color:var(--muted);margin-left:auto}.note-list{display:flex;flex-direction:column;gap:8px}.note-card{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:10px 12px}.note-card header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.note-card time{font-size:11px;color:var(--muted)}.badge{font-size:11px;padding:1px 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.badge.ai{background:#faeeda;color:#633806}.badge.audio{background:#faeeda;color:#854f0b}@media(prefers-color-scheme:dark){.badge.ai,.badge.audio{background:#fac77529;color:#fac775}}.note-card .content{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.note-card .file-line{margin:0;font-size:13px;display:flex;gap:8px;align-items:baseline}.note-card .file-line a{color:var(--accent);text-decoration:none}.note-card .summary{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--hair);font-size:12.5px;color:var(--text);line-height:1.55}.fsize{font-size:11px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.tag{font-size:11px;padding:2px 8px;border-radius:20px;border:1px solid var(--border);color:var(--muted)}.todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.todo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.todo label{display:flex;align-items:center;gap:8px;flex:1 1 100%;min-width:0;cursor:pointer}.todo .title{font-size:13px;line-height:1.45;word-break:break-word}.todo.done .title{text-decoration:line-through;color:var(--muted)}.todo .meta{display:flex;align-items:center;gap:6px;flex:1 1 100%;margin-left:21px;font-size:11px;color:var(--muted)}.pri{padding:1px 6px;border-radius:5px;border:1px solid var(--border)}.pri.high{color:#a32d2d;border-color:#a32d2d66}@media(prefers-color-scheme:dark){.pri.high{color:#ff8fa3;border-color:#ff8fa366}}.pri.low{opacity:.6}.divider{font-size:11px;color:var(--muted);margin:14px 0 6px}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.chat-scroll{flex:1;min-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.bubble{max-width:88%;padding:8px 11px;border-radius:12px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff}.bubble.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border)}.chat-input{display:flex;gap:8px;margin-top:8px}.chat-input input{flex:1;min-width:0;padding:8px 11px;border-radius:9px;border:1px solid var(--border);background:var(--panel-solid);color:var(--text);font-size:13px;font-family:inherit;outline:none}.chat-input input:focus{border-color:var(--accent)}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:20px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit}.chip:hover{border-color:var(--accent);color:var(--accent)}.auth{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 420px 300px at 30% 18%,var(--accent-soft),transparent 60%),radial-gradient(ellipse 380px 320px at 75% 85%,rgba(94,92,230,.08),transparent 60%)}.auth-brand{text-align:center;margin-bottom:22px}.auth-logo{position:relative;width:72px;height:72px;margin:0 auto 14px;border-radius:19px;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;background:linear-gradient(145deg,#2e8bff,#0a5fd7);box-shadow:inset 0 2px 3px #ffffff59,0 10px 24px #0a6eff59}.auth-logo:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:30px;background:radial-gradient(circle,var(--accent-soft),transparent 70%);filter:blur(6px);z-index:-1}.auth-title{margin:0;font-size:19px;font-weight:700;letter-spacing:.5px}.auth-sub{margin:5px 0 0;font-size:12px;color:var(--muted)}.seg{display:flex;gap:4px;padding:3px;border-radius:13px;margin-bottom:20px;background:var(--glass-thin);border:1px solid var(--glass-line)}.seg-btn{flex:1;border:none;background:transparent;color:var(--muted);font-size:13px;padding:9px 0;border-radius:10px;cursor:pointer;font-family:inherit;transition:background .18s,color .18s}.seg-btn.active{background:var(--glass-strong);color:var(--text);font-weight:600;box-shadow:inset 0 1px 0 var(--glass-hi),0 2px 6px #0000001f}.auth-banner{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;padding:9px 12px;border-radius:11px;margin:0 0 13px}.auth-banner.ok{background:#30d1581f;color:#0a7d33;border:1px solid rgba(48,209,88,.25)}.auth-banner.err{background:#ff5f571a;color:#c0392b;border:1px solid rgba(255,95,87,.28)}@media(prefers-color-scheme:dark){.auth-banner.ok{color:#5fd57f}.auth-banner.err{color:#ff8f88}}.auth-panel{animation:auth-fade .22s ease both}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}.field input.code{font-size:19px;letter-spacing:9px;text-align:center;font-weight:600}.auth-cta{width:100%;padding:13px 0;margin-top:4px}.auth-hint{margin:14px 0 0;text-align:center;font-size:11px;color:var(--muted);opacity:.8}.auth-row{display:flex;justify-content:space-between;align-items:center;margin:2px 2px 14px}.auth-mini{border:none;background:none;padding:0;font-size:11.5px;color:var(--muted);cursor:pointer;font-family:inherit;transition:color .15s}.auth-mini:hover,.auth-mini.alt,.auth-foot button{color:var(--accent)}.auth-foot{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--hair);text-align:center;font-size:12px;color:var(--muted)}.auth-foot button{border:none;background:none;padding:0;font-size:12px;cursor:pointer;font-family:inherit}.auth-foot button:hover{text-decoration:underline}.auth-card{animation:auth-rise .45s cubic-bezier(.22,1,.36,1) both}@keyframes auth-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.field{display:block;margin-bottom:12px}.field span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.field input{width:100%;padding:9px 11px;border-radius:9px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:13px;font-family:inherit;outline:none}.field input:focus{border-color:var(--accent)}.notice{font-size:12px;color:#0a7d33;margin:0 0 10px}@media(prefers-color-scheme:dark){.notice{color:#7bc98a}}.error{font-size:12px;color:var(--danger);margin:0 0 10px}.primary{width:100%;padding:10px;border:none;border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer}.primary:disabled{opacity:.5;cursor:default}.primary.small{width:auto;padding:7px 14px}.ghost{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;padding:6px 11px;font-size:12px;cursor:pointer;font-family:inherit}.card-actions{margin-left:auto;display:inline-flex;align-items:center;gap:2px;flex:none}.icon-btn{min-width:24px;min-height:24px;display:inline-grid;place-items:center;border:none;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;padding:0;border-radius:6px;opacity:.55;transition:opacity .15s,color .15s}.todo .icon-btn{opacity:0}.note-card:hover .icon-btn,.icon-btn:focus-visible,.todo:hover .icon-btn{opacity:1}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-btn:hover{color:var(--danger)}.link{border:none;background:transparent;color:var(--accent);font-size:11px;cursor:pointer;padding:0;font-family:inherit}.empty{font-size:12px;color:var(--muted);line-height:1.7;padding:10px 2px}.empty.rich{display:flex;flex-direction:column;gap:8px;padding:14px 2px}.empty.rich p{margin:0}.empty-hint{font-size:11px;color:var(--muted)}.chip.sample{text-align:left;white-space:normal;line-height:1.5}.note-slot{display:flex;flex-direction:column;gap:8px}.day-divider{font-size:11px;color:var(--muted);padding:2px 2px 0}.day-divider:not(:first-child){margin-top:6px}.loading{height:100%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted)}.toast{position:fixed;top:56px;left:50%;transform:translate(-50%);background:#1d1d1feb;color:#fff;font-size:12px;padding:8px 16px;border-radius:20px;pointer-events:none;z-index:30}.toast.undoable{pointer-events:auto;display:inline-flex;align-items:center;gap:12px}.toast.undoable .link{color:#7cc4ff;font-weight:500}.badge.clip{background:#eeedfe;color:#3c3489}@media(prefers-color-scheme:dark){.badge.clip{background:#afa9ec2e;color:#b3aeff}}.note-card .shot{display:block;margin-top:6px}.note-card .shot img{display:block;max-width:100%;max-height:160px;border-radius:8px;border:1px solid var(--border)}.auth-card .link:disabled{color:var(--muted);cursor:default}html.in-native,html.in-native body{background:transparent}.topbar,.composer,.note-card,.todo,.bubble.assistant,.chip,.auth-card,.toast{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-glass)}.topbar{border-bottom:1px solid var(--hair);border-top:none;border-left:none;border-right:none;box-shadow:inset 0 -1px 0 var(--hair)}.brand{font-size:15px;letter-spacing:.2px}.composer{border-radius:18px;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s}.composer:focus-within{border-color:var(--accent);box-shadow:inset 0 1px 0 var(--glass-hi),0 0 0 3px var(--accent-soft),var(--shadow-glass)}.composer.dragging{border-color:var(--accent);background:var(--glass-strong);transform:scale(1.006)}.note-card{border-radius:16px;padding:12px 14px;transition:transform .16s ease,box-shadow .16s ease}.note-card:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-lift)}.note-card .shot img{border-radius:12px;border-color:var(--glass-line)}.todo{border-radius:14px;transition:transform .16s ease,box-shadow .16s ease}.todo:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-lift)}.bubble{border-radius:18px}.bubble.user{background:linear-gradient(180deg,#0a84fff5,#0071e3f5);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px #ffffff59,0 4px 14px #0071e34d}.field input,.chat-input input{background:var(--glass-thin);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);border-radius:12px;transition:border-color .16s,box-shadow .16s}.field input:focus,.chat-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary{border-radius:999px;border:1px solid rgba(255,255,255,.26);background:linear-gradient(180deg,#1c91fff2,#0071e3fa);box-shadow:inset 0 1px #fff6,0 4px 16px #0071e352;font-weight:600;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:inset 0 1px #ffffff73,0 6px 20px #0071e366}.primary:active:not(:disabled){transform:scale(.975);filter:brightness(.96)}.ghost{border-radius:999px;background:var(--glass-thin);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);transition:transform .14s ease,color .14s,border-color .14s}.ghost:hover{color:var(--accent);border-color:var(--accent)}.ghost:active{transform:scale(.97)}.chip{border-radius:999px;transition:transform .14s ease,color .14s,border-color .14s}.chip:hover{transform:translateY(-1px);border-color:var(--accent)}.chip:active{transform:scale(.97)}.auth-card{width:100%;border-radius:26px;background:var(--glass-strong);box-shadow:inset 0 1px 0 var(--glass-hi),0 24px 60px #00000038}.col{border-right:1px solid var(--hair)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-thin);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid transparent;background-clip:content-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#00000038;background-clip:content-box}.toast{border-radius:999px;background:var(--glass-strong);color:var(--text);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-lift)}.files{display:flex;flex-direction:column;gap:10px;min-height:120px}.files-head{display:flex;gap:8px}.ghost.sm{padding:5px 10px;font-size:11px}.file-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}.file-grid li{position:relative}.file-card{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border-radius:14px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-glass);color:var(--text);font-family:inherit;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.file-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow-lift)}.file-card .cube{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25);box-shadow:inset 0 1px #ffffff59,0 3px 10px #0000002e}.file-card .fname{font-size:11px;line-height:1.35;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-align:center;word-break:break-all}.file-card .fsize{font-size:11px;color:var(--muted)}.file-card .loc{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--glass-thin);border:1px solid var(--glass-line);color:var(--muted)}.file-card .loc.cloud{color:var(--accent)}.file-grid .x{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;border:1px solid var(--glass-line);background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--muted);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .14s,color .14s}.file-grid li:hover .x,.file-grid .x:focus-visible{opacity:1}.file-grid .x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.file-grid .x:hover{color:var(--danger)}.files.dragging{outline:2px dashed var(--accent);outline-offset:6px;border-radius:14px}.record{border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:12px;padding:4px 10px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.record:hover{background:var(--panel-2, rgba(127, 127, 127, .12))}.record.on{border-color:#ff453a;background:#ff453a24;color:#ff453a;font-variant-numeric:tabular-nums;animation:rec-pulse 1.4s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.62}}.badge.audio{background:#ff950029;color:#ff9f0a}.player{width:100%;height:32px;margin-top:6px}.note-card .content.transcript{color:var(--muted);font-size:12.5px;line-height:1.55}.hint.working{margin-left:0;color:var(--accent)}.review-block{margin-top:8px;border:1px solid rgba(255,180,0,.35);background:#ffb40012;border-radius:10px;padding:8px 10px}.review-head{margin:0 0 6px;font-size:12px;font-weight:600;color:#b8860b}.review-item{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12.5px;border-top:1px dashed rgba(255,180,0,.2)}.review-item:first-of-type{border-top:none}.review-kind{flex:none;font-size:11px;padding:1px 6px;border-radius:4px;background:#78788c26;color:inherit;opacity:.8}.review-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.review-reason{flex:none;font-size:11px;opacity:.55}.review-actions{flex:none;display:flex;gap:4px}.review-actions button{width:24px;height:24px;border-radius:6px;border:1px solid rgba(140,140,160,.35);background:transparent;cursor:pointer;font-size:13px;line-height:1;color:inherit}.review-actions button:hover{background:#8c8ca026}.review-actions button:first-child:hover{border-color:#2e9e5b;color:#2e9e5b}.review-actions button:last-child:hover{border-color:#d05050;color:#d05050}@media(max-width:479px){html{-webkit-text-size-adjust:100%}.app{height:100dvh}.mobile-top{flex:0 0 auto;padding:calc(env(safe-area-inset-top) + 10px) 20px 8px;background:var(--bg)}.mobile-top-row{display:flex;align-items:center;justify-content:space-between;min-height:28px}.mobile-top .brand{font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--muted)}.mobile-todo-count{font-size:12px;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.mobile-title{margin:2px 0 0;font-size:32px;line-height:1.15;font-weight:800;letter-spacing:-.5px;color:var(--text)}.app.mobile .columns{display:block;overflow:hidden;position:relative;flex:1;min-height:0}.app.mobile .columns .col{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 16px 96px;border-right:none;transition:opacity .18s ease,transform .18s ease;visibility:hidden;opacity:0;transform:translate(12px);pointer-events:none}.app.mobile .columns.on-tab-notes .col:nth-child(1),.app.mobile .columns.on-tab-todos .col:nth-child(2),.app.mobile .columns.on-tab-ai .col:nth-child(3),.app.mobile .columns.on-tab-files .col:nth-child(4){visibility:visible;opacity:1;transform:none;pointer-events:auto}.app.mobile .col h2{display:none}.app.mobile .columns:not(.on-tab-notes) .composer{display:none}.app.mobile .composer{position:fixed;left:10px;right:10px;bottom:calc(58px + env(safe-area-inset-bottom));z-index:30;margin:0;width:auto;max-height:55dvh;overflow-y:auto;padding:12px 12px 10px;box-shadow:var(--shadow-lift)}.app.mobile .composer.peek .composer-peek{min-height:44px}.app.mobile .composer textarea{font-size:16px;line-height:1.55;min-height:52px}.app.mobile .composer .composer-actions{flex-wrap:wrap;gap:8px}.app.mobile .composer .composer-actions .btn{min-height:40px;padding:0 16px;font-size:15px}.app.mobile .composer .hint{display:none}.app.mobile .composer textarea::placeholder{font-size:16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;gap:4px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:var(--panel);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-top:.5px solid var(--border)}.tab{position:relative;flex:1;max-width:110px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;color:var(--muted);font-size:10px;letter-spacing:.2px;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.tab svg{width:24px;height:24px}.tab.on{color:var(--accent)}.tab-badge{position:absolute;top:2px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;font-style:normal;display:flex;align-items:center;justify-content:center}.mobile-logout{margin-top:16px;width:100%;min-height:44px}.app.mobile .col button{min-height:44px}.app.mobile .col .link,.app.mobile .col .icon-btn{min-height:0}.app.mobile .note-card header button,.app.mobile .todo .icon-btn{min-height:36px;min-width:36px}.review-item{flex-wrap:wrap;gap:6px;align-items:center}.review-actions button{min-width:44px;min-height:44px}.app.mobile .chat-input{position:sticky;bottom:0;background:var(--panel-solid);z-index:5;padding-bottom:max(4px,env(safe-area-inset-bottom))}.toast{left:14px;right:14px;bottom:calc(80px + env(safe-area-inset-bottom))}.auth{padding:0 24px calc(32px + env(safe-area-inset-bottom));align-items:flex-start;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-card{max-width:none;margin:0 auto;padding:0;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;animation:none;padding-top:calc(env(safe-area-inset-top) + 12vh);min-height:100%;display:flex;flex-direction:column}.auth-brand{margin-bottom:34px}.auth-logo{width:84px;height:84px;margin-bottom:18px;border-radius:22px;font-size:36px}.auth-title{font-size:28px;letter-spacing:.5px}.auth-sub{font-size:15px;margin-top:6px}.seg{margin-bottom:22px;border-radius:14px}.seg-btn{min-height:44px;font-size:15px}.field span{font-size:13px;margin-bottom:7px}.field input{min-height:50px;font-size:16px;border-radius:13px}.field input.code{font-size:21px;letter-spacing:10px}.auth-cta{min-height:52px;font-size:17px;border-radius:14px;margin-top:10px}.auth-hint{font-size:13px}.auth-mini,.auth-foot button{min-height:44px;font-size:14px}.auth-banner{font-size:13px}}@media(max-width:479px)and (prefers-reduced-motion:reduce){.app.mobile .columns .col{transition:none}}.rec-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rec-sheet{width:100%;max-width:430px;padding:28px 24px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--panel, #fff);box-shadow:0 -8px 40px #00000040;display:flex;flex-direction:column;align-items:center;gap:6px;animation:rec-sheet-in .28s cubic-bezier(.32,.72,.24,1)}@keyframes rec-sheet-in{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.rec-dot{width:12px;height:12px;border-radius:50%;background:#ff4d4f;box-shadow:0 0 #ff4d4f80;animation:rec-pulse 1.4s ease-out infinite;margin-bottom:6px}@keyframes rec-pulse{0%{box-shadow:0 0 #ff4d4f80}70%{box-shadow:0 0 0 14px #ff4d4f00}to{box-shadow:0 0 #ff4d4f00}}.rec-title{margin:0;font-size:18px;font-weight:600;color:var(--text, #1a1a1a)}.rec-hint{margin:0 0 14px;font-size:13px;color:var(--muted, #888)}.rec-wave{display:flex;align-items:center;justify-content:center;gap:6px;height:72px;margin-bottom:10px}.rec-wave span{width:5px;border-radius:3px;background:linear-gradient(180deg,#ff6a5e,#ff4d4f);animation:rec-bounce .9s ease-in-out infinite alternate}@keyframes rec-bounce{0%{transform:scaleY(.35);opacity:.75}to{transform:scaleY(1);opacity:1}}.rec-clock{margin:0 0 18px;font-size:34px;font-weight:200;font-variant-numeric:tabular-nums;letter-spacing:2px;color:var(--text, #1a1a1a)}.rec-actions{display:flex;gap:12px;width:100%}.rec-actions .ghost,.rec-actions .primary{flex:1;min-height:50px;border-radius:12px;font-size:16px}@media(prefers-reduced-motion:reduce){.rec-wave span,.rec-dot,.rec-sheet{animation:none}}.otp-row{display:flex;gap:8px;align-items:stretch}.otp-row input.code{flex:1;min-width:0}.otp-btn{flex-shrink:0;width:108px;border:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s,transform .15s}.otp-btn:hover:not(:disabled){opacity:.85}.otp-btn:active:not(:disabled){transform:scale(.97)}.otp-btn:disabled{cursor:default;opacity:.55}.otp-static{display:inline-flex;align-items:center;justify-content:center;background:var(--glass-thin);color:var(--muted);font-weight:400;cursor:default}.auth-back{display:block;margin:0 0 14px}.pwd-row{position:relative;display:flex;align-items:center}.pwd-row input{width:100%;padding-right:38px}.pwd-eye{position:absolute;right:6px;border:none;background:none;padding:4px;font-size:14px;line-height:1;cursor:pointer;opacity:.55;transition:opacity .15s}.pwd-eye:hover{opacity:1}@media(min-width:480px){.auth{padding:14px 20px}.auth-card{display:grid;grid-template-columns:132px 1fr;gap:0 20px;max-width:460px;padding:22px 24px;align-items:center}.auth-brand{text-align:left;border-right:1px solid var(--hair);padding-right:20px;margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.auth-logo{width:44px;height:44px;margin:0 0 8px;border-radius:12px;font-size:20px}.auth-title{font-size:17px}.auth-sub{display:none}.auth-right{grid-column:2;min-width:0}.auth-panel{min-width:0}.auth-card .auth-banner{margin-bottom:10px;padding:7px 11px;font-size:11.5px}.seg{margin-bottom:12px;border-radius:12px}.seg-btn{padding:8px 0;min-height:36px}.field{margin-bottom:10px}.field input{min-height:38px;font-size:13.5px;border-radius:10px}.otp-btn{width:96px}.auth-cta{padding:10px 0;margin-top:2px}.auth-hint{margin:10px 0 0}}@media(min-width:640px){.auth{padding:16px 24px}.auth-card{grid-template-columns:168px 1fr;gap:0 26px;max-width:500px;padding:26px 30px}.auth-brand{padding-right:26px}.auth-logo{width:52px;height:52px;margin-bottom:10px;border-radius:14px;font-size:23px}.auth-title{font-size:19px}.auth-sub{display:block}}@media(min-width:480px)and (max-height:540px){.auth-card{padding:18px 24px}.auth-logo{width:44px;height:44px;margin-bottom:8px;font-size:20px}.seg{margin-bottom:10px}.seg-btn{padding:7px 0;min-height:34px}.field{margin-bottom:8px}.field input{min-height:34px}.auth-cta{padding:9px 0}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:auth-fade .18s ease both}.modal-card{width:min(92vw,420px);max-height:86vh;overflow-y:auto;border-radius:20px;padding:22px 24px;background:var(--glass-strong);border:1px solid var(--glass-line);box-shadow:0 24px 60px #00000040}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-head h2{margin:0;font-size:16px;font-weight:700}.modal-x{border:none;background:none;font-size:15px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:8px}.modal-x:hover{background:var(--glass-thin);color:var(--text)}.model-desc{margin:0 0 14px;font-size:12px;line-height:1.6;color:var(--muted)}.model-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.model-presets .chip{border:1px solid var(--glass-line);background:var(--glass-thin);color:var(--muted);font-size:11.5px;padding:4px 10px;border-radius:999px;cursor:pointer;font-family:inherit;transition:all .15s}.model-presets .chip.on,.model-presets .chip:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.model-settings .field{margin-bottom:12px}.model-settings .otp-row .otp-btn{width:88px}.model-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px}.model-actions-right{display:flex;gap:8px}.model-actions .primary{padding:8px 18px;font-size:13px;border-radius:10px;border:none;background:var(--accent);color:#fff;cursor:pointer;font-family:inherit}.model-actions .primary:disabled{opacity:.5;cursor:default}.model-actions .ghost{padding:8px 14px;font-size:13px;border-radius:10px;border:none;background:none;color:var(--muted);cursor:pointer;font-family:inherit}.model-actions .ghost:hover:not(:disabled){color:var(--text)}.model-actions .ghost:disabled{opacity:.4;cursor:default}.view-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--border);border-radius:9px;background:var(--panel);gap:0}.view-switch button{border:none;background:none;padding:4px 14px;font-size:12.5px;font-family:inherit;color:var(--muted);border-radius:7px;cursor:pointer;transition:color .15s ease,background .15s ease}.view-switch button.on{color:var(--text);font-weight:600;background:var(--glass-strong);box-shadow:0 1px 3px #0000001a}.columns:has(.kb-col){grid-template-columns:minmax(0,1fr)}.kb-col{padding:0;border-right:none;overflow:hidden}.kb{height:100%;min-height:0;display:flex;flex-direction:column}.kb-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.kb-search{flex:1;max-width:360px;padding:7px 12px;border:1px solid var(--border);border-radius:9px;font-size:13px;font-family:inherit;background:var(--panel-solid);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.kb-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kb-search::placeholder{color:var(--muted)}.kb-bar .ghost{flex:0 0 auto}.kb-body{flex:1;min-height:0;display:flex}.kb-side{flex:0 0 168px;overflow-y:auto;padding:10px 8px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--panel) 60%,transparent)}.kb-group{width:100%;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border:none;border-radius:8px;background:none;font-size:13px;font-family:inherit;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.kb-group:hover{background:var(--accent-soft);color:var(--text)}.kb-group.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.kb-group em{font-style:normal;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.kb-group.on em{color:var(--accent)}.kb-group.pending span:before{content:"⚠ ";font-size:11px}.kb-side-sep{height:1px;margin:8px 6px;background:var(--border)}.kb-list{flex:1;min-width:0;overflow-y:auto;padding:14px 16px 24px;display:flex;flex-direction:column;gap:10px}.kb-empty{margin:auto;max-width:420px;padding:24px;text-align:center;font-size:13px;line-height:1.7;color:var(--muted)}.kb-card{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.kb-card.pinned{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.kb-card.editing{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kb-fact{margin:0 0 8px;font-size:13.5px;line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word}.kb-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:11.5px;color:var(--muted)}.kb-topic{padding:1px 8px;border-radius:999px;font-size:11px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.kb-topic.v0{background:#007aff1f;color:#0062cc}.kb-topic.v1{background:#34c75924;color:#248a3d}.kb-topic.v2{background:#ff9f0a29;color:#b25000}.kb-topic.v3{background:#5856d61f;color:#4a48c4}.kb-topic.v4{background:#ff2d551f;color:#d70015}.kb-topic.v5{background:#5ac8fa24;color:#0277a8}@media(prefers-color-scheme:dark){.kb-topic.v0{background:#0a84ff33;color:#7ab8ff}.kb-topic.v1{background:#30d1582e;color:#6fd57f}.kb-topic.v2{background:#ff9f0a33;color:#ffb340}.kb-topic.v3{background:#5e5ce633;color:#a3a1f2}.kb-topic.v4{background:#ff2d5533;color:#ff6482}.kb-topic.v5{background:#64d2ff2e;color:#7fd4ff}}.kb-flag.pending{color:#b25000;background:#ff9f0a24;padding:1px 8px;border-radius:999px}.kb-flag.edited{color:var(--muted);background:var(--accent-soft);padding:1px 8px;border-radius:999px}.kb-src{border:none;background:none;padding:0;font-size:11.5px;font-family:inherit;color:var(--accent);cursor:pointer;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-src:hover{text-decoration:underline}.kb-date{margin-left:auto;font-variant-numeric:tabular-nums}.kb-ops{display:inline-flex;gap:2px}.kb-ops button{border:none;background:none;padding:2px 7px;font-size:11.5px;font-family:inherit;color:var(--muted);border-radius:6px;cursor:pointer}.kb-ops button:hover{background:var(--accent-soft);color:var(--accent)}.kb-ops button.ok{color:#248a3d;font-weight:700}.kb-ops button.bad{color:var(--danger);font-weight:700}.kb-ops button.on{color:var(--accent)}.kb-edit textarea{width:100%;padding:9px 11px;border:1px solid var(--accent);border-radius:9px;font-size:13.5px;line-height:1.6;font-family:inherit;background:var(--panel-solid);color:var(--text);resize:vertical}.kb-edit textarea:focus{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.kb-edit-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.kb-edit-row select{padding:5px 9px;border:1px solid var(--border);border-radius:8px;font-size:12.5px;font-family:inherit;background:var(--panel-solid);color:var(--text)}.kb-edit-actions{display:inline-flex;gap:8px}.kb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#00000052;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kb-modal-box{width:min(560px,100%);max-height:80dvh;overflow-y:auto;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid);box-shadow:var(--shadow-lift)}.kb-modal-box h3{margin:0 0 12px;font-size:15px}.kb-modal-box textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;line-height:1.6;font-family:inherit;background:var(--panel-solid);color:var(--text);resize:vertical}.kb-modal-box textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kb-src-fact{margin:0 0 10px;padding:8px 12px;border-left:3px solid var(--accent);border-radius:6px;background:var(--accent-soft);font-size:13px;line-height:1.6}.kb-src-content{margin:0;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word;font-family:inherit;color:var(--text);max-height:50dvh;overflow-y:auto;background:color-mix(in srgb,var(--panel) 50%,transparent)}.kb-src-missing{margin:0;padding:10px 12px;border-radius:8px;background:#ff9f0a1f;color:#b25000;font-size:13px}@media(max-width:430px){.kb-body{flex-direction:column}.kb-side{flex:0 0 auto;border-right:none;border-bottom:1px solid var(--border);display:flex;overflow-x:auto;padding:8px 10px;gap:2px;scrollbar-width:none}.kb-side::-webkit-scrollbar{display:none}.kb-side-sep{width:1px;height:auto;align-self:stretch;margin:4px;flex:0 0 1px}.kb-group{flex:0 0 auto;width:auto;padding:5px 10px;gap:5px;font-size:12.5px}.kb-list{padding:12px 14px 96px}.kb-bar{padding:8px 12px;gap:8px}.kb-search{font-size:16px;padding:8px 12px}.kb-fact{font-size:14px}.kb-src{max-width:180px}.kb-modal{padding:14px}.kb-modal-box textarea{font-size:16px}.kb-edit-row select{font-size:15px}}.app.mobile .columns.on-tab-kb .kb-col{visibility:visible;opacity:1;transform:none;pointer-events:auto;padding:0}.kb-tidy-clean{margin:8px 0 4px;font-size:13.5px;line-height:1.7;color:var(--muted)}.kb-tidy-list{display:flex;flex-direction:column;gap:8px;margin:4px 0 12px}.kb-tidy-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 55%,transparent)}.kb-tidy-kind{flex:0 0 auto;margin-top:2px;padding:1px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.kb-tidy-kind.duplicate{background:#5856d61f;color:#4a48c4}.kb-tidy-kind.outdated{background:#ff9f0a29;color:#b25000}.kb-tidy-kind.misfiled{background:#007aff1f;color:#0062cc}.kb-tidy-body{flex:1;min-width:0}.kb-tidy-fact{margin:0 0 4px;font-size:13px;line-height:1.6;color:var(--text);word-break:break-word}.kb-tidy-reason{margin:0;font-size:11.5px;line-height:1.5;color:var(--muted)}.kb-tidy-ops{flex:0 0 auto;display:inline-flex;gap:4px}.kb-tidy-ops button{border:none;background:none;padding:4px 8px;font-size:12px;font-family:inherit;border-radius:6px;cursor:pointer;color:var(--muted)}.kb-tidy-ops button.ok{color:#248a3d;font-weight:600}.kb-tidy-ops button.ok:hover{background:#34c75924}.kb-tidy-ops button.bad:hover{background:#e5484d1f;color:var(--danger)}@media(prefers-color-scheme:dark){.kb-tidy-kind.duplicate{background:#5e5ce633;color:#a3a1f2}.kb-tidy-kind.outdated{background:#ff9f0a33;color:#ffb340}.kb-tidy-kind.misfiled{background:#0a84ff33;color:#7ab8ff}.kb-tidy-ops button.ok{color:#6fd57f}.kb-tidy-ops button.ok:hover{background:#30d1582e}}@media(max-width:430px){.kb-tidy-item{flex-wrap:wrap}.kb-tidy-ops{width:100%;justify-content:flex-end}}
