:root{--paper: oklch(.975 .012 83);--paper-deep: oklch(.955 .016 80);--surface: oklch(.992 .006 85);--surface-2: oklch(.972 .01 84);--ink-900: oklch(.255 .018 70);--ink-700: oklch(.405 .018 70);--ink-500: oklch(.555 .016 72);--ink-300: oklch(.7 .013 74);--ink-200: oklch(.82 .01 78);--line: oklch(.905 .01 80);--line-strong: oklch(.855 .012 80);--dusk-700: oklch(.36 .1 262);--dusk-600: oklch(.44 .12 262);--dusk-500: oklch(.5 .13 262);--dusk-400: oklch(.63 .11 262);--dusk-200: oklch(.88 .05 262);--dusk-100: oklch(.945 .028 262);--honey-600: oklch(.66 .15 62);--honey-500: oklch(.74 .155 70);--honey-400: oklch(.815 .14 78);--honey-200: oklch(.915 .072 80);--honey-100: oklch(.962 .04 82);--violet-600: oklch(.53 .135 298);--violet-500: oklch(.615 .128 296);--violet-200: oklch(.905 .05 298);--violet-100: oklch(.955 .028 298);--success: oklch(.6 .13 150);--success-soft: oklch(.95 .04 152);--warning: oklch(.76 .15 72);--warning-soft: oklch(.958 .048 80);--danger: oklch(.575 .17 26);--danger-soft: oklch(.952 .04 30);--info: oklch(.605 .095 242);--info-soft: oklch(.952 .03 240);--bg: var(--paper);--bg-sunken: var(--paper-deep);--fg1: var(--ink-900);--fg2: var(--ink-700);--fg3: var(--ink-500);--fg4: var(--ink-300);--border: var(--line);--border-2: var(--line-strong);--primary: var(--dusk-500);--primary-hover: var(--dusk-600);--primary-press: var(--dusk-700);--primary-tint: var(--dusk-100);--on-primary: oklch(.985 .012 90);--accent: var(--honey-500);--accent-hover: var(--honey-600);--accent-tint: var(--honey-100);--on-accent: oklch(.27 .04 60);--social: var(--violet-500);--social-tint: var(--violet-100);--font-display: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: 3rem;--text-4xl: 4rem;--text-timer: 6.5rem;--leading-tight: 1.08;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed:1.7;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-wide: .04em;--tracking-caps: .08em;--weight-regular: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-xs: 0 1px 2px oklch(.3 .02 70 / .06);--shadow-sm: 0 2px 6px oklch(.3 .02 70 / .07), 0 1px 2px oklch(.3 .02 70 / .05);--shadow-md: 0 6px 18px oklch(.3 .03 70 / .1), 0 2px 6px oklch(.3 .02 70 / .06);--shadow-lg: 0 16px 40px oklch(.3 .03 70 / .13), 0 4px 12px oklch(.3 .02 70 / .07);--shadow-focus: 0 0 0 3px var(--dusk-200);--inset-soft: inset 0 1px 2px oklch(.3 .02 70 / .06);--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-base: .22s;--dur-slow: .42s;--glass-surface: oklch(.992 .01 85 / .93);--glass-surface-2: oklch(.978 .014 83 / .88);--glass-border: oklch(1 0 0 / .45);--glass-blur: blur(24px) saturate(1.15);--on-photo: oklch(.985 .012 90);--on-photo-muted: oklch(.985 .012 90 / .82);--text-shadow-photo: 0 1px 18px oklch(.18 .03 250 / .6);--text-timer-fluid: clamp(3.25rem, 2.4rem + 1.6vw, 4rem)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg2);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}input,textarea{font-family:var(--font-sans)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:999px;border:3px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.app-main{padding:clamp(28px,6vh,72px) clamp(24px,5vw,96px);padding-left:max(clamp(24px,5vw,96px),104px)}.app-rail{position:fixed;z-index:2;left:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px}body:has(.radio-dock:is(:hover,:focus-within,[data-pinned=true])) .app-rail{z-index:0}.app-dock{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.app-dock-logo{width:32px;height:32px;margin:2px 0 6px}.app-dock-sep{width:20px;height:1px;margin:4px 0;background:var(--border-2)}.app-dock-item{position:relative;width:40px;height:40px;padding:0;display:grid;place-items:center;border:none;border-radius:50%;background:transparent;color:var(--fg3);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.app-dock-item:hover{background:var(--surface-2);color:var(--fg2)}.app-dock-item[data-active=true]{background:var(--dusk-100);color:var(--dusk-600)}.app-dock-item:focus-visible,.app-avatar:focus-visible,.app-streak-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-dock-tip{position:absolute;left:calc(100% + 14px);top:50%;transform:translate(-4px,-50%);padding:5px 10px;border-radius:var(--radius-xs);background:var(--ink-900);color:var(--paper);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.app-dock-item:is(:hover,:focus-visible) .app-dock-tip{opacity:1;transform:translateY(-50%)}.app-rail:has([aria-expanded=true]) .app-dock-tip{visibility:hidden}.app-account{position:relative}.app-avatar{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:none;border:none;border-radius:50%;background:var(--dusk-100);color:var(--dusk-700);font-family:var(--font-sans);font-weight:700;font-size:13px}button.app-avatar{width:40px;height:40px;border:1px solid var(--glass-border);box-shadow:var(--shadow-md);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out)}button.app-avatar:hover,button.app-avatar[data-active=true]{box-shadow:var(--shadow-md),0 0 0 2px var(--dusk-400)}.app-account-menu{position:absolute;left:calc(100% + 18px);bottom:-8px;width:220px;padding:6px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.app-account-who{display:flex;align-items:center;gap:10px;padding:6px 8px 10px;margin-bottom:4px;border-bottom:1px solid var(--border)}.app-account-name,.app-account-handle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-name{font-size:13.5px;font-weight:600;color:var(--fg1)}.app-account-handle{font-size:var(--text-xs);color:var(--fg3)}.app-account-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--fg2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.app-account-item:hover,.app-account-item:focus-visible{background:var(--surface-2);outline:none}.app-account-item[data-tone=danger]{color:var(--danger)}.app-account-item[data-tone=danger]:is(:hover,:focus-visible){background:var(--danger-soft)}.app-streak{position:relative}.app-streak-chip{width:40px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:2px;border:none;border-radius:var(--radius-pill);background:transparent;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:1;color:var(--fg1);cursor:default}.app-streak-pop{position:absolute;left:calc(100% + 12px);bottom:0;padding:14px 16px 16px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),visibility 0s linear var(--dur-fast)}.app-streak:is(:hover,:focus-within) .app-streak-pop{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}@media(max-width:620px){.app-main{padding-left:clamp(24px,5vw,96px);padding-bottom:104px}.app-rail{display:contents}.app-dock,.app-account{position:fixed;z-index:inherit}.app-dock{left:50%;top:auto;bottom:16px;transform:translate(-50%);flex-direction:row}.app-dock-logo{display:none}.app-dock-sep{width:1px;height:20px;margin:0 4px}.app-dock-tip{display:none}.app-account{left:16px;bottom:24px}.app-account-menu{left:0;bottom:calc(100% + 12px)}.app-streak-chip{padding:0;height:40px}.app-streak-pop{left:auto;right:-8px;bottom:calc(100% + 18px)}}.focus-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);height:clamp(600px,66vh,720px)}.timer-panel{border-right:1px solid var(--glass-border)}@media(max-width:1180px){.focus-grid{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:900px){.focus-grid{grid-template-columns:1fr;height:auto}.timer-panel{border-right:none;border-bottom:1px solid var(--glass-border)}.workplan-body{max-height:440px}}@keyframes tcw-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tcw-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.tcw-fade-in{animation:tcw-fade-in var(--dur-base) var(--ease-out) both}.tcw-pop{animation:tcw-pop var(--dur-base) var(--ease-spring) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes wip-pulse{0%{transform:scale(.95);opacity:.6}50%{transform:scale(1.05);opacity:1}to{transform:scale(.95);opacity:.6}}.wip-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);animation:wip-pulse 2s infinite ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1.5s linear infinite}.radio-dock-anchor{position:relative;width:56px;max-width:100%;height:56px;flex:none;margin-left:auto}.radio-dock{position:absolute;top:0;right:0;z-index:20;width:auto;max-width:calc(100vw - 32px);padding:5px;background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);interpolate-size:allow-keywords;transition:width var(--dur-slow) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.radio-dock-bar{display:flex;align-items:center}.radio-dock-disc{padding:0;border:none;background:none;border-radius:50%;cursor:pointer;flex:none;display:block}.radio-dock-disc:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.radio-disc{position:relative;display:block;width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.radio-dock-disc:hover .radio-disc{filter:brightness(.97)}.radio-disc-grooves{position:absolute;inset:0;border-radius:50%}.radio-disc-sheen{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#fff0,#ffffff8c 12.5%,#fff0 30.56% 100%)}.radio-disc-label{position:absolute;inset:0;margin:auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:var(--inset-soft)}.radio-dock-meta{min-width:0;max-width:150px;margin:0 8px 0 10px;overflow:hidden;transition:max-width var(--dur-slow) var(--ease-out)}.radio-eq{display:flex;align-items:flex-end;gap:3px;height:16px;flex:none;margin:0 8px 0 6px}.radio-dock-transport{width:0;height:40px;margin-left:0;padding:0;flex:none;border:none;border-radius:50%;display:grid;place-items:center;overflow:hidden;cursor:pointer;color:var(--on-primary);box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;transition:width var(--dur-slow) var(--ease-out),margin var(--dur-slow) var(--ease-out),opacity var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),visibility 0s linear var(--dur-slow)}.radio-dock-transport:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.radio-dock-drawer{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows var(--dur-slow) var(--ease-out),opacity var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-slow)}.radio-dock-drawer>*{min-height:0;overflow:hidden}.radio-dock-drawer{contain:inline-size}.radio-stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:5px;padding:var(--space-3) 4px 4px;border-top:1px solid var(--glass-border)}.radio-dock:hover,.radio-dock:focus-within,.radio-dock[data-pinned=true]{width:320px}.radio-dock:is(:hover,:focus-within,[data-pinned=true]) .radio-dock-meta{flex:1;max-width:260px}.radio-dock:is(:hover,:focus-within,[data-pinned=true]) .radio-dock-transport{width:40px;margin-left:4px;opacity:1;visibility:visible;transition-delay:0s}.radio-dock:is(:hover,:focus-within,[data-pinned=true]) .radio-dock-drawer{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}.radio-fog{position:fixed;inset:0;z-index:19;pointer-events:none;background:#04091580;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity var(--dur-slow) var(--ease-out),visibility 0s linear var(--dur-slow)}.radio-dock-anchor:has(.radio-dock:is(:hover,:focus-within,[data-pinned=true])) .radio-fog{opacity:1;visibility:visible;transition-delay:0s}.radio-station{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1;white-space:nowrap;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}@media(max-width:620px){.radio-stations{grid-template-columns:1fr}.radio-dock-meta{max-width:120px}}@keyframes radio-spin{to{transform:rotate(360deg)}}.radio-disc-spin{animation:radio-spin 9s linear infinite}@keyframes radio-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.radio-eq>span{transform-origin:bottom center;animation:radio-eq .9s var(--ease-soft) infinite}
