:root{--canvas: #ffffff;--sidebar: #f7f7f7;--surface-muted: #f4f4f4;--nav-active: #ebebeb;--hairline: #ebebeb;--border-input: #8a8a8a;--ink: #1a1a1a;--ink-hover: #3a3a3a;--on-ink: #ffffff;--body-mid: #5a5a5a;--negative: #cb1a2f;--status-ok-bg: #efefef;--status-warn-bg: #dcdcdc;--heat-1: #efefef;--heat-2: #d4d4d4;--heat-3: #b0b0b0;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Noto Sans Mono", monospace;--qr-size: 200px;--card-min-w: 280px;--auth-card-w: 420px;--fs-h1: 20px;--fs-h2: 16px;--fs-body: 14px;--fs-caption: 12px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--lh-h: 1.3;--lh-body: 1.6;--lh-caption: 1.4;--radius-sm: 4px;--radius-md: 6px;--space-xxs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--hit-min: 32px;--hit-touch: 44px;--border-w: 1px;--focus-w: 2px;--sidebar-w: 220px;--content-max: none;--content-narrow: 720px;--content-gutter: var(--space-3xl);--header-h: 56px;--drawer-w: min(80vw, 320px);--overlay: rgb(0 0 0 / .4);--z-header: 20;--z-overlay: 30;--z-drawer: 40;--motion: .16s;--shadow-float: 0 1px 4px rgb(0 0 0 / .08);--chart-h: 160px;--chart-axis-w: 40px;--chart-stroke: 2px;--chart-dash: 4 3;--heat-cell-w: 28px;--heat-cell-max: 56px;--heat-label-w: 36px;--area-label-w: 120px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas: #191919;--sidebar: #202020;--surface-muted: #262626;--nav-active: #303030;--hairline: #2e2e2e;--border-input: #8a8a8a;--ink: #ececec;--ink-hover: #ffffff;--on-ink: #191919;--body-mid: #a8a8a8;--negative: #ff7a8a;--status-ok-bg: #2a2a2a;--status-warn-bg: #3a3a3a;--heat-1: #2a2a2a;--heat-2: #3d3d3d;--heat-3: #555555;--shadow-float: 0 1px 4px rgb(0 0 0 / .4)}}:root[data-theme=dark]{--canvas: #191919;--sidebar: #202020;--surface-muted: #262626;--nav-active: #303030;--hairline: #2e2e2e;--border-input: #8a8a8a;--ink: #ececec;--ink-hover: #ffffff;--on-ink: #191919;--body-mid: #a8a8a8;--negative: #ff7a8a;--status-ok-bg: #2a2a2a;--status-warn-bg: #3a3a3a;--heat-1: #2a2a2a;--heat-2: #3d3d3d;--heat-3: #555555;--shadow-float: 0 1px 4px rgb(0 0 0 / .4)}@media(pointer:coarse){:root{--hit-min: 44px}}@media(max-width:720px){:root{--fs-body: 16px;--content-gutter: var(--space-lg)}}@media(prefers-reduced-motion:reduce){:root{--motion: 0ms}}*,*:before,*:after{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:var(--font-family);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas)}h1{font-size:var(--fs-h1);font-weight:var(--fw-semibold);line-height:var(--lh-h);margin:0 0 var(--space-lg)}h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold);line-height:var(--lh-h);margin:var(--space-2xl) 0 var(--space-md)}p{margin:0 0 var(--space-md)}a{color:var(--ink);text-decoration:underline}a:hover{color:var(--ink-hover)}:focus-visible{outline:var(--focus-w) solid var(--ink);outline-offset:var(--focus-w)}.num{font-variant-numeric:tabular-nums;text-align:right}.muted{color:var(--body-mid)}.caption{font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--hit-min);padding:0 var(--space-lg);border:var(--border-w) solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font:inherit;font-weight:var(--fw-medium);cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-muted)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn-primary:hover:not(:disabled){background:var(--ink-hover)}.btn-danger{color:var(--negative);border-color:var(--negative)}.btn:disabled{background:var(--surface-muted);border-color:var(--hairline);color:var(--body-mid);cursor:not-allowed}.field{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-lg)}.field-label{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--body-mid)}.input{min-height:var(--hit-min);padding:0 var(--space-md);border:var(--border-w) solid var(--border-input);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font:inherit;width:100%}.input[aria-invalid=true]{border-color:var(--negative)}.field-error{color:var(--negative);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.badge{display:inline-block;padding:var(--space-xxs) var(--space-sm);border-radius:var(--radius-sm);background:var(--surface-muted);font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption)}.badge-warn{background:var(--status-warn-bg)}.badge-outline{background:transparent;border:var(--border-w) solid var(--border-input)}.badge-danger{color:var(--negative);border:var(--border-w) solid var(--negative);background:transparent}.alert{display:flex;flex-direction:column;gap:var(--space-xxs);padding:var(--space-md) var(--space-lg);border-left:var(--space-xs) solid var(--border-input);background:var(--canvas);color:var(--ink)}.alert-critical{border-left-color:var(--negative)}.alert-warning{border-left-color:var(--body-mid)}.alert-title{font-weight:var(--fw-semibold)}.card{border:var(--border-w) solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--canvas)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{padding:var(--space-xs) var(--space-sm);font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--body-mid);text-align:left;border-bottom:var(--border-w) solid var(--hairline)}.table td{padding:var(--space-xs) var(--space-sm);border-bottom:var(--border-w) solid var(--hairline)}.table tbody tr:hover{background:var(--surface-muted)}.table .num{text-align:right}@media(max-width:720px){.table-cards thead{position:absolute;width:var(--border-w);height:var(--border-w);overflow:hidden;clip-path:inset(50%)}.table-cards tr{display:block;border:var(--border-w) solid var(--hairline);border-radius:var(--radius-md);margin-bottom:var(--space-sm);padding:var(--space-sm)}.table-cards td{display:flex;justify-content:space-between;gap:var(--space-md);border-bottom:0}.table-cards td:before{content:attr(data-label);color:var(--body-mid);font-size:var(--fs-caption);font-weight:var(--fw-medium)}}.shell{min-height:100vh;min-height:100dvh}.shell-header{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-sm);height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-sm) 0;background:var(--canvas);border-bottom:var(--border-w) solid var(--hairline)}.shell-title{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--hit-touch);height:var(--hit-touch);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer}.menu-btn:hover{background:var(--nav-active)}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:var(--space-xl);height:var(--focus-w);background:currentColor}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:calc(-1 * var(--space-xs) - var(--focus-w))}.menu-icon:after{top:calc(var(--space-xs) + var(--focus-w))}.drawer-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--overlay)}.shell-nav{position:fixed;top:0;bottom:0;left:0;z-index:var(--z-drawer);width:var(--drawer-w);overflow-y:auto;overscroll-behavior:contain;background:var(--sidebar);padding:calc(var(--space-lg) + env(safe-area-inset-top)) var(--space-sm) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);transform:translate(-100%);visibility:hidden;transition:transform var(--motion) ease,visibility 0s linear var(--motion)}.shell-nav[data-open=true]{transform:none;visibility:visible;box-shadow:var(--shadow-float);transition:transform var(--motion) ease}.shell-brand{font-weight:var(--fw-semibold);padding:var(--space-xs) var(--space-md) var(--space-md)}.nav-link{display:flex;align-items:center;min-height:var(--hit-min);padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;white-space:nowrap}.nav-link:hover{background:var(--nav-active)}.nav-link[aria-current=page]{background:var(--nav-active);font-weight:var(--fw-semibold)}.shell-nav .nav-link{min-height:var(--hit-touch)}.shell-main{padding:var(--space-lg) var(--content-gutter) var(--space-2xl);width:100%;max-width:var(--content-max);min-width:0}html.scroll-locked{overflow:hidden}@media(min-width:1024px){.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.shell-header,.drawer-overlay{display:none}.shell-nav{position:sticky;top:0;z-index:auto;width:auto;height:100vh;height:100dvh;transform:none;visibility:visible;transition:none;border-right:var(--border-w) solid var(--hairline);padding:var(--space-lg) var(--space-sm)}.shell-nav .nav-link{min-height:var(--hit-min)}.shell-main{padding-top:var(--space-2xl)}}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.swatch{width:var(--space-3xl);height:var(--space-3xl);border:var(--border-w) solid var(--hairline);border-radius:var(--radius-sm)}.btn{text-decoration:none}.alert .btn{align-self:flex-start;margin-top:var(--space-sm)}.mono{font-family:var(--font-mono);overflow-wrap:anywhere}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:flex-start;padding:var(--space-3xl) var(--space-lg)}.auth-card{width:100%;max-width:var(--auth-card-w)}.auth-card .btn{width:100%}.shell-user{margin-top:auto;padding:var(--space-md);border-top:var(--border-w) solid var(--hairline);display:flex;flex-direction:column;gap:var(--space-xs)}.shell-user-name{font-weight:var(--fw-medium);overflow-wrap:anywhere}.qr{width:var(--qr-size);height:var(--qr-size);display:block;border:var(--border-w) solid var(--hairline)}.codes{list-style:none;margin:0 0 var(--space-md);padding:var(--space-md);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs) var(--space-lg);background:var(--surface-muted);border-radius:var(--radius-sm);font-family:var(--font-mono)}.page-section{margin-bottom:var(--space-2xl)}.inline-select{min-width:0}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min-w),1fr));gap:var(--space-lg)}.site-card-head{justify-content:space-between}.site-card-title{margin:0}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-xs) var(--space-md);margin:var(--space-md) 0 0}.kv dt{color:var(--body-mid);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.kv dd{margin:0}.subnav{display:flex;gap:var(--space-xs);overflow-x:auto;scrollbar-width:none;border-bottom:var(--border-w) solid var(--hairline);margin-bottom:var(--space-lg);background:linear-gradient(to right,var(--canvas),var(--canvas)) left center / var(--space-lg) 100% no-repeat local,linear-gradient(to left,var(--canvas),var(--canvas)) right center / var(--space-lg) 100% no-repeat local,linear-gradient(to right,var(--hairline),transparent) left center / var(--space-lg) 100% no-repeat scroll,linear-gradient(to left,var(--hairline),transparent) right center / var(--space-lg) 100% no-repeat scroll}.subnav::-webkit-scrollbar{display:none}.subnav .nav-link{flex:none}.subnav .nav-link{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.steps{display:flex;gap:var(--space-sm);list-style:none;padding:0;margin:0 0 var(--space-lg);flex-wrap:wrap}.steps li{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);background:var(--surface-muted)}.steps li[aria-current=step]{background:var(--nav-active);font-weight:var(--fw-semibold)}.check-list{list-style:none;padding:0;margin:0 0 var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.check-list label{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--hit-min)}.check-list input{width:var(--space-lg);height:var(--space-lg)}@media(pointer:coarse){.table td a:not(.btn){display:inline-flex;align-items:center;min-height:var(--hit-min)}}.form-narrow,.prose-narrow{max-width:var(--content-narrow)}.chart{margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.chart-title{font-size:var(--fs-h2);font-weight:var(--fw-semibold);margin:0}.chart-note{color:var(--body-mid);font-size:var(--fs-caption)}.chart details{border-top:var(--border-w) solid var(--hairline);padding-top:var(--space-sm)}.chart summary{cursor:pointer;min-height:var(--hit-min);display:flex;align-items:center;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--body-mid)}.chart .table-wrap{max-height:calc(var(--chart-h) * 2);overflow-y:auto}.bars{display:grid;grid-template-columns:var(--chart-axis-w) minmax(0,1fr);gap:var(--space-xs)}.bars-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;height:var(--chart-h);font-size:var(--fs-caption);color:var(--body-mid);font-variant-numeric:tabular-nums}.bars-plot{display:flex;align-items:flex-end;height:var(--chart-h);gap:var(--border-w);border-bottom:var(--border-w) solid var(--border-input);border-left:var(--border-w) solid var(--border-input)}.bar-col{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end}.bar-link{color:inherit;text-decoration:none}.bar-link:hover .bar{background:var(--ink)}.bar{width:100%;background:var(--body-mid);min-height:0}.bar-col[data-zero=false] .bar{min-height:var(--border-w)}.bars-x{grid-column:2;display:flex;justify-content:space-between;font-size:var(--fs-caption);color:var(--body-mid);font-variant-numeric:tabular-nums}.hbars{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr) max-content;gap:var(--space-xs) var(--space-md);align-items:center;margin:0;padding:0;list-style:none}.hbar-row{display:contents}.hbar-label{font-size:var(--fs-caption);overflow-wrap:anywhere}.hbar-track{height:var(--space-lg);background:var(--surface-muted)}.hbar-fill{height:100%;background:var(--body-mid)}.hbar-value{font-variant-numeric:tabular-nums;text-align:right;font-size:var(--fs-caption);font-weight:var(--fw-medium)}@media(max-width:720px){.hbars{grid-template-columns:minmax(0,1fr) max-content}.hbar-track{grid-column:1 / -1;grid-row:auto}.hbar-row{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) max-content;gap:var(--space-xs) var(--space-md)}}.line{display:grid;grid-template-columns:var(--chart-axis-w) minmax(0,1fr);gap:var(--space-xs)}.line-plot{width:100%;height:var(--chart-h);display:block;border-bottom:var(--border-w) solid var(--border-input);border-left:var(--border-w) solid var(--border-input)}.line-path{fill:none;stroke:var(--ink);stroke-width:var(--chart-stroke);vector-effect:non-scaling-stroke}.line-ref{fill:none;stroke:var(--border-input);stroke-width:var(--border-w);stroke-dasharray:var(--chart-dash);vector-effect:non-scaling-stroke}.heatmap-scroll{overflow-x:auto}.heatmap{width:100%;max-width:calc(var(--heat-label-w) + 24 * var(--heat-cell-max));border-collapse:separate;border-spacing:var(--border-w);font-variant-numeric:tabular-nums}.heatmap th{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--body-mid);min-width:var(--heat-cell-w);text-align:center;padding:var(--space-xxs)}.heatmap thead th:first-child,.heatmap tbody th{min-width:var(--heat-label-w);text-align:left;position:sticky;left:0;background:var(--canvas)}.heatmap td{min-width:var(--heat-cell-w);height:var(--hit-min);text-align:center;font-size:var(--fs-caption);color:var(--ink);background:var(--canvas);border:var(--border-w) solid var(--hairline)}.heatmap td[data-level="1"]{background:var(--heat-1)}.heatmap td[data-level="2"]{background:var(--heat-2)}.heatmap td[data-level="3"]{background:var(--heat-3);font-weight:var(--fw-semibold)}.heatmap td a.heat-link{display:flex;align-items:center;justify-content:center;height:100%;min-height:var(--hit-min);color:var(--ink);text-decoration:underline}.heat-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;font-size:var(--fs-caption);color:var(--body-mid)}.heat-swatch{display:inline-block;width:var(--space-xl);height:var(--space-lg);border:var(--border-w) solid var(--hairline);vertical-align:middle}.heat-swatch[data-level="1"]{background:var(--heat-1)}.heat-swatch[data-level="2"]{background:var(--heat-2)}.heat-swatch[data-level="3"]{background:var(--heat-3)}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min-w),1fr));gap:var(--space-md);margin:0}.stat{border:var(--border-w) solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg)}.stat dt{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--body-mid)}.stat dd{margin:0;font-size:var(--fs-h1);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.stat .stat-sub{display:block;font-size:var(--fs-caption);font-weight:var(--fw-regular);color:var(--body-mid)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-end}.toolbar .field{margin-bottom:0;min-width:var(--chart-axis-w)}.seg{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs)}.seg .btn[aria-pressed=true]{background:var(--nav-active);font-weight:var(--fw-semibold)}.cell-sub{display:block;font-size:var(--fs-caption);color:var(--body-mid)}.badges{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs);margin-left:var(--space-xs);vertical-align:middle}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:var(--space-xs) var(--space-md);padding:var(--space-sm) 0;border-bottom:var(--border-w) solid var(--hairline);align-items:baseline}.timeline time{font-variant-numeric:tabular-nums;color:var(--body-mid);font-size:var(--fs-caption)}@media(max-width:720px){.timeline li{grid-template-columns:max-content minmax(0,1fr)}.timeline li>:last-child{grid-column:1 / -1}.table-cards td.cell-hide-cards{display:none}}.pager{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.kv dd{overflow-wrap:anywhere;min-width:0}@media(max-width:720px){.table-cards td.cell-title{display:block;font-weight:var(--fw-semibold)}.table-cards td.cell-title:before{display:none}.table-cards td.cell-title .badges{display:flex;margin:var(--space-xs) 0 0}}.area-bars{display:flex;flex-direction:column;gap:var(--space-xs);margin:0;padding:0;list-style:none}.area-row{display:grid;grid-template-columns:minmax(var(--area-label-w),max-content) minmax(0,1fr) max-content;gap:var(--space-md);align-items:center;min-height:var(--hit-min);color:inherit;text-decoration:none}.area-row:hover .area-paid{background:var(--ink)}.area-name{font-size:var(--fs-body);overflow-wrap:anywhere}.area-track{display:flex;height:var(--space-xl);background:var(--surface-muted)}.area-seg{display:block;height:100%;box-sizing:border-box}.area-paid{background:var(--body-mid)}.area-free{background:var(--canvas);border:var(--border-w) solid var(--body-mid)}.area-value{font-variant-numeric:tabular-nums;text-align:right;font-size:var(--fs-caption);font-weight:var(--fw-medium)}.area-legend{display:flex;gap:var(--space-lg);margin:0}.area-key{display:inline-block;width:var(--space-lg);height:var(--space-md);vertical-align:middle;box-sizing:border-box}.chips{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs)}.chip{display:inline-flex;align-items:center;min-height:var(--hit-min);padding:0 var(--space-sm);border:var(--border-w) solid var(--border-input);border-radius:var(--radius-sm);font-size:var(--fs-caption);color:var(--ink);text-decoration:none}.chip:hover{background:var(--surface-muted)}.advice{border-top:var(--border-w) solid var(--hairline);padding-top:var(--space-lg)}.advice-slots,.advice-notes ul{margin:var(--space-xs) 0 0;padding-left:var(--space-2xl)}@media(max-width:720px){.area-row{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"name value" "track track";row-gap:var(--space-xs)}.area-name{grid-area:name}.area-value{grid-area:value}.area-track{grid-area:track}}
