.react-clock{display:block;position:relative}.react-clock,.react-clock *,.react-clock :before,.react-clock :after{box-sizing:border-box}.react-clock__face{border:1px solid #000;border-radius:50%;position:absolute;inset:0}.react-clock__hand{position:absolute;inset:0 50%}.react-clock__hand__body{background-color:#000;position:absolute;transform:translate(-50%)}.react-clock__mark{position:absolute;inset:0 50%}.react-clock__mark__body{background-color:#000;position:absolute;transform:translate(-50%)}.react-clock__mark__number{text-align:center;width:80px;position:absolute;left:-40px}.react-clock__second-hand__body{background-color:red}.face{color:var(--face-fg);justify-content:center;align-items:center;display:flex}.face--analog .react-clock__face{background:var(--face-bg);border:2px solid var(--face-fg)}.face--analog .react-clock__mark__body,.face--analog .react-clock__hand__body{background-color:var(--face-fg)}.face--analog .react-clock__mark__number{color:var(--face-fg);font-family:Georgia,Times New Roman,serif;font-size:.95em}.face--analog .react-clock__second-hand__body{background-color:var(--accent-red)}.face--minimal .react-clock__face{border-width:1px;border-color:var(--border)}.face--minimal .react-clock__mark__body{background-color:var(--muted)}.face--night{--face-bg:var(--night-bg);--face-fg:var(--night-fg)}.digital{text-align:center;line-height:1}.digital__time{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:3.4rem;font-weight:200}.digital__ampm{color:var(--muted);margin-left:.25rem;font-size:1rem;font-weight:500}.digital__date{color:var(--muted);margin-top:.6rem;font-size:.85rem}.flip{perspective:300px;align-items:center;gap:.3rem;display:flex}.flip__tile{background:var(--flip-bg);width:2.6rem;height:3.6rem;color:var(--flip-fg);font-variant-numeric:tabular-nums;border-radius:.5rem;justify-content:center;align-items:center;font-size:2.4rem;font-weight:700;display:inline-flex;position:relative;box-shadow:0 3px 8px #00000040}.flip__tile:after{content:"";background:#0000008c;height:2px;position:absolute;inset:50% 0 auto}.flip--animating{animation:.6s ease-in-out flip}.flip__colon{font-size:2rem;font-weight:700}.flip__ampm{color:var(--muted);margin-left:.2rem;font-size:.8rem;font-weight:600}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}.lcd{color:#1d2618;text-align:center;background:#9fae8c;border:6px solid #3b4033;border-radius:.7rem;padding:.5rem 1rem;font-family:DS-Digital,Courier New,ui-monospace,monospace;box-shadow:inset 0 0 14px #0000004d}.face--night .lcd{color:#9cff8a;text-shadow:0 0 6px #9cff8a99;background:#24321f}.lcd__date{letter-spacing:.15em;opacity:.8;font-size:.75rem}.lcd__time{letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:700}.lcd__sec{margin-left:.2rem;font-size:1.2rem}.lcd__ampm{margin-left:.3rem;font-size:.8rem}@media (prefers-reduced-motion:reduce){.flip--animating{animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f6;--bg-grad:radial-gradient(1200px 600px at 10% -10%, #dfe8ff 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #ffe9d6 0%, transparent 55%);--surface:#fff;--surface-2:#f6f7fb;--fg:#1b1f2a;--muted:#687083;--border:#e2e6ee;--accent:#3b6fd8;--accent-fg:#fff;--accent-soft:#e6eeff;--accent-red:#e0483e;--shadow:0 1px 2px #1018280f, 0 8px 24px #1018280f;--face-bg:#fff;--face-fg:#1b1f2a;--night-bg:#232842;--night-fg:#e8eaf6;--night-card:linear-gradient(180deg, #f1f2fb 0%, #e7e9f7 100%);--flip-bg:#1d2029;--flip-fg:#f4f4f6;--work-bg:#dff3e5;--work-fg:#19703a;--morning-bg:#fff4d6;--morning-fg:#8a5a00;--evening-bg:#fde7d9;--evening-fg:#9a4a12;--asleep-bg:#e6e7f4;--asleep-fg:#444a78;--weekend-bg:#ece4fb;--weekend-fg:#5b3aa6;--danger:#c2372d;--radius:18px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1020;--bg-grad:radial-gradient(1000px 600px at 0% -10%, #1c2550 0%, transparent 60%), radial-gradient(800px 500px at 110% 0%, #2a1c3d 0%, transparent 55%);--surface:#171b2e;--surface-2:#1e2339;--fg:#e9ebf5;--muted:#9aa1b8;--border:#2a3050;--accent:#7aa2ff;--accent-fg:#0d1020;--accent-soft:#23305a;--shadow:0 1px 2px #0000004d, 0 10px 30px #00000059;--face-bg:#f7f8fc;--face-fg:#1b1f2a;--night-bg:#0b0e1c;--night-card:linear-gradient(180deg, #151933 0%, #10142a 100%);--flip-bg:#0b0d14;--work-bg:#163a25;--work-fg:#8fe0aa;--morning-bg:#3b3012;--morning-fg:#f3cf6b;--evening-bg:#3d2416;--evening-fg:#f5ad7c;--asleep-bg:#252a4a;--asleep-fg:#b9bff0;--weekend-bg:#2f2350;--weekend-fg:#cdb6ff}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1020;--bg-grad:radial-gradient(1000px 600px at 0% -10%, #1c2550 0%, transparent 60%), radial-gradient(800px 500px at 110% 0%, #2a1c3d 0%, transparent 55%);--surface:#171b2e;--surface-2:#1e2339;--fg:#e9ebf5;--muted:#9aa1b8;--border:#2a3050;--accent:#7aa2ff;--accent-fg:#0d1020;--accent-soft:#23305a;--shadow:0 1px 2px #0000004d, 0 10px 30px #00000059;--face-bg:#f7f8fc;--face-fg:#1b1f2a;--night-bg:#0b0e1c;--night-card:linear-gradient(180deg, #151933 0%, #10142a 100%);--flip-bg:#0b0d14;--work-bg:#163a25;--work-fg:#8fe0aa;--morning-bg:#3b3012;--morning-fg:#f3cf6b;--evening-bg:#3d2416;--evening-fg:#f5ad7c;--asleep-bg:#252a4a;--asleep-fg:#b9bff0;--weekend-bg:#2f2350;--weekend-fg:#cdb6ff}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg-grad), var(--bg);min-height:100dvh;color:var(--fg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-attachment:fixed;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.app{max-width:1280px;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;gap:14px;margin:0 auto;display:flex}.btn,.icon-btn,.chip,.segmented button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;min-height:44px;transition:background .15s,border-color .15s,transform 50ms}.btn{padding:0 16px;font-weight:600}.btn:active,.icon-btn:active,.chip:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}.btn--ghost{background:0 0}.btn--ghost:hover,.icon-btn:hover,.chip:hover{background:var(--surface-2)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:0 0}.btn--small{min-height:44px;padding:0 12px;font-size:.85rem}.icon-btn{justify-content:center;align-items:center;min-width:44px;padding:0;font-size:1.1rem;display:inline-flex}.icon-btn:disabled{opacity:.4;cursor:default}.chip{align-items:center;gap:6px;padding:0 12px;font-size:.9rem;display:inline-flex}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.topbar{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);top:max(8px, env(safe-area-inset-top));z-index:20;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid;position:sticky}.topbar__brand{align-items:center;gap:8px;display:flex}.topbar__brand h1{letter-spacing:-.01em;white-space:nowrap;font-size:1.15rem;font-weight:750}.topbar__logo{font-size:1.4rem}.topbar__controls{align-items:center;gap:8px;display:flex}.select select{border:1px solid var(--border);background:var(--surface);appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;border-radius:12px;min-height:44px;padding:0 32px 0 12px}.segmented{border:1px solid var(--border);border-radius:12px;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);border:0;border-radius:0;min-width:48px;padding:0 12px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}.search{position:relative}.search__icon{color:var(--muted);pointer-events:none;font-size:1.2rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search__input{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;width:100%;min-height:46px;padding:0 14px 0 40px;font-size:1rem}.search__input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:var(--surface);outline:none}.search__list{z-index:30;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;max-height:min(60vh,420px);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.search__option{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 10px;display:flex}.search__option.is-active{background:var(--accent-soft)}.search__option.is-added{opacity:.5;cursor:default}.search__label{text-overflow:ellipsis;overflow:hidden}.search__time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.85rem}.search__hint{color:var(--muted);padding:10px}.planner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 16px 8px}.planner--active{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), var(--shadow)}.planner__head{flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:44px;display:flex}.planner__hint{color:var(--muted);font-size:.9rem}.planner__preview{color:var(--accent);font-weight:600}.planner__head .btn{margin-left:auto}.planner__range{width:100%;height:44px;accent-color:var(--accent);cursor:pointer;margin:0}.planner__scale{color:var(--muted);justify-content:space-between;font-size:.75rem;display:flex}.banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);gap:8px;padding:14px 16px;display:grid}.banner__title{font-weight:700}.banner__list{color:var(--muted);font-size:.9rem}.banner__actions{flex-wrap:wrap;gap:8px;display:flex}.toast{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:50;background:var(--fg);color:var(--bg);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:12px;padding:12px 18px;font-weight:600;display:flex;position:fixed;transform:translate(-50%)}.toast .btn{min-height:36px}.empty{text-align:center;border:2px dashed var(--border);border-radius:var(--radius);padding:64px 16px}.empty__title{margin-bottom:6px;font-size:1.3rem;font-weight:700}.empty__hint,.dashboard__loading{color:var(--muted)}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.grid__item{touch-action:manipulation;position:relative}.grid__item.is-dragging{z-index:10;opacity:.9}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;box-shadow:var(--shadow);text-align:center;flex-direction:column;gap:4px;padding:10px 14px 16px;transition:background .4s;display:flex;position:relative}.card--night{background:var(--night-card)}.card__top{align-items:center;gap:4px;margin:0 -6px;display:flex}.card__spacer{flex:1}.card__top .icon-btn{color:var(--muted);background:0 0;border-color:#0000}.card__drag{cursor:grab;touch-action:none}.card__you{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.card__face{justify-content:center;align-items:center;min-height:160px;margin:4px 0 8px;display:flex}.card__city{letter-spacing:-.01em;font-size:1.25rem;font-weight:750}.card__place{color:var(--muted);font-size:.85rem}.card__meta{font-variant-numeric:tabular-nums;margin-top:4px;font-size:.95rem}.card__time{font-weight:650}.card__relation{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:2px 6px;font-size:.75rem;font-weight:700}.card__badges{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.card__dst{color:var(--danger);margin-top:4px;font-size:.8rem}.badge{border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge--work{background:var(--work-bg);color:var(--work-fg)}.badge--morning{background:var(--morning-bg);color:var(--morning-fg)}.badge--evening{background:var(--evening-bg);color:var(--evening-fg)}.badge--asleep{background:var(--asleep-bg);color:var(--asleep-fg)}.badge--weekend{background:var(--weekend-bg);color:var(--weekend-fg)}.badge--custom{color:var(--muted);border:1px dashed var(--border);background:0 0}.card-menu{z-index:15;text-align:left;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;gap:10px;max-height:70vh;padding:12px;display:grid;position:absolute;top:56px;left:8px;right:8px;overflow-y:auto}.card-menu__title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem}.card-menu__styles{flex-wrap:wrap;gap:6px;display:flex}.card-menu__actions{gap:6px;display:grid}.card-menu__actions .btn{text-align:left;justify-content:flex-start}.hours-editor{gap:8px;display:grid}.hours-editor fieldset{border:0;margin:0;padding:0}.hours-editor legend{margin-bottom:4px;font-size:.85rem;font-weight:600}.hours-editor__row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hours-editor__row legend{width:100%}.hours-editor input[type=time]{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;min-height:44px;padding:0 8px}.hours-editor__days{flex-wrap:wrap;gap:6px;display:flex}.hours-editor__days legend{width:100%}.hours-editor__days .chip input{margin:0}.hours-editor__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.hours-editor__error{color:var(--danger);font-size:.85rem}.sheet{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);width:min(520px,100vw - 24px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);padding:18px}.sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1473}.sheet h2{font-size:1.2rem}.sheet h3{margin:18px 0 6px;font-size:.95rem}.sheet__head{justify-content:space-between;align-items:center;display:flex}.sheet__hint{color:var(--muted);margin-bottom:8px;font-size:.85rem}@media (width<=720px){.topbar{grid-template-columns:1fr auto;position:static}.topbar__brand{grid-column:1}.topbar__search{grid-area:2/1/auto/-1}.topbar__controls{flex-wrap:wrap;grid-area:3/1/auto/-1;justify-content:flex-end}.segmented{margin-right:auto}.select{flex:140px}.select select{width:100%}.grid{grid-template-columns:1fr}.sheet{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100vw;max-width:100vw;margin:auto auto 0}}
