:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-50:var(--lightningcss-light,#eff3fd)var(--lightningcss-dark,#1b2438);--brand-100:var(--lightningcss-light,#dfe7fa)var(--lightningcss-dark,#222e47);--brand-200:var(--lightningcss-light,#c2d0f3)var(--lightningcss-dark,#2c3b5c);--brand-300:var(--lightningcss-light,#96aee8)var(--lightningcss-dark,#4a5f8c);--brand-400:var(--lightningcss-light,#6685d6)var(--lightningcss-dark,#8aa8ee);--brand-500:var(--lightningcss-light,#3f60bf)var(--lightningcss-dark,#7c9ceb);--brand-600:var(--lightningcss-light,#2a47a3)var(--lightningcss-dark,#6f8fe0);--brand-700:var(--lightningcss-light,#1a3a8f)var(--lightningcss-dark,#9db6f0);--brand-800:var(--lightningcss-light,#152c6d)var(--lightningcss-dark,#b9caf6);--n-0:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a202b);--n-50:var(--lightningcss-light,#f5f7fa)var(--lightningcss-dark,#151a23);--n-100:var(--lightningcss-light,#eceff5)var(--lightningcss-dark,#232b38);--n-200:var(--lightningcss-light,#dee3ec)var(--lightningcss-dark,#2b3342);--n-300:var(--lightningcss-light,#c8cfdc)var(--lightningcss-dark,#3a4356);--n-400:var(--lightningcss-light,#a2abbd)var(--lightningcss-dark,#4d5870);--n-500:var(--lightningcss-light,#78829a)var(--lightningcss-dark,#8b94a6);--n-600:var(--lightningcss-light,#5a6478)var(--lightningcss-dark,#b3bccc);--n-900:var(--lightningcss-light,#1a1f2b)var(--lightningcss-dark,#e8ecf3);--ok-50:var(--lightningcss-light,#e8f6ed)var(--lightningcss-dark,#12241a);--ok-100:var(--lightningcss-light,#c8e7d4)var(--lightningcss-dark,#1d3a2a);--ok-500:var(--lightningcss-light,#1f8a4c)var(--lightningcss-dark,#4cc17f);--ok-600:var(--lightningcss-light,#15723d)var(--lightningcss-dark,#63cf90);--ok-700:var(--lightningcss-light,#0f5c31)var(--lightningcss-dark,#7edaa4);--ng-50:var(--lightningcss-light,#fdecea)var(--lightningcss-dark,#2a1614);--ng-100:var(--lightningcss-light,#f8d2cf)var(--lightningcss-dark,#43211d);--ng-500:var(--lightningcss-light,#c8352b)var(--lightningcss-dark,#f08279);--ng-600:var(--lightningcss-light,#a92a21)var(--lightningcss-dark,#f4948c);--ng-700:var(--lightningcss-light,#8c231b)var(--lightningcss-dark,#f8a8a0);--warn-50:var(--lightningcss-light,#fff5e2)var(--lightningcss-dark,#2a2113);--warn-100:var(--lightningcss-light,#f6e2b8)var(--lightningcss-dark,#40311b);--warn-500:var(--lightningcss-light,#b07d10)var(--lightningcss-dark,#e0b45f);--warn-700:var(--lightningcss-light,#6f4700)var(--lightningcss-dark,#f2d296);--out-50:var(--lightningcss-light,#fff6e5)var(--lightningcss-dark,#2a2213);--out-700:var(--lightningcss-light,#7a5b12)var(--lightningcss-dark,#f0d091);--canvas:var(--lightningcss-light,#eef1f7)var(--lightningcss-dark,#10141c);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a202b);--surface-sunken:var(--lightningcss-light,#f7f9fc)var(--lightningcss-dark,#151a23);--surface-hover:var(--lightningcss-light,#eff3fd)var(--lightningcss-dark,#212a3a);--field-bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111721);--field-bg-disabled:var(--lightningcss-light,#eceff5)var(--lightningcss-dark,#1c222d);--text:var(--n-900);--text-2:var(--n-600);--text-muted:var(--n-500);--text-brand:var(--brand-700);--text-inverse:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d1119);--border:var(--n-200);--border-strong:var(--n-300);--field-border:var(--n-300);--field-border-hover:var(--n-400);--divider:var(--n-100);--focus:var(--lightningcss-light,#3f60bf)var(--lightningcss-dark,#7ea1ea);--focus-ring:0 0 0 3px color-mix(in srgb, var(--focus) 30%, transparent);--focus-row:color-mix(in srgb, var(--focus) 10%, transparent);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--shadow-1:0 1px 2px var(--lightningcss-light,#1018280f)var(--lightningcss-dark,#0006), 0 1px 3px var(--lightningcss-light,#10182814)var(--lightningcss-dark,#0000004d);--shadow-2:0 4px 12px var(--lightningcss-light,#1018281a)var(--lightningcss-dark,#00000073);--shadow-3:0 12px 32px var(--lightningcss-light,#1018282e)var(--lightningcss-dark,#0000008c);--font:system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;--font-num:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Noto Sans Mono", monospace;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--lh-tight:1.3;--lh:1.65;--shell-max:1280px;--prose-max:68ch;--dock-w:380px;--header-h:56px;--tap:44px;--dur:.15s;--ease:cubic-bezier(.2, .6, .3, 1);--wait-visible:.2s;--dur-spin:.9s;--z-dock:20;--z-fab:60;--z-header:100}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-4))}body{padding:0 0 var(--s-12);background:var(--canvas);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh);font-feature-settings:"palt" 1;margin:0}h1,h2,h3,h4,h5{line-height:var(--lh-tight);color:var(--text);margin:0;font-weight:700}h2{font-size:var(--fs-xl);letter-spacing:.01em}h3{font-size:var(--fs-md);color:var(--text-brand)}h4{font-size:var(--fs-sm);color:var(--text-2)}p{margin:0}a{color:var(--text-brand);text-underline-offset:2px;text-decoration-thickness:1px}p,li{max-width:var(--prose-max)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:color-mix(in srgb, var(--focus) 30%, transparent)}portal-section,portal-auth-gate,portal-edit-bar,portal-save-bar{display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.picker-dialog-bg{width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}.picker-dialog{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);margin:0!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}@media print{body{background:#fff}.portal-header,portal-section-controls,.verdict-fab,.save-bar{display:none!important}portal-section[collapsed]::part(body){display:block!important}}.portal-header{z-index:var(--z-header);justify-content:space-between;align-items:center;gap:var(--s-3);min-height:var(--header-h);padding:var(--s-2) max(var(--s-4), calc((100% - var(--shell-max)) / 2));margin:0 0 var(--s-5);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;top:0}.portal-header .title{align-items:center;gap:var(--s-2);font-weight:700;font-size:var(--fs-md);color:var(--text-brand);letter-spacing:.01em;display:inline-flex}.portal-header .title:before{content:"";border-radius:var(--r-sm);background:linear-gradient(135deg, var(--brand-500), var(--brand-800));flex:none;width:18px;height:18px}.portal-header .title a{color:inherit;text-decoration:none}.portal-header .title a:hover{text-decoration:underline}.portal-header .account{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--text-2);display:flex}.container{max-width:var(--shell-max);padding:clamp(var(--s-4), 2vw, var(--s-8));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-1);margin:0 auto}@media (width<=640px){.container{padding:var(--s-4) var(--s-3);border-left:none;border-right:none;border-radius:0}}.page-head{justify-content:space-between;align-items:baseline;gap:var(--s-2) var(--s-4);padding-bottom:var(--s-3);margin-bottom:var(--s-4);border-bottom:1px solid var(--divider);flex-wrap:wrap;display:flex}.page-head h2{margin:0}.container>.hint{margin-bottom:var(--s-4)}.auth-gate{max-width:420px;margin:var(--s-12) auto 0;padding:var(--s-8) var(--s-6);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-2)}.auth-gate .note{font-size:var(--fs-sm);color:var(--text-2);margin:0 auto var(--s-4)}.auth-gate .clerk-mount{justify-content:center;display:flex}.field-grid,.form-section::part(body),.field-group{gap:var(--s-3) var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:start;display:grid}.field-grid>:not(.field),.form-section>:not(.field),.field-group>:not(.field){grid-column:1/-1}.field-narrow{max-width:14rem}.field-half{max-width:32rem}@media (width>=1080px){.has-dock{grid-template-columns:minmax(0, 1fr) var(--dock-w);gap:var(--s-6);align-items:start;display:grid}.has-dock>*{grid-column:1;min-width:0}.has-dock>.result-dock{top:calc(var(--header-h) + var(--s-3));max-height:calc(100vh - var(--header-h) - var(--s-6));grid-area:1/2/-1;align-self:start;margin-top:0;position:sticky;overflow:auto}}form>button#submitBtn{bottom:calc(var(--s-2) + env(safe-area-inset-bottom,0px));z-index:var(--z-dock);position:sticky}.verdict-fab{right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom,0px));z-index:var(--z-fab);align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:700;text-decoration:none;display:inline-flex;position:fixed}body:has(form>button#submitBtn) .verdict-fab{bottom:calc(var(--s-3) + var(--tap) + var(--s-3) + env(safe-area-inset-bottom,0px))}@media (width>=1080px){.verdict-fab{display:none}}portal-section-controls{justify-content:flex-end;gap:var(--s-2);margin:var(--s-3) 0 0;display:flex}button{justify-content:center;align-items:center;gap:var(--s-2);width:auto;min-height:var(--tap);padding:0 var(--s-4);font:inherit;font-size:var(--fs-sm);color:var(--text-inverse);background:var(--brand-600);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:1px solid #0000;margin:0;font-weight:700;line-height:1.2;display:inline-flex}button:hover{background:var(--brand-700)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled{background:var(--n-200);color:var(--text-muted);cursor:not-allowed;transform:none}button.secondary{background:var(--surface);color:var(--text-brand);border-color:var(--border-strong)}button.secondary:hover{background:var(--surface-hover);border-color:var(--brand-300)}button.secondary:disabled{background:var(--field-bg-disabled);color:var(--text-muted);border-color:var(--border)}button.danger{background:var(--surface);color:var(--ng-600);border-color:color-mix(in srgb, var(--ng-500) 45%, var(--border));font-weight:700}button.danger:hover{background:var(--ng-50);border-color:var(--ng-500)}button.add{width:100%;margin-top:var(--s-4);background:var(--surface);color:var(--text-brand);border:1px dashed var(--brand-300)}button.add:hover{background:var(--surface-hover);border-style:dashed;border-color:var(--brand-500)}form>button#submitBtn{width:100%;margin-top:var(--s-5);min-height:48px;font-size:var(--fs-md);box-shadow:var(--shadow-2)}.portal-header .account button,.template-chip button,portal-section-controls button,.folder-row button{min-height:32px;padding:0 var(--s-3);font-size:var(--fs-xs)}label{margin:0 0 var(--s-1);font-size:var(--fs-sm);color:var(--text-2);font-weight:700;display:block}label>input,label>select,label>textarea{margin-top:var(--s-1);display:block}input[type=text],input[type=number],input[type=date],select,textarea{width:100%;min-height:var(--tap);padding:var(--s-2) var(--s-3);box-sizing:border-box;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);font-family:inherit;font-size:1rem}textarea{line-height:var(--lh);resize:vertical}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--field-border-hover)}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:var(--focus-ring);outline:none}@media (forced-colors:active){input:focus,select:focus,textarea:focus{outline:2px solid highlight}}input:disabled,select:disabled,textarea:disabled{background:var(--field-bg-disabled);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}input[type=number]{text-align:right;font-variant-numeric:tabular-nums}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=date]{min-height:var(--tap)}select{appearance:none;padding-right:var(--s-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5 6 8.5 10 4.5' fill='none' stroke='%2378829a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--s-3) center;background-size:12px 12px}.field{min-width:0}.field .field-row select,.field .field-row input{margin:0}.field-row{align-items:stretch;gap:0;display:flex}.field-row>input,.field-row>select{flex:1;min-width:0}.field-row>.unit{padding:0 var(--s-3);font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;background:var(--surface-sunken);border:1px solid var(--field-border);border-radius:0 var(--r-md) var(--r-md) 0;border-left:none;flex:none;align-items:center;font-weight:700;display:flex}:is(.field-row:has(>.unit)>input,.field-row:has(>.unit)>select){border-radius:var(--r-md) 0 0 var(--r-md)}.field.required>label:after,.field.required .field-row:after{content:"必須";padding:1px var(--s-2);font-size:var(--fs-2xs);color:var(--ng-700);background:var(--ng-50);border:1px solid var(--ng-100);border-radius:var(--r-pill);font-weight:700;line-height:1.5}.field.required>label{align-items:center;gap:var(--s-2);display:flex}.field.required>label:after{flex:none;margin-left:auto}.field.required .field-row:after{display:none}.field.required:has(>.field-row>input[type=number])>label:after{display:none}.field.required:has(>.field-row>input[type=number]) .field-row{position:relative}.field.required:has(>.field-row>input[type=number]) .field-row:after{top:50%;left:var(--s-3);pointer-events:none;display:block;position:absolute;transform:translateY(-50%)}.field.required .field-row>input[type=number]{padding-left:4.5em}.field.disabled label,.field.disabled .unit,.choices.disabled legend,.choices.disabled .choice-option,portal-section.disabled>[slot=title],portal-section.disabled .hint{color:var(--text-muted)}.field.disabled input{background:var(--field-bg-disabled);color:var(--text-muted)}.hint{margin:var(--s-1) 0 0;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.65}.field-group{margin-top:var(--s-4)}.field-group>h4{padding-bottom:var(--s-1);font-size:var(--fs-sm);color:var(--text-brand);border-bottom:1px solid var(--divider);margin:0}.choices{margin-top:var(--s-3);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.choices legend{padding:0 var(--s-2);font-size:var(--fs-sm);color:var(--text-brand);font-weight:700}.choices.bare{margin-top:var(--s-1);background:0 0;border:none;padding:0}.choice-option{align-items:flex-start;gap:var(--s-3);margin:var(--s-2) 0 0;padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);font-weight:400;line-height:1.5;display:flex}.choice-option:hover{background:var(--surface-hover);border-color:var(--brand-300)}.choice-option:has(input:checked){background:var(--brand-50);border-color:var(--brand-400);color:var(--text);font-weight:700}.choice-option:has(input:focus-visible){box-shadow:var(--focus-ring);border-color:var(--focus)}.choice-option input[type=radio],.choice-option input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--brand-600);flex:none;margin:1px 0 0}portal-section,.card{margin-top:var(--s-4);padding:var(--s-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-lg)}portal-section>[slot=title]{min-width:0;margin:0}portal-section::part(head){padding-bottom:var(--s-3);margin-bottom:var(--s-3);border-bottom:1px solid var(--divider)}portal-section[collapsed]::part(head){border-bottom:none;margin-bottom:0;padding-bottom:0}portal-section[collapsed]::part(body){display:none}portal-section::part(toggle),portal-section::part(head):hover{color:var(--text-brand)}.result-summary{gap:var(--s-2);margin-top:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.result-box{padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand-400);border-right:3px solid var(--brand-400);border-radius:var(--r-md);text-align:left}.result-box .key{font-size:var(--fs-2xs);color:var(--text-muted);letter-spacing:.02em;font-weight:700;display:block}.result-box .value{font-family:var(--font-num);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--text);word-break:break-all;margin-top:2px;font-weight:700;display:block}.table-scroll{margin-top:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll>.steps-table{margin:0}.steps-table{border-collapse:collapse;width:100%;margin-top:var(--s-3);font-size:var(--fs-sm)}.steps-table th{padding:var(--s-2) var(--s-3);font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-sunken);border-bottom:1px solid var(--border);white-space:nowrap;font-weight:700}.steps-table th.step-label{text-align:left}.steps-table th.step-value{text-align:right}.steps-table td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--divider)}.steps-table tr:last-child td{border-bottom:none}.steps-table .step-label{color:var(--text)}.steps-table .step-eq{font-family:var(--font-num);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.steps-table .step-value{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text);font-weight:700}.steps-table .check-value{color:var(--text-2);font-size:var(--fs-xs)}.steps-table .verdict{text-align:center;font-family:var(--font);letter-spacing:.06em;white-space:nowrap;font-weight:800}.steps-table .verdict.ok{color:var(--ok-700);background:var(--ok-50)}.steps-table .verdict.ng{color:var(--ng-700);background:var(--ng-50)}.steps-table tr:has(.verdict.ng) td{background:var(--ng-50)}.steps-table tr:has(.verdict.ng) td:first-child{box-shadow:inset 3px 0 0 var(--ng-500)}.result-error{margin-top:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-8);font-size:var(--fs-sm);color:var(--ng-700);background:var(--ng-50);border:1px solid var(--ng-100);border-radius:var(--r-md);position:relative}.result-error:before{content:"!";left:var(--s-3);top:var(--s-3);width:18px;height:18px;font-size:var(--fs-xs);color:var(--text-inverse);background:var(--ng-600);border-radius:var(--r-pill);justify-content:center;align-items:center;font-weight:800;display:inline-flex;position:absolute}.warnings{margin:var(--s-3) auto 0;max-width:var(--shell-max);padding:var(--s-3) var(--s-4) var(--s-3) var(--s-6);font-size:var(--fs-sm);color:var(--warn-700);background:var(--warn-50);border:1px solid var(--warn-100);border-left:3px solid var(--warn-500);border-right:3px solid var(--warn-500);border-radius:var(--r-md)}.warnings li{max-width:none}.warnings li+li{margin-top:var(--s-2)}.result-dock{--dock-accent:var(--brand-700);background:var(--surface);border-color:color-mix(in srgb, var(--dock-accent) 40%, var(--border));padding:0}.result-dock:has(.verdict.ng){--dock-accent:var(--ng-600)}.result-dock:has(.verdict):not(:has(.verdict.ng)){--dock-accent:var(--ok-600)}.result-dock::part(head){padding:var(--s-3) var(--s-4);background:var(--dock-accent);border-radius:calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0;border-bottom:none;margin:0}.result-dock[collapsed]::part(head){padding:var(--s-3) var(--s-4);border-radius:calc(var(--r-lg) - 1px)}.result-dock::part(toggle),.result-dock>[slot=title]{color:var(--text-inverse)}.result-dock::part(body){padding:var(--s-4);display:block}.verdict-fab .state{display:none}.verdict-fab .state[data-state=none]{display:inline}body:has(.result-dock .verdict) .verdict-fab .state[data-state=none]{display:none}body:has(.result-dock .verdict):not(:has(.result-dock .verdict.ng)) .verdict-fab{background:var(--ok-600);color:var(--text-inverse);border-color:#0000}body:has(.result-dock .verdict):not(:has(.result-dock .verdict.ng)) .verdict-fab .state[data-state=ok]{display:inline}body:has(.result-dock .verdict.ng) .verdict-fab{background:var(--ng-600);color:var(--text-inverse);border-color:#0000}body:has(.result-dock .verdict.ng) .verdict-fab .state[data-state=ng]{display:inline}.edit-bar{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.edit-bar .label{color:var(--text-muted)}.edit-bar .name{color:var(--text-brand);word-break:break-all;font-weight:700}.edit-bar .hint{flex-basis:100%}.file-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.file-actions button{background:var(--surface);color:var(--text-brand);border-color:var(--border-strong);min-height:36px;font-size:var(--fs-xs)}.file-actions button:hover{background:var(--surface-hover);border-color:var(--brand-300)}.save-bar{margin-top:var(--s-6);padding:var(--s-4);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-lg)}.save-bar h3{margin-bottom:var(--s-1)}.save-actions{gap:var(--s-2);margin-top:var(--s-3);display:flex}.save-actions button{flex:1;min-height:48px}.template-chip{align-items:center;gap:var(--s-2);min-width:0;padding:var(--s-1) var(--s-1) var(--s-1) var(--s-3);font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-pill);margin-left:auto;display:inline-flex}.template-chip .label{white-space:nowrap;color:var(--text-muted)}.template-chip .name,.template-chip .unset{text-overflow:ellipsis;white-space:nowrap;max-width:18em;font-weight:700;overflow:hidden}.template-chip .name{color:var(--text-brand)}.template-chip .unset{color:var(--ng-600)}.app-dialog{width:min(28rem,100vw - 2rem);padding:var(--s-5);color:var(--text);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-3);font-size:var(--fs-base);border:none}.app-dialog::backdrop{background:#0a0e1473}.app-dialog p{line-height:var(--lh);margin:0}.app-dialog h3{margin-bottom:var(--s-3);font-size:var(--fs-lg)}.app-dialog label{margin-top:var(--s-4)}.dialog-actions{gap:var(--s-2);margin-top:var(--s-5);flex-direction:column;display:flex}@media (width>=480px){.dialog-actions{flex-direction:row-reverse}.dialog-actions button{flex:1}}.folder-row{align-items:center;gap:var(--s-2);margin-top:var(--s-1);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.folder-row .name{color:var(--text-brand);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.folder-row .unset{color:var(--text-muted)}.folder-row button{flex:none;margin-left:auto}.page-loading{justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-12) var(--s-4);color:var(--text-2);font-size:var(--fs-sm);animation:portal-loading-in var(--dur) var(--ease) var(--wait-visible) both;display:flex}.page-loading:before{content:"";border:2px solid var(--border-strong);border-top-color:var(--brand-600);width:20px;height:20px;animation:portal-loading-spin var(--dur-spin) linear infinite;border-radius:50%;flex:none}.auth-gate .page-loading{padding:var(--s-6) 0}@keyframes portal-loading-in{0%{opacity:0}to{opacity:1}}@keyframes portal-loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.page-loading:before{animation:portal-loading-pulse 1.6s var(--ease) infinite}@keyframes portal-loading-pulse{0%,to{opacity:1}50%{opacity:.35}}}.tool-list{gap:var(--s-4);margin:var(--s-4) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));padding:0;list-style:none;display:grid}.tool-list li{max-width:none}.tool-card{gap:var(--s-2);height:100%;padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;text-decoration:none;display:flex}.tool-card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-2);transform:translateY(-1px)}.tool-card .name{justify-content:space-between;align-items:baseline;gap:var(--s-2);font-weight:700;font-size:var(--fs-md);color:var(--text-brand);display:flex}.tool-card .name:after{content:"→";color:var(--brand-400)}.tool-card .desc{max-width:none;font-size:var(--fs-sm);color:var(--text-2);margin:0}#message{max-width:var(--shell-max);margin:var(--s-4) auto 0;text-align:center;font-size:var(--fs-sm)}#result{max-width:var(--shell-max);margin:var(--s-3) auto 0;text-align:center;font-size:var(--fs-sm)}
