: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)}.pk-avatar-initials:before{content:attr(data-initials)}@media(prefers-reduced-motion:reduce){.nav-drawer,.nav-scrim{transition:none}}.pk-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font:inherit;font-size:var(--text-lg);line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer}.pk-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pk-icon-button:disabled{opacity:.55;cursor:not-allowed}.pk-icon-button.pk-button-secondary{border-color:var(--border)}.pk-icon-button[aria-pressed=true]{border-color:var(--accent)}.pk-textarea{resize:vertical;min-height:8rem;line-height:var(--line-normal)}.pk-search{display:flex;flex-direction:column;gap:var(--space-1)}.pk-search .pk-input{width:100%}.pk-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.pk-list-item+.pk-list-item{border-top:1px solid var(--border)}.pk-list-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text);text-decoration:none;width:100%;font:inherit;text-align:left;background:none;border:none}.pk-list-action{cursor:pointer}.pk-list-action:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.pk-list-action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pk-list-action[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}.pk-list-leading,.pk-list-trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2)}.pk-list-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.pk-list-title{font-weight:var(--weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-list-meta{color:var(--text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-sm);border:1px solid var(--border);color:var(--text);white-space:nowrap}.pk-badge-info{border-color:var(--accent)}.pk-badge-success{border-color:var(--success)}.pk-badge-warning{border-color:var(--warning)}.pk-badge-danger{border-color:var(--danger)}.pk-thumb{display:inline-block;border-radius:var(--radius-md);object-fit:cover;background:var(--surface-raised);border:1px solid var(--border);flex:0 0 auto}.pk-thumb-sm{width:40px;height:40px}.pk-thumb-md{width:64px;height:64px}.pk-thumb-lg{width:160px;height:160px}.pk-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg)}.pk-empty-title{margin:0;font-size:var(--text-lg)}.pk-empty-body{margin:0;color:var(--text-muted)}.pk-empty-action{margin-top:var(--space-2)}.pk-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);max-width:min(480px,calc(100vw - 2 * var(--space-4)));box-shadow:var(--elevation-2)}.pk-dialog::backdrop{background:color-mix(in srgb,var(--bg) 70%,transparent)}.pk-dialog-title{margin:0 0 var(--space-3);font-size:var(--text-lg)}.pk-dialog-body{display:flex;flex-direction:column;gap:var(--space-3)}.pk-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.pk-markdown{overflow-wrap:anywhere}.pk-markdown>*{margin:0 0 var(--space-3)}.pk-markdown>:last-child{margin-bottom:0}.pk-markdown ul,.pk-markdown ol{padding-left:var(--space-6)}.pk-markdown blockquote{margin-left:0;padding-left:var(--space-4);border-left:3px solid var(--border);color:var(--text-muted)}.pk-markdown hr{border:none;border-top:1px solid var(--border)}.pk-md-h{line-height:var(--line-tight)}.pk-md-pre{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);overflow-x:auto}.pk-file{display:inline-flex;position:relative}.pk-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}.pk-file-input:focus-visible+.pk-button{outline:2px solid var(--accent);outline-offset:2px}.pk-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.pk-image{display:block;max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.pk-conflict{border-color:var(--warning)}.pk-conflict-fields{margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.pk-conflict-field{display:grid;gap:var(--space-1)}.pk-conflict-field dt{font-weight:var(--weight-bold);font-size:var(--text-sm)}.pk-conflict-field dd{margin:0;display:grid;grid-template-columns:4.5rem 1fr;gap:var(--space-2)}.pk-conflict-side{color:var(--text-muted);font-size:var(--text-sm)}.pk-conflict-value{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}
