:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--font-sans: "Clear Sans", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-sm: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--line-tight: 1.2;--line-normal: 1.5;--weight-regular: 400;--weight-bold: 700;--elevation-1: 0 1px 2px rgb(0 0 0 / .3);--elevation-2: 0 4px 12px rgb(0 0 0 / .35);--house-surface: #1a1a1b;--house-border: #3a3a3c;--house-text: #ffffff;--house-muted: #b0b0b0;--accent: #00c4b8;--bg: #121213;--surface: #1a1a1b;--surface-raised: #242426;--border: #3a3a3c;--text: #ffffff;--text-muted: #9ca3af;--danger: #e5484d;--warning: #e8a33d;--success: #4caf50;color-scheme:dark}:root[data-theme=light]{--bg: #f8fafc;--surface: #ffffff;--surface-raised: #ffffff;--border: #e2e8f0;--text: #121213;--text-muted: #64748b;--danger: #e5484d;--warning: #e8a33d;--success: #4caf50;color-scheme:light}:root[data-accent=test]{--accent: #00c4b8}:root[data-accent=pace]{--accent: #00fff2}:root[data-accent=timer]{--accent: #4caf50}:root[data-accent=wordle]{--accent: #6aaa64}:root[data-accent=phosphor]{--accent: #66ee66}:root[data-accent=scan]{--accent: #ffffff}:root[data-accent=walkthrough]{--accent: #ff00ff}:root[data-accent=finance]{--accent: #3987e5}:root[data-accent=planning]{--accent: #e8a33d}:root[data-accent=gallery]{--accent: #6b7a3f}:root[data-accent=memory]{--accent: #8b5cf6}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--line-normal)}body{margin:0;min-height:100vh}.app-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--house-surface);border-bottom:1px solid var(--house-border);position:sticky;top:0;z-index:50;font-family:var(--font-sans)}.hamburger{background:none;border:none;color:var(--house-text);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;width:auto;min-width:0;flex:0 0 auto;box-sizing:content-box;margin:0;border-radius:0}.hamburger:hover,.hamburger:focus-visible{color:var(--accent)}.app-title{font-size:20px;font-weight:700;color:var(--accent);flex:1 1 auto;margin:0;line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans)}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 60%,transparent);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s}.nav-scrim.open{opacity:1;pointer-events:auto}.nav-drawer{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--house-surface);border-right:1px solid var(--house-border);z-index:101;padding:16px 0;transform:translate(-100%);transition:transform .22s ease;font-family:var(--font-sans);overflow-y:auto}.nav-drawer:not(.open){visibility:hidden;transition:transform .22s ease,visibility 0s .22s}.nav-drawer.open{transform:translate(0)}.nav-header{font-size:18px;font-weight:700;color:var(--accent);padding:8px 20px 16px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--house-muted);text-decoration:none;font-size:15px;background:none;border:none;width:100%;text-align:left;font-family:inherit}.nav-item:hover,.nav-item:focus-visible{color:var(--house-text);background:color-mix(in srgb,var(--house-text) 4%,transparent)}.nav-item.active{color:var(--accent);font-weight:700}.nav-item .icon{font-size:18px;width:22px;text-align:center}.nav-divider{height:1px;background:var(--house-border);margin:10px 20px}.profile-wrap{position:relative;flex:0 0 auto}.profile-avatar{background:none;border:none;padding:0;cursor:pointer;border-radius:var(--radius-full);line-height:0}.profile-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-menu{display:none;position:absolute;right:0;top:calc(100% + var(--space-2));min-width:200px;background:var(--house-surface);border:1px solid var(--house-border);border-radius:var(--radius-md);box-shadow:var(--elevation-2);padding:var(--space-2) 0;z-index:60}.profile-menu.open{display:block}.profile-menu-who{margin:0;padding:var(--space-2) var(--space-4);color:var(--house-muted);font-size:var(--text-sm)}.profile-menu-item{display:block;padding:var(--space-2) var(--space-4);color:var(--house-text);text-decoration:none}.profile-menu-item:hover,.profile-menu-item:focus-visible{background:color-mix(in srgb,var(--house-text) 6%,transparent)}.pk-main{max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-10);display:flex;flex-direction:column;gap:var(--space-4)}.pk-stack{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.pk-inline{display:flex;flex-wrap:wrap;align-items:center}.pk-gap-1{gap:var(--space-1)}.pk-gap-2{gap:var(--space-2)}.pk-gap-3{gap:var(--space-3)}.pk-gap-4{gap:var(--space-4)}.pk-gap-6{gap:var(--space-6)}.pk-gap-8{gap:var(--space-8)}.pk-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.pk-card-title{margin:0;font-size:var(--text-lg);line-height:var(--line-tight)}.pk-card-body{display:flex;flex-direction:column;gap:var(--space-3)}.pk-card-footer{color:var(--text-muted);font-size:var(--text-sm)}.pk-heading{margin:0;line-height:var(--line-tight)}.pk-heading-2{font-size:var(--text-xl)}.pk-heading-3{font-size:var(--text-lg)}.pk-heading-4{font-size:var(--text-md)}.pk-text{margin:0}.pk-text-sm{font-size:var(--text-sm)}.pk-muted{color:var(--text-muted)}.pk-link{color:var(--accent);text-underline-offset:2px}.pk-code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-1);overflow-wrap:anywhere}.pk-kv{display:grid;gap:var(--space-2);margin:0}.pk-kv-row{display:grid;grid-template-columns:minmax(8rem,30%) 1fr;gap:var(--space-3)}.pk-kv dt{color:var(--text-muted)}.pk-kv dd{margin:0;overflow-wrap:anywhere}.pk-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:inherit;font-weight:var(--weight-bold);padding:var(--space-2) var(--space-4);min-height:40px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;width:fit-content}.pk-button-primary{background:var(--accent);color:var(--bg)}.pk-button-secondary{background:transparent;color:var(--text);border-color:var(--border)}.pk-button-danger{background:var(--danger);color:var(--bg)}.pk-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pk-button:disabled{opacity:.55;cursor:not-allowed}.pk-form{display:flex;flex-direction:column;gap:var(--space-3)}.pk-field{display:flex;flex-direction:column;gap:var(--space-1)}.pk-label{font-weight:var(--weight-bold);font-size:var(--text-sm)}.pk-input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.pk-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pk-hint{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.pk-banner{border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--surface)}.pk-banner-info{border-left-color:var(--accent)}.pk-banner-success{border-left-color:var(--success)}.pk-banner-warning{border-left-color:var(--warning)}.pk-banner-danger{border-left-color:var(--danger)}.pk-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);object-fit:cover;background:var(--surface-raised);color:var(--text);font-weight:var(--weight-bold)}.pk-avatar-sm{width:24px;height:24px;font-size:11px}.pk-avatar-md{width:32px;height:32px;font-size:13px}.pk-avatar-lg{width:64px;height:64px;font-size:22px}.pk-avatar-initials{border:1px solid var(--house-border)}@media(prefers-reduced-motion:reduce){.nav-drawer,.nav-scrim{transition:none}}
