:root,[data-theme=light]{--bg:#DEEAEE;--surface:#FEFEFE;--surface-elevated:#F2F2F2;--border:#D6D6DC;--text:#262626;--text-muted:#63636A;--accent:#1EC8D6;--accent-hover:#17AFBB;--success:#28BF1D;--warning:#f5a623;--danger:#D23A1D;--accent-text:#116F77;--success-text:#187412;--warning-text:#8C5906;--danger-text:#B9331A;--on-accent:#262626;--on-success:#262626;--on-warning:#262626;--on-danger:#FFFFFF}[data-theme=dark]{--bg:#0d0d0f;--surface:#1a1a1f;--surface-elevated:#242429;--border:#2e2e36;--text:#e8e8ed;--text-muted:#8e8e99;--accent:#1AB3BF;--accent-hover:#1EC8D6;--success:#28BF1D;--warning:#f5a623;--danger:#E35237;--accent-text:#1EC8D6;--success-text:#28BF1D;--warning-text:#f5a623;--danger-text:#E8745E;--on-accent:#0d0d0f;--on-success:#0d0d0f;--on-warning:#0d0d0f;--on-danger:#0d0d0f}:root{--font-xs:0.72rem;--font-sm:0.75rem;--font-md:0.85rem;--font-lg:0.9rem;--font-xl:1rem;--font-2xl:1.5rem;--space-3xs:0.15rem;--space-2xs:0.4rem;--space-xs:0.5rem;--space-sm:0.6rem;--space-md:0.75rem;--space-lg:1rem;--space-lg-alt:1.25rem;--space-xl:1.5rem;--space-2xl:2rem;--radius-xs:0.4rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-full:999px;--radius-circle:50%}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}[data-theme=dark]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text);font-weight:500;font-family:var(--font-noto-sans-jp,"Noto Sans JP"),"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;min-height:100dvh}[data-theme=dark] body{font-weight:400}a{text-decoration:none}a,a:hover{color:var(--accent-text)}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-lg);font-size:var(--font-md);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;font-family:inherit}.btn--sm{padding:var(--space-2xs) var(--space-md);font-size:var(--font-sm);border-radius:var(--radius-xs)}.btn--primary{background-color:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.btn--primary:hover:not(:disabled){background-color:var(--accent-hover);border-color:var(--accent-hover)}.btn--secondary{background-color:var(--surface-elevated);color:var(--text);border-color:var(--border)}.btn--secondary:hover:not(:disabled){border-color:var(--accent-hover)}.btn--danger{background-color:var(--surface);color:var(--danger-text);border-color:var(--danger)}.btn--danger:hover:not(:disabled){background-color:var(--danger);color:var(--on-danger)}.btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:var(--space-3xs)}.btn:disabled{opacity:.5;cursor:not-allowed}.toggle__input{accent-color:var(--accent);inline-size:var(--space-lg);block-size:var(--space-lg);cursor:pointer}.toggle__input:focus-visible{outline:2px solid var(--accent-text);outline-offset:var(--space-3xs)}.toggle__input:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--font-sm);letter-spacing:.02em;padding:var(--space-3xs) var(--space-sm);border:1px solid transparent;border-radius:var(--radius-full)}.badge--solid{border-radius:var(--radius-xs);font-size:var(--font-xs);font-weight:700;padding:var(--space-3xs) var(--space-2xs)}.badge--success{color:var(--success-text);border-color:var(--success)}.badge--success.badge--solid{background:var(--success);color:var(--on-success);border-color:var(--success)}.badge--warning{color:var(--warning-text);border-color:var(--warning)}.badge--warning.badge--solid{background:var(--warning);color:var(--on-warning);border-color:var(--warning)}.badge--danger{color:var(--danger-text);border-color:var(--danger)}.badge--danger.badge--solid{background:var(--danger);color:var(--on-danger);border-color:var(--danger)}.badge--info{color:var(--accent-text);border-color:var(--accent)}.badge--info.badge--solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.badge--neutral,.badge--neutral.badge--solid{color:var(--text-muted);border-color:var(--border)}.badge--neutral.badge--solid{background:var(--surface-elevated)}.field{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-md);font-family:inherit;font-weight:inherit}.field:focus-visible{outline:2px solid var(--accent-text);outline-offset:var(--space-3xs)}.field:disabled{opacity:.5;cursor:not-allowed}.field--select{cursor:pointer}.field--textarea{padding:var(--space-md);resize:vertical}.field--elevated{background:var(--surface-elevated)}.app-shell{display:flex;flex-direction:column;block-size:100dvh;overflow:hidden;background:var(--bg);padding:0 var(--space-md)}.app-shell__top{display:flex;align-items:flex-end;gap:var(--space-xs);-webkit-padding-before:var(--space-xs);padding-block-start:var(--space-xs)}.app-shell__brand{inline-size:240px;flex-shrink:0;padding:0 var(--space-md) var(--space-sm);font-size:var(--font-xl);font-weight:700;color:var(--text);white-space:nowrap}.app-shell__body{display:flex;flex:1 1;min-block-size:0;gap:var(--space-xs)}.app-shell__panel{background:var(--surface);border-radius:var(--radius-md) var(--radius-md) 0 0}.app-shell__content{flex:1 1;min-inline-size:0;overflow-y:auto;border-start-start-radius:0}.sidebar-scope{margin:0 var(--space-lg) var(--space-lg);-webkit-padding-after:var(--space-lg);padding-block-end:var(--space-lg);-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.app-shell__sidebar{inline-size:240px;flex-shrink:0;display:flex;flex-direction:column;min-block-size:0;-webkit-padding-before:var(--space-md);padding-block-start:var(--space-md);overflow:hidden}.app-shell__nav{flex:1 1;min-block-size:0;overflow-y:auto;padding:0 var(--space-xs) var(--space-lg)}.app-shell__nav,.app-shell__nav-footer{display:flex;flex-direction:column;gap:var(--space-3xs)}.app-shell__nav-footer{-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);padding:var(--space-xs)}.shell-tabs{display:flex;align-items:flex-end;gap:var(--space-lg);padding:0 var(--space-lg) 0 0;background:transparent}.shell-tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-sm) var(--space-xl);border:none;background:transparent;color:var(--text);font-family:inherit;font-size:var(--font-md);font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0}.shell-tab:hover:not(.shell-tab--active){background:var(--surface-elevated)}.shell-tab:focus-visible{outline:2px solid var(--accent-text);outline-offset:calc(var(--space-3xs) * -1)}.shell-tab--active{background:var(--surface);color:var(--text);font-weight:700}.shell-tab--active:after,.shell-tab--active:before{content:"";position:absolute;bottom:0;width:var(--radius-md);height:var(--radius-md);pointer-events:none}.shell-tab:first-child.shell-tab--active:before{content:none}.shell-tab--active:before{left:calc(var(--radius-md) * -1);background:radial-gradient(circle var(--radius-md) at 0 0,transparent var(--radius-md),var(--surface) var(--radius-md))}.shell-tab--active:after{right:calc(var(--radius-md) * -1);background:radial-gradient(circle var(--radius-md) at 100% 0,transparent var(--radius-md),var(--surface) var(--radius-md))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.card--row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;padding:var(--space-md) var(--space-lg)}@media (max-width:767px){.app-shell{block-size:auto;min-block-size:100dvh;overflow:visible;padding-inline:0}.app-shell__top{flex-direction:column;align-items:stretch;gap:0}.app-shell__brand{inline-size:auto;padding:var(--space-sm) var(--space-md)}.shell-tabs{padding-inline:var(--space-sm);overflow-x:auto}.app-shell__body{flex-direction:column;gap:0}.app-shell__sidebar{inline-size:auto;min-block-size:0;-webkit-padding-before:0;padding-block-start:0;border-radius:0}.app-shell__nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:var(--space-2xs)}.app-shell__nav>*{flex-shrink:0}.app-shell__content{border-radius:0;overflow-y:visible}.app-shell__sidebar>:last-child{-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border)}.sidebar-scope{margin:0 var(--space-md) var(--space-sm);-webkit-padding-after:var(--space-sm);padding-block-end:var(--space-sm)}.page-layout{padding:var(--space-lg) var(--space-md)}}