:root{--accent:#1d8241;--accent-hover:color-mix(in srgb, var(--accent) 88%, #000);--accent-press:color-mix(in srgb, var(--accent) 78%, #000);--accent-tint:color-mix(in srgb, var(--accent) 8%, var(--bg));--accent-edge:color-mix(in srgb, var(--accent) 70%, #fff);--focus-ring:var(--accent);--on-accent:#fff;--bg:#fff;--surface:#f4f4f4;--surface-2:#ebebeb;--hover:#f6f6f6;--line:#e4e4e4;--pill:#ececec;--strong:#d2d2d2;--text:#141414;--text-2:#3c3c3c;--muted:#7d7d7d;--dim:#c4c4c4;--red:#e0242f;--red-dim:#f0a5a8;--danger:#e0242f;--today-bg:#f7f7f7;--rail-hover:#0000000d;--now-line:#9a9a9a;--avatar-bg:#d2d2d2;--avatar-fg:#fff;--tip-bg:#2c2c2c;--tip-text:#fff;--shadow:0 12px 32px #00000024;--overlay:#00000059;--radius:10px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--tabbar-h:54px;--topbar-h:56px;--panel-w:clamp(340px, 25vw, 440px);--ease-ios:cubic-bezier(.32, .72, 0, 1);--dur-nav:.35s;--dur-small:.2s;--press:#0000000f;--font:-apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);letter-spacing:.01em;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#1f8743;--accent-tint:color-mix(in srgb, var(--accent) 14%, var(--bg));--focus-ring:color-mix(in srgb, var(--accent) 65%, #fff);--bg:#0f0f0f;--surface:#1c1c1c;--surface-2:#262626;--hover:#161616;--line:#2c2c2c;--pill:#363636;--strong:#4f4f4f;--text:#fff;--text-2:#d8d8d8;--muted:#727272;--dim:#4f4f4f;--red:#ed3131;--red-dim:#761818;--danger:#ef4444;--today-bg:#1c1c1c;--rail-hover:#ffffff14;--now-line:#8a8a8a;--avatar-bg:#d0d0d0;--avatar-fg:#f4f4f4;--tip-bg:#363636;--tip-text:#fff;--shadow:0 12px 32px #0009;--overlay:#0009;--press:#ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--accent:#1f8743;--accent-tint:color-mix(in srgb, var(--accent) 14%, var(--bg));--focus-ring:color-mix(in srgb, var(--accent) 65%, #fff);--bg:#0f0f0f;--surface:#1c1c1c;--surface-2:#262626;--hover:#161616;--line:#2c2c2c;--pill:#363636;--strong:#4f4f4f;--text:#fff;--text-2:#d8d8d8;--muted:#727272;--dim:#4f4f4f;--red:#ed3131;--red-dim:#761818;--danger:#ef4444;--today-bg:#1c1c1c;--rail-hover:#ffffff14;--now-line:#8a8a8a;--avatar-bg:#d0d0d0;--avatar-fg:#f4f4f4;--tip-bg:#363636;--tip-text:#fff;--shadow:0 12px 32px #0009;--overlay:#0009;--press:#ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (font:-apple-system-body){html.ios{font:-apple-system-body;font-family:var(--font)}}.desktop *{scrollbar-width:thin;scrollbar-color:var(--strong) transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{overscroll-behavior:none}body{background:var(--bg);color:var(--text);overscroll-behavior:none;font-size:.875rem;line-height:1.35}button{font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit;font-size:.875rem}@media (pointer:coarse){input,textarea,select{font-size:max(16px,1rem)!important}}a{color:var(--accent)}h1,h2,h3{margin:0}img{max-width:100%}.muted{color:var(--muted)}.accent{color:var(--accent)}.small{font-size:.75rem}.center{text-align:center}.left{text-align:left}.pad{padding:16px}.pad-x{padding-left:16px;padding-right:16px}.grow{flex:1;min-width:0}.block{display:block}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.break{overflow-wrap:anywhere}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.error{color:var(--danger);margin:6px 0;font-size:.8125rem}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.big{width:16px;height:16px}.splash{background:var(--bg);height:100%}.error-splash{color:var(--muted);place-items:center;display:grid}.loading{min-height:120px}.icon-btn{width:40px;height:40px;color:var(--text);border-radius:8px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface)}.icon-btn.small{width:32px;height:32px}.icon-btn.tiny{border-radius:6px;width:24px;height:24px}.icon-btn.accent{color:var(--accent)}.icon-btn.danger{color:var(--danger)}.icon-btn.on-dark{color:#fff}.icon-btn.on-dark:hover{background:#ffffff1f}.flip svg,svg.flip{transform:rotate(180deg)}.outline-btn{min-width:72px;height:36px;transition:background-color var(--dur-small), color var(--dur-small);border:1px solid var(--line);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:.875rem;font-weight:700;display:inline-flex}.outline-btn:hover{color:var(--text);background:var(--hover)}.outline-btn.square{width:36px;min-width:0;padding:0}.outline-pair{border:1px solid var(--line);border-radius:8px;height:36px;display:inline-flex;overflow:hidden}.outline-pair button{width:35px;color:var(--muted);transition:background-color var(--dur-small), color var(--dur-small);place-items:center;display:grid}.outline-pair button+button{width:36px}.outline-pair button:hover{color:var(--text);background:var(--hover)}.pill-btn{background:var(--pill);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 14px;font-size:.8125rem;font-weight:700;display:inline-flex}.pill-btn.small{height:28px;padding:0 10px;font-size:.75rem}.pill-btn.accent{background:var(--accent);color:var(--on-accent)}.pill-btn.danger{color:var(--danger)}.save-pill{background:var(--accent);height:32px;color:var(--on-accent);border-radius:999px;padding:0 16px;font-size:.875rem;font-weight:700}.save-pill:disabled{background:var(--strong);color:var(--muted);opacity:1}.primary-btn,.secondary-btn{background:var(--accent);height:46px;color:var(--on-accent);border-radius:10px;width:100%;padding:0 20px;font-size:.9375rem;font-weight:700}@media (hover:hover){.pill-btn.accent:hover:not(:disabled),.save-pill:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:var(--accent-hover)}.pill-btn.accent:active:not(:disabled),.save-pill:active:not(:disabled),.primary-btn:active:not(:disabled){background:var(--accent-press)}}.secondary-btn{background:var(--pill);color:var(--text)}.text-btn{color:var(--accent);align-items:center;gap:4px;padding:8px 4px;font-weight:700;display:inline-flex}.text-btn.small{padding:4px 0;font-size:.75rem}.text-btn.strong{font-weight:700}.text-btn.danger{color:var(--danger)}.text-btn.on-dark{color:#fff;font-weight:400}.round-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.round-btn.on{color:var(--c,var(--accent));border-color:currentColor}.round-count{background:var(--pill);min-width:16px;height:16px;color:var(--text);border-radius:8px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.send-btn{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;display:grid}.send-btn:disabled{background:var(--pill);color:var(--muted);opacity:1}.input{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;height:46px;padding:0 14px}.input.big{font-weight:700}.input:focus,.field-input:focus,.row-input:focus{border-color:var(--accent);outline:none}.field-input{background:var(--surface);border:1px solid #0000;border-radius:12px;width:100%;height:44px;margin-bottom:12px;padding:0 16px}.field-input::placeholder,.plain-input::placeholder,.title-input::placeholder{color:var(--muted)}.plain-input{resize:vertical;background:0 0;border:0;width:100%}.plain-input:focus{outline:none}.row-input{text-align:right;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;min-width:0;padding:6px 8px}.row-input:hover{background:var(--surface-2)}.pill-input{background:var(--pill);height:32px;color:var(--text);border:0;border-radius:6px;min-width:0;padding:0 10px;font-size:.8125rem;font-weight:700}.pill-input::-webkit-calendar-picker-indicator{opacity:.6}.select-wrap.grow{flex:1;min-width:0}.select-wrap.grow select{width:100%}.select-wrap select{background:var(--pill);border:0;border-radius:6px;height:32px;padding:0 8px}.form{gap:10px;display:grid}.url-box{background:var(--surface-2);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:8px;padding:8px 10px;font-size:.75rem;display:block}.row-gap{flex-wrap:wrap;gap:8px;display:flex}.toggle{background:var(--strong);width:42px;height:24px;transition:background var(--dur-small);border-radius:12px;flex:none;position:relative}.toggle span{width:18px;height:18px;transition:transform var(--dur-small);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle.on{background:var(--accent)}.toggle.on span{transform:translate(18px)}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--muted);white-space:nowrap;border-radius:8px;padding:0 18px;font-size:.875rem}.segmented button.active{background:var(--accent);color:var(--on-accent);font-weight:700}.segmented.small{border:0;border-radius:999px}.segmented.small button{border-radius:999px;min-width:110px;height:28px;font-size:.75rem;font-weight:700}.segmented.small button.active,.segmented.full button.active{background:var(--strong);color:var(--text)}.segmented.full{border:0;width:100%;display:flex}.segmented.full button{flex:1;font-size:.75rem;font-weight:700}.segmented.big{margin:0 16px 12px;display:flex}.segmented.big button{flex:1;height:40px}.chip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:.8125rem;display:inline-flex}.chip.active{border-color:var(--accent);color:var(--accent);font-weight:700}.chip.static{background:0 0;border:0;padding:0 6px}.chip-mini{background:var(--text);color:var(--bg);border-radius:999px;padding:1px 6px;font-size:.5625rem;font-weight:700;display:inline-block}.chip-mini.outline{color:var(--text);border:1px solid var(--strong);background:0 0}.chips{gap:4px;display:inline-flex}.cal-chips{scrollbar-width:none;gap:6px;padding:12px 16px 4px;display:flex;overflow-x:auto}.avatar{object-fit:cover;vertical-align:middle;border-radius:50%;flex:none;display:inline-block}.avatar.placeholder{background:var(--avatar-bg);color:var(--avatar-fg);place-items:end center;display:inline-grid;overflow:hidden}.avatar.placeholder svg{width:80%;height:80%}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack>*+*{margin-left:-4px}.avatar-stack .avatar{box-shadow:0 0 0 1.5px var(--bg)}.avatar-more{color:var(--muted);margin-left:4px;font-size:.6875rem}.cal-badge{color:#fff;object-fit:cover;flex:none;place-items:center;font-weight:700;display:inline-grid}.home-badge{background:var(--surface-2);border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.badge{background:var(--red);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:16px;position:absolute;top:2px;right:4px}.app{background:var(--bg);height:100%}.app.desktop{--topbar-h:60px;grid-template-columns:auto minmax(0,1fr) auto 60px auto;grid-template-rows:var(--topbar-h) minmax(0, 1fr);height:100dvh;display:grid}.app.desktop .topbar{grid-area:1/1/auto/4}.app.desktop .side-list,.app.desktop .left-mini{grid-area:2/1}.app.desktop .main{grid-area:2/2;min-width:0;min-height:0;position:relative}.app.desktop .app-column{width:var(--panel-w);border-left:1px solid var(--line);grid-area:2/3;min-height:0;display:flex}.app.desktop .app-panel{width:var(--panel-w);border-left:1px solid var(--line);grid-area:1/5/3;min-height:0;display:flex}.app.desktop .rail{grid-area:1/4/3}.app-column>*,.app-panel>*{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:0 18px 0 10px;display:flex}.brand{letter-spacing:.02em;color:var(--accent);white-space:nowrap;align-items:center;gap:8px;height:44px;margin:0 4px 0 2px;font-size:1.125rem;font-weight:700;display:inline-flex}.topbar-title{white-space:nowrap;margin:0;font-size:.9375rem;font-weight:700}.topbar-center{flex:1;justify-content:center;min-width:0;display:flex}.segmented.views{background:0 0;border-radius:8px;gap:0;padding:2px}.segmented.views button{border-radius:8px;height:32px;padding:0 20px}.segmented.views button:not(.active):hover{color:var(--text)}@media (width<=1280px){.brand span{display:none}.segmented.views button{padding:0 10px}}.side-list{border-right:1px solid var(--line);width:400px;min-height:0;overflow-y:auto}.left-mini{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:60px;padding-left:6px;display:flex}.left-mini-btn{width:48px;height:36px;color:color-mix(in srgb, var(--text) 60%, transparent);transition:color var(--dur-small), opacity var(--dur-small);border-radius:6px;place-items:center;display:grid;position:relative}.left-mini-btn:hover,.left-mini-btn.active{color:var(--text)}.left-mini-btn .cal-cover{border-radius:6px;width:48px;height:36px}.left-mini-btn .cal-cover .cover-initial{font-size:1rem}.left-mini-btn:not(.checked) .cal-cover{opacity:.85}.left-mini-btn:hover .cal-cover{opacity:1}.cal-cover{background:var(--c,var(--strong));color:#fff;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.cal-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover-initial{font-size:1.5rem;font-weight:700;line-height:1}.cover-check{color:#fff;background:#0009;place-items:center;display:grid;position:absolute;inset:0}.rail{border-left:1px solid var(--line);flex-direction:column;align-items:stretch;width:60px;display:flex}.rail-top{height:var(--topbar-h);border-bottom:1px solid var(--line);flex:none;position:relative}.rail-avatar{width:100%;height:100%;transition:background-color var(--dur-small);place-items:center;display:grid;position:relative}.rail-avatar:hover,.rail-avatar[aria-expanded=true]{background:var(--rail-hover)}.rail-dot{background:#c5031a;border-radius:50%;width:10px;height:10px;position:absolute;top:7px;right:4px}.rail-btn{height:60px;color:var(--text);transition:background-color var(--dur-small), color var(--dur-small);flex:none;place-items:center;display:grid;position:relative}.rail-btn:hover{background:var(--rail-hover)}.rail-btn.active{color:var(--accent);background:var(--rail-hover)}.rail-btn.active:after{content:"";background:var(--accent);border-radius:2px 0 0 2px;width:4px;height:44px;position:absolute;top:8px;right:0}.rail-btn .badge{top:10px;right:8px}[data-tip]:before{content:attr(data-tip);background:var(--tip-bg);color:var(--tip-text);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-small), transform var(--dur-small);z-index:90;border-radius:6px;padding:6px 10px;font-size:.75rem;font-weight:700;position:absolute;top:50%;right:calc(100% + 8px);transform:translate(4px,-50%)}[data-tip-r]:before{content:attr(data-tip-r);background:var(--tip-bg);color:var(--tip-text);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-small), transform var(--dur-small);z-index:90;border-radius:6px;padding:6px 10px;font-size:.75rem;font-weight:700;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(-4px,-50%)}[data-tip-r]:hover:before,[data-tip]:hover:before{opacity:1;transition-delay:.35s;transform:translateY(-50%)}.profile-menu{background:var(--surface);width:316px;box-shadow:var(--shadow);z-index:60;border-radius:8px;animation:.14s ease-out pop-in;position:absolute;top:calc(100% + 2px);right:4px;overflow:hidden}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.profile-menu-head{border-bottom:1px solid var(--line);justify-items:center;gap:2px;padding:32px 16px 20px;display:grid;position:relative}.profile-menu-head .avatar{margin-bottom:14px}.profile-menu-head strong{font-size:1rem}.profile-menu-head .muted{font-size:.75rem}.profile-menu-gear{color:var(--accent);position:absolute;top:8px;right:8px}.profile-menu-list{padding:6px 0;display:grid}.profile-menu-list button{text-align:left;height:30px;transition:background-color var(--dur-small);align-items:center;gap:10px;padding:0 16px;font-size:.8125rem;font-weight:700;display:flex}.profile-menu-list button:hover{background:var(--surface-2)}.profile-menu-list .danger{color:var(--danger)}.topbar .menu-btn{color:var(--muted)}.topbar .menu-btn:hover{color:var(--text);background:0 0}.panel-page,.detail-panel,.editor-panel{background:var(--bg);flex-direction:column;height:100%;min-height:0;display:flex}.panel-header{height:var(--topbar-h);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:4px;padding:0 8px;display:flex;position:relative}.desktop .panel-header{gap:8px;padding:0 12px}.desktop .panel-header>.icon-btn:first-child{border-radius:50%;width:32px;height:32px}.desktop .panel-header h1{font-size:1rem!important}.panel-header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-left:4px;font-size:1.0625rem;font-weight:700;overflow:hidden}.panel-header.center h1{text-align:center;pointer-events:none;position:absolute;left:64px;right:64px}.panel-header-right{align-items:center;gap:4px;margin-left:auto;display:flex}.panel-scroll,.detail-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.panel-scroll{padding-bottom:calc(24px + var(--safe-b))}.panel-tabs{flex:none;padding:10px 12px}.list-title,.cal-list-title,.group-title{color:var(--muted);align-items:center;gap:4px;padding:16px 16px 6px;font-size:.75rem;font-weight:400;display:flex}.toggle-title{justify-content:space-between;width:100%}.empty{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:56px 24px;display:grid}.empty strong{color:var(--text);font-size:.9375rem}.empty p{max-width:300px;margin:0}.empty .primary-btn{width:auto;margin-top:8px}.empty-icon{color:var(--dim)}.group-wrap{padding:0 16px}.group-wrap .group-title{padding-left:0}.group{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.group-wrap .group{margin-bottom:4px}.group-footer{color:var(--muted);margin:4px 0 8px;font-size:.75rem;line-height:1.4}.row{text-align:left;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 14px;font-size:.875rem;display:flex}.row+.row,.pick+.pick,.pick+.row,.row+.pick{border-top:1px solid var(--line)}.pick .row{border-top:0}.row.clickable{cursor:pointer}.row.clickable:hover{background:var(--surface-2)}.row.column{flex-direction:column;align-items:stretch;gap:8px}.row.danger,.row.danger .row-label{color:var(--danger)}.row.sub{padding-left:28px}.row-icon{color:var(--muted);display:inline-flex}.row-label{flex:1;min-width:0}.row-value{color:var(--muted);text-align:right;align-items:center;gap:6px;min-width:0;display:inline-flex}.row-chevron{color:var(--muted);flex:none}.pills{gap:6px;display:inline-flex}.cal-list{padding:4px 0 24px}.cal-list-brand{padding:calc(16px + var(--safe-t)) 16px 8px;color:var(--accent);align-items:center;gap:10px;font-size:1.0625rem;display:flex}.cal-card{text-align:left;width:calc(100% - 16px);transition:background-color var(--dur-small);border-radius:10px;align-items:center;gap:10px;margin:0 8px 6px;padding:6px;display:flex}.cal-card:hover,.cal-card.active{background:var(--surface)}.cal-card-btn{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.cal-card-img{flex:none;place-items:center;display:grid}.cal-card-img.home{background:var(--surface-2);width:52px;height:52px;color:var(--muted);border-radius:10px}.cal-card-main{flex:1;gap:6px;min-width:0;display:grid}.cal-card-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.cal-card-main small{color:var(--muted);font-size:.75rem}.cal-card-more{color:var(--muted)}.home-check{background:var(--text);width:20px;height:20px;color:var(--bg);border-radius:50%;flex:none;place-items:center;display:grid}.home-check.off{box-shadow:inset 0 0 0 1.5px var(--strong);background:0 0}.cal-add{color:var(--muted);align-items:center;gap:12px;margin:4px 14px 8px;font-size:.9375rem;display:flex}.cal-add-box{border:1px solid var(--line);border-radius:10px;place-items:center;width:52px;height:52px;display:grid}.side-list .cal-list{padding-top:0}.side-list .cal-list-title{color:var(--muted);margin:0;padding:12px 16px 4px;font-size:.75rem;font-weight:700}.side-list .cal-card{border-radius:0;gap:12px;width:100%;min-height:90px;margin:0;padding:12px 16px}.side-list .cal-card.active{background:0 0}.side-list .cal-card:hover{background:var(--hover)}.side-list .cal-card-img.home{border-radius:12px;width:88px;height:66px}.side-list .cal-card-main strong{font-size:.875rem}.side-list .cal-card-more{width:28px;height:28px}.side-list .cal-add{gap:12px;margin:8px 16px 16px;font-size:1rem}.side-list .cal-add-box{width:88px;height:66px;color:var(--muted);transition:background-color var(--dur-small);border-radius:12px}.side-list .cal-add:hover .cal-add-box{background:var(--hover)}.cal-quick{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 16px;display:grid}.cal-quick button{background:var(--surface);border-radius:10px;justify-items:center;gap:4px;padding:10px 4px;font-size:.75rem;font-weight:700;display:grid}.cal-list .group{margin:0 16px}.cal-list-info{color:var(--muted);margin:0;padding:8px 16px;font-size:.6875rem}.calendar-page{flex-direction:column;height:100%;display:flex;position:relative}.view-host{flex:1;min-height:0;position:relative}.swipe-layer{z-index:2;width:18px;position:absolute;inset:0 auto 0 0}.month{-webkit-user-select:none;user-select:none;flex-direction:column;height:100%;display:flex}.weekdays{border-bottom:1px solid var(--line);flex:none;grid-template-columns:repeat(7,1fr);align-items:center;height:40px;display:grid}.weekdays span{text-align:center;color:var(--muted);font-size:clamp(11px,.8125rem,14px);font-weight:600}.desktop .weekdays{height:60px}.desktop .weekdays span{font-size:.875rem}.weeks{flex-direction:column;flex:1;min-height:0;display:flex}.week{border-bottom:1px solid var(--line);flex:1;min-height:0;position:relative;overflow:hidden}.week:last-child{border-bottom:0}.day{border-left:1px solid var(--line);cursor:pointer;width:14.2857%;position:absolute;top:0;bottom:0}.day:first-child{border-left:0}.desktop .day:hover{background:var(--hover)}.day.today{background:var(--today-bg)}.day.selected{background:var(--accent-tint)}.day .num{width:26px;height:26px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;margin:3px auto 0;font-size:clamp(12px,.875rem,15px);display:grid}.day.red .num{color:var(--red)}.day.other .num{color:var(--dim)}.day.other.red .num{color:var(--red-dim)}.day.today .num{background:var(--text);color:var(--bg);font-weight:700}.day .more{height:18px;color:var(--muted);text-align:left;border-radius:4px;padding:0 6px;font-size:.6875rem;position:absolute;left:3px;right:3px}.day .more:hover{background:var(--surface-2);color:var(--text)}.entry{white-space:nowrap;text-align:left;z-index:1;border-radius:4px;align-items:center;gap:5px;height:20px;padding:0 6px;font-size:clamp(10px,.75rem,13px);display:flex;position:absolute;overflow:hidden}.entry.bar{font-weight:700}.entry.bar.cl{border-top-left-radius:0;border-bottom-left-radius:0}.entry.bar.cr{border-top-right-radius:0;border-bottom-right-radius:0}.entry.timed{color:var(--text);font-weight:600}.desktop .entry.timed{font-weight:400}.entry.timed:hover{background:var(--surface-2)}.entry.timed .dot{background:var(--c);width:7px;height:7px}.entry-title{text-overflow:clip;flex:1;min-width:0;overflow:hidden}.entry-time{color:var(--muted);flex:none;font-size:.625rem;font-weight:400}.entry.sys-school{box-shadow:inset 0 0 0 1px var(--strong);font-weight:400;color:var(--muted)!important;background:0 0!important}.entry.draft,.tg-event.draft{outline-offset:-2px;opacity:.85;outline:2px dashed #ffffff80}.mobile .entry{border-radius:3px;height:16px;padding:0 3px;font-size:clamp(9px,.625rem,11px)}.mobile .entry.timed{border-left:2px solid var(--c);border-radius:0;padding-left:4px}.mobile .entry.timed .dot{display:none}.mobile .day .num{width:20px;height:20px;margin-top:2px;font-size:clamp(11px,.75rem,14px)}.mobile .weekdays{height:26px}.mobile .weekdays span{font-size:.6875rem}.mobile .day .more{height:14px;padding:0 2px;font-size:.625rem}.timegrid{--gutter:66px;flex-direction:column;height:100%;display:flex}.mobile .timegrid{--gutter:44px}.tg-head{border-bottom:1px solid var(--line);flex:none;display:flex}.tg-gutter{width:var(--gutter);flex:none}.tg-day{flex:1;justify-items:center;gap:2px;min-width:0;padding:6px 0;display:grid}.tg-day span{color:var(--muted);font-size:.625rem}.desktop .tg-day{align-content:start;height:64px;padding:6px 0 0}.desktop .tg-day span{color:var(--text)}.desktop .tg-day strong{width:32px;height:32px;font-weight:700}.desktop .tg-day:hover strong{background:var(--surface-2)}.desktop .tg-day.today:hover strong{background:var(--text)}.desktop .allday-label{align-items:flex-end;padding:6px 8px 0 0;font-size:.75rem}.tg-day strong{border-radius:50%;place-items:center;width:30px;height:30px;font-size:1rem;display:grid}.tg-day.red strong{color:var(--red)}.tg-day.today strong{background:var(--text);color:var(--bg)}.tg-allday{border-bottom:1px solid var(--line);flex:none;display:flex;position:relative}.allday-label{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding-top:6px;font-size:.625rem;display:flex}.allday-label>span{text-align:center;-webkit-hyphens:manual;hyphens:manual;max-width:100%;line-height:1.15}.tg-allday-area{flex:1;position:relative}.tg-allday-col{border-left:1px solid var(--line);position:absolute;top:0;bottom:0}.tg-allday-more{color:var(--muted);font-size:.6875rem;position:absolute;bottom:2px;right:6px}.desktop .tg-head,.desktop .tg-allday{scrollbar-color:transparent transparent;overflow-y:scroll}.tg-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.tg-body{display:flex;position:relative}.tg-hours{width:var(--gutter);flex:none;position:relative}.tg-hours span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.625rem;position:absolute;right:8px;transform:translateY(-50%)}.tg-now-pill{background:var(--accent);z-index:3;border-radius:999px;padding:2px 6px;font-weight:700;color:var(--on-accent)!important;right:2px!important}.tg-cols{flex:1;display:flex;position:relative}.tg-col{border-left:1px solid var(--line);flex:1;min-width:0;position:relative}.tg-slot{border-top:1px solid var(--line);cursor:pointer;position:absolute;left:0;right:0}.tg-slot:hover{background:var(--hover)}.tg-now-line{background:var(--now-line);z-index:2;pointer-events:none;height:1px;position:absolute;left:0;right:0}.tg-event{background:color-mix(in srgb, var(--c) 16%, var(--bg));transition:background-color var(--dur-small);border-left:2px solid var(--c);text-align:left;z-index:1;color:var(--text);border-radius:3px;flex-direction:column;align-items:flex-start;padding:4px 6px;display:flex;position:absolute;overflow:hidden}.tg-event:hover{background:color-mix(in srgb, var(--c) 26%, var(--bg))}.tg-event strong{text-overflow:ellipsis;max-width:100%;font-size:.75rem;line-height:1.25;overflow:hidden}.tg-event span{color:var(--muted);font-size:.625rem}.desktop .tg-event{background:color-mix(in srgb, var(--c) 9%, var(--bg));border-radius:0}.desktop .tg-event:hover{background:color-mix(in srgb, var(--c) 18%, var(--bg))}.agenda{height:100%;padding:8px 16px calc(96px + var(--safe-b));overflow-y:auto}.agenda-day h3{align-items:center;gap:10px;padding:14px 0 6px;font-size:.875rem;display:flex}.agenda-day h3 small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.agenda-num{border-radius:50%;place-items:center;width:32px;height:32px;font-size:1rem;display:grid}.agenda-day h3.red .agenda-num,.agenda-day h3.red>span:last-child{color:var(--red)}.agenda-day h3.red small{color:var(--muted)}.agenda-day h3.today .agenda-num{background:var(--text);color:var(--bg)}.card-list{gap:6px;display:grid}.event-row{background:var(--surface);text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.event-row:hover:not(:disabled){background:var(--surface-2)}.event-row:disabled{opacity:1}.event-row-bar{border-radius:2px;flex:none;align-self:stretch;width:3px}.event-row-time{font-variant-numeric:tabular-nums;flex:none;width:60px;font-size:.75rem;display:grid}.event-row-main{flex:1;gap:2px;min-width:0;display:grid}.event-row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.event-row-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.panel-header h1.left{padding-left:6px}.editor-body{padding:12px 16px calc(32px + var(--safe-b));overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.editor-kind{justify-content:center;margin-bottom:18px;display:flex}.editor-kind .segmented{background:var(--surface)}.title-input{resize:none;background:0 0;border:0;width:100%;padding:6px 2px 18px;font-size:1.25rem;font-weight:700;line-height:1.3;overflow:hidden}.title-input:focus{outline:none}.pick-body{gap:2px;padding:2px 8px 8px;display:grid}.pick .row-value{white-space:nowrap;text-overflow:ellipsis;max-width:62%;overflow:hidden}.pick .row-chevron{transition:transform var(--dur-small);font-size:1.125rem;line-height:1}.pick.open>.row .row-chevron{transform:rotate(90deg)}.choice{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 8px;display:flex}.choice:hover{background:var(--surface-2)}.choice-main{flex:1;align-items:center;gap:8px;min-width:0;display:inline-flex}.choice-mark{border:1.5px solid var(--strong);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.choice-mark.square{border-radius:5px}.choice.on .choice-mark{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.choice.sub{color:var(--muted);gap:8px}.plain-input.note{min-height:90px;padding:4px 6px}.file-row{font-size:.8125rem}.file-thumb{object-fit:cover;border-radius:4px;width:28px;height:28px}.todo-editor{gap:2px;display:grid}.todo{align-items:center;gap:8px;padding:4px 6px;display:flex}.todo input{background:0 0;border:0;flex:1;min-width:0;padding:6px 0}.todo input:focus{outline:none}.todo.done input{color:var(--muted);text-decoration:line-through}.check{border:1.5px solid var(--strong);width:20px;height:20px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;display:grid}.check.on{background:var(--accent);border-color:var(--accent)}.event-detail{position:relative}.ev-hero{border-bottom:1px solid var(--line);text-align:center;justify-items:center;gap:10px;padding:22px 16px 18px;display:grid}.ev-title{color:color-mix(in srgb, var(--c) 78%, var(--text));overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;line-height:1.25}.ev-times{justify-content:center;align-items:center;gap:18px;margin-top:6px;display:flex}.ev-times>div{text-align:left;gap:2px;display:grid}.ev-date{font-size:.8125rem;font-weight:700}.ev-time{font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:700;line-height:1.1}.ev-times>div:last-child .ev-date,.ev-times>div:last-child .ev-time{font-weight:400}.ev-date{white-space:nowrap;font-size:.875rem}.desktop .ev-times{gap:10px}.ev-arrow{color:var(--c);stroke-width:1.4px}.ev-allday{color:var(--muted);font-size:.75rem}.ev-note{border-bottom:1px solid var(--line);margin:0;padding:14px 16px;font-size:.875rem}.ev-rows{display:grid}.ev-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:13px 16px;font-size:.875rem;display:flex}.ev-row>svg,.ev-row-head>svg,.ev-row-btn>svg{color:var(--c);flex:none}.ev-row.column{flex-direction:column;align-items:stretch;gap:10px}.ev-row-head,.ev-row-btn{text-align:left;align-items:center;gap:12px;width:100%;display:flex}.ev-row-btn:hover span{text-decoration:underline}.ev-todos{gap:2px;padding-left:32px;display:grid}.todo-check{text-align:left;align-items:center;gap:10px;padding:6px 0;display:flex}.todo-check.done span:last-child{color:var(--muted);text-decoration:line-through}.thumbs{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;padding-left:32px;display:grid}.thumb{aspect-ratio:1;background:var(--surface);border-radius:6px;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.file-chip{background:var(--surface);border-radius:8px;align-items:center;gap:8px;min-width:0;margin-left:32px;padding:4px 4px 4px 10px;font-size:.8125rem;display:flex}.file-chip a.ellipsis{color:var(--text);text-decoration:none}.map-wrap{margin-left:32px;position:relative}.map{background:var(--surface);cursor:pointer;z-index:0;border-radius:10px;height:160px;overflow:hidden}.map .leaflet-control-attribution{color:#333;background:#fffc;font-size:9px}.map .leaflet-control-attribution a{color:#333}.map-pin{background:0 0;border:0}.map-open{color:#fff;pointer-events:none;z-index:500;background:#0009;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.6875rem;font-weight:700;display:inline-flex;position:absolute;top:8px;right:8px}.map-fallback{background:var(--surface);border-radius:10px;align-items:center;gap:8px;width:100%;padding:12px;display:flex}.history{justify-items:center;gap:8px;padding:18px 16px 8px;display:grid}.history-pill{background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;display:inline-flex}.comments{gap:12px;padding:10px 16px 20px;display:grid}.comment{align-items:flex-start;gap:10px;display:flex;position:relative}.comment-main{flex:1;gap:3px;min-width:0;display:grid}.comment-name{font-size:.75rem;font-weight:700}.comment-time{color:var(--muted);margin-left:4px;font-weight:400}.bubble{background:var(--surface);overflow-wrap:anywhere;border-radius:4px 12px 12px;justify-self:start;max-width:100%;padding:8px 12px;font-size:.875rem}.bubble img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);cursor:zoom-in;border-radius:8px;width:min(220px,60vw);margin-bottom:4px;display:block}.comment-del{opacity:0;color:var(--muted)}.comment:hover .comment-del,.comment-del:focus-visible{opacity:1}.composer{border-top:1px solid var(--line);padding:10px 12px calc(10px + var(--safe-b));background:var(--bg);flex:none}.composer-row{align-items:flex-end;gap:8px;display:flex}.comment-input{border:1px solid var(--line);border-radius:20px;flex:1;align-items:flex-end;gap:6px;min-width:0;min-height:40px;padding:4px 4px 4px 14px;display:flex}.comment-input textarea,.comment-input input{resize:none;background:0 0;border:0;flex:1;min-width:0;padding:6px 0;line-height:1.3}.comment-input textarea:focus,.comment-input input:focus{outline:none}.composer-preview{margin-bottom:8px;display:inline-block;position:relative}.composer-preview img{border-radius:8px;height:72px}.composer-preview .icon-btn{background:var(--surface);border-radius:50%;position:absolute;top:-8px;right:-8px}.lightbox,.viewer{z-index:200;background:#000000eb;position:fixed;inset:0}.lightbox{cursor:zoom-out;place-items:center;padding:16px;display:grid}.lightbox img{border-radius:6px;max-width:100%;max-height:100%}.memo-quick{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:6px 8px 6px 16px;display:flex}.memo-quick input{background:0 0;border:0;flex:1;min-width:0;height:44px}.memo-quick input:focus{outline:none}.memo-quick-dot{border:1.5px solid var(--accent);width:18px;height:18px;box-shadow:inset 0 0 0 4px var(--bg);background:var(--accent);border-radius:50%;flex:none}.memo-list{display:grid}.memo-item{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.memo-item:hover{background:var(--hover)}.memo-check{border:1.5px solid var(--strong);width:18px;height:18px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;display:grid}.memo-check.on{background:var(--accent);border-color:var(--accent)}.memo-item-main{flex:1;gap:2px;min-width:0;display:grid}.memo-item-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.memo-item.done strong{color:var(--muted);text-decoration:line-through}.memo-item-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.memo-title{background:0 0;border:0;width:100%;padding:4px 0 12px;font-size:1.25rem;font-weight:700}.memo-title:focus,.memo-body:focus{outline:none}.checklist{gap:2px;margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:center;gap:10px;display:flex}.checklist input{background:0 0;border:0;flex:1;min-width:0;padding:8px 0}.checklist input:focus{outline:none}.checklist li.done input{color:var(--muted);text-decoration:line-through}.memo-body{background:var(--surface);resize:vertical;border:0;border-radius:10px;width:100%;min-height:140px;margin:10px 0 12px;padding:12px}.search-pill{background:var(--surface);height:44px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;margin:12px 16px 0;padding:0 14px;display:flex}.search-pill input{min-width:0;color:var(--text);background:0 0;border:0;flex:1}.search-pill input:focus{outline:none}.member-row{align-items:center;gap:12px;padding:10px 16px;display:flex}.member-main{flex:1;gap:3px;min-width:0;display:grid}.member-main strong{font-size:.875rem}.member-main small{color:var(--muted);font-size:.6875rem}.member-seen{color:var(--muted);white-space:nowrap;font-size:.75rem}.activity-list{gap:4px;padding:8px 12px;display:grid}.act-wrap{gap:6px;margin-bottom:10px;display:grid}.act-card{background:var(--surface);border-radius:10px;overflow:hidden}.act-head{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.act-title{border-left:2px solid var(--c,var(--strong));flex:1;gap:2px;min-width:0;padding-left:10px;display:grid}.act-head.plain .act-title{border-left-color:var(--strong)}.act-title strong{font-size:.875rem}.act-title small{color:var(--muted);font-size:.75rem}.act-row{align-items:center;gap:10px;padding:9px 14px;font-size:.8125rem;display:flex}.act-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.act-time{color:var(--muted);white-space:nowrap;font-size:.75rem}.act-like{background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.inline-form{align-items:center;gap:8px;padding:12px 16px;display:flex}.album-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;padding:14px 16px;display:grid}.album-card{text-align:left;gap:4px;min-width:0;display:grid}.album-cover{aspect-ratio:1;background:var(--surface);color:var(--dim);border-radius:10px;place-items:center;display:grid;overflow:hidden}.album-cover img{object-fit:cover;width:100%;height:100%}.album-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.album-card small{color:var(--muted);font-size:.6875rem}.photo-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.photo{aspect-ratio:1;background:var(--surface);overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.social{gap:10px;padding:14px 16px;display:grid}.social-bar{align-items:center;gap:10px;display:flex}.viewer{color:#fff;flex-direction:column;display:flex}.viewer-bar{padding:calc(6px + var(--safe-t)) 8px 6px;justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.viewer-img{flex:1;place-items:center;min-height:0;padding:0 8px;display:grid;position:relative}.viewer-img img{object-fit:contain;max-width:100%;max-height:100%}.viewer-nav{color:#fff;background:#ffffff1f;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.viewer-nav.left{left:12px}.viewer-nav.right{right:12px}.viewer-social{max-height:38vh;padding-bottom:var(--safe-b);background:#111;overflow-y:auto}.social.dark{--surface:#222;--line:#333;--muted:#9a9a9a;--pill:#333;--text:#fff;color:#fff}.profile-head{justify-items:center;gap:6px;padding:20px 16px 4px;display:grid}.avatar-edit{border-radius:50%;position:relative}.avatar-edit-badge{background:var(--accent);width:28px;height:28px;color:var(--on-accent);box-shadow:0 0 0 2px var(--bg);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.color-picker{flex-wrap:wrap;gap:10px;padding:4px 0;display:flex}.swatch{border-radius:50%;width:28px;height:28px;box-shadow:inset 0 0 0 1px #0000001f}.swatch.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.label-preview{flex-wrap:wrap;gap:4px 2px}.label-editor{gap:8px;display:grid}.label-edit-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:relative}.label-edit-row .input{flex:1;width:auto}.label-dot{border-radius:50%;flex:none;width:28px;height:28px}.label-color-pop{width:100%;padding:6px 0 6px 38px}.about{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:24px 0;font-size:.75rem;display:flex}.search-bar{height:var(--topbar-h);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;padding:0 10px 0 6px;display:flex}.search-input{background:var(--surface);height:40px;color:var(--muted);border-radius:999px;flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.search-input input{color:var(--text);background:0 0;border:0;flex:1;min-width:0}.search-input input:focus{outline:none}.panel-scroll.card-list{align-content:start;padding-top:12px}.sheet-root,.drawer-root{z-index:100;position:fixed;inset:0}.drawer-root{pointer-events:none}.drawer-root.shown{pointer-events:auto}.sheet-backdrop{background:var(--overlay);opacity:0;transition:opacity var(--dur-nav) var(--ease-ios);position:absolute;inset:0}.sheet-root.shown .sheet-backdrop,.drawer-root.shown .sheet-backdrop{opacity:1}.sheet{max-height:calc(100dvh - 40px - var(--safe-t));background:var(--bg);transition:transform var(--dur-nav) var(--ease-ios);padding-bottom:var(--safe-b);box-shadow:var(--shadow);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet-root.shown .sheet{transform:translate3d(0, var(--sheet-y,0px), 0)}.sheet:not(.dragging){transition-duration:var(--sheet-dur,var(--dur-nav))}:is(.sheet.dragging,.sheet-root:has(.sheet.dragging) .sheet-backdrop){transition:none!important}.sheet.detent{height:calc(100dvh - 40px - var(--safe-t))}.sheet-grabber,.sheet .day-sheet-head,.sheet .action-title,.sheet>.editor-panel>.panel-header{touch-action:none}.app.mobile{transition:background-color var(--dur-nav) var(--ease-ios)}.app.mobile>.main{transition:transform var(--dur-nav) var(--ease-ios), border-radius var(--dur-nav) var(--ease-ios)}.app.mobile.behind-sheet{background:#000}.app.mobile.behind-sheet>.main{transform:scale(.93) translateY(calc(var(--safe-t) * .5));border-radius:12px}.sheet.tall{height:calc(100dvh - 12px - var(--safe-t))}.sheet-grabber{background:var(--strong);border-radius:3px;flex:none;width:36px;height:5px;margin:8px auto 2px;position:relative}.sheet-grabber:before{content:"";position:absolute;inset:-10px -60px}.sheet .editor-panel{background:0 0}.sheet .editor-panel .panel-header{border-bottom:0}@media (width>=700px){.sheet{opacity:0;width:min(520px,100vw - 32px);transition:transform var(--dur-small) var(--ease-ios), opacity var(--dur-small) var(--ease-ios);border-radius:14px;bottom:50%;left:50%;right:auto;transform:translate(-50%,60%)scale(.98)}.sheet-root.shown .sheet{opacity:1;transform:translate(-50%,50%)}.sheet.tall{height:min(760px,100dvh - 48px)}.sheet-grabber{display:none}}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.day-sheet-head{justify-content:space-between;align-items:center;padding:8px 16px 12px;display:flex}.day-sheet-head strong{font-size:1.25rem;display:block}.day-sheet-head span{color:var(--muted);font-size:.8125rem}.day-sheet-head.red strong,.day-sheet-head.red span{color:var(--red)}.day-sheet-list{gap:6px;padding:0 16px 16px;display:grid;overflow-y:auto}.action-sheet{padding-top:4px}.action-title{text-align:center;color:var(--muted);padding:8px 16px 12px;font-size:.8125rem}.action-list{background:var(--surface);border-radius:12px;margin:0 12px;display:grid;overflow:hidden}.action-list button{height:52px;color:var(--accent);font-size:1rem;font-weight:600}.action-list button+button{border-top:1px solid var(--line)}.action-list button.danger{color:var(--danger)}.action-cancel{background:var(--surface);border-radius:12px;height:52px;margin:8px 12px 12px;font-size:1rem;font-weight:700}.drawer{background:var(--bg);width:min(84vw,340px);transition:transform var(--dur-nav) var(--ease-ios);padding-left:var(--safe-l);padding-bottom:var(--safe-b);box-shadow:var(--shadow);position:absolute;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.drawer-root.shown .drawer{transform:none}.dialog-root{z-index:300;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog-backdrop{background:var(--overlay);position:absolute;inset:0}.dialog{background:var(--surface);width:min(360px,100%);box-shadow:var(--shadow);border-radius:14px;position:relative;overflow:hidden}.dialog-body{text-align:center;gap:8px;padding:20px 20px 14px;display:grid}.dialog-body h2{font-size:1.0625rem}.dialog-body p{color:var(--muted);margin:0}.dialog-text{border:1px solid var(--line);background:var(--bg);border-radius:8px;width:100%;padding:8px;font-size:.75rem}.dialog-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.dialog-actions.single{grid-template-columns:1fr}.dialog-actions button{height:48px;color:var(--accent);font-size:1rem}.dialog-actions button+button{border-left:1px solid var(--line)}.dialog-actions .strong{font-weight:700}.dialog-actions .danger{color:var(--danger);font-weight:700}.toast{left:50%;bottom:calc(24px + var(--safe-b));background:var(--text);color:var(--bg);opacity:0;pointer-events:none;transition:opacity var(--dur-small) var(--ease-ios), transform var(--dur-small) var(--ease-ios);z-index:400;text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:.8125rem;font-weight:700;position:fixed;transform:translate(-50%,20px)}.toast:empty{display:none}.toast.shown{opacity:1;transform:translate(-50%)}.with-tabs .toast{bottom:calc(var(--tabbar-h) + 16px + var(--safe-b))}.app.mobile{height:100dvh;padding-left:var(--safe-l);padding-right:var(--safe-r);flex-direction:column;display:flex}.app.mobile .main{flex:1;min-height:0;position:relative;overflow:hidden}.app.mobile .panel-page,.app.mobile .detail-panel{padding-top:var(--safe-t)}.m-topbar{padding:calc(6px + var(--safe-t)) 8px 6px 10px;flex:none;align-items:center;gap:6px;display:flex}.cal-switch{border-radius:8px;align-items:center;gap:2px;padding:4px;display:inline-flex}.m-title{text-align:left;flex:1;min-width:0;padding:2px 4px;display:grid}.m-title small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.m-title strong{white-space:nowrap;align-items:center;gap:4px;font-size:1.0625rem;display:inline-flex}.m-actions{align-items:center;gap:2px;display:flex}.today-btn{border:1.5px solid var(--text);border-radius:8px;place-items:center;width:34px;height:34px;margin-left:4px;font-size:.8125rem;font-weight:700;display:grid}.fab{background:linear-gradient(180deg, var(--accent-edge) -40%, var(--accent) 55%);width:56px;height:56px;color:var(--on-accent);z-index:5;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:16px;right:16px;box-shadow:inset 0 1px #ffffff59,0 6px 16px #00000047}.tabbar{border-top:1px solid var(--line);background:var(--bg);padding-bottom:var(--safe-b);flex:none;display:flex}.tabbar button{height:var(--tabbar-h);color:var(--muted);flex:1;align-content:center;justify-items:center;gap:2px;font-size:.625rem;font-weight:700;display:grid}.tabbar button.active{color:var(--accent)}.tab-icon{display:inline-flex;position:relative}.tab-icon .badge{top:-4px;right:-10px}.page-header{height:var(--topbar-h);align-items:center;gap:6px;padding:0 8px;display:flex}.page-header h1{text-align:center;flex:1;font-size:1.0625rem}.page-header-right{justify-content:flex-end;min-width:40px;display:flex}.mobile .editor-sheet .editor-body{padding-bottom:calc(40px + var(--safe-b))}.mobile .event-detail .composer{padding-bottom:calc(10px + var(--safe-b))}.auth{min-height:100dvh;padding:calc(24px + var(--safe-t)) 20px calc(24px + var(--safe-b));place-items:center;display:grid}.auth-card{text-align:center;gap:14px;width:min(380px,100%);display:grid}.auth-card h1{font-size:1.375rem}.auth-card p{margin:0}.auth-logo{place-items:center;display:grid}.auth .form{text-align:left}.passkey-btn{height:50px}.divider{color:var(--muted);align-items:center;gap:10px;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.pager{position:absolute;inset:0;overflow:hidden}.pager,.pager *{touch-action:pan-y}.pager-track{position:absolute;inset:0}.pager-page{contain:layout paint;background:var(--bg);position:absolute;inset:0}.pager.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}@media (hover:none){button,[role=button]{transition:opacity var(--dur-small) var(--ease-ios), transform var(--dur-small) var(--ease-ios), background-color var(--dur-small) var(--ease-ios)}button:active:not(:disabled),[role=button]:active{opacity:.55;transition-duration:0s}.fab:active,.primary-btn:active:not(:disabled),.secondary-btn:active,.pill-btn:active,.round-btn:active,.today-btn:active,.event-row:active:not(:disabled),.cal-card-btn:active,.album-card:active,.memo-card:active{opacity:1;transform:scale(.97)}.fab:active{transform:scale(.94)}.row.clickable:active,.action-list button:active,.action-cancel:active,.day:active,.tg-slot:active,.ev-row-btn:active,.search-hit:active,.activity-item:active{opacity:1;background-color:var(--press)}.entry:active,.tg-event:active{opacity:.7}.pager.dragging :active{opacity:1!important;transform:none!important}.pager.dragging .day:active,.pager.dragging .tg-slot:active{background-color:#0000}}.nav-host{position:absolute;inset:0;overflow:hidden}.nav-layer{background:var(--bg);contain:layout paint;flex-direction:column;display:flex;position:absolute;inset:0}.nav-page{flex:1;min-height:0;position:relative;overflow:hidden}.nav-page>*{height:100%}.nav-under{z-index:1;visibility:hidden}.nav-host.animating .nav-under{visibility:visible}.nav-top{z-index:2}.nav-leaving{z-index:3}.nav-layer.moving{will-change:transform;box-shadow:-6px 0 24px #0000001f}.nav-shade{opacity:0;pointer-events:none;z-index:50;background:#0000001f;position:absolute;inset:0}.nav-host:not(.animating) .nav-shade{display:none}.nav-edge{width:calc(16px + var(--safe-l));z-index:20;touch-action:none;position:absolute;top:0;bottom:0;left:0}.large-title{letter-spacing:.005em;padding:2px 16px 8px;font-size:2.125rem;font-weight:800;line-height:1.15}.mobile .panel-header.large h1{transition:opacity var(--dur-small) var(--ease-ios)}.mobile .panel-header.large{transition:border-color var(--dur-small) var(--ease-ios)}.mobile .panel-page:not(.scrolled) .panel-header.large{border-bottom-color:#0000}.mobile .panel-page:not(.scrolled) .panel-header.large h1{opacity:0}.ptr{opacity:0;height:0;transition:height var(--dur-nav) var(--ease-ios);position:relative;overflow:visible}.ptr-spinner{border:2.5px solid var(--strong);border-top-color:var(--muted);width:26px;height:26px;transform:rotate(var(--pull-rot,0deg));border-radius:50%;margin-left:-13px;position:absolute;top:-42px;left:50%}.ptr.refreshing{height:52px;opacity:1!important}.ptr.refreshing .ptr-spinner{animation:.8s linear infinite ptr-spin;top:13px}@keyframes ptr-spin{to{transform:rotate(360deg)}}.ptr-host.pulling>*,.ptr-host.releasing>*{transform:translate3d(0, var(--pull,0px), 0)}.ptr-host.releasing>*{transition:transform var(--dur-nav) var(--ease-ios)}.skeleton{gap:12px;padding:16px;display:grid}.skeleton i{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:300% 100%;border-radius:7px;height:14px;animation:1.3s ease-in-out infinite skeleton;display:block}.skeleton i.big{width:70%;height:28px}.skeleton i.short{width:45%}.skeleton i.block{border-radius:10px;height:64px}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skeleton i,.ptr.refreshing .ptr-spinner{animation-duration:3s}}.comment.pending{opacity:.6}.event-row,.entry,.tg-event{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.ctx-root{z-index:350;-webkit-backdrop-filter:blur();backdrop-filter:blur();transition:background-color var(--dur-small) var(--ease-ios), backdrop-filter var(--dur-small) var(--ease-ios), -webkit-backdrop-filter var(--dur-small) var(--ease-ios);background:0 0;position:fixed;inset:0}.ctx-root.shown{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0000002e}.ctx-preview{pointer-events:none;transition:transform var(--dur-nav) var(--ease-ios);filter:drop-shadow(0 8px 20px #0000002e);position:fixed}.ctx-preview>*{opacity:1!important;width:100%!important;height:100%!important;position:static!important;transform:none!important}.ctx-root.shown .ctx-preview{transform:scale(1.04)}.ctx-menu{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:250px;box-shadow:var(--shadow);opacity:0;transition:opacity var(--dur-small) var(--ease-ios), transform var(--dur-nav) var(--ease-ios);border-radius:13px;position:fixed;overflow:hidden;transform:scale(.85)}.ctx-menu.below{transform-origin:0 0}.ctx-menu.above{transform-origin:0 100%}.ctx-root.shown .ctx-menu{opacity:1;transform:none}.ctx-menu button{text-align:left;justify-content:space-between;align-items:center;width:100%;height:46px;padding:0 16px;font-size:1rem;display:flex}.ctx-menu button+button{border-top:1px solid var(--line)}.ctx-menu button.danger{color:var(--danger)}.ctx-menu button:active{background:var(--press);opacity:1}.kb-open .app.mobile{height:var(--vvh,100dvh);transform:translate3d(0, var(--vvtop,0px), 0)}.kb-open .mobile .event-detail .composer{padding-bottom:10px}.kb-open .app.mobile .with-tabs .tabbar,.kb-open .app.mobile .tabbar{display:none}.caldav-guide{align-items:stretch;gap:6px;font-size:.8125rem;line-height:1.45}.caldav-guide ol{margin:0 0 6px;padding-left:1.2em}.caldav-guide code,.form code{background:var(--surface-2);-webkit-user-select:all;user-select:all;border-radius:4px;padding:1px 4px;font-size:.8125rem}.url-box.app-password{letter-spacing:.06em;text-align:center;padding:12px;font-size:1.25rem}.cal-dot{border-radius:50%;width:14px;height:14px;display:inline-block}.place-field{margin-bottom:12px}.place-field .field-input{margin-bottom:0}.place-field.open .field-input{border-bottom-right-radius:0;border-bottom-left-radius:0}.place-list{background:var(--surface);border-top:.5px solid var(--line);animation:place-in .2s var(--ease-ios) both;border-radius:0 0 12px 12px;overflow:hidden}@keyframes place-in{0%{opacity:0;transform:translateY(-4px)}}.place-item{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;align-items:center;gap:12px;min-height:52px;padding:8px 16px;display:flex;position:relative}.place-item+.place-item:before{content:"";border-top:.5px solid var(--line);position:absolute;top:0;left:60px;right:0}.place-item.active,.place-item:active{background:var(--surface-2)}.place-icon{color:#fff;background:#ff3b30;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.place-icon.poi{background:#ff9500}.place-icon.place{background:#8e8e93}.place-text{flex-direction:column;gap:1px;min-width:0;display:flex}.place-title,.place-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.place-title{font-size:.9375rem;font-weight:500}.place-sub{color:var(--muted);font-size:.8125rem}.place-attrib{color:var(--muted);text-align:right;padding:4px 16px 6px;font-size:.6875rem}@media (prefers-reduced-motion:reduce){.place-list{animation:none}}
