:root{--yellow:#fde047;--yellow-ink:#0a0a0a;--onyx:#0a0a0a;--charcoal:#171717;--void-gray:#262626;--white:#fff;--text:#fff;--dim:#ffffffb3;--faint:#ffffff73;--glass:#ffffff0f;--glass-2:#ffffff1a;--glass-border:#ffffff29;--field:#262626;--field-border:#ffffff1f;--danger:#ff6b6b;--r-glass:28px;--r-card:24px;--r-pill:999px;--shadow:0 24px 60px #0000008c;--ease-liquid:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%;color:var(--text);background:var(--onyx);font-family:Inter,-apple-system,sans-serif;font-size:18px;overflow:hidden}#root{height:100%}h1,h2,h3,h4{letter-spacing:-.03em;font-family:Inter,sans-serif}#app{z-index:1;background:var(--onyx);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:relative}header{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 12px;display:flex}.brand h1{color:var(--text);font-size:40px;font-weight:800;line-height:.9}.header-right{align-items:center;gap:10px;display:flex}.avatar{border-radius:var(--r-pill);background:var(--yellow);width:46px;height:46px;color:var(--yellow-ink);cursor:pointer;text-transform:uppercase;transition:transform .15s var(--ease-liquid);border:none;place-items:center;font-size:17px;font-weight:800;display:grid}.avatar:active{transform:scale(.92)}.viewbar{text-align:center;padding:0 20px 14px}.segmented{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(16px);padding:4px;display:inline-flex}.segmented button{color:var(--dim);border-radius:var(--r-pill);cursor:pointer;transition:all .2s var(--ease-liquid);background:0 0;border:none;padding:8px 15px;font-family:inherit;font-size:14px;font-weight:600}.segmented button.active{background:var(--yellow);color:var(--yellow-ink)}.board-switcher{-webkit-overflow-scrolling:touch;gap:8px;padding:0 20px 14px;display:flex;overflow-x:auto}.board-switcher::-webkit-scrollbar{display:none}.board-pill{background:var(--glass);border:1px solid var(--glass-border);color:var(--text);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(16px);transition:all .2s var(--ease-liquid);flex:none;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:15px;font-weight:600;display:flex}.board-pill.active{background:var(--yellow);color:var(--yellow-ink);border-color:#0000}.board-pill:active{transform:scale(.97)}.board-pill .bdot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.board-pill .bedit{opacity:.7;margin-left:2px;font-size:17px;line-height:1}.board-add{border-radius:var(--r-pill);border:1px dashed var(--glass-border);background:var(--glass);width:44px;color:var(--text);cursor:pointer;transition:all .2s var(--ease-liquid);flex:none;font-size:22px}.board-add:active{transform:scale(.96)}.board{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;padding:6px 20px 24px;display:flex;overflow:hidden auto}.board::-webkit-scrollbar{display:none}.column{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-glass);-webkit-backdrop-filter:blur(20px);width:100%;transition:background .2s var(--ease-liquid);flex-direction:column;flex:none;display:flex;overflow:hidden}.column.over{background:var(--glass-2)}.col-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:16px 18px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.col-head h2{color:var(--text);font-size:17px;font-weight:700}.count{color:var(--dim);background:var(--glass-2);border-radius:var(--r-pill);margin-left:auto;padding:3px 11px;font-size:13px;font-weight:600}.col-menu{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:20px;line-height:1}.col-menu:active{color:var(--text)}.chev{color:var(--faint);transition:transform .2s var(--ease-liquid);font-size:14px}.chev.open{transform:rotate(180deg)}.cards{flex-direction:column;gap:10px;min-height:8px;padding:0 12px 6px;display:flex}.cards.drop-active{background:#fde0470f}.cards-empty{text-align:center;color:var(--faint);padding:10px 0;font-size:13px;font-weight:500}.card{background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--r-card);cursor:grab;-webkit-backdrop-filter:blur(14px);transition:transform .16s var(--ease-liquid), box-shadow .16s, opacity .16s;animation:rise .4s var(--ease-liquid) backwards;touch-action:manipulation;padding:14px 15px;box-shadow:0 8px 24px #0000004d}.card:active{cursor:grabbing;transform:scale(.98)}.card.dragging{opacity:.35}.card.overlay{cursor:grabbing;transform:rotate(1.5deg);box-shadow:0 24px 50px #0009}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card .tag{border-radius:var(--r-pill);letter-spacing:.03em;text-transform:uppercase;margin-bottom:9px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.card h3{color:var(--text);word-break:break-word;letter-spacing:-.01em;font-size:15px;font-weight:600;line-height:1.3}.card .meta{color:var(--dim);align-items:center;gap:12px;margin-top:11px;font-size:13px;font-weight:500;display:flex}.card .meta span{align-items:center;gap:4px;display:flex}.card .meta .overdue{color:var(--danger);font-weight:600}.card.done{opacity:.5}.card.done h3{color:var(--dim);text-decoration:line-through}.card .meta .done-meta{color:var(--yellow);font-weight:700}.add-card{border-radius:var(--r-pill);border:1.5px dashed var(--glass-border);color:var(--dim);cursor:pointer;transition:all .2s var(--ease-liquid);background:0 0;margin:4px 12px 14px;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.add-card:hover,.add-card:active{background:var(--glass);color:var(--text)}.add-col{border-radius:var(--r-glass);border:1.5px dashed var(--glass-border);background:var(--glass);width:100%;color:var(--dim);cursor:pointer;transition:all .2s var(--ease-liquid);flex:none;padding:18px;font-family:inherit;font-size:16px;font-weight:600}.add-col:active{color:var(--text);transform:scale(.99)}.hint{display:none}.sheet-bg{z-index:50;opacity:0;pointer-events:none;background:#0009;transition:opacity .25s;position:fixed;inset:0}.sheet-bg.open{opacity:1;pointer-events:auto}.sheet{z-index:51;color:var(--text);border-top:1px solid var(--glass-border);padding:14px 22px calc(28px + env(safe-area-inset-bottom));transition:transform .35s var(--ease-liquid);-webkit-backdrop-filter:blur(24px);background:#171717eb;border-radius:34px 34px 0 0;max-height:88vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.sheet.open{transform:translateY(0)}.grip{background:#ffffff40;border-radius:4px;width:44px;height:5px;margin:0 auto 18px}.sheet h2.sheet-title{color:var(--text);margin-bottom:4px;font-size:26px;font-weight:800}.sheet label{text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin:18px 2px 8px;font-size:10px;font-weight:700;display:block}.sheet input,.sheet select,.sheet textarea{background:var(--field);border:1.5px solid var(--field-border);width:100%;color:var(--text);border-radius:16px;outline:none;padding:14px 16px;font-family:inherit;font-size:18px;font-weight:500}.sheet textarea{resize:none;min-height:84px;line-height:1.45}.sheet input:focus,.sheet select:focus,.sheet textarea:focus{border-color:var(--yellow)}.sheet input[type=date]::-webkit-calendar-picker-indicator{filter:invert();opacity:.7}.sheet-actions{gap:10px;margin-top:24px;display:flex}.btn{border-radius:var(--r-pill);cursor:pointer;transition:transform .14s var(--ease-liquid), opacity .14s;border:none;flex:1;padding:16px;font-family:inherit;font-size:16px;font-weight:700}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--yellow);color:var(--yellow-ink)}.btn.ghost{background:var(--void-gray);color:var(--text)}.btn.danger{color:var(--danger);background:#ff6b6b24}.btn.complete{color:var(--text);border:2px solid var(--glass-border);background:0 0}.swatches{gap:12px;margin-top:8px;display:flex}.swatch{cursor:pointer;width:38px;height:38px;transition:transform .14s var(--ease-liquid);border:3px solid #0000;border-radius:50%}.swatch.selected{border-color:var(--white);transform:scale(1.1)}.col-move-row{gap:10px;margin-top:10px;display:flex}.auth-wrap{z-index:1;background:var(--onyx);justify-content:center;align-items:center;height:100dvh;padding:24px;display:flex;position:relative}.auth-card{background:var(--glass);border:1px solid var(--glass-border);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(24px);border-radius:40px;padding:40px 28px}.auth-card .logo{letter-spacing:-.05em;color:var(--yellow);font-family:Inter,sans-serif;font-size:58px;font-weight:900}.auth-card p.tag{color:var(--dim);margin:8px 0 28px;font-size:16px;font-weight:500}.auth-card input{background:var(--field);border:1.5px solid var(--field-border);border-radius:var(--r-pill);width:100%;color:var(--text);text-align:center;outline:none;margin-bottom:14px;padding:16px 20px;font-family:inherit;font-size:18px;font-weight:500}.auth-card input:focus{border-color:var(--yellow)}.auth-card input.otp-input{text-align:center;letter-spacing:6px;padding-left:26px;font-size:24px;font-weight:800}.auth-card input.otp-input::placeholder{letter-spacing:normal;font-size:16px;font-weight:500}.auth-links{justify-content:space-between;margin-top:16px;display:flex}.linkbtn{color:var(--yellow);cursor:pointer;background:0 0;border:none;padding:4px;font-family:inherit;font-size:15px;font-weight:600}.linkbtn:disabled{opacity:.5}.auth-msg{margin-top:18px;font-size:15px;font-weight:500;line-height:1.5}.auth-msg.ok{color:var(--yellow)}.auth-msg.err{color:var(--danger)}.account-email{color:var(--faint);text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px;font-size:10px;font-weight:700}.center-state{color:var(--dim);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.center-state .big{color:var(--text);font-family:Inter,sans-serif;font-size:26px;font-weight:800}.spinner{border:3px solid var(--glass-2);border-top-color:var(--yellow);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sched-cal{--cal-gutter:52px;flex-direction:column;flex:1;min-height:0;display:flex}.cal-toolbar{justify-content:space-between;align-items:center;padding:0 20px 12px;display:flex}.cal-refresh{border-radius:var(--r-pill);background:var(--yellow);width:42px;height:38px;color:var(--yellow-ink);cursor:pointer;border:none;font-size:20px;font-weight:700}.cal-refresh:active{transform:scale(.95)}.cal-refresh:disabled{opacity:.5}.cal-head,.cal-allday{padding:0 16px;display:flex}.cal-head{padding-bottom:6px}.cal-gutter{flex:0 0 var(--cal-gutter)}.all-day-label{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;align-items:center;font-size:9px;font-weight:700;display:flex}.day-head{text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;display:flex}.day-head .dow{color:var(--dim);text-transform:uppercase;font-size:12px;font-weight:600}.day-head .dnum{color:var(--text);font-family:Inter,sans-serif;font-size:18px;font-weight:800}.day-head.today .dnum{background:var(--yellow);width:34px;height:34px;color:var(--yellow-ink);border-radius:50%;line-height:34px}.cal-allday{padding-bottom:8px}.allday-cell{flex-direction:column;flex:1;gap:4px;min-width:0;padding:0 3px;display:flex}.allday-pill{border-radius:var(--r-pill);background:var(--glass-2);border:1px solid var(--glass-border);color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding:4px 10px;font-size:12px;font-weight:700;overflow:hidden}.cal-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 16px;overflow:hidden auto}.cal-scroll::-webkit-scrollbar{width:0}.cal-grid{display:flex;position:relative}.cal-times{flex:0 0 var(--cal-gutter)}.hour-label{color:var(--faint);text-align:right;padding-right:8px;font-size:11px;font-weight:600;transform:translateY(-6px)}.cal-col{border-left:1px solid var(--glass-border);flex:1;min-width:0;position:relative}.hour-line{box-sizing:border-box;border-top:1px solid #ffffff14}.event-block{background:var(--glass-2);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);border-radius:14px;padding:4px 8px;position:absolute;overflow:hidden;box-shadow:0 6px 16px #00000059}.event-block .ev-time{font-size:11px;font-weight:700;line-height:1.2}.event-block .ev-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}.event-block .ev-loc{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.now-line{border-top:2px solid var(--yellow);z-index:5;pointer-events:none;height:0;position:absolute;left:0;right:0}.now-line .now-dot{background:var(--yellow);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-4px}.cal-foot{text-align:center;color:var(--faint);padding:6px 22px calc(6px + env(safe-area-inset-bottom));min-height:18px;font-size:11px;font-weight:500}.curate{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;padding:6px 20px 24px;display:flex;overflow:hidden auto}.curate::-webkit-scrollbar{display:none}.note{background:var(--glass);border:1px solid var(--glass-border);color:var(--text);border-radius:var(--r-glass);-webkit-backdrop-filter:blur(20px);flex:none;overflow:hidden}.note-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:16px;display:flex}.note-head h3{color:var(--text);word-break:break-word;flex:1;font-size:16px;font-weight:700;line-height:1.3}.note-menu{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:20px;line-height:1}.note-head .chev{color:var(--dim)}.note-body{color:var(--dim);white-space:pre-wrap;word-break:break-word;padding:0 16px 16px;font-size:15px;line-height:1.55}.note-empty{color:var(--faint);font-style:italic}.note-textarea{min-height:160px}.briefing-scroll{min-height:0;padding:4px 16px calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow:hidden auto}.briefing-scroll::-webkit-scrollbar{display:none}.briefing{flex-direction:column;gap:14px;width:100%;max-width:460px;margin:0 auto;display:flex}.bf-rise{animation:rise .5s var(--ease-liquid) backwards}.bf-topbar{justify-content:space-between;align-items:center;padding:2px 2px 0;display:flex}.bf-word{letter-spacing:-.02em;color:var(--text);font-family:Inter,sans-serif;font-size:18px;font-weight:800}.bf-updated{color:var(--dim);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.bf-live{background:var(--yellow);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}.bf-hero{background:var(--yellow);color:var(--yellow-ink);box-shadow:var(--shadow);border-radius:40px 40px 40px 110px;justify-content:space-between;align-items:center;gap:14px;padding:24px 22px;display:flex}.bf-hero-left{flex:1;min-width:0}.bf-greeting{letter-spacing:-.03em;font-family:Inter,sans-serif;font-size:26px;font-weight:800;line-height:1.02}.bf-date{color:#0a0a0aa6;margin-top:4px;font-size:14px;font-weight:600}.bf-shape{color:#0a0a0ad9;background:#0a0a0a1a;border-radius:14px;margin-top:12px;padding:8px 12px;font-size:13px;line-height:1.4}.bf-ring{flex-shrink:0;width:74px;height:74px;position:relative}.bf-ring-label{color:var(--yellow-ink);flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.bf-ring-label strong{font-family:Inter,sans-serif;font-size:16px}.bf-ring-label span{color:#0a0a0a8c;font-size:9px;font-weight:600}.bf-stats{gap:10px;display:flex}.bf-stat{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-card);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(16px);transition:transform .15s var(--ease-liquid);flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:14px 16px;font-family:inherit;display:flex}.bf-stat:active{transform:scale(.96)}.bf-stat strong{font-family:Inter,sans-serif;font-size:24px;font-weight:800}.bf-stat span{text-transform:uppercase;letter-spacing:.12em;color:var(--faint);font-size:10px;font-weight:700}.bf-handoff{background:var(--yellow);color:var(--yellow-ink);border-radius:var(--r-pill);cursor:pointer;transition:transform .15s var(--ease-liquid);border:none;padding:16px;font-family:inherit;font-size:15px;font-weight:700}.bf-handoff:active{transform:scale(.97)}.bf-section{background:var(--glass);border:1px solid var(--glass-border);color:var(--text);border-radius:var(--r-glass);-webkit-backdrop-filter:blur(20px);overflow:hidden}.bf-section.flash,.bf-section-body.flash{animation:1.1s flashpop}@keyframes flashpop{0%{box-shadow:0 0 #fde04700}18%{box-shadow:0 0 0 3px #fde047f2}to{box-shadow:0 0 #fde04700}}.bf-section-head{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:16px;font-family:inherit;display:flex}.bf-section-head.static{cursor:default}.bf-section-head h3{text-align:left;letter-spacing:-.01em;color:var(--text);flex:1;font-size:16px;font-weight:700}.bf-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.bf-count{color:var(--dim);background:var(--glass-2);border-radius:var(--r-pill);padding:2px 10px;font-size:13px;font-weight:600}.bf-section .chev{color:var(--dim)}.bf-section-body{flex-direction:column;gap:10px;padding:0 16px 14px;display:flex}.bf-row{border-top:1px solid var(--glass-border);padding-top:10px}.bf-row:first-child{border-top:none;padding-top:0}.bf-row.done{opacity:.5}.bf-row-main{align-items:flex-start;gap:10px;display:flex}.bf-check{border:2px solid var(--glass-border);width:22px;height:22px;color:var(--yellow-ink);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;place-items:center;margin-top:1px;font-size:13px;line-height:1;display:grid}.bf-check.checked{background:var(--yellow);border-color:var(--yellow)}.bf-row-text{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:0;font-family:inherit}.bf-row-title{color:var(--text);font-size:15px;font-weight:600;line-height:1.3;display:block}.bf-row.done .bf-row-title{color:var(--dim);text-decoration:line-through}.bf-tags{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.bf-tag{border-radius:var(--r-pill);background:var(--void-gray);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;padding:2px 8px;font-size:10px;font-weight:700}.bf-tag.p1{background:var(--yellow);color:var(--yellow-ink)}.bf-tag.p2{color:var(--text);background:#ffffff24}.bf-tag.p3{background:var(--void-gray);color:var(--faint)}.bf-tag.proj{border-color:var(--glass-border);color:var(--dim);background:0 0}.bf-tag.doneflag{color:var(--yellow);background:#fde04729}.bf-tag.overdue{color:var(--danger);background:#ff6b6b29}.bf-row-detail{margin:8px 0 4px 32px}.bf-detail-line{color:var(--dim);font-size:12px;font-weight:600}.bf-detail-line.dim{color:var(--faint);font-weight:500}.bf-detail-note{color:var(--dim);white-space:pre-wrap;margin-top:4px;font-size:14px;line-height:1.5}.bf-empty{color:var(--faint);padding:4px 2px 2px;font-size:14px}.bf-allday{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.bf-allday-pill{border-radius:var(--r-pill);background:var(--void-gray);color:var(--text);padding:4px 10px;font-size:11px;font-weight:700}.bf-timeline{flex-direction:column;gap:8px;display:flex}.bf-block{background:var(--glass-2);border:1px solid var(--glass-border);cursor:default;border-radius:16px;gap:10px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.bf-block-bar{width:4px;position:absolute;top:0;bottom:0;left:0}.bf-block-body{flex:1;min-width:0;padding-left:6px}.bf-block-time{color:var(--dim);font-size:12px;font-weight:700}.bf-block-title{color:var(--text);margin:1px 0 6px;font-size:15px;font-weight:600;line-height:1.3}.bf-block .bf-tag{background:0 0;border:1px solid;display:inline-block}.bf-block-hint{color:var(--faint);margin-top:6px;font-size:11px;font-weight:600;display:block}.bf-block-candidates{border-top:1px dashed var(--glass-border);margin-top:8px;padding-top:8px}.bf-candidate{color:var(--dim);padding:2px 0;font-size:13px}.bf-ink{background:var(--charcoal);color:var(--text);border-color:#ffffff1a}.bf-ink .bf-section-head h3{color:var(--text)}.bf-pri-row{align-items:center;gap:10px;display:flex}.bf-pri-num{background:var(--void-gray);width:22px;height:22px;color:var(--text);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.bf-pri-input{background:var(--void-gray);border:1px solid var(--field-border);border-radius:var(--r-pill);color:var(--text);outline:none;flex:1;padding:11px 15px;font-family:inherit;font-size:15px}.bf-pri-input::placeholder{color:var(--faint)}.bf-pri-input:focus{border-color:var(--yellow)}.bf-lock{background:var(--yellow);color:var(--yellow-ink);border-radius:var(--r-pill);cursor:pointer;border:none;margin-top:6px;padding:14px;font-family:inherit;font-size:14px;font-weight:700}.bf-lock.locked{background:var(--void-gray);color:var(--text)}.bf-footer{text-align:center;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);padding:8px 0 4px;font-size:10px;font-weight:600}
