:root,:root[data-theme=dark]{--task-bg: rgba(10, 132, 255, .2);--task-fg: #9CCBFF;--reminder-bg: rgba(227, 179, 65, .2);--reminder-fg: #F0CD7A;--meeting-bg: rgba(163, 113, 247, .22);--meeting-fg: #D2B8FF;--agenda-bg: rgba(46, 160, 140, .22);--agenda-fg: #7FD8C4;--note-bg: rgba(139, 148, 158, .2);--note-fg: #C9D1D9;--holiday-bg: rgba(248, 81, 73, .14);--holiday-fg: #FF9B95;--cell: rgba(255, 255, 255, .025)}:root[data-theme=light]{--task-bg: #E3EFFE;--task-fg: #0B4FA8;--reminder-bg: #FBF0D5;--reminder-fg: #7A5300;--meeting-bg: #EFE7FD;--meeting-fg: #5B2DB0;--agenda-bg: #DDF4EE;--agenda-fg: #0C6150;--note-bg: #EEF0F3;--note-fg: #424A55;--holiday-bg: #FDE9E8;--holiday-fg: #A4161F;--cell: rgba(15, 23, 42, .025)}.t-task{--tbg: var(--task-bg);--tfg: var(--task-fg)}.t-reminder{--tbg: var(--reminder-bg);--tfg: var(--reminder-fg)}.t-meeting{--tbg: var(--meeting-bg);--tfg: var(--meeting-fg)}.t-agenda{--tbg: var(--agenda-bg);--tfg: var(--agenda-fg)}.t-note{--tbg: var(--note-bg);--tfg: var(--note-fg)}.cal-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-title{font-size:1.4rem;margin-right:auto;min-width:0}.cal-nav{display:flex;align-items:center;gap:2px}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:calc(var(--r-ctl) + 2px);background:var(--hover);border:1px solid var(--line-soft)}.seg button{height:28px;padding:0 12px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--muted);font-weight:500;cursor:pointer}.seg button:hover{color:var(--text)}.seg button.on{background:rgba(var(--glass-rgb),1);color:var(--text);box-shadow:0 1px 2px #0000001f}.icon-btn.sm{width:28px;height:28px}@media(max-width:640px){.cal-title{flex-basis:100%;font-size:1.25rem}.cal-head{gap:8px}.cal-nav{margin-right:auto}.seg button{padding:0 9px}.cal-nav .icon-btn{width:30px}.cal-head .btn.cal-add{width:34px;height:34px;padding:0;border-radius:50%}.cal-add-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}.entry{display:flex;align-items:flex-start;gap:6px;min-width:0;width:100%;border:0;border-radius:6px;background:var(--tbg);color:var(--tfg);font:inherit;font-size:.8rem;line-height:1.35;text-align:left;cursor:pointer}.entry:hover{filter:brightness(1.08)}:root[data-theme=light] .entry:hover{filter:brightness(.97)}.entry.shared{background:transparent;box-shadow:inset 0 0 0 1.5px var(--tbg)}.entry.done .entry-title{text-decoration:line-through;opacity:.7}.entry-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;flex:1}.entry-time{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.entry-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-title.wrap{white-space:normal;overflow-wrap:anywhere}.countdown{display:inline-flex;align-items:center;gap:3px;font-size:.733rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--warn)}.countdown.big{margin:0;font-size:.867rem}.tick{flex:none;display:grid;place-items:center;width:16px;height:16px;margin-top:1px;padding:0;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer}.tick.on{background:var(--ok);border-color:var(--ok);color:#fff}.holiday{font-size:.733rem;font-weight:500;line-height:1.35;padding:1px 6px;border-radius:6px;background:var(--holiday-bg);color:var(--holiday-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holiday-region{font-weight:400;opacity:.85}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:0;border-radius:var(--r-panel);overflow:hidden;background:var(--line-soft)}.month-wd{padding:8px 8px 6px;font-size:.733rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:rgba(var(--glass-rgb),var(--glass-a))}.month-day{min-height:112px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0;background:rgba(var(--glass-rgb),var(--glass-a));cursor:pointer}.month-day:hover{background:linear-gradient(var(--hover),var(--hover)),rgba(var(--glass-rgb),var(--glass-a))}.month-day.weekend{background:linear-gradient(var(--cell),var(--cell)),rgba(var(--glass-rgb),var(--glass-a))}.month-day.other>*{opacity:.45}.month-num{align-self:flex-start;min-width:26px;height:26px;padding:0 6px;border:0;border-radius:13px;background:transparent;font-size:.8rem;font-weight:500;cursor:pointer;font-variant-numeric:tabular-nums}.month-num:hover{background:var(--hover)}.month-day.today .month-num{background:var(--accent);color:var(--on-accent)}.month-wide{display:grid;gap:3px;min-width:0}.chip-line{padding:2px 6px;align-items:center}.chip-line .countdown{margin-left:auto;font-size:.7rem}.more{border:0;background:transparent;padding:0 6px;text-align:left;font-size:.733rem;color:var(--muted);cursor:pointer}.more:hover{color:var(--text)}.month-dots{display:none}@media(max-width:640px){.month-wd{padding:6px 2px;text-align:center;font-size:.667rem;letter-spacing:0}.month-day{min-height:64px;padding:3px 2px;align-items:center}.month-num{align-self:center;min-width:24px;height:24px;padding:0 4px}.month-wide{display:none}.month-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.dot-type{width:7px;height:7px;border-radius:50%;background:var(--tfg)}.dot-type.done{opacity:.4}.dots-more{font-size:.667rem;color:var(--muted);line-height:7px}.month-day.is-holiday{box-shadow:inset 0 3px 0 var(--holiday-fg)}}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{border-radius:var(--r-panel);padding:8px;display:flex;flex-direction:column;gap:4px;min-width:0;min-height:220px}.week-day.today{border-color:var(--accent)}.week-head{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:2px}.week-date{border:0;background:transparent;padding:2px 4px;border-radius:6px;cursor:pointer;font-size:.867rem}.week-date:hover{background:var(--hover)}.week-day.today .week-date strong{color:var(--accent-text)}.row-line{padding:5px 7px}.nothing{margin:2px 4px}@media(max-width:900px){.week{grid-template-columns:1fr}.week-day{min-height:0}}.day{display:grid;gap:10px}.day-top{border-radius:var(--r-panel);padding:10px;display:grid;gap:6px}.day-grid{--hour-col: 56px;position:relative;border-radius:var(--r-panel);overflow:hidden}.day-hour{position:absolute;left:0;right:0;display:block;padding:0;border:0;border-top:1px solid var(--line-soft);background:transparent;text-align:left;cursor:pointer}.day-hour:first-child{border-top:0}.day-hour:hover{background:var(--hover)}.day-hour-label{display:block;width:var(--hour-col);padding:4px 8px;font-size:.733rem;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.block{position:absolute;padding:4px 7px;overflow:hidden;z-index:1;border-left:3px solid var(--tfg);border-radius:4px 6px 6px 4px}.block .entry-title{white-space:normal}.now-line{position:absolute;left:calc(var(--hour-col) - 6px);right:0;height:0;border-top:2px solid var(--bad);z-index:2;pointer-events:none}.now-line:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--bad)}.type-chips{display:flex;flex-wrap:wrap;gap:6px}.type-chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:500;cursor:pointer}.type-chip:hover{color:var(--text)}.type-chip.on{background:var(--tbg);color:var(--tfg);border-color:var(--tfg)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:.867rem}.switch input{width:18px;height:18px;accent-color:var(--accent)}.when{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px}.when.one{grid-template-columns:1fr}@media(max-width:420px){.when{grid-template-columns:1fr 1fr}.when .field:first-child{grid-column:1 / -1}}.field textarea{width:100%;padding:8px 12px;font:inherit;font-size:16px;color:var(--text);resize:vertical;background:var(--hover);border:1px solid var(--line);border-radius:var(--r-ctl)}.field textarea:focus{outline:none;border-color:var(--accent)}.field input[type=date],.field input[type=time]{min-width:0}.lock-line{margin:0;display:flex;align-items:flex-start;gap:6px;font-size:.8rem;color:var(--muted)}.lock-line svg{flex:none;margin-top:2px}.holiday-note{margin:0;color:var(--holiday-fg)}.modal-actions.spread{justify-content:space-between;align-items:center}.read{display:grid;gap:6px}.read-title{font-size:1.067rem;font-weight:600}.read-title.done{text-decoration:line-through;opacity:.7}.read-notes{white-space:pre-wrap;padding:10px 12px;border-radius:var(--r-ctl);background:var(--hover);font-size:.867rem}.week-day .holiday,.day-top .holiday{white-space:normal}:root,:root[data-theme=dark]{--bg: #0D1117;--bg-tint: radial-gradient(1200px 600px at 15% -10%, rgba(10, 132, 255, .1), transparent 60%);--glass-rgb: 24, 26, 32;--glass-a: .72;--line: rgba(255, 255, 255, .12);--line-soft: rgba(255, 255, 255, .075);--hover: rgba(255, 255, 255, .07);--text: #F2F4F8;--muted: #A3ABB7;--accent: #0A84FF;--accent-text: #79B8FF;--on-accent: #fff;--ok: #56D364;--warn: #E3B341;--bad: #F85149;--off: #7D8590;--shadow: 0 1px 1px rgba(0, 0, 0, .12), 0 10px 28px rgba(0, 0, 0, .24);color-scheme:dark}:root[data-theme=light]{--bg: #F4F5F8;--bg-tint: radial-gradient(1200px 600px at 15% -10%, rgba(10, 132, 255, .08), transparent 60%);--glass-rgb: 255, 255, 255;--glass-a: .82;--line: rgba(15, 23, 42, .12);--line-soft: rgba(15, 23, 42, .07);--hover: rgba(15, 23, 42, .05);--text: #111827;--muted: #5B6472;--accent: #0A6CFF;--accent-text: #0A5BD6;--on-accent: #fff;--ok: #1F883D;--warn: #9A6700;--bad: #CF222E;--off: #8C959F;--shadow: 0 1px 1px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .08);color-scheme:light}:root{--r-ctl: 8px;--r-panel: 14px;--font: "Inter", system-ui, sans-serif;--ease: cubic-bezier(.2, .7, .2, 1);--menubar: 48px;--gutter: 32px;font-size:15px}@media(max-width:640px){:root{--gutter: 16px}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg-tint),var(--bg);background-attachment:fixed;color:var(--text);font:.933rem/1.5 var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";transition:background-color .2s var(--ease),color .2s var(--ease)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-ctl)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.muted{color:var(--muted)}.small{font-size:.867rem}.tiny{font-size:.767rem}.eyebrow{margin:0;font-size:.733rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.glass{background:rgba(var(--glass-rgb),var(--glass-a));-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border:1px solid var(--line-soft);box-shadow:var(--shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:rgba(var(--glass-rgb),.96)}}.menubar{position:sticky;top:0;z-index:30;height:var(--menubar);display:flex;align-items:center;gap:16px;padding:0 var(--gutter);padding-top:env(safe-area-inset-top);border-width:0 0 1px;border-radius:0;box-shadow:none}.wordmark{font-size:1.067rem;font-weight:700;letter-spacing:-.03em}.wordmark span{color:var(--accent-text)}.menu-right{margin-left:auto;display:flex;align-items:center;gap:8px}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.icon-btn:hover{background:var(--hover);color:var(--text)}.page{width:100%;max-width:1200px;margin:0 auto;padding:28px var(--gutter) 56px;display:grid;gap:20px;align-content:start}.page-head{display:grid;gap:6px}h1{margin:0;font-size:1.6rem;font-weight:600;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}.panel{border-radius:var(--r-panel);padding:20px}.empty{display:grid;justify-items:center;text-align:center;gap:6px;padding:56px 20px}.empty p{margin:0}.empty-icon{color:var(--accent-text);margin-bottom:6px}.empty-title{font-weight:600;font-size:1rem}.foot{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sep{opacity:.6}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--off)}.dot-ok{background:var(--ok)}.dot-wait{background:var(--warn)}a{color:var(--accent-text)}.wordmark{color:var(--text);text-decoration:none}.wordmark.big{font-size:1.6rem}.center{text-align:center}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error{margin:0;color:var(--bad);font-size:.867rem}.stack{display:grid;gap:14px}.row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-title{margin:12px 0 0;font-size:1rem;font-weight:600}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:380px;border-radius:var(--r-panel);padding:28px 24px;display:grid;gap:14px}.auth-card p{margin:0}.auth-title{font-size:1.333rem}.field{display:grid;gap:6px}.field>span{font-size:.867rem;font-weight:500}.field small{font-size:.767rem}.field input,.field select{width:100%;height:40px;padding:0 12px;font:inherit;font-size:16px;color:var(--text);background:var(--hover);border:1px solid var(--line);border-radius:var(--r-ctl);transition:border-color .15s var(--ease)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--hover);color:var(--text);font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s var(--ease),border-color .15s var(--ease),opacity .15s var(--ease)}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{background:var(--bad);border-color:var(--bad)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--hover)}.btn.small{height:32px;padding:0 10px;font-size:.867rem}.btn.wide{width:100%}.danger-text{color:var(--bad)!important}.tabs{display:flex;gap:4px}.tabs a{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--r-ctl);color:var(--muted);text-decoration:none;font-weight:500}.tabs a:hover{background:var(--hover);color:var(--text)}.tabs a.on{color:var(--text);background:var(--hover)}.account{position:relative}.avatar-btn,.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:600;border:0;flex:none}.avatar-btn{cursor:pointer}.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;max-width:calc(100vw - 32px);border-radius:var(--r-panel);padding:6px;display:grid;z-index:40}.menu-id{display:grid;padding:8px 10px 10px;border-bottom:1px solid var(--line-soft);margin-bottom:4px;min-width:0}.menu button{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:0;border-radius:var(--r-ctl);background:transparent;text-align:left;cursor:pointer}.menu button:hover{background:var(--hover)}@media(max-width:480px){.menubar{gap:8px}.tabs a{padding:0 8px}.tabs a svg{display:none}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#00000073}.modal{width:100%;border-radius:var(--r-panel);padding:20px;display:grid;gap:14px;max-height:calc(100dvh - 32px);overflow:auto}.modal p{margin:0}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0;font-size:1.067rem;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.temp-pw{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed var(--line);border-radius:var(--r-ctl);background:var(--hover)}.temp-pw output{font-size:1.2rem;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums;word-break:break-all}.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.person{border-radius:var(--r-panel);padding:16px;display:grid;gap:12px;align-content:start}.person.inactive{opacity:.7}.person-top{display:flex;align-items:center;gap:12px;min-width:0}.person-id{display:grid;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:.767rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.chip.warn{color:var(--warn);border-color:currentColor}.person-actions{display:flex;flex-wrap:wrap;gap:6px}
