*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:1.6;-webkit-font-smoothing:auto}h1,h2{font-family:var(--font-display)}h3,h4,h5,h6,label,caption{font-family:var(--font-label)}p{font-family:var(--font-body)}code,kbd,pre,pre code{font-family:var(--font-mono)}button,input,select,textarea{font-weight:var(--font-weight-medium)}:lang(ja){font-family:var(--font-ja)}h1:lang(ja),h2:lang(ja),h3:lang(ja),h4:lang(ja),:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) h4{font-family:var(--font-ja-display)}.grad-secondary{background:var(--grad-secondary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grad-accent-3{background:var(--grad-accent-3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grad-accent-4{background:var(--grad-accent-4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grad-accent-5{background:var(--grad-accent-5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grad,.grad-primary{background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-black);line-height:1.1;letter-spacing:0em}h1{letter-spacing:.02em}h2{letter-spacing:.01em}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--sp-4)}.grid{display:grid;gap:var(--sp-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-2{gap:var(--sp-2)}.gap-4{gap:var(--sp-4)}.gap-8{gap:var(--sp-8)}@media(max-width:639px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}.container{padding:0 var(--sp-3)}.sm-hidden{display:none!important}.sm-block{display:block!important}.sm-flex-col{flex-direction:column!important}.sm-w-full{width:100%!important}.sm-text-center{text-align:center!important}.sm-p-3{padding:var(--sp-3)!important}}@media(min-width:640px)and (max-width:767px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.md-hidden{display:none!important}.md-flex{display:flex!important}.md-grid-2{grid-template-columns:repeat(2,1fr)!important}.md-grid-3{grid-template-columns:repeat(3,1fr)!important}}@media(min-width:1024px){.lg-hidden{display:none!important}.lg-flex{display:flex!important}.lg-grid-3{grid-template-columns:repeat(3,1fr)!important}.lg-grid-4{grid-template-columns:repeat(4,1fr)!important}}.bar-v{width:3px;align-self:stretch;background:var(--bar-color, var(--grad-primary))}.bar-h{height:3px;width:100%;background:var(--bar-color, var(--grad-primary))}:root{--bg: #0e0e0e;--bg-1: #131313;--bg-2: #181818;--bg-3: #1f1f1f;--fg: #ffffff;--fg-muted: #b5bdc7;--fg-subtle: #737d89;--cyan: #6bd1e0;--magenta: #e040b8;--green: #3fc763;--blue: #5964d3;--white: #ffffff;--red: #ff6060;--orange: #ffa25c;--yellow: #f8ff5c;--teal: #2ecbb4;--purple: #d74bec;--amber: #ffcc00;--lime: #a8e040;--emerald: #28c878;--pink: #ff64b5;--cyan-dim: #3d8c9a;--magenta-dim: #a82888;--green-dim: #2d8a42;--blue-dim: #3e479e;--red-dim: #cc3a3a;--orange-dim: #cc6a28;--yellow-dim: #9c9e00;--teal-dim: #1e8a78;--purple-dim: #9e2cb8;--amber-dim: #b89000;--lime-dim: #609800;--emerald-dim: #1a9055;--pink-dim: #cc3d88;--surface-cyan: rgba(107, 209, 224, .12);--surface-magenta: rgba(224, 64, 184, .12);--surface-green: rgba(63, 199, 99, .12);--surface-blue: rgba(89, 100, 211, .12);--surface-red: rgba(255, 96, 96, .12);--surface-orange: rgba(255, 162, 92, .12);--surface-yellow: rgba(248, 255, 92, .1);--surface-teal: rgba( 46, 203, 180, .12);--surface-purple: rgba(215, 75, 236, .12);--surface-amber: rgba(255, 204, 0, .12);--surface-lime: rgba(168, 224, 64, .1);--surface-emerald: rgba(40, 200, 120, .12);--surface-pink: rgba(255, 100, 181, .12);--button-primary-bg: var(--surface-orange);--button-primary-fg: var(--orange);--button-primary-border: color-mix(in srgb, var(--orange) 22%, transparent);--color-secondary: var(--magenta);--color-success: var(--green);--color-info: var(--blue);--color-danger: var(--red);--color-warning: var(--orange);--color-caution: var(--yellow);--grad-accent-1: linear-gradient(135deg, var(--teal), var(--blue));--grad-accent-2: linear-gradient(135deg, var(--magenta), var(--red));--grad-accent-3: linear-gradient(135deg, var(--red), var(--amber));--grad-accent-4: linear-gradient(135deg, var(--lime), var(--emerald));--grad-accent-5: linear-gradient(135deg, var(--blue), var(--magenta));--grad-primary: var(--grad-accent-1);--grad-secondary: var(--grad-accent-2);--surface: var(--bg-2);--grad-primary-soft: linear-gradient(135deg, color-mix(in srgb, var(--teal) 18%, transparent), color-mix(in srgb, var(--blue) 18%, transparent));--grad-secondary-soft: linear-gradient(135deg, color-mix(in srgb, var(--magenta) 18%, transparent), color-mix(in srgb, var(--red) 18%, transparent));--grad-accent-4-soft: linear-gradient(135deg, color-mix(in srgb, var(--lime) 18%, transparent), color-mix(in srgb, var(--emerald) 18%, transparent));--font-display: "Inter", sans-serif;--font-ui: "Inter", sans-serif;--font-body: "SF Pro", sans-serif;--font-label: "Helvetica Neue", sans-serif;--font-accent: "DM Sans", sans-serif;--font-tag: "Switzer", sans-serif;--font-ja: "SF Pro", "Hiragino Sans", sans-serif;--font-ja-display: "Inter", "Noto Sans JP", sans-serif;--font-mono: "Fira Code", monospace;--font-math: "CM Unicode", serif;--font-prose: "CM Unicode", serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.75rem;--font-size-2xl: 2.5rem;--font-size-3xl: 4rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--font-weight-black: 900;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-12: 3rem;--sp-16: 4rem;--shadow-sm: 0 1px 2px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.18);--shadow-md: 0 8px 24px rgba(0,0,0,.32);--shadow-lg: 0 18px 48px rgba(0,0,0,.42);--radius: 10px;--radius-lg: 16px;--radius-full: 999px;--border-color: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .15);--border: 1px solid var(--border-color);--border-accent: 1px solid transparent;--ease-snap: cubic-bezier(.2, .9, .3, 1.2);--ease-out: cubic-bezier(.2, .7, .2, 1);--t-fast: .13s;--t-med: .22s;--surface-interactive: rgba(107, 209, 224, .18);--surface-interactive-hover: rgba(107, 209, 224, .32);--surface-neutral-hover: rgba(255, 255, 255, .05);--surface-highlight: rgba(255, 255, 255, .12);--surface-noise: #ffffff;--scrim: rgba(0, 0, 0, .7);--on-accent: #000000}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-6);font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.01em;border:var(--border-accent);background:var(--bg-3);color:var(--fg);cursor:pointer;border-radius:var(--radius);position:relative;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease-out)}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--bg-3)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0) scale(.97)}.btn-primary{background:var(--button-primary-bg);color:var(--button-primary-fg);border-color:var(--button-primary-border)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--button-primary-fg)}.btn-ghost{border-color:transparent;color:var(--fg-muted);background:transparent}.btn-ghost:after{display:none}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-neutral-hover);color:var(--fg);box-shadow:none}.btn-pill{border-radius:var(--radius-full)}@media(prefers-reduced-motion:reduce){.btn,.btn:hover,.btn:active{transition:none;transform:none}}.btn-sm{padding:var(--sp-1) var(--sp-3);font-size:var(--font-size-xs);letter-spacing:.04em}.btn-lg{padding:var(--sp-3) var(--sp-8);font-size:var(--font-size-md)}.card{background:var(--bg-2);border:var(--border);border-radius:var(--radius);padding:var(--sp-6);position:relative;overflow:hidden;box-shadow:none}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--surface-highlight),transparent);pointer-events:none}.card:after{content:"";position:absolute;inset:0;opacity:.018;filter:url(#noise);background:var(--surface-noise);pointer-events:none;border-radius:var(--radius)}.card-accent{border-left-color:transparent}.card-accent:before{width:3px;height:100%;right:auto;background:var(--card-gradient, var(--grad-primary))}.input{width:100%;padding:var(--sp-2) var(--sp-4);background:var(--bg-2);border:var(--border);border-radius:var(--radius);color:var(--fg);font-family:var(--font-ui);font-size:var(--font-size-md);outline:none;transition:border-color .15s}.input:focus{border-color:var(--border-strong);box-shadow:none}.input::placeholder{color:var(--fg-subtle);font-family:var(--font-ui)}.input.sm{padding:var(--sp-1) var(--sp-3);font-size:var(--font-size-sm)}.input.lg{padding:var(--sp-3) var(--sp-5);font-size:var(--font-size-lg)}.textarea{width:100%;padding:var(--sp-2) var(--sp-4);background:var(--bg-2);border:var(--border);border-radius:var(--radius);color:var(--fg);font-family:var(--font-ui);font-size:var(--font-size-md);line-height:1.6;outline:none;resize:vertical;min-height:5rem;transition:border-color .15s}.textarea:focus{border-color:var(--border-strong);box-shadow:none}.textarea::placeholder{color:var(--fg-subtle);font-family:var(--font-ui)}.badge{display:inline-block;padding:var(--sp-1) var(--sp-3);font-family:var(--font-tag);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-full);color:var(--fg);background:var(--badge-surface, var(--bg-3))}.badge-pink{--badge-color: var(--pink);--badge-surface: var(--surface-pink)}.badge-red,.badge-danger{--badge-color: var(--red);--badge-surface: var(--surface-red)}.badge-orange,.badge-warning{--badge-color: var(--orange);--badge-surface: var(--surface-orange)}.badge-amber{--badge-color: var(--amber);--badge-surface: var(--surface-amber)}.badge-yellow{--badge-color: var(--yellow);--badge-surface: var(--surface-yellow)}.badge-lime{--badge-color: var(--lime);--badge-surface: var(--surface-lime)}.badge-green,.badge-success{--badge-color: var(--green);--badge-surface: var(--surface-green)}.badge-emerald{--badge-color: var(--emerald);--badge-surface: var(--surface-emerald)}.badge-teal{--badge-color: var(--teal);--badge-surface: var(--surface-teal)}.badge-cyan{--badge-color: var(--cyan);--badge-surface: var(--surface-cyan)}.badge-blue,.badge-info{--badge-color: var(--blue);--badge-surface: var(--surface-blue)}.badge-purple{--badge-color: var(--purple);--badge-surface: var(--surface-purple)}.badge-magenta{--badge-color: var(--magenta);--badge-surface: var(--surface-magenta)}.badge-pink{--badge-solid: var(--pink-dim)}.badge-red{--badge-solid: var(--red-dim)}.badge-orange{--badge-solid: var(--orange-dim)}.badge-amber{--badge-solid: var(--amber-dim)}.badge-yellow{--badge-solid: var(--yellow-dim)}.badge-lime{--badge-solid: var(--lime-dim)}.badge-green{--badge-solid: var(--green-dim)}.badge-emerald{--badge-solid: var(--emerald-dim)}.badge-teal{--badge-solid: var(--teal-dim)}.badge-cyan{--badge-solid: var(--cyan-dim)}.badge-blue{--badge-solid: var(--blue-dim)}.badge-purple{--badge-solid: var(--purple-dim)}.badge-magenta{--badge-solid: var(--magenta-dim)}.badge-pink,.badge-red,.badge-danger,.badge-orange,.badge-warning,.badge-amber,.badge-yellow,.badge-lime,.badge-green,.badge-success,.badge-emerald,.badge-teal,.badge-cyan,.badge-blue,.badge-info,.badge-purple,.badge-magenta{color:color-mix(in srgb,var(--badge-color) 72%,var(--fg))}.badge-soft{--badge-surface: var(--surface-cyan);border-color:transparent}.badge-soft.badge-cyan{--badge-surface: var(--surface-cyan)}.badge-soft.badge-magenta{--badge-surface: var(--surface-magenta)}.badge-soft.badge-green{--badge-surface: var(--surface-green)}.badge-soft.badge-blue{--badge-surface: var(--surface-blue)}.badge-soft.badge-red{--badge-surface: var(--surface-red)}.badge-soft.badge-orange{--badge-surface: var(--surface-orange)}.badge-soft.badge-yellow{--badge-surface: var(--surface-yellow)}.badge-soft.badge-teal{--badge-surface: var(--surface-teal)}.badge-soft.badge-purple{--badge-surface: var(--surface-purple)}.badge-soft.badge-amber{--badge-surface: var(--surface-amber)}.badge-soft.badge-lime{--badge-surface: var(--surface-lime)}.badge-soft.badge-emerald{--badge-surface: var(--surface-emerald)}.badge-soft.badge-pink{--badge-surface: var(--surface-pink)}.badge-circle{width:1.25rem;height:1.25rem;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:.6rem;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:0;text-transform:none;background:var(--badge-solid, var(--bg-3));border-color:transparent;color:var(--white)}.badge-circle.lg{width:1.75rem;height:1.75rem;font-size:.75rem}.notif-dot{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--red-dim);border:2px solid var(--bg);flex-shrink:0}.avatar{width:2rem;height:2rem;border-radius:var(--radius);background:var(--bg-3);border:var(--border);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--fg-muted);flex-shrink:0;overflow:hidden;position:relative}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar.circle{border-radius:50%}.avatar.sm{width:1.5rem;height:1.5rem;font-size:.55rem}.avatar.lg{width:3rem;height:3rem;font-size:1rem}.avatar.xl{width:4rem;height:4rem;font-size:1.25rem}.avatar.pink{--avatar-color: var(--pink-dim)}.avatar.red{--avatar-color: var(--red-dim)}.avatar.orange{--avatar-color: var(--orange-dim)}.avatar.amber{--avatar-color: var(--amber-dim)}.avatar.yellow{--avatar-color: var(--yellow-dim)}.avatar.lime{--avatar-color: var(--lime-dim)}.avatar.green{--avatar-color: var(--green-dim)}.avatar.emerald{--avatar-color: var(--emerald-dim)}.avatar.teal{--avatar-color: var(--teal-dim)}.avatar.cyan{--avatar-color: var(--cyan-dim)}.avatar.blue{--avatar-color: var(--blue-dim)}.avatar.purple{--avatar-color: var(--purple-dim)}.avatar.magenta{--avatar-color: var(--magenta-dim)}.avatar.pink,.avatar.red,.avatar.orange,.avatar.amber,.avatar.yellow,.avatar.lime,.avatar.green,.avatar.emerald,.avatar.teal,.avatar.cyan,.avatar.blue,.avatar.purple,.avatar.magenta{background:var(--avatar-color);color:var(--white);border-color:transparent}.avatar-group{display:inline-flex;align-items:center}.avatar-group .avatar{margin-left:-.5rem;border:2px solid var(--bg);transition:margin .15s}.avatar-group .avatar:first-child{margin-left:0}.avatar-group:hover .avatar{margin-left:-.2rem}.avatar-overflow{width:2rem;height:2rem;border-radius:var(--radius);background:var(--bg-3);border:2px solid var(--bg);display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--fg-muted);font-family:var(--font-ui);margin-left:-.5rem}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:.2em .55em .2em .65em;background:var(--bg-3);border:var(--border);border-radius:999px;font-family:var(--font-tag);font-size:var(--font-size-xs);color:var(--fg-muted);line-height:1.4}.chip-remove{cursor:pointer;opacity:.45;font-size:.85em;line-height:1;transition:opacity .1s;border:none;background:transparent;color:inherit;padding:0}.chip-remove:hover{opacity:1}.chip.pink{--chip-color: var(--pink-dim)}.chip.red{--chip-color: var(--red-dim)}.chip.orange{--chip-color: var(--orange-dim)}.chip.amber{--chip-color: var(--amber-dim)}.chip.yellow{--chip-color: var(--yellow-dim)}.chip.lime{--chip-color: var(--lime-dim)}.chip.green{--chip-color: var(--green-dim)}.chip.emerald{--chip-color: var(--emerald-dim)}.chip.teal{--chip-color: var(--teal-dim)}.chip.cyan{--chip-color: var(--cyan-dim)}.chip.blue{--chip-color: var(--blue-dim)}.chip.purple{--chip-color: var(--purple-dim)}.chip.magenta{--chip-color: var(--magenta-dim)}.chip.pink,.chip.red,.chip.orange,.chip.amber,.chip.yellow,.chip.lime,.chip.green,.chip.emerald,.chip.teal,.chip.cyan,.chip.blue,.chip.purple,.chip.magenta{background:var(--chip-color);border-color:transparent;color:var(--white)}.divider{height:1px;background:var(--border-strong);border:none}.muted{color:var(--fg-muted);font-size:var(--font-size-sm)}
