:root{--blue:#2a4cf4;--blue-deep:#1f3ad6;--red:#fb2c36;--lime:#c8f531;--ink:#0b0b0f;--white:#fff;--on-blue:#fff;--on-blue-dim:#ffffffb8;--on-blue-faint:#ffffff80;--pill:#ffffff29;--pill-border:#ffffff42;--hair:#ffffff29;--field:#f1f2f6;--field-border:#e4e6ee;--muted:#6b7280;--radius:26px;--card-shadow:0 12px 30px #0810462e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%;color:var(--on-blue);background:var(--blue);font-family:Outfit,-apple-system,sans-serif;font-size:18px;overflow:hidden}#root{height:100%}h1,h2,h3,h4,.display{letter-spacing:-.03em;font-family:Inter,sans-serif}#app{z-index:1;background:var(--blue);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(--on-blue);font-size:38px;font-weight:800;line-height:.95}.brand p{color:var(--on-blue-dim);margin-top:5px;font-size:15px;font-weight:500}.header-right{align-items:center;gap:10px;display:flex}.avatar{background:var(--white);width:44px;height:44px;color:var(--blue);cursor:pointer;text-transform:uppercase;border:none;border-radius:50%;place-items:center;font-size:17px;font-weight:700;display:grid}.avatar:active{transform:scale(.94)}.viewbar{text-align:center;padding:0 20px 12px}.segmented{background:var(--pill);border-radius:22px;padding:4px;display:inline-flex}.segmented button{color:var(--on-blue-dim);cursor:pointer;background:0 0;border:none;border-radius:18px;padding:8px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:all .18s}.segmented button.active{background:var(--lime);color:var(--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(--pill);color:var(--on-blue);cursor:pointer;white-space:nowrap;border:none;border-radius:20px;flex:none;align-items:center;gap:7px;padding:9px 15px;font-family:inherit;font-size:16px;font-weight:600;transition:all .18s;display:flex}.board-pill.active{background:var(--lime);color:var(--ink)}.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{background:var(--pill);width:42px;color:var(--on-blue);cursor:pointer;border:none;border-radius:20px;flex:none;font-size:22px;transition:all .18s}.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{border-radius:var(--radius);background:#ffffff1f;flex-direction:column;flex:none;width:100%;transition:background .18s;display:flex;overflow:hidden}.column.over{background:#fff3}.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(--on-blue);font-size:17px;font-weight:700}.count{color:var(--on-blue);background:var(--pill);border-radius:20px;margin-left:auto;padding:3px 10px;font-size:13px;font-weight:600}.col-menu{color:var(--on-blue-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:20px;line-height:1}.col-menu:active{color:var(--on-blue)}.chev{color:var(--on-blue-dim);font-size:14px;transition:transform .2s}.chev.open{transform:rotate(180deg)}.cards{flex-direction:column;gap:10px;min-height:8px;padding:0 12px 6px;display:flex}.cards.drop-active{background:#ffffff0f}.cards-empty{text-align:center;color:var(--on-blue-faint);padding:10px 0;font-size:13px;font-weight:500}.card{background:var(--white);cursor:grab;touch-action:manipulation;border-radius:20px;padding:14px 15px;transition:transform .16s,box-shadow .16s,opacity .16s;animation:.35s backwards rise;box-shadow:0 6px 16px #0810461f}.card:active{cursor:grabbing;transform:scale(.98)}.card.dragging{opacity:.35}.card.overlay{cursor:grabbing;transform:rotate(1.5deg);box-shadow:0 18px 40px #0810464d}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card .tag{letter-spacing:.02em;border-radius:20px;margin-bottom:9px;padding:3px 11px;font-size:12px;font-weight:700;display:inline-block}.card h3{color:var(--ink);word-break:break-word;letter-spacing:-.01em;font-size:15px;font-weight:600;line-height:1.3}.card .meta{color:var(--muted);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(--red);font-weight:600}.add-card{color:var(--on-blue);cursor:pointer;background:0 0;border:1.5px dashed #ffffff52;border-radius:16px;margin:4px 12px 14px;padding:12px;font-family:inherit;font-size:16px;font-weight:600;transition:all .18s}.add-card:hover,.add-card:active{background:#ffffff1a}.add-col{border-radius:var(--radius);width:100%;color:var(--on-blue);cursor:pointer;background:#ffffff14;border:1.5px dashed #ffffff4d;flex:none;padding:16px;font-family:inherit;font-size:16px;font-weight:600;transition:all .18s}.add-col:active{background:#ffffff24;transform:scale(.99)}.hint{text-align:center;color:var(--on-blue-faint);padding:0 22px 8px;font-size:12px;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(--white);color:var(--ink);border-radius:20px;flex:none;overflow:hidden;box-shadow:0 6px 16px #0810461f}.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(--ink);word-break:break-word;flex:1;font-size:16px;font-weight:600;line-height:1.3}.note-menu{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:20px;line-height:1}.note-head .chev{color:var(--muted)}.note-body{color:#2c2d33;white-space:pre-wrap;word-break:break-word;padding:0 16px 16px;font-size:15px;line-height:1.55}.note-empty{color:var(--muted);font-style:italic}.note-textarea{min-height:160px}.sheet-bg{z-index:50;opacity:0;pointer-events:none;background:#0a103c73;transition:opacity .25s;position:fixed;inset:0}.sheet-bg.open{opacity:1;pointer-events:auto}.sheet{z-index:51;background:var(--white);color:var(--ink);padding:14px 22px calc(28px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;max-height:88vh;transition:transform .32s cubic-bezier(.22,1,.36,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.sheet.open{transform:translateY(0)}.grip{background:#d6d9e3;border-radius:4px;width:40px;height:5px;margin:0 auto 18px}.sheet h2.sheet-title{color:var(--ink);margin-bottom:4px;font-size:24px;font-weight:800}.sheet label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 2px 7px;font-size:13px;font-weight:600;display:block}.sheet input,.sheet select,.sheet textarea{background:var(--field);width:100%;color:var(--ink);border:1.5px solid #0000;border-radius:14px;outline:none;padding:13px 15px;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(--blue);background:#fff}.sheet input[type=date]::-webkit-calendar-picker-indicator{opacity:.6}.sheet-actions{gap:10px;margin-top:24px;display:flex}.btn{cursor:pointer;border:none;border-radius:16px;flex:1;padding:15px;font-family:inherit;font-size:17px;font-weight:700;transition:transform .14s,opacity .14s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--lime);color:var(--ink)}.btn.ghost{background:var(--field);color:var(--ink)}.btn.danger{color:var(--red);background:#ffe6e7}.btn.complete{color:#fff;background:#0d9488}.card.done{opacity:.9}.card.done h3{color:var(--muted);text-decoration:line-through}.card .meta .done-meta{color:#0d9488;font-weight:600}.completed-note{color:#0d9488;margin-top:16px;font-size:14px;font-weight:600}.swatches{gap:12px;margin-top:8px;display:flex}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:36px;height:36px;transition:transform .14s}.swatch.selected{border-color:var(--ink);transform:scale(1.08)}.col-move-row{gap:10px;margin-top:10px;display:flex}.auth-wrap{z-index:1;background:var(--blue);justify-content:center;align-items:center;height:100dvh;padding:24px;display:flex;position:relative}.auth-card{background:var(--white);width:100%;max-width:360px;box-shadow:var(--card-shadow);text-align:center;border-radius:30px;padding:36px 26px}.auth-card .logo{letter-spacing:-.04em;color:var(--ink);font-family:Inter,sans-serif;font-size:52px;font-weight:900}.auth-card p.tag{color:var(--muted);margin:6px 0 26px;font-size:17px;font-weight:500}.auth-card input{background:var(--field);width:100%;color:var(--ink);text-align:center;border:1.5px solid #0000;border-radius:14px;outline:none;margin-bottom:14px;padding:15px 16px;font-family:inherit;font-size:18px;font-weight:500}.auth-card input:focus{border-color:var(--blue);background:#fff}.auth-card input.otp-input{text-align:center;letter-spacing:5px;padding-left:21px;font-size:22px;font-weight:700}.auth-card input.otp-input::placeholder{letter-spacing:normal;font-size:16px;font-weight:500}.auth-links{justify-content:space-between;margin-top:14px;display:flex}.linkbtn{color:var(--blue);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:16px;font-size:15px;font-weight:500;line-height:1.5}.auth-msg.ok{color:var(--blue)}.auth-msg.err{color:var(--red)}.account-email{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:15px;font-weight:600}.center-state{color:var(--on-blue-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(--on-blue);font-family:Inter,sans-serif;font-size:24px;font-weight:800}.spinner{border:3px solid #ffffff40;border-top-color:var(--lime);border-radius:50%;width:30px;height:30px;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{background:var(--white);width:40px;height:36px;color:var(--blue);cursor:pointer;border:none;border-radius:18px;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(--on-blue-faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;font-size:10px;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(--on-blue-dim);text-transform:uppercase;font-size:12px;font-weight:600}.day-head .dnum{color:var(--on-blue);font-family:Inter,sans-serif;font-size:18px;font-weight:800}.day-head.today .dnum{background:var(--lime);width:32px;height:32px;color:var(--ink);border-radius:50%;line-height:32px}.cal-allday{padding-bottom:8px}.allday-cell{flex-direction:column;flex:1;gap:4px;min-width:0;padding:0 3px;display:flex}.allday-pill{background:var(--white);white-space:nowrap;text-overflow:ellipsis;border-radius:9px;padding:4px 9px;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(--on-blue-faint);text-align:right;padding-right:8px;font-size:11px;font-weight:600;transform:translateY(-6px)}.cal-col{border-left:1px solid var(--hair);flex:1;min-width:0;position:relative}.hour-line{border-top:1px solid var(--hair);box-sizing:border-box}.event-block{background:var(--white);border-radius:11px;padding:4px 8px;position:absolute;overflow:hidden;box-shadow:0 4px 12px #0810462e}.event-block .ev-time{font-size:11px;font-weight:700;line-height:1.2}.event-block .ev-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}.event-block .ev-loc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.now-line{border-top:2px solid var(--red);z-index:5;pointer-events:none;height:0;position:absolute;left:0;right:0}.now-line .now-dot{background:var(--red);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;left:-4px}.cal-foot{text-align:center;color:var(--on-blue-faint);padding:6px 22px calc(6px + env(safe-area-inset-bottom));min-height:18px;font-size:11px;font-weight:500}.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:.4s backwards rise}.bf-topbar{justify-content:space-between;align-items:center;padding:2px 2px 0;display:flex}.bf-word{letter-spacing:-.02em;color:var(--on-blue);font-family:Inter,sans-serif;font-size:18px;font-weight:800}.bf-updated{color:var(--on-blue-dim);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.bf-live{background:var(--lime);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{color:#fff;box-shadow:var(--card-shadow);background:linear-gradient(140deg,#243089,#0b0b1f);border-radius:24px;justify-content:space-between;align-items:center;gap:14px;padding:20px;display:flex}.bf-hero-left{flex:1;min-width:0}.bf-greeting{letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:22px;font-weight:800}.bf-date{color:#ffffffb3;margin-top:2px;font-size:14px;font-weight:500}.bf-shape{color:#ffffffe6;background:#ffffff1a;border-radius:12px;margin-top:10px;padding:8px 11px;font-size:13px;line-height:1.4}.bf-ring{flex-shrink:0;width:72px;height:72px;position:relative}.bf-ring-label{color:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.bf-ring-label strong{font-family:Inter,sans-serif;font-size:15px}.bf-ring-label span{color:#fff9;font-size:9px;font-weight:500}.bf-stats{gap:10px;display:flex}.bf-stat{color:var(--on-blue);cursor:pointer;background:#ffffff1f;border:none;border-radius:16px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:12px 14px;font-family:inherit;transition:transform .15s;display:flex}.bf-stat:active{transform:scale(.97)}.bf-stat strong{font-family:Inter,sans-serif;font-size:22px;font-weight:800}.bf-stat span{color:var(--on-blue-dim);font-size:12px;font-weight:500}.bf-handoff{background:var(--lime);color:var(--ink);cursor:pointer;border:none;border-radius:16px;padding:15px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .15s}.bf-handoff:active{transform:scale(.98)}.bf-section{color:var(--ink);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 6px 16px #0810461f}.bf-section.flash,.bf-section-body.flash{animation:1.1s flashpop}@keyframes flashpop{0%{box-shadow:0 0 #c8f53100}18%{box-shadow:0 0 0 3px #c8f531f2}to{box-shadow:0 6px 16px #0810461f}}.bf-section-head{cursor:pointer;width:100%;color:var(--ink);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(--ink);flex:1;font-size:16px;font-weight:700}.bf-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.bf-count{color:var(--muted);background:var(--field);border-radius:20px;padding:2px 9px;font-size:13px;font-weight:600}.bf-section .chev{color:var(--muted)}.bf-section-body{flex-direction:column;gap:10px;padding:0 16px 14px;display:flex}.bf-row{border-top:1px solid #eef0f5;padding-top:10px}.bf-row:first-child{border-top:none;padding-top:0}.bf-row.done{opacity:.55}.bf-row-main{align-items:flex-start;gap:10px;display:flex}.bf-check{color:#fff;cursor:pointer;background:#fff;border:2px solid #cfd3df;border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;font-size:13px;line-height:1;display:grid}.bf-check.checked{background:#0d9488;border-color:#0d9488}.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(--ink);font-size:15px;font-weight:600;line-height:1.3;display:block}.bf-row.done .bf-row-title{color:var(--muted);text-decoration:line-through}.bf-tags{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.bf-tag{background:var(--field);color:var(--muted);border:1px solid #0000;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.bf-tag.p1{color:#fff;background:#fb2c36}.bf-tag.p2{color:#fff;background:#2a4cf4}.bf-tag.p3{color:#6b7280;background:#eef0f5}.bf-tag.proj{color:#5b46d6;background:#ece9ff}.bf-tag.doneflag{color:#0d9488;background:#d7f5ee}.bf-tag.overdue{color:#fb2c36;background:#ffe0e2}.bf-row-detail{margin:8px 0 4px 32px}.bf-detail-line{color:var(--muted);font-size:12px;font-weight:600}.bf-detail-line.dim{font-weight:500}.bf-detail-note{color:#2c2d33;white-space:pre-wrap;margin-top:4px;font-size:14px;line-height:1.5}.bf-empty{color:var(--muted);padding:4px 2px 2px;font-size:14px}.bf-allday{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.bf-allday-pill{color:#444;background:#eef0f5;border-radius:8px;padding:4px 9px;font-size:11px;font-weight:700}.bf-timeline{flex-direction:column;gap:8px;display:flex}.bf-block{cursor:default;background:#f7f8fb;border:1px solid #eef0f5;border-radius:12px;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(--muted);font-size:12px;font-weight:700}.bf-block-title{color:var(--ink);margin:1px 0 6px;font-size:15px;font-weight:600;line-height:1.3}.bf-block .bf-tag{background:#fff;display:inline-block}.bf-block-hint{color:var(--muted);margin-top:6px;font-size:11px;font-weight:600;display:block}.bf-block-candidates{border-top:1px dashed #e2e4ec;margin-top:8px;padding-top:8px}.bf-candidate{color:#2c2d33;padding:2px 0;font-size:13px}.bf-ink{color:#fff;background:linear-gradient(140deg,#243089,#0b0b1f)}.bf-ink .bf-section-head h3{color:#fff}.bf-pri-row{align-items:center;gap:10px;display:flex}.bf-pri-num{color:#fff;background:#ffffff24;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.bf-pri-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff29;border-radius:12px;outline:none;flex:1;padding:11px 13px;font-family:inherit;font-size:15px}.bf-pri-input::placeholder{color:#fff6}.bf-pri-input:focus{border-color:var(--lime)}.bf-lock{background:var(--lime);color:var(--ink);cursor:pointer;border:none;border-radius:14px;margin-top:6px;padding:13px;font-family:inherit;font-size:14px;font-weight:700}.bf-lock.locked{color:#fff;background:#ffffff24}.bf-footer{text-align:center;color:var(--on-blue-faint);padding:8px 0 4px;font-size:11px;font-weight:500}
