@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap";.quick-compose-layer{width:min(100%,28rem);height:min(100%,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2rem));min-height:32rem;pointer-events:auto}.quick-compose-screen{--quick-compose-hub-y: 54%;position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;border-radius:34px;border:1px solid var(--border-color);background:radial-gradient(circle at top center,color-mix(in srgb,var(--accent) 16%,transparent),transparent 36%),radial-gradient(circle at bottom center,color-mix(in srgb,var(--accent-warm) 14%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 94%,var(--surface-accent)) 0%,var(--bg-secondary) 100%);box-shadow:var(--shadow-lg);animation:quickComposeScreenIn .22s var(--ease-emphasized) both;-webkit-user-select:none;user-select:none}.quick-compose-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 26%),radial-gradient(circle at center,transparent 42%,rgba(0,0,0,.08) 100%);pointer-events:none}.quick-compose-screen-event{background:radial-gradient(circle at left center,color-mix(in srgb,var(--accent) 20%,transparent),transparent 32%),radial-gradient(circle at bottom center,color-mix(in srgb,var(--accent-warm) 14%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 94%,var(--surface-accent)) 0%,var(--bg-secondary) 100%)}.quick-compose-screen-todo{background:radial-gradient(circle at top center,color-mix(in srgb,var(--success) 18%,transparent),transparent 34%),radial-gradient(circle at bottom center,color-mix(in srgb,var(--accent-warm) 12%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 94%,var(--surface-accent)) 0%,var(--bg-secondary) 100%)}.quick-compose-screen-homework{background:radial-gradient(circle at right center,color-mix(in srgb,var(--warning) 18%,transparent),transparent 34%),radial-gradient(circle at bottom center,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 94%,var(--surface-accent)) 0%,var(--bg-secondary) 100%)}.quick-compose-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem .35rem}.quick-compose-copy{max-width:16rem}.quick-compose-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .72rem;border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border-color));color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.quick-compose-kicker svg{color:var(--accent)}.quick-compose-hint{margin:.7rem 0 0;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.quick-compose-close{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);color:var(--text-secondary);flex-shrink:0}.quick-compose-close:hover{color:var(--text-primary)}.quick-compose-arena{position:relative;flex:1;min-height:0;padding:.5rem 0 5.5rem;touch-action:none}.quick-compose-target{position:absolute;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:0;padding:.3rem;border:none;background:none;color:color-mix(in srgb,var(--text-secondary) 92%,transparent);box-shadow:none;opacity:.72;transition:transform .18s var(--ease-smooth),opacity .18s ease,color .18s ease,text-shadow .18s ease}.quick-compose-target svg{color:currentColor;opacity:.78}.quick-compose-target span{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.quick-compose-target-active{color:var(--text-primary);opacity:1;text-shadow:0 0 16px color-mix(in srgb,var(--accent) 16%,transparent)}.quick-compose-target-event{left:.95rem;top:var(--quick-compose-hub-y);transform:translateY(-50%);flex-direction:row}.quick-compose-target-todo{left:50%;top:calc(var(--quick-compose-hub-y) - 9.6rem);transform:translate(-50%);flex-direction:column}.quick-compose-target-homework{right:.95rem;top:var(--quick-compose-hub-y);transform:translateY(-50%);flex-direction:row-reverse}.quick-compose-target-event span,.quick-compose-target-homework span{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.18em}.quick-compose-target-event.quick-compose-target-active{transform:translateY(-50%) scale(1.04)}.quick-compose-target-todo.quick-compose-target-active{transform:translate(-50%) scale(1.04)}.quick-compose-target-homework.quick-compose-target-active{transform:translateY(-50%) scale(1.04)}.quick-compose-plus-origin{position:absolute;left:50%;top:var(--quick-compose-hub-y);width:82px;height:82px;transform:translate(-50%,-50%);pointer-events:none;opacity:0}.quick-compose-launchpad{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + .9rem);transform:translate(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:.65rem;width:min(calc(100% - 2rem),18rem);pointer-events:none}.quick-compose-plus{position:absolute;left:50%;top:var(--quick-compose-hub-y);width:82px;height:82px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid transparent;background:radial-gradient(circle at top left,rgba(255,255,255,.24),transparent 42%),linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent-warm) 68%,var(--accent)));color:#fff;box-shadow:0 24px 40px color-mix(in srgb,var(--accent) 24%,transparent);transition:transform .18s var(--ease-smooth),box-shadow .18s ease,filter .18s ease;touch-action:none;cursor:grab;z-index:2}.quick-compose-plus-dragging{transition:none;cursor:grabbing}.quick-compose-plus-armed{box-shadow:0 26px 44px color-mix(in srgb,var(--accent) 30%,transparent);filter:saturate(1.08)}.quick-compose-launchpad-hint{color:var(--text-tertiary);font-size:.78rem;font-weight:600;letter-spacing:-.01em;text-align:center;text-wrap:balance}@keyframes quickComposeScreenIn{0%{opacity:0;transform:scale(.985) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 860px){.quick-compose-layer{width:100%;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem);min-height:0}}@media (max-width: 640px){.quick-compose-screen{border-radius:30px}.quick-compose-header{padding-inline:.9rem}.quick-compose-hint{font-size:.88rem;max-width:14rem}.quick-compose-target{padding:.2rem}.quick-compose-target span{font-size:.64rem}.quick-compose-target-event{left:.7rem}.quick-compose-target-homework{right:.7rem}.quick-compose-target-todo{top:calc(var(--quick-compose-hub-y) - 8.6rem)}.quick-compose-plus{width:76px;height:76px}.quick-compose-launchpad-hint{font-size:.74rem;max-width:13rem}.quick-compose-plus-origin{width:76px;height:76px}}.layout{min-height:100vh;display:grid;grid-template-columns:minmax(280px,var(--sidebar-width)) minmax(0,1fr);background:radial-gradient(circle at top right,var(--shell-glow-a),transparent 28%),radial-gradient(circle at top left,var(--shell-glow-b),transparent 32%),radial-gradient(circle at bottom left,var(--shell-glow-c),transparent 36%)}.sidebar{position:sticky;top:0;height:100vh;padding:1.4rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:1rem;background:var(--shell-sidebar-bg);border-right:1px solid var(--border-color);-webkit-backdrop-filter:var(--shell-blur);backdrop-filter:var(--shell-blur);z-index:20}.sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sidebar-brand{display:inline-flex;align-items:center;gap:.9rem;color:inherit}.sidebar-brand:hover{color:inherit}.sidebar-brand-copy{display:flex;flex-direction:column;gap:.18rem}.sidebar-brand-copy strong{font-family:var(--font-heading);font-size:1.5rem;line-height:1;letter-spacing:-.04em}.sidebar-brand-copy span{color:var(--text-secondary);font-size:.82rem;line-height:1.35;max-width:15rem}.sidebar-glance{padding:1rem 1.05rem;border-radius:24px;background:linear-gradient(135deg,var(--surface-accent),transparent 72%),var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.sidebar-glance-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem;color:var(--text-secondary)}.sidebar-status{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sidebar-status.online{background:var(--success-light);color:var(--success)}.sidebar-status.offline{background:var(--warning-light);color:var(--warning)}.sidebar-glance-date{margin:0;color:var(--text-primary);font-family:var(--font-heading);font-size:1.12rem;line-height:1.2}.sidebar-nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.1rem}.nav-section{display:flex;flex-direction:column;gap:.35rem}.nav-section-label{padding:0 .7rem;color:var(--text-tertiary);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:.85rem;padding:.85rem .9rem;border-radius:20px;color:var(--text-secondary);border:1px solid transparent;transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform var(--transition-fast)}.nav-item:hover{background:var(--surface-glass-subtle);border-color:var(--border-color-light);color:var(--text-primary)}.nav-item-active{background:linear-gradient(135deg,var(--surface-accent),transparent 70%),var(--bg-elevated);border-color:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text-primary);box-shadow:var(--shadow-sm)}.nav-item-compact{padding-top:.72rem;padding-bottom:.72rem}.nav-icon{flex-shrink:0;color:var(--text-tertiary)}.nav-item-active .nav-icon{color:var(--accent)}.nav-copy{min-width:0;display:flex;flex-direction:column}.nav-label{font-size:.92rem;font-weight:700;line-height:1.2}.sidebar-footer{display:flex;align-items:center;gap:.7rem;padding-top:.5rem}.theme-toggle,.logout-btn{min-height:50px;border-radius:18px;border:1px solid var(--border-color);background:var(--surface-glass-subtle);color:var(--text-primary)}.theme-toggle{width:50px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.logout-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.88rem;font-weight:700}.logout-btn:hover{border-color:color-mix(in srgb,var(--error) 35%,transparent);color:var(--error);background:var(--error-light)}.main-content{min-width:0;min-height:100vh;display:flex;flex-direction:column}.content-shell{flex:1;min-height:0;padding:1.5rem 1.7rem 1.7rem}.content-body{min-height:100%;overflow-x:clip}.sidebar-close{display:none;width:38px;height:38px;align-items:center;justify-content:center;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);flex-shrink:0}.sidebar-close:hover{background:var(--surface-glass-chip);border-color:var(--border-color-light);color:var(--text-primary)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--shell-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30}.portrait-lock-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 1.5rem) max(1rem,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 1.5rem) max(1rem,env(safe-area-inset-left,0px));background:radial-gradient(circle at top left,var(--shell-glow-b),transparent 34%),radial-gradient(circle at bottom right,var(--shell-glow-a),transparent 40%),linear-gradient(180deg,color-mix(in srgb,var(--bg-primary) 92%,transparent),color-mix(in srgb,var(--bg-secondary) 92%,transparent));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portrait-lock-card{width:min(100%,25rem);display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1.4rem 1.3rem;border-radius:28px;background:var(--surface-glass-strong);border:1px solid var(--surface-border-strong);box-shadow:var(--shadow-lg);text-align:center}.portrait-lock-icon{width:72px;height:72px;display:inline-flex;align-items:center;justify-content:center;border-radius:24px;color:var(--accent);background:linear-gradient(145deg,var(--surface-accent-strong),transparent 72%),var(--surface-glass-soft);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:var(--shadow-sm)}.portrait-lock-title{margin:0;font-family:var(--font-heading);font-size:1.45rem;line-height:1.05;letter-spacing:-.04em;color:var(--text-primary)}.portrait-lock-body,.portrait-lock-hint{margin:0;max-width:19rem;color:var(--text-secondary);line-height:1.45}.portrait-lock-hint{font-size:.88rem;color:var(--text-tertiary)}.mobile-dock{display:none}@media (max-width: 1080px){.content-shell{padding-right:1.2rem;padding-left:1.2rem}}@media (max-width: 860px){.layout{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(88vw,340px);height:100vh;transform:translate(-100%);transition:transform var(--transition);z-index:40;box-shadow:var(--shadow-lg)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar-close{display:inline-flex}.content-shell{padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem calc(6.2rem + env(safe-area-inset-bottom,0px)) 1rem}.mobile-dock{position:fixed;left:.85rem;right:.85rem;bottom:calc(env(safe-area-inset-bottom,0px) + .7rem);z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:.5rem;border-radius:26px;background:var(--shell-dock-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:var(--shell-blur);backdrop-filter:var(--shell-blur);box-shadow:var(--shadow-lg)}.mobile-dock-link{min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.24rem;border-radius:20px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:-.01em}.mobile-dock-link-active{background:linear-gradient(135deg,var(--surface-accent-strong),transparent 72%),var(--surface-glass-soft);color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.mobile-dock-menu{border:none}}@media (max-width: 640px){.sidebar{width:min(92vw,320px);padding:calc(env(safe-area-inset-top,0px) + 1rem) .9rem calc(env(safe-area-inset-bottom,0px) + 1rem)}.sidebar-brand-copy strong{font-size:1.35rem}.nav-item{padding:.78rem .82rem;border-radius:18px}.mobile-dock{left:.7rem;right:.7rem;gap:.32rem;padding:.42rem}.portrait-lock-card{width:100%;padding:1.25rem 1.05rem;border-radius:24px}}.alert-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:2000;padding:calc(env(safe-area-inset-top,0px) + 1rem) calc(env(safe-area-inset-right,0px) + 1rem) calc(env(safe-area-inset-bottom,0px) + 1rem) calc(env(safe-area-inset-left,0px) + 1rem);overflow-y:auto;overscroll-behavior:contain;animation:fadeIn var(--transition-fast) ease-out}.alert-dialog{position:relative;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.75rem;width:min(100%,380px);max-width:380px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2rem);overflow-y:auto;margin:0;box-shadow:var(--shadow-lg);animation:slideUp var(--transition) ease-out}.alert-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto 1rem}.alert-dialog.info .alert-icon{background:var(--info-light);color:var(--info)}.alert-dialog.success .alert-icon{background:var(--success-light);color:var(--success)}.alert-dialog.warning .alert-icon{background:var(--warning-light);color:var(--warning)}.alert-dialog.error .alert-icon{background:var(--error-light);color:var(--error)}.alert-content{text-align:center;margin-bottom:1.5rem}.alert-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.alert-message{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.alert-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--border-radius);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.alert-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.alert-actions{display:flex;gap:.75rem;justify-content:center}.alert-actions .btn{min-width:100px}@media (max-width: 768px){.alert-overlay{padding:calc(env(safe-area-inset-top,0px) + .75rem) calc(env(safe-area-inset-right,0px) + .75rem) calc(env(safe-area-inset-bottom,0px) + .75rem) calc(env(safe-area-inset-left,0px) + .75rem)}.alert-dialog{width:min(100%,28rem);max-width:100%;padding:1rem;border-radius:20px}.alert-icon{width:44px;height:44px;margin-bottom:.85rem}.alert-content{margin-bottom:1.1rem}.alert-title{font-size:1.1rem}.alert-actions{flex-direction:column-reverse;align-items:stretch}.alert-actions .btn{width:100%;min-width:0}.alert-close{top:.6rem;right:.6rem}}.page-transition{min-width:0;opacity:1;transform:none;filter:none;animation-duration:.32s;animation-fill-mode:backwards;animation-timing-function:var(--ease-emphasized);transform-origin:center top;will-change:opacity}.page-transition-forward{animation-name:kozePageEnterForward}.page-transition-back{animation-name:kozePageEnterBack}.page-transition-same{animation-name:kozePageEnterSame}@keyframes kozePageEnterForward{0%{opacity:0;transform:translate3d(18px,10px,0) scale(.992);filter:blur(5px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes kozePageEnterBack{0%{opacity:0;transform:translate3d(-16px,8px,0) scale(.994);filter:blur(4px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes kozePageEnterSame{0%{opacity:0;transform:translate3d(0,10px,0) scale(.996);filter:blur(4px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 18%,var(--bg-secondary) 50%,var(--bg-tertiary) 82%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--border-radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.page-transition{animation:none;filter:none;transform:none}.skeleton{animation:none}}:root{--font-heading: "Fraunces", Georgia, serif;--font-body: "Manrope", "Avenir Next", "Segoe UI", sans-serif;--bg-primary: #f8efe9;--bg-secondary: #f1e2d9;--bg-tertiary: #e6d2c5;--bg-elevated: #fff8f3;--bg-elevated-strong: #fffdfb;--text-primary: #2b201d;--text-secondary: #695650;--text-tertiary: #99827a;--text-inverse: #fff8f3;--border-color: rgba(66, 40, 36, .12);--border-color-light: rgba(66, 40, 36, .07);--accent: #8f5d4d;--accent-hover: #744637;--accent-light: rgba(143, 93, 77, .16);--accent-warm: #d68f9a;--success: #677d58;--success-light: rgba(103, 125, 88, .16);--warning: #b07c4e;--warning-light: rgba(176, 124, 78, .16);--error: #b65f6e;--error-light: rgba(182, 95, 110, .16);--error-hover: #9f4f5f;--info: #6f88b0;--info-light: rgba(111, 136, 176, .16);--urgency-critical: #b65f6e;--urgency-high: #bb7d59;--urgency-medium: #8f5d4d;--urgency-normal: #8a756e;--urgency-low: #baa7a1;--shadow-sm: 0 12px 28px rgba(42, 27, 24, .07);--shadow: 0 18px 48px rgba(42, 27, 24, .09);--shadow-md: 0 24px 56px rgba(42, 27, 24, .14);--shadow-lg: 0 30px 80px rgba(42, 27, 24, .2);--surface-glass: rgba(255, 248, 243, .8);--surface-glass-strong: rgba(255, 252, 249, .74);--surface-glass-soft: rgba(255, 250, 246, .64);--surface-glass-subtle: rgba(255, 249, 245, .48);--surface-glass-chip: rgba(255, 249, 245, .58);--surface-glass-hover: rgba(255, 252, 249, .8);--surface-border-strong: rgba(255, 250, 246, .46);--surface-highlight: rgba(255, 255, 255, .28);--surface-highlight-soft: rgba(255, 255, 255, .18);--surface-highlight-faint: rgba(255, 255, 255, .03);--surface-accent: color-mix(in srgb, var(--accent) 16%, var(--bg-elevated));--surface-accent-strong: color-mix(in srgb, var(--accent) 20%, var(--bg-elevated-strong));--surface-warm: color-mix(in srgb, var(--accent-warm) 16%, var(--bg-elevated));--shell-sidebar-bg: rgba(255, 246, 241, .74);--shell-header-bg: linear-gradient(180deg, rgba(248, 240, 235, .94), rgba(248, 240, 235, .76));--shell-dock-bg: rgba(255, 247, 242, .88);--shell-overlay: rgba(16, 20, 23, .38);--canvas-glow-a: color-mix(in srgb, var(--accent-warm) 18%, transparent);--canvas-glow-b: color-mix(in srgb, var(--accent) 16%, transparent);--canvas-glow-c: color-mix(in srgb, var(--info) 12%, transparent);--shell-glow-a: color-mix(in srgb, var(--accent-warm) 12%, transparent);--shell-glow-b: color-mix(in srgb, var(--accent) 14%, transparent);--shell-glow-c: color-mix(in srgb, var(--info) 10%, transparent);--auth-glow-a: color-mix(in srgb, var(--accent-warm) 24%, transparent);--auth-glow-b: color-mix(in srgb, var(--info) 18%, transparent);--sidebar-width: 300px;--header-height: 120px;--border-radius: 16px;--border-radius-lg: 28px;--ease-smooth: cubic-bezier(.2, .8, .2, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.4, 0, .2, 1);--transition-fast: .14s var(--ease-smooth);--transition: .22s var(--ease-smooth);--transition-slow: .32s var(--ease-emphasized);--tactile-lift: translateY(-1px);--tactile-press: translateY(1px) scale(.985);--tactile-focus-ring: 0 0 0 3px var(--accent-light);--shell-blur: blur(18px)}:root[data-font-preset=readable]{--font-heading: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--font-body: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif}:root[data-font-preset=system]{--font-heading: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}[data-theme=dark]{--bg-primary: #171212;--bg-secondary: #211917;--bg-tertiary: #302523;--bg-elevated: #261d1b;--bg-elevated-strong: #312522;--text-primary: #f6eeea;--text-secondary: #c7b1ab;--text-tertiary: #9a847d;--text-inverse: #171212;--border-color: rgba(246, 238, 234, .1);--border-color-light: rgba(246, 238, 234, .06);--accent: #d7a18f;--accent-hover: #e2b5a6;--accent-light: rgba(215, 161, 143, .17);--accent-warm: #d692a3;--success: #9db28f;--success-light: rgba(157, 178, 143, .18);--warning: #ddb27a;--warning-light: rgba(221, 178, 122, .18);--error: #ef9ba4;--error-light: rgba(239, 155, 164, .18);--error-hover: #f2a7af;--info: #96aed3;--info-light: rgba(150, 174, 211, .18);--urgency-critical: #ef9ba4;--urgency-high: #e0ab80;--urgency-medium: #d7a18f;--urgency-normal: #b29c94;--urgency-low: #675652;--shadow-sm: 0 16px 34px rgba(0, 0, 0, .28);--shadow: 0 22px 48px rgba(0, 0, 0, .34);--shadow-md: 0 28px 64px rgba(0, 0, 0, .42);--shadow-lg: 0 34px 92px rgba(0, 0, 0, .52);--surface-glass: rgba(35, 25, 24, .86);--surface-glass-strong: rgba(44, 32, 30, .84);--surface-glass-soft: rgba(52, 38, 36, .78);--surface-glass-subtle: rgba(52, 38, 36, .64);--surface-glass-chip: rgba(52, 38, 36, .72);--surface-glass-hover: rgba(61, 45, 43, .86);--surface-border-strong: rgba(246, 238, 234, .1);--surface-highlight: rgba(255, 255, 255, .08);--surface-highlight-soft: rgba(255, 255, 255, .08);--surface-highlight-faint: rgba(255, 255, 255, .02);--surface-accent: color-mix(in srgb, var(--accent) 18%, var(--bg-elevated));--surface-accent-strong: color-mix(in srgb, var(--accent) 24%, var(--bg-elevated-strong));--surface-warm: color-mix(in srgb, var(--accent-warm) 18%, var(--bg-elevated));--shell-sidebar-bg: rgba(23, 17, 17, .84);--shell-header-bg: linear-gradient(180deg, rgba(24, 18, 18, .94), rgba(24, 18, 18, .78));--shell-dock-bg: rgba(23, 17, 17, .9);--shell-overlay: rgba(8, 5, 5, .56);--canvas-glow-a: color-mix(in srgb, var(--accent-warm) 12%, transparent);--canvas-glow-b: color-mix(in srgb, var(--accent) 12%, transparent);--canvas-glow-c: color-mix(in srgb, var(--info) 10%, transparent);--shell-glow-a: color-mix(in srgb, var(--accent-warm) 10%, transparent);--shell-glow-b: color-mix(in srgb, var(--accent) 11%, transparent);--shell-glow-c: color-mix(in srgb, var(--info) 8%, transparent);--auth-glow-a: color-mix(in srgb, var(--accent-warm) 16%, transparent);--auth-glow-b: color-mix(in srgb, var(--info) 12%, transparent)}:root[data-app-theme=petal]{--bg-primary: #fbf0f2;--bg-secondary: #f4e1e6;--bg-tertiary: #e8d2d8;--bg-elevated: #fff8fa;--bg-elevated-strong: #fffdfd;--text-primary: #2f2026;--text-secondary: #705760;--text-tertiary: #a0848d;--border-color: rgba(73, 38, 48, .12);--border-color-light: rgba(73, 38, 48, .07);--accent: #a86c7b;--accent-hover: #8c5464;--accent-light: rgba(168, 108, 123, .16);--accent-warm: #d6a58a;--info: #7e8db8;--info-light: rgba(126, 141, 184, .16);--surface-glass: rgba(255, 248, 250, .82);--surface-glass-strong: rgba(255, 252, 253, .76);--surface-glass-soft: rgba(255, 248, 251, .66);--surface-glass-subtle: rgba(255, 246, 249, .5);--surface-glass-chip: rgba(255, 246, 249, .6);--surface-glass-hover: rgba(255, 251, 252, .82);--surface-border-strong: rgba(255, 249, 251, .46);--shell-sidebar-bg: rgba(255, 247, 249, .76);--shell-header-bg: linear-gradient(180deg, rgba(251, 241, 243, .94), rgba(251, 241, 243, .76));--shell-dock-bg: rgba(255, 247, 249, .89);--shell-overlay: rgba(22, 16, 19, .38)}[data-theme=dark][data-app-theme=petal]{--bg-primary: #1a1316;--bg-secondary: #23191e;--bg-tertiary: #33262d;--bg-elevated: #291d23;--bg-elevated-strong: #34252d;--text-primary: #f8eef1;--text-secondary: #c7afb8;--text-tertiary: #9c8590;--text-inverse: #1a1316;--border-color: rgba(248, 238, 241, .1);--border-color-light: rgba(248, 238, 241, .06);--accent: #d8a2b0;--accent-hover: #e6bac6;--accent-light: rgba(216, 162, 176, .18);--accent-warm: #deaa93;--info: #98a5da;--info-light: rgba(152, 165, 218, .18);--surface-glass: rgba(39, 27, 31, .86);--surface-glass-strong: rgba(49, 34, 40, .84);--surface-glass-soft: rgba(57, 40, 47, .78);--surface-glass-subtle: rgba(57, 40, 47, .64);--surface-glass-chip: rgba(57, 40, 47, .72);--surface-glass-hover: rgba(66, 47, 55, .86);--surface-border-strong: rgba(248, 238, 241, .1);--shell-sidebar-bg: rgba(27, 20, 22, .84);--shell-header-bg: linear-gradient(180deg, rgba(27, 20, 22, .94), rgba(27, 20, 22, .78));--shell-dock-bg: rgba(27, 20, 22, .9);--shell-overlay: rgba(8, 5, 6, .56)}:root[data-app-theme=harbor]{--bg-primary: #f4f1ec;--bg-secondary: #e9e4db;--bg-tertiary: #d9d2c6;--bg-elevated: #fdfaf6;--bg-elevated-strong: #fffdfb;--text-primary: #23272c;--text-secondary: #5f6770;--text-tertiary: #8e949b;--border-color: rgba(45, 53, 62, .12);--border-color-light: rgba(45, 53, 62, .07);--accent: #6e7f97;--accent-hover: #596b84;--accent-light: rgba(110, 127, 151, .16);--accent-warm: #c5957f;--info: #8ca6c5;--info-light: rgba(140, 166, 197, .16);--surface-glass: rgba(253, 250, 246, .82);--surface-glass-strong: rgba(255, 253, 250, .76);--surface-glass-soft: rgba(248, 244, 238, .68);--surface-glass-subtle: rgba(246, 241, 234, .52);--surface-glass-chip: rgba(248, 243, 236, .62);--surface-glass-hover: rgba(255, 252, 249, .82);--surface-border-strong: rgba(255, 252, 248, .44);--shell-sidebar-bg: rgba(250, 247, 241, .76);--shell-header-bg: linear-gradient(180deg, rgba(244, 240, 235, .94), rgba(244, 240, 235, .76));--shell-dock-bg: rgba(252, 248, 244, .89);--shell-overlay: rgba(15, 19, 24, .38)}[data-theme=dark][data-app-theme=harbor]{--bg-primary: #12181b;--bg-secondary: #182025;--bg-tertiary: #243037;--bg-elevated: #1b2328;--bg-elevated-strong: #222d34;--text-primary: #eef2f4;--text-secondary: #b3bec7;--text-tertiary: #8a96a0;--text-inverse: #12181b;--border-color: rgba(238, 242, 244, .1);--border-color-light: rgba(238, 242, 244, .06);--accent: #94a8c2;--accent-hover: #adc1da;--accent-light: rgba(148, 168, 194, .18);--accent-warm: #d5a28b;--info: #8fb5d6;--info-light: rgba(143, 181, 214, .18);--surface-glass: rgba(28, 36, 41, .86);--surface-glass-strong: rgba(35, 46, 53, .84);--surface-glass-soft: rgba(42, 55, 63, .78);--surface-glass-subtle: rgba(42, 55, 63, .64);--surface-glass-chip: rgba(42, 55, 63, .72);--surface-glass-hover: rgba(49, 63, 72, .86);--surface-border-strong: rgba(238, 242, 244, .1);--shell-sidebar-bg: rgba(18, 24, 27, .84);--shell-header-bg: linear-gradient(180deg, rgba(19, 25, 29, .94), rgba(19, 25, 29, .78));--shell-dock-bg: rgba(18, 24, 27, .9);--shell-overlay: rgba(6, 8, 10, .58)}:root[data-app-theme=ember]{--bg-primary: #faf0e7;--bg-secondary: #f0ddd0;--bg-tertiary: #e3c6b5;--bg-elevated: #fff8f2;--bg-elevated-strong: #fffdfb;--text-primary: #2f2019;--text-secondary: #70554b;--text-tertiary: #9c7b6f;--border-color: rgba(74, 44, 34, .12);--border-color-light: rgba(74, 44, 34, .07);--accent: #aa6a4c;--accent-hover: #91553a;--accent-light: rgba(170, 106, 76, .16);--accent-warm: #d5916e;--info: #7f91af;--info-light: rgba(127, 145, 175, .16);--surface-glass: rgba(255, 248, 243, .82);--surface-glass-strong: rgba(255, 252, 249, .76);--surface-glass-soft: rgba(255, 246, 240, .66);--surface-glass-subtle: rgba(255, 243, 236, .5);--surface-glass-chip: rgba(255, 245, 238, .6);--surface-glass-hover: rgba(255, 251, 247, .82);--surface-border-strong: rgba(255, 248, 242, .46);--shell-sidebar-bg: rgba(255, 245, 239, .76);--shell-header-bg: linear-gradient(180deg, rgba(250, 240, 232, .94), rgba(250, 240, 232, .76));--shell-dock-bg: rgba(255, 246, 240, .89);--shell-overlay: rgba(22, 16, 13, .4)}[data-theme=dark][data-app-theme=ember]{--bg-primary: #1a1311;--bg-secondary: #241916;--bg-tertiary: #332420;--bg-elevated: #2a1e1a;--bg-elevated-strong: #362622;--text-primary: #f9efe9;--text-secondary: #ceb1a4;--text-tertiary: #a88679;--text-inverse: #1a1311;--border-color: rgba(249, 239, 233, .1);--border-color-light: rgba(249, 239, 233, .06);--accent: #ddaa93;--accent-hover: #ebbcab;--accent-light: rgba(221, 170, 147, .18);--accent-warm: #e2a77f;--info: #98abc8;--info-light: rgba(152, 171, 200, .18);--surface-glass: rgba(39, 28, 24, .86);--surface-glass-strong: rgba(49, 35, 30, .84);--surface-glass-soft: rgba(59, 43, 38, .78);--surface-glass-subtle: rgba(59, 43, 38, .64);--surface-glass-chip: rgba(59, 43, 38, .72);--surface-glass-hover: rgba(69, 50, 44, .86);--surface-border-strong: rgba(249, 239, 233, .1);--shell-sidebar-bg: rgba(26, 19, 17, .84);--shell-header-bg: linear-gradient(180deg, rgba(28, 20, 18, .94), rgba(28, 20, 18, .78));--shell-dock-bg: rgba(26, 19, 17, .9);--shell-overlay: rgba(8, 6, 5, .58)}:root[data-app-theme=graphite]{--bg-primary: #f1efeb;--bg-secondary: #e4e0da;--bg-tertiary: #d4cec6;--bg-elevated: #faf7f3;--bg-elevated-strong: #fdfbf8;--text-primary: #1d1a17;--text-secondary: #514b45;--text-tertiary: #7a736b;--border-color: rgba(29, 26, 23, .12);--border-color-light: rgba(29, 26, 23, .07);--accent: #34302c;--accent-hover: #27231f;--accent-light: rgba(52, 48, 44, .14);--accent-warm: #8a7765;--info: #666059;--info-light: rgba(102, 96, 89, .14);--surface-glass: rgba(250, 247, 243, .84);--surface-glass-strong: rgba(253, 251, 248, .82);--surface-glass-soft: rgba(246, 241, 236, .74);--surface-glass-subtle: rgba(241, 235, 229, .58);--surface-glass-chip: rgba(244, 239, 234, .66);--surface-glass-hover: rgba(252, 250, 247, .86);--surface-border-strong: rgba(253, 251, 248, .52);--shell-sidebar-bg: rgba(247, 244, 240, .82);--shell-header-bg: linear-gradient(180deg, rgba(241, 237, 232, .96), rgba(241, 237, 232, .82));--shell-dock-bg: rgba(249, 247, 243, .9);--shell-overlay: rgba(15, 13, 11, .4)}[data-theme=dark][data-app-theme=graphite]{--bg-primary: #100e0d;--bg-secondary: #151311;--bg-tertiary: #201d19;--bg-elevated: #181512;--bg-elevated-strong: #221e1b;--text-primary: #f3eee8;--text-secondary: #c4bcb2;--text-tertiary: #8d847a;--text-inverse: #100e0d;--border-color: rgba(243, 238, 232, .1);--border-color-light: rgba(243, 238, 232, .06);--accent: #d0c5b7;--accent-hover: #e0d6ca;--accent-light: rgba(208, 197, 183, .18);--accent-warm: #9f876f;--info: #8a7f74;--info-light: rgba(138, 127, 116, .16);--surface-glass: rgba(27, 24, 21, .86);--surface-glass-strong: rgba(34, 30, 27, .84);--surface-glass-soft: rgba(42, 37, 33, .78);--surface-glass-subtle: rgba(42, 37, 33, .64);--surface-glass-chip: rgba(42, 37, 33, .72);--surface-glass-hover: rgba(52, 46, 41, .86);--surface-border-strong: rgba(243, 238, 232, .1);--shell-sidebar-bg: rgba(16, 14, 13, .88);--shell-header-bg: linear-gradient(180deg, rgba(17, 15, 13, .95), rgba(17, 15, 13, .82));--shell-dock-bg: rgba(16, 14, 13, .92);--shell-overlay: rgba(4, 3, 2, .62)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:radial-gradient(circle at top left,var(--canvas-glow-a),transparent 26%),radial-gradient(circle at top right,var(--canvas-glow-b),transparent 28%),radial-gradient(circle at bottom right,var(--canvas-glow-c),transparent 32%),linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);line-height:1.6;min-height:100vh;letter-spacing:-.012em;-webkit-text-size-adjust:100%;text-size-adjust:100%}[data-theme=dark] body{background:radial-gradient(circle at top left,var(--canvas-glow-a),transparent 26%),radial-gradient(circle at top right,var(--canvas-glow-b),transparent 28%),radial-gradient(circle at bottom right,var(--canvas-glow-c),transparent 32%),linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}body.modal-open{overflow:hidden}#root{min-height:100vh}::selection{background:var(--accent-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;letter-spacing:-.02em;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.brand-mark{--brand-mark-size: 44px;width:var(--brand-mark-size);height:var(--brand-mark-size);display:inline-flex;align-items:center;justify-content:center;border-radius:calc(var(--brand-mark-size) * .32);background:radial-gradient(circle at top left,var(--surface-highlight),transparent 40%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 94%,var(--bg-elevated)),color-mix(in srgb,var(--accent-warm) 88%,var(--bg-elevated)));color:#fff;box-shadow:0 18px 36px color-mix(in srgb,var(--accent) 18%,transparent);position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(180deg,var(--surface-highlight-soft),var(--surface-highlight-faint))}.brand-mark svg{width:62%;height:62%;position:relative;z-index:1}button{font-family:var(--font-body);cursor:pointer}:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger){transform:translateY(0) scale(1);transition-property:transform,box-shadow,filter,background-color,border-color,color,opacity;transition-duration:var(--transition-fast);transition-timing-function:ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):hover:not(:disabled):not([aria-disabled=true]){transform:var(--tactile-lift)}:where(.btn,.toggle-btn,.segmented-btn,.view-toggle-btn,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):hover:not(:disabled):not([aria-disabled=true]){box-shadow:var(--shadow-sm)}:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):active:not(:disabled):not([aria-disabled=true]){transform:var(--tactile-press);box-shadow:none;filter:saturate(.96)}:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):focus-visible{outline:none;box-shadow:var(--tactile-focus-ring)}:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):disabled,:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger)[aria-disabled=true]{transform:none!important;box-shadow:none!important;filter:none!important}@media (prefers-reduced-motion: reduce){:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger){transition-property:background-color,border-color,color,opacity;transition-duration:var(--transition-fast);transform:none}:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):hover:not(:disabled):not([aria-disabled=true]),:where(button,[role=button],.btn,.tab,.toggle-btn,.segmented-btn,.view-toggle-btn,.login-toggle-btn,.btn-link,.group-share-btn,.group-events-toggle-btn,.friend-events-toggle,.modal-close,.select-trigger):active:not(:disabled):not([aria-disabled=true]){transform:none;filter:none;box-shadow:none}.modal-overlay-entered,.modal-overlay-exiting,.modal-overlay-entered>.modal,.modal-overlay-exiting>.modal{animation:none}}input,textarea,select{font-family:var(--font-body);font-size:.9375rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}.spinner{width:32px;height:32px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.78rem 1.25rem;font-size:.875rem;font-weight:700;letter-spacing:-.01em;border-radius:999px;border:1px solid var(--border-color);transition:all var(--transition)}.btn-primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent-warm) 64%,var(--accent)));color:var(--text-inverse);border-color:transparent;box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 18%,transparent)}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-hover),color-mix(in srgb,var(--accent-warm) 70%,var(--accent-hover)));border-color:transparent}.btn-secondary{background:var(--surface-glass-chip);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--surface-glass-hover);border-color:var(--border-color)}.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}.btn-danger:hover{background:var(--error-hover, #8a4545);border-color:var(--error-hover, #8a4545)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn-sm{padding:.46rem .88rem;font-size:.8125rem;height:auto}.btn-icon{width:40px;height:40px;padding:0;border-radius:14px}.btn-ghost.btn-active{color:var(--accent)}.btn-ghost.btn-danger:hover{color:var(--error);background:var(--error-light)}.input,input.input{width:100%;max-width:100%;min-width:0;display:block;box-sizing:border-box!important;padding:.82rem 1rem;font-size:.9375rem;background:var(--surface-glass);border:1px solid var(--border-color);border-radius:18px;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition)}.input:focus{outline:none;border-color:var(--text-tertiary);box-shadow:0 0 0 3px var(--accent-light)}input[type=time],input[type=date],input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;box-sizing:border-box!important}.input::placeholder{color:var(--text-tertiary)}.textarea{resize:vertical;min-height:80px;box-sizing:border-box!important;width:100%;max-width:100%;min-width:0}.label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.75rem;cursor:pointer}[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23afc0bc' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;letter-spacing:.02em;border-radius:var(--border-radius);background:var(--bg-tertiary);color:var(--text-secondary)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-error{background:var(--error-light);color:var(--error)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-tertiary);gap:1rem}.empty-state svg{opacity:.5}.empty-state p{font-family:var(--font-heading);font-size:1.125rem;font-style:italic}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1000;padding:calc(env(safe-area-inset-top,0px) + 1rem) calc(env(safe-area-inset-right,0px) + 1rem) calc(env(safe-area-inset-bottom,0px) + 1rem) calc(env(safe-area-inset-left,0px) + 1rem);overflow-y:auto;overscroll-behavior:contain;opacity:0}.modal-overlay-entered{animation:modalOverlayIn .18s var(--ease-smooth) both}.modal-overlay-exiting{animation:modalOverlayOut .18s var(--ease-exit) both;pointer-events:none}.modal{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);width:min(100%,420px);max-width:420px;max-height:min(90vh,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2rem));overflow-y:auto;padding:1.75rem;margin:0;overscroll-behavior:contain;box-shadow:var(--shadow-lg)}.modal-overlay-entered>.modal{animation:modalSurfaceIn .22s var(--ease-emphasized) both}.modal-overlay-exiting>.modal{animation:modalSurfaceOut .18s var(--ease-exit) both}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes modalSurfaceIn{0%{opacity:0;transform:translate3d(0,14px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes modalSurfaceOut{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,10px,0) scale(.992)}}.modal-lg{width:min(100%,560px);max-width:560px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-title{font-family:var(--font-heading);font-size:1.375rem;font-weight:500;color:var(--text-primary);margin:0;line-height:1.1}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--border-radius);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:0;min-width:0}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.modal-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.modal-actions-right{display:flex;gap:.75rem;margin-left:auto}.modal .form-group:last-child{margin-bottom:0}.form-group{margin-bottom:1.25rem;min-width:0}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn var(--transition) ease-out}.slide-up{animation:slideUp var(--transition) ease-out}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.page-header--sticky{position:sticky;top:0;z-index:10;padding-bottom:1rem;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.page-header--sticky .filter-tabs{background:transparent;padding:0}.page-header--sticky .tab{border:1px solid color-mix(in srgb,var(--border-color) 90%,transparent);background:color-mix(in srgb,var(--surface-glass-subtle) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.page-header--sticky .tab:hover{background:color-mix(in srgb,var(--surface-glass-soft) 90%,transparent)}.page-header--sticky .tab.active{background:color-mix(in srgb,var(--bg-elevated) 84%,transparent);border-color:color-mix(in srgb,var(--border-color) 70%,transparent);box-shadow:var(--shadow-sm)}.page-header--sticky .select-trigger{background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.page-header h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:500}.section-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.section-title svg{color:var(--text-tertiary)}.filter-tabs{display:flex;gap:.25rem;background:var(--bg-tertiary);padding:.25rem;border-radius:var(--border-radius)}.tab{padding:.5rem 1rem;font-size:.8125rem;font-weight:500;background:transparent;border:none;border-radius:calc(var(--border-radius) - 2px);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.header-filters{display:flex;gap:1rem;align-items:center;min-width:0;max-width:100%}.course-filter{width:auto;min-width:140px}@media (max-width: 768px){:root{--sidebar-width: 0px;--header-height: 60px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.form-row{gap:.75rem;grid-template-columns:1fr}.page-header,.header-filters{flex-direction:column;align-items:stretch}.modal-overlay{padding:calc(env(safe-area-inset-top,0px) + .75rem) calc(env(safe-area-inset-right,0px) + .75rem) calc(env(safe-area-inset-bottom,0px) + .75rem) calc(env(safe-area-inset-left,0px) + .75rem)}.modal{width:min(100%,36rem);max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem);padding:1rem;border-radius:20px}.modal-lg{width:min(100%,36rem);max-width:100%}.modal-header{align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem}.modal-title{font-size:1.15rem}.modal-footer,.modal-actions{flex-direction:column-reverse;align-items:stretch;gap:.75rem;margin-top:1rem;padding-top:1rem}.modal-actions-right{flex-direction:column;width:100%;margin-left:0}.modal-footer .btn,.modal-actions .btn{width:100%;justify-content:center}.btn{min-height:44px}.input,input.input,.textarea,.select{min-height:48px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=image]),textarea,select,.select-trigger,.time-input>.time-input-segment,input.time-input-segment,.timezone-edit-input,.share-link-edit-input,.friend-edit-input{font-size:16px!important}input[type=time],input[type=date],input[type=datetime-local]{padding-left:.25rem;padding-right:.25rem}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}.filter-tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex-shrink:0}.section-title{font-size:1rem;padding-bottom:.75rem;margin-bottom:1rem}.empty-state{padding:2rem 1.5rem}}@media (hover: none) and (pointer: coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=image]),textarea,select,.select-trigger,.time-input>.time-input-segment,input.time-input-segment,.timezone-edit-input,.share-link-edit-input,.friend-edit-input{font-size:16px!important}}
