:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--color-accent: #f59e0b}:root,[data-theme=light]{color-scheme:light;--color-brand: #7c3aed;--color-brand-contrast: #ffffff;--color-secondary: #475569;--color-action: #2563eb;--color-action-contrast: #ffffff;--color-destructive: #dc2626;--color-destructive-contrast: #ffffff;--color-positive: #16a34a;--color-positive-contrast: #ffffff;--color-warning-contrast: #ffffff;--switch-on: var(--color-positive);--sex-male: #3b82f6;--sex-female: #ec4899;--surface-base: #f8fafc;--surface-raised: #ffffff;--surface-sunken: #f1f5f9;--surface-hover: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #f8fafc;--border-subtle: #f1f5f9;--border-default: #e2e8f0;--border-strong: #cbd5e1;--color-warning: #d97706;--color-info: #2563eb;--color-frozen: #0e7490;--shadow-sm: 0 1px 2px rgb(15 23 42 / .05);--shadow-md: 0 2px 8px rgb(15 23 42 / .07);--shadow-lg: 0 8px 24px rgb(15 23 42 / .1)}[data-theme=dark]{color-scheme:dark;--color-brand: #8b5cf6;--color-brand-contrast: #ffffff;--color-secondary: #94a3b8;--color-action: #3b82f6;--color-destructive: #f87171;--color-positive: #22c55e;--surface-base: #0f172a;--surface-raised: #1e293b;--surface-sunken: #0b1120;--surface-hover: #273549;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #64748b;--text-inverse: #0f172a;--border-subtle: #1e293b;--border-default: #334155;--border-strong: #475569;--color-warning: #f59e0b;--color-info: #60a5fa;--color-frozen: #22d3ee;--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow-md: 0 2px 8px rgb(0 0 0 / .35);--shadow-lg: 0 8px 24px rgb(0 0 0 / .45)}:root{--color-brand-soft: color-mix(in srgb, var(--color-brand) 12%, transparent);--color-brand-faint: color-mix(in srgb, var(--color-brand) 6%, transparent);--color-action-soft: color-mix(in srgb, var(--color-action) 12%, transparent);--color-action-faint: color-mix(in srgb, var(--color-action) 6%, transparent);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-action) 35%, transparent)}:root{--color-primary: var(--color-brand);--color-primary-contrast: var(--color-brand-contrast);--color-primary-soft: var(--color-brand-soft);--color-primary-faint: var(--color-brand-faint);--color-success: var(--color-positive);--color-danger: var(--color-destructive)}*,*:before,*:after{box-sizing:border-box}html{height:100%}html[data-text-size=large]{font-size:112.5%}html[data-text-size=larger]{font-size:125%}:root[data-contrast=high]{--border-default: var(--text-secondary);--border-subtle: var(--border-strong);--text-secondary: var(--text-primary);--text-tertiary: var(--text-secondary)}:root[data-contrast=high] .card,:root[data-contrast=high] input,:root[data-contrast=high] select,:root[data-contrast=high] textarea{border-width:2px}body{margin:0;min-height:100%;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:650;line-height:1.25;letter-spacing:-.01em;color:var(--text-primary)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p{margin:0 0 var(--space-3);color:var(--text-secondary)}a{color:var(--color-action);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input::-webkit-contacts-auto-fill-button{background-color:var(--text-secondary)}input::-webkit-contacts-auto-fill-button:hover{background-color:var(--text-primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::selection{background:var(--color-action-soft)}table{border-collapse:collapse}@keyframes kihon-flash{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-action) 55%,transparent);background-color:var(--color-action-soft)}to{box-shadow:0 0 0 3px transparent;background-color:transparent}}.kihon-flash{animation:kihon-flash 1.8s ease-out;border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.kihon-flash{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-action) 45%,transparent);border-radius:var(--radius-md)}}:root{--tt-in-dur: .15s;--tt-out-dur: 50ms;--tt-scale: .98;--tt-delay: .6s;--tt-warm-delay: 0ms;--tt-in-ease: ease-out;--tt-out-ease: ease-out;--tt-bg: var(--surface-raised);--tt-fg: var(--text-primary);--tt-gap: 8px;--tt-max-width: 17rem;--modal-open-dur: .25s;--modal-close-dur: .15s;--modal-scale: .96;--modal-scale-close: .96;--modal-ease: cubic-bezier(.22, 1, .36, 1);--acc-expand: .25s;--acc-collapse: .25s;--acc-chevron: .25s;--acc-ease: cubic-bezier(.22, 1, .36, 1);--check-opacity-dur: .5s;--check-rotate-dur: .5s;--check-rotate-from: 80deg;--check-bob-dur: .5s;--check-y-amount: 40px;--check-blur-dur: .5s;--check-blur-from: 10px;--check-path-dur: .5s;--check-path-delay: 80ms;--check-ease-out: cubic-bezier(.22, 1, .36, 1);--check-ease-opacity: cubic-bezier(.22, 1, .36, 1);--check-ease-rotate: cubic-bezier(.22, 1, .36, 1);--check-ease-bob: cubic-bezier(.34, 1.35, .64, 1);--check-ease-path: cubic-bezier(.22, 1, .36, 1);--avatar-lift: -4px;--avatar-dur: .32s;--avatar-scale: 1.05;--avatar-falloff: .45;--avatar-ease-in: cubic-bezier(.22, 1, .36, 1);--avatar-ease-out: cubic-bezier(.34, 3.85, .64, 1)}.t-success-check{display:inline-block;transform-origin:center;opacity:0;will-change:transform,opacity,filter}.t-success-check svg{display:block;overflow:visible}.t-success-check svg path{stroke-dasharray:32;stroke-dashoffset:32}.t-success-check[data-state=in]{animation:t-check-fade var(--check-opacity-dur) var(--check-ease-opacity) forwards,t-check-rotate var(--check-rotate-dur) var(--check-ease-rotate) forwards,t-check-blur var(--check-blur-dur) var(--check-ease-out) forwards,t-check-bob var(--check-bob-dur) var(--check-ease-bob) forwards}.t-success-check[data-state=in] svg path{animation:t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay, 0ms) forwards}@keyframes t-check-fade{0%{opacity:0}to{opacity:1}}@keyframes t-check-rotate{0%{transform:rotate(var(--check-rotate-from))}to{transform:rotate(0)}}@keyframes t-check-blur{0%{filter:blur(var(--check-blur-from))}to{filter:blur(0)}}@keyframes t-check-bob{0%{translate:0 var(--check-y-amount)}to{translate:0 0}}@keyframes t-check-draw{to{stroke-dashoffset:0}}.glow-sweep{position:relative;overflow:hidden}.glow-sweep[data-sweep=on]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(100deg,transparent 0%,color-mix(in srgb,var(--glow-hue, var(--color-info)) 22%,transparent) 50%,transparent 100%);transform:translate(-100%);animation:kihon-glow-sweep 2s linear .3s 1 both}@keyframes kihon-glow-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.glow-sweep[data-sweep=on]:after{animation:none;background:none}}.t-avatar{transform-origin:center;transform:translateY(var(--shift, 0px)) scale(var(--scale-active, 1));transition:transform var(--avatar-dur) var(--avatar-ease-in);will-change:transform}@media(prefers-reduced-motion:reduce){.t-avatar{transition:none!important;transform:none!important}}@media(prefers-reduced-motion:reduce){.t-success-check{animation:none!important;opacity:1}.t-success-check svg path{animation:none!important;stroke-dashoffset:0!important}}.t-tt{position:fixed;z-index:100;width:max-content;max-width:var(--tt-max-width);padding:6px 10px;border-radius:var(--radius-md);background:var(--tt-bg);color:var(--tt-fg);border:1px solid var(--border-default);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:500;line-height:1.45;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--tt-out-dur) var(--tt-out-ease),transform var(--tt-out-dur) var(--tt-out-ease),visibility 0s linear var(--tt-out-dur)}.t-tt[data-placement=top]{transform:translate(-50%,calc(-100% - var(--tt-gap))) scale(var(--tt-scale));transform-origin:50% 100%}.t-tt[data-placement=bottom]{transform:translate(-50%,var(--tt-gap)) scale(var(--tt-scale));transform-origin:50% 0%}.t-tt[data-placement=right]{transform:translate(var(--tt-gap),-50%) scale(var(--tt-scale));transform-origin:0% 50%}.t-tt[data-placement=left]{transform:translate(calc(-100% - var(--tt-gap)),-50%) scale(var(--tt-scale));transform-origin:100% 50%}.t-tt.is-open{opacity:1;visibility:visible;transition-duration:var(--tt-in-dur);transition-timing-function:var(--tt-in-ease);transition-delay:var(--tt-delay)}.t-tt.is-open[data-placement=top]{transform:translate(-50%,calc(-100% - var(--tt-gap))) scale(1)}.t-tt.is-open[data-placement=bottom]{transform:translate(-50%,var(--tt-gap)) scale(1)}.t-tt.is-open[data-placement=right]{transform:translate(var(--tt-gap),-50%) scale(1)}.t-tt.is-open[data-placement=left]{transform:translate(calc(-100% - var(--tt-gap)),-50%) scale(1)}.t-tt.is-open.is-warm{transition-delay:var(--tt-warm-delay)}@media(prefers-reduced-motion:reduce){.t-tt{transition-duration:0ms!important}}:root{--panel-open-dur: .4s;--panel-close-dur: .35s;--panel-translate-x: 32px;--panel-blur: 2px;--panel-ease: cubic-bezier(.22, 1, .36, 1)}.t-panel-slide{transform:translate(var(--panel-translate-x));opacity:0;filter:blur(var(--panel-blur));pointer-events:none;transition:transform var(--panel-close-dur) var(--panel-ease),opacity var(--panel-close-dur) var(--panel-ease),filter var(--panel-close-dur) var(--panel-ease);will-change:transform,opacity,filter}.t-panel-slide[data-open=true]{transform:translate(0);opacity:1;filter:blur(0);pointer-events:auto;transition:transform var(--panel-open-dur) var(--panel-ease),opacity var(--panel-open-dur) var(--panel-ease),filter var(--panel-open-dur) var(--panel-ease)}@media(prefers-reduced-motion:reduce){.t-panel-slide{transition:none!important}}:root{--dropdown-open-dur: .25s;--dropdown-close-dur: .15s;--dropdown-pre-scale: .97;--dropdown-closing-scale: .99;--dropdown-ease: cubic-bezier(.22, 1, .36, 1);--icon-swap-dur: .25s;--icon-swap-blur: 2px;--icon-swap-start-scale: .25;--icon-swap-ease: ease-in-out}.t-dropdown{transform-origin:top left;transform:scale(var(--dropdown-pre-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease),opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform,opacity}.t-dropdown[data-origin=top-right]{transform-origin:top right}.t-dropdown[data-origin=top-center]{transform-origin:top center}.t-dropdown[data-origin=bottom-left]{transform-origin:bottom left}.t-dropdown[data-origin=bottom-center]{transform-origin:bottom center}.t-dropdown[data-origin=bottom-right]{transform-origin:bottom right}.t-dropdown.is-open{transform:scale(1);opacity:1;pointer-events:auto}.t-dropdown.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease),opacity var(--dropdown-close-dur) var(--dropdown-ease)}@media(prefers-reduced-motion:reduce){.t-dropdown{transition:none!important}}.t-icon-swap{position:relative;display:inline-grid}.t-icon-swap .t-icon{grid-area:1 / 1;transition:opacity var(--icon-swap-dur) var(--icon-swap-ease),filter var(--icon-swap-dur) var(--icon-swap-ease),transform var(--icon-swap-dur) var(--icon-swap-ease);will-change:opacity,filter,transform}.t-icon-swap[data-state=a] .t-icon[data-icon=a],.t-icon-swap[data-state=b] .t-icon[data-icon=b]{opacity:1;filter:blur(0);transform:scale(1)}.t-icon-swap[data-state=a] .t-icon[data-icon=b],.t-icon-swap[data-state=b] .t-icon[data-icon=a]{opacity:0;filter:blur(var(--icon-swap-blur));transform:scale(var(--icon-swap-start-scale))}@media(prefers-reduced-motion:reduce){.t-icon-swap .t-icon{transition:none!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.is-coming-soon{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}@media print{.shell{--surface-base: #ffffff;--surface-raised: #ffffff;--surface-sunken: #ffffff;--surface-hover: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--shadow-sm: none;--shadow-md: none;--shadow-lg: none}.shell{background:#fff}.support-banner,.sidebar{display:none!important}.shell{display:block!important;min-height:0!important;padding-top:0!important}.shell .content{padding:0!important;max-width:none!important;width:100%!important}.shell .card,.shell .prof-card{break-inside:avoid}}.link{border-radius:var(--radius-sm);transition:background-color .15s cubic-bezier(.22,1,.36,1),box-shadow .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1)}.link:hover,.link:focus-visible{background:var(--surface-hover);box-shadow:0 0 0 6px var(--surface-hover)}.link.danger:hover,.link.danger:focus-visible{background:color-mix(in srgb,var(--color-destructive) 12%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--color-destructive) 12%,transparent)}@media(prefers-reduced-motion:reduce){.link{transition:none}}
