:root{--c-ground:#f4f3ef;--c-surface:#fdfcfa;--c-surface-sunk:#eceae4;--c-line:#d9d6ce;--c-grid:#e9e7e0;--c-line-strong:#8c8982;--c-ink:#131313;--c-ink-soft:#55534e;--c-ink-faint:#8c8982;--c-stamp:#131313;--c-stamp-strong:#000;--c-stamp-tint:#eceae4;--c-seal:#c3352b;--c-seal-strong:#9f251d;--c-seal-tint:#f6e4e0;--c-working:#131313;--c-working-tint:#131313;--c-break:#131313;--c-break-tint:transparent;--c-done:#55534e;--c-done-tint:#e4e2dc;--c-idle:#8c8982;--c-idle-tint:transparent;--c-alert:var(--c-seal);--c-alert-tint:var(--c-seal-tint);--f-body:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic UI", sans-serif;--f-display:"Dela Gothic One", "Zen Kaku Gothic New", sans-serif;--f-stamp:"JetBrains Mono", ui-monospace, monospace;--f-label:"JetBrains Mono", ui-monospace, monospace;--t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.25rem;--t-xl:1.75rem;--t-clock:calc(clamp(3.75rem, 21vw, 6rem));--lh-tight:1.35;--lh-body:1.75;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-sm:0;--r-md:0;--r-pill:999px;--shadow-card:none;--focus-ring:0 0 0 2px var(--c-surface), 0 0 0 4px var(--c-ink);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-press:cubic-bezier(.3, 0, .2, 1);--d-fast:.18s;--d-mid:.45s;--d-slow:.9s;--w-form:640px;--w-page:1080px;--h-tap:48px;--w-side:232px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:linear-gradient(var(--c-grid) 1px,transparent 1px) 0 0/100% 32px,linear-gradient(90deg,var(--c-grid) 1px,transparent 1px) 0 0/32px 100%,var(--c-ground);-webkit-font-smoothing:antialiased;min-height:100dvh;color:var(--c-ink);font-family:var(--f-body);font-size:var(--t-md);line-height:var(--lh-body);font-feature-settings:"palt";background-attachment:fixed;margin:0}dd,dl,h1,h2,h3,ol,p,ul{margin:0;padding:0}ol,ul{list-style:none}h1,h2{font-family:var(--f-display);line-height:var(--lh-tight);letter-spacing:.02em;font-feature-settings:normal;font-weight:400}h1{font-size:var(--t-xl)}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md);font-weight:700}a{color:var(--c-stamp);text-underline-offset:3px}a:hover{color:var(--c-stamp-strong);text-decoration-thickness:2px}::selection{background:var(--c-ink);color:var(--c-surface)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}table{border-collapse:collapse;width:100%}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.stack{gap:var(--s-4)}.stack,.stack-lg{flex-direction:column;display:flex}.stack-lg{gap:var(--s-6)}.row,.row-between{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.page-head,.row-between{justify-content:space-between}.muted{color:var(--c-ink-soft)}.small{font-size:var(--t-sm)}.stamp-text{font-family:var(--f-stamp);color:var(--c-ink);letter-spacing:0;font-feature-settings:normal;font-weight:800}.en{font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-faint);font-size:.6875rem;font-weight:500}.num{font-variant-numeric:tabular-nums}.page-head{align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.page-head h1{padding-bottom:var(--s-2);position:relative}.page-head h1:after{content:"";background:linear-gradient(90deg,var(--c-seal) 0 24px,transparent 24px 30px,var(--c-ink) 30px);transform-origin:0;width:100%;height:4px;position:absolute;bottom:0;left:0}.page-head p{color:var(--c-ink-soft);font-size:var(--t-sm);max-width:44em}.card{background:var(--c-surface);border:1px solid var(--c-ink);border-radius:var(--r-md);padding:var(--s-5)}.card-flush{padding:0;overflow:hidden}.btn{isolation:isolate;justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--h-tap);padding:0 var(--s-5);border:1px solid var(--c-ink);border-radius:var(--r-md);color:var(--c-ink);letter-spacing:.06em;cursor:pointer;transition:color var(--d-fast) var(--ease-press),transform 80ms var(--ease-press);background:0 0;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--c-ink);transform-origin:bottom;transition:transform var(--d-mid) var(--ease-out);position:absolute;inset:0;transform:scaleY(0)}.btn:focus-visible,.btn:hover{color:var(--c-surface)}.btn:focus-visible:before,.btn:hover:before{transform:scaleY(1)}.btn:active{transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.4}.btn:disabled:before{transform:scaleY(0)}.btn:disabled:hover{color:var(--c-ink)}.btn-primary{background:var(--c-ink);color:var(--c-surface)}.btn-primary:before{background:var(--c-seal);transform-origin:0;height:3px;inset:auto 0 0;transform:scaleX(0)}.btn-primary:focus-visible:before,.btn-primary:hover:before{transform:scaleX(1)}.btn-primary:disabled:hover{color:var(--c-surface)}.btn-danger{border-color:var(--c-seal);background:var(--c-seal);color:#fff}.btn-danger:before{background:var(--c-seal-strong)}.btn-danger:disabled:hover{color:#fff}.btn-quiet{border-color:#0000}.btn-quiet,.btn-sm,.input,.select{padding:0 var(--s-3)}.btn-sm{min-height:36px;font-size:var(--t-sm)}.btn-xl{width:100%;min-height:84px;font-family:var(--f-display);letter-spacing:.08em;flex-direction:column;gap:2px;font-size:1.625rem;font-weight:400}.btn .btn-en{font-family:var(--f-label);letter-spacing:.3em;text-transform:uppercase;opacity:.7;font-size:.6875rem;font-weight:500}.btn-block{width:100%}.field{gap:var(--s-1);flex-direction:column;display:flex}.field>.label,.field>label{font-size:var(--t-sm);font-weight:500}.field .hint{font-size:var(--t-xs);color:var(--c-ink-soft)}.input,.select{width:100%;min-height:var(--h-tap);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);transition:border-color var(--d-fast),box-shadow var(--d-fast)}.input:disabled,.select:disabled{background:var(--c-surface-sunk);color:var(--c-ink-soft)}.input:focus-visible,.select:focus-visible{border-color:var(--c-ink);box-shadow:inset 0 -2px 0 var(--c-ink)}.form-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.form-section{gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--c-line);flex-direction:column;display:flex}.form-section:first-child{border-top:0;padding-top:0}.segmented{border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);align-self:flex-start;display:inline-flex;overflow:hidden}.segmented label{min-height:var(--h-tap);padding:0 var(--s-4);cursor:pointer;border-left:1px solid var(--c-line);transition:background-color var(--d-fast),color var(--d-fast);align-items:center;display:flex}.segmented label:first-child{border-left:0}.segmented input{opacity:0;position:absolute}.segmented label:has(input:checked){background:var(--c-ink);color:var(--c-surface);font-weight:700}.segmented label:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--c-stamp)}.badge{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);font-size:var(--t-xs);letter-spacing:.08em;white-space:nowrap;color:var(--c-ink-soft);background:0 0;align-items:center;gap:6px;padding:2px 10px;font-weight:700;line-height:1.6;display:inline-flex}.badge:before{content:"";background:currentColor;width:6px;height:6px}.badge-working{border-color:var(--c-ink);background:var(--c-ink);color:var(--c-surface)}.badge-break{border:2px solid var(--c-ink);color:var(--c-ink);padding:1px 9px}.badge-done{background:var(--c-done-tint);color:var(--c-done);border-color:#0000}.badge-alert{border-color:var(--c-seal);background:var(--c-seal);color:#fff}.badge-stamp{border-color:var(--c-ink);color:var(--c-ink)}.badge-plain:before{display:none}.notice{gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--c-line);border-left:3px solid var(--c-ink-faint);border-radius:var(--r-sm);background:var(--c-surface);font-size:var(--t-sm);flex-direction:column;display:flex}.notice-warn{border-color:var(--c-ink);border-left-width:6px}.notice-error{border-color:var(--c-seal);color:var(--c-seal-strong);border-left-width:6px}.notice strong{font-size:var(--t-md)}.table td,.table th{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:1px solid var(--c-line);vertical-align:middle}.table th{background:var(--c-ink);border-bottom:1px solid var(--c-ink);font-size:var(--t-xs);letter-spacing:.1em;color:var(--c-ink-soft);white-space:nowrap;font-weight:700;color:var(--c-surface)!important}.table tbody tr{transition:background-color var(--d-fast)}.table tbody tr:hover{background:var(--c-surface-sunk)}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right}.table-wrap{overflow-x:auto}.table-link{font-weight:700;text-decoration:none}.table-link:hover{text-decoration:underline}.empty{align-items:flex-start;gap:var(--s-3);padding:var(--s-6) var(--s-5);border:1px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);flex-direction:column;display:flex}.empty p{color:var(--c-ink-soft);max-width:40em}.stats{background:var(--c-surface);border:1px solid var(--c-ink);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid;overflow:hidden}.stats>div{padding:var(--s-3) var(--s-4);box-shadow:1px 0 0 var(--c-line),0 1px 0 var(--c-line)}.stats dt{font-size:var(--t-xs);color:var(--c-ink-soft)}.stats dd{font-family:var(--f-stamp);font-size:var(--t-xl);font-weight:800;line-height:1.3}.stats dd small{font-size:var(--t-sm);margin-left:2px;font-weight:500}.steps{counter-reset:step;flex-direction:column;display:flex}.steps>li{counter-increment:step;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--c-line);grid-template-columns:32px 1fr auto;display:grid}.steps>li:first-child{border-top:0}.steps>li:before{content:counter(step,cjk-ideographic);border:1px solid var(--c-ink);background:var(--c-ink);width:28px;height:28px;color:var(--c-surface);font-family:var(--f-display);font-size:var(--t-sm);transition:background-color var(--d-mid),color var(--d-mid);place-items:center;font-weight:400;display:grid}.steps>li.is-done:before{content:"済";border-color:var(--c-seal);background:var(--c-seal);color:#fff}.steps>li.is-done .step-title{color:var(--c-ink-soft)}.step-title{font-weight:700}.toast-area{left:50%;bottom:calc(64px + var(--s-5) + env(safe-area-inset-bottom));z-index:50;gap:var(--s-2);pointer-events:none;flex-direction:column;width:calc(min(92vw,420px));display:flex;position:fixed;transform:translate(-50%)}.toast{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border-left:4px solid var(--c-seal);background:var(--c-ink);color:var(--c-surface);font-size:var(--t-sm);box-shadow:0 12px 28px -14px #0000008c}.toast-error{background:var(--c-seal);border-left-color:var(--c-ink)}@media (width>=900px){.toast-area{left:auto;right:var(--s-5);bottom:var(--s-5);transform:none}}.gate{min-height:100dvh;padding:var(--s-5) var(--s-4);place-items:center;display:grid}.gate-card{gap:var(--s-5);flex-direction:column;width:min(100%,420px);display:flex}.brand{align-items:center;gap:var(--s-2);font-family:var(--f-label);font-weight:800;font-size:var(--t-md);letter-spacing:.22em;text-transform:uppercase;color:var(--c-ink);text-decoration:none;display:inline-flex}.brand span{background:var(--c-seal);color:#fff;width:30px;height:30px;font-family:var(--f-display);letter-spacing:0;transition:transform var(--d-fast) var(--ease-press);order:-1;place-items:center;font-size:1.125rem;font-weight:400;line-height:1;display:grid}.brand:hover span{transform:scale(1.12)}@media (width<=640px){.table-cards thead{display:none}.table-cards,.table-cards tbody{display:block}.table-cards tr{gap:var(--s-2) var(--s-4);padding:var(--s-4);border-bottom:1px solid var(--c-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.table-cards tbody tr:last-child{border-bottom:0}.table-cards td{border:0;flex-direction:column;align-items:flex-start;min-width:0;padding:0;display:flex;text-align:left!important}.table-cards td:not([data-label]){grid-column:1/-1}.table-cards td[data-label]:before{content:attr(data-label);font-family:var(--f-body);font-size:var(--t-xs);letter-spacing:0;color:var(--c-ink-soft);font-weight:500}.table-cards td:empty{display:none}.table-cards td.cell-action{flex-direction:row;grid-column:1/-1}.page-head>.btn,.page-head>.row,.table-cards td.cell-action .btn{width:100%}.page-head>.row>.select{width:100%!important}}.group-title{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--c-ink);display:flex}.diff,.link-list,.link-list a{flex-direction:column;display:flex}.link-list a{padding:var(--s-4) var(--s-5);border-top:1px solid var(--c-line);color:var(--c-ink);transition:padding-left var(--d-mid) var(--ease-out),background-color var(--d-fast);gap:2px;text-decoration:none;position:relative}.link-list a:first-child{border-top:0}.link-list a:hover{background:var(--c-surface-sunk);padding-left:calc(8px + var(--s-5))}.link-list a:before{content:"";background:var(--c-ink);transform-origin:top;width:4px;transition:transform var(--d-mid) var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.link-list a:hover:before{transform:scaleY(1)}.link-list strong{font-family:var(--f-display);color:var(--c-ink);font-weight:400;font-size:var(--t-lg);letter-spacing:.02em}.link-list .badge{align-self:flex-start}textarea.input{min-height:72px;padding:var(--s-2) var(--s-3);resize:vertical}.diff{font-size:var(--t-sm);gap:2px}.diff del{color:var(--c-ink-faint)}.diff ins{font-weight:700;text-decoration:none}.modal-backdrop{z-index:60;padding:var(--s-4);background:#131313b8;place-items:center;display:grid;position:fixed;inset:0}.modal{gap:var(--s-4);width:min(100%,420px);padding:var(--s-5);background:var(--c-surface);border:2px solid var(--c-ink);box-shadow:inset 0 6px 0 var(--c-seal);padding-top:calc(6px + var(--s-5))}.modal,.modal-actions{flex-direction:column;display:flex}.modal-actions{gap:var(--s-2)}.modal-enter-active,.modal-leave-active{transition:opacity var(--d-fast) linear}.modal-enter-active .modal{animation:modal-in var(--d-mid) var(--ease-out) both}.modal-enter-from,.modal-leave-to{opacity:0}@keyframes modal-in{0%{transform:translateY(24px)scale(.96)}to{transform:none}}.page-enter-active{transition:opacity var(--d-mid) var(--ease-out),transform var(--d-mid) var(--ease-out)}.page-leave-active{transition:opacity .12s linear}.page-enter-from{opacity:0;transform:translateY(14px)}.page-leave-to{opacity:0}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.stack-lg>*{animation:rise var(--d-slow) var(--ease-out) both}.stack-lg>:nth-child(2){animation-delay:70ms}.stack-lg>:nth-child(3){animation-delay:.14s}.stack-lg>:nth-child(4){animation-delay:.21s}.stack-lg>:nth-child(5){animation-delay:.28s}.stack-lg>:nth-child(n+6){animation-delay:.35s}@keyframes brush{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.page-head h1:after{animation:brush var(--d-slow) var(--ease-out) .2s both}.group-title{position:relative;border-bottom-color:#0000!important}.group-title:after{content:"";background:var(--c-ink);transform-origin:0;height:1px;animation:brush var(--d-slow) var(--ease-out) .15s both;position:absolute;inset:auto 0 0}@keyframes row-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.table tbody tr{animation:row-in var(--d-mid) var(--ease-out) both}.table tbody tr:nth-child(2){animation-delay:40ms}.table tbody tr:nth-child(3){animation-delay:80ms}.table tbody tr:nth-child(4){animation-delay:.12s}.table tbody tr:nth-child(5){animation-delay:.16s}.table tbody tr:nth-child(n+6){animation-delay:.2s}@keyframes notice-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}.notice{animation:notice-in var(--d-mid) var(--ease-out) both}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@keyframes seal{0%{opacity:0;transform:scale(2.2)}60%{opacity:1;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.steps>li.is-done:before{animation:seal var(--d-mid) var(--ease-press) both}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.toast{animation:toast-in var(--d-mid) var(--ease-out) both}@keyframes cell-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.stats>div{animation:cell-in var(--d-mid) var(--ease-out) both}.stats>div:nth-child(2){animation-delay:80ms}.stats>div:nth-child(3){animation-delay:.16s}.gate-card>.brand span{animation:seal var(--d-slow) var(--ease-press) .1s both}.gate-card>.card{animation:rise var(--d-slow) var(--ease-out) .25s both}.gate-card>p{animation:rise var(--d-slow) var(--ease-out) .4s both}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.15}}.badge-working:before{animation:1.2s step-end infinite blink}
