:root{--bg:#f4f6f3;--surface:#fff;--surface-2:#f7f9f6;--border:#dce3df;--border-soft:#eaefec;--border-strong:#b9c0c9;--text:#22302b;--muted:#5e6b66;--accent:#137a66;--accent-hover:#0f6352;--accent-soft:#e3f2ec;--accent-fg:#fff;--amber:#9a6a0b;--amber-soft:#fbf1d6;--danger:#c2412a;--danger-soft:#fbe7e2;--danger-border:#e2c8c2;--row-hover:#f4f7f4;--radius:9px;--radius-sm:6px;--font-sans:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", var(--font-sans);--btn-pad-y:.4rem;--btn-pad-x:.95rem;--btn-pad-y-sm:.25rem;--btn-pad-x-sm:.65rem;--stack-gap:.85rem;--modal-head-h:3.6rem;--modal-pad-x:1.4rem;--modal-pad-b:1.25rem;--shadow:0 1px 2px #22302b0d, 0 2px 8px #22302b0a;--thumb:132px;font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;padding:0;line-height:1.65}h1,h2,h3{font-family:var(--font-display)}a{color:var(--accent)}header{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1.25rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}header h1{color:var(--accent);letter-spacing:.02em;margin:0;font-size:1.05rem;font-weight:900}.shell{grid-template-columns:13rem minmax(0,1fr);align-items:start;display:grid}@media (width<60rem){.shell{grid-template-columns:minmax(0,1fr)}}.side-nav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:.15rem;min-height:calc(100vh - 3.3rem);padding:1rem .75rem 1.5rem;display:flex;position:sticky;top:3.3rem}@media (width<60rem){.side-nav{border-right:0;border-bottom:1px solid var(--border);min-height:0;position:static}}.side-nav>button{border-radius:var(--radius-sm);text-align:left;justify-content:space-between;align-items:center;display:flex}.side-nav>button[aria-pressed=true]{background:var(--accent-soft);border-color:#0000;border-left:3px solid var(--accent);padding-left:calc(var(--btn-pad-x) - 2px);color:var(--accent);font-weight:700}.nav-section{color:var(--muted);letter-spacing:.06em;margin:0 0 .25rem;padding:0 .85rem;font-size:.75rem;font-weight:700}.nav-count{background:var(--amber-soft);min-width:1.4rem;color:var(--amber);font-family:var(--font-display);text-align:center;border-radius:999px;padding:0 .4rem;font-size:.75rem;font-weight:700}main{max-width:1200px;padding:1.5rem}main:focus{outline:none}.skip-link{z-index:20;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-fg);padding:.5rem .9rem;font-weight:700;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;transform:none}.page-head h2,.page-head p{margin:0}.page-head h2{overflow-wrap:anywhere}.page-head>:first-child{flex:20rem;min-width:0}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:var(--stack-gap)}.card-head{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1.1rem;display:flex}.card-head h3{margin:0;font-size:1rem}.card-body{padding:1rem}.empty{color:var(--muted);text-align:center;margin:0;padding:1.5rem 1rem}.stat-grid{margin-bottom:var(--stack-gap);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}@media (width>=64rem){.home-page .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.home-split{gap:var(--stack-gap);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=64rem){.home-split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.home-split>.card,.home-aside>.card{margin-bottom:0}.home-aside{gap:var(--stack-gap);flex-direction:column;display:flex}.home-page button.notification-row{flex-direction:column;align-items:stretch;gap:.1rem;padding:.6rem 1.1rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem}.stat-label,.stat-note{color:var(--muted);font-size:.85rem}.stat-value{color:var(--accent);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:900;line-height:1.25}.stat-value small{color:var(--muted);margin-left:.25rem;font-size:.8rem;font-weight:400}.table-scroll{position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--muted);text-align:left;white-space:nowrap;padding:.55rem .85rem;font-size:.8rem;font-weight:700}td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:.75rem .85rem}tbody tr:hover{background:var(--row-hover)}.modal-subject{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0 0 1rem;display:flex}.modal-subject-name{font-weight:700}.mono-id{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}button.link{color:var(--accent);font-family:var(--font-sans);text-align:left;background:0 0;border:0;border-radius:0;padding:0;font-weight:700}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.state-tag{color:var(--muted);font-family:var(--font-display);white-space:nowrap;background:#eae8e2;border-radius:999px;padding:.05rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.state-tag.state-running,.state-tag.state-queued{color:#7a4d00;background:#fff4d6}.state-tag.state-review{color:#5b3d7a;background:#efe7f6}.state-tag.state-adopted{color:#0a5c2e;background:#e6f6ec}.state-tag.state-failed{color:#a8321e;background:#fde8e4}.state-tag.state-done{color:#0a5c2e;background:#e6f6ec}h2{margin:0 0 .75rem;font-size:1.15rem}button{font:inherit;font-family:var(--font-display);padding:var(--btn-pad-y) var(--btn-pad-x);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;font-weight:700}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.action{background:var(--surface-2);border-color:var(--border-strong)}button.action:hover:not(:disabled){background:var(--surface);border-color:var(--accent);color:var(--accent)}button.quiet{color:var(--muted);background:0 0;border-color:#0000}button.quiet:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}button.quiet[aria-pressed=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}button.small{padding:var(--btn-pad-y-sm) var(--btn-pad-x-sm);font-size:.8rem}input,select,textarea{font:inherit;accent-color:var(--accent);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.4rem .6rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{color:var(--muted);font-size:.85rem;font-weight:600}.field{flex-direction:column;gap:.2rem;min-width:12rem;display:flex}.field input,.field select{width:100%}.form-grid{margin-bottom:var(--stack-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem;display:grid}.form-grid .field-wide{grid-column:1/-1}fieldset.field{border:0;margin:0;padding:0}fieldset.field legend{color:var(--muted);margin-bottom:.2rem;font-size:.85rem;font-weight:600}.field textarea{width:100%}.hint{color:var(--muted);font-size:.8rem}.chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;display:flex}button.chip{padding:var(--btn-pad-y-sm) var(--btn-pad-x);border-radius:999px}button.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.submit-form{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.5rem .75rem;display:grid}.submit-form label,.submit-form>.field-name{text-align:right;justify-self:end}.auto-id{font-variant-numeric:tabular-nums;margin:0}.auto-id .hint{color:var(--muted);margin-left:.4rem;font-size:.85rem}.submit-form>p:not(.auto-id),.submit-form>fieldset,.submit-form>.submit-controls,.submit-form>.error,.submit-form>.warning,.submit-form>.note{grid-column:1/-1}.submit-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.submit-controls fieldset.field{flex:none;align-items:center;gap:.75rem;min-inline-size:auto;display:flex}.submit-controls fieldset.field legend{margin-bottom:0}.submit-controls label.radio{white-space:nowrap}.thumb-button{cursor:zoom-in;background:0 0;border:0;padding:0;line-height:0}.asset-detail{grid-template-columns:minmax(0,20rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.asset-detail-image a{cursor:zoom-in;line-height:0;display:block}.asset-detail-image img{aspect-ratio:auto;object-fit:contain;border-radius:var(--radius);background:var(--surface-2,#0002);width:auto;max-width:100%;max-height:70vh;display:block}.asset-detail-rows{grid-template-columns:max-content minmax(0,1fr);gap:.35rem .75rem;margin:0;font-size:.9rem;display:grid}.asset-detail-image{top:var(--modal-head-h);position:sticky}.asset-detail-rows dt{color:var(--muted);white-space:nowrap}.asset-detail-rows dd{overflow-wrap:anywhere;margin:0}@media (width<=42rem){.asset-detail{grid-template-columns:minmax(0,1fr)}}.home-page,.persons-page,.coordinations-page,.coordination-detail{gap:var(--stack-gap);flex-direction:column;display:flex}.home-page>*,.persons-page>*,.coordinations-page>*,.coordination-detail>*{margin:0}.persons-page>button,.coordinations-page>button,.coordination-detail>button,.breadcrumb{align-self:flex-start}.batch-detail,.person-detail,.submit-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.15rem}.counts{color:var(--muted);font-size:.85rem}.person-list,.item-rows,.pose-list,.pose-candidates,.person-candidates,.similarity-pages,.person-coordinations,.task-list,.batch-list{margin:0;padding:0;list-style:none}.person-list{gap:var(--stack-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,14.25rem),1fr));display:grid}.pose-list{gap:var(--stack-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));display:grid}.person-list>li,.pose-list>li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--muted);flex-direction:column;font-size:.8rem;display:flex;overflow:hidden}.person-card-top,.pose-card-top{border-bottom:1px solid var(--border-soft);position:relative}.person-card-top>.state-tag,.pose-card-top>.state-tag{position:absolute;top:.5rem;left:.5rem}.pose-card-top>.state-tag,.pose-stamp{pointer-events:none}.pose-card-top>.thumb-button{width:100%;display:block}.person-card-blank,.pose-card-blank{aspect-ratio:3/4;background:var(--surface-2);color:var(--muted);place-items:center;font-size:.8rem;line-height:normal;display:grid}.person-stamp,.pose-stamp{border:2.5px solid var(--danger);width:2.9rem;height:2.9rem;color:var(--danger);font-family:var(--font-display);letter-spacing:.05em;background:#ffffff8c;border-radius:50%;place-items:center;font-size:.95rem;font-weight:900;display:grid;position:absolute;bottom:.6rem;right:.6rem;transform:rotate(-12deg);box-shadow:inset 0 0 0 1.5px #fffc}.person-card-meta,.pose-card-meta{flex-direction:column;flex:1;gap:.4rem;padding:.65rem .75rem;display:flex}.person-card-name,.pose-card-name{color:var(--text);overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.person-card-actions{gap:.4rem;margin-top:auto;display:flex}.person-card-actions>button{flex:1}.person-list>li.person-add{border-style:dashed;border-color:var(--border-strong);box-shadow:none;background:0 0}.person-list>li.person-add>button{border-radius:var(--radius);min-height:12rem;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;display:flex}.person-list>li.person-add>button>span{font-size:1.6rem;line-height:1}.item-rows>li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.6rem 1rem;display:grid}.item-rows>li:last-child{border-bottom:0}.item-rows>li:not(:has(img)){grid-template-columns:minmax(0,1fr) auto}.item-name{font-weight:600}.item-rows img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:3.5rem;display:block}img.styling-reference{border-radius:var(--radius-sm);border:1px solid var(--border);max-width:10rem;display:block}.person-list img,.pose-list img,.person-candidates img,.batch-detail img{width:100%;max-width:var(--thumb);aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:block}.person-list img,.pose-list img{border:0;border-radius:0;max-width:none}.pose-title{color:var(--text);overflow-wrap:anywhere;font-weight:600}.pose-result{--shot:16rem;--cut-thumb:4rem;gap:var(--stack-gap);flex-direction:column;display:flex}.pose-result-head{color:var(--muted);margin:0;font-size:.9rem}.pose-candidates>li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,19rem);gap:1.25rem;padding:.9rem 0;display:grid}.pose-candidates>li:last-child{border-bottom:0}.candidate-shots{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.candidate-main a{cursor:zoom-in;line-height:0;display:block}.candidate-main img{width:100%;max-width:var(--shot);aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:block}.candidate-main figcaption{color:var(--muted);text-align:center;max-width:var(--shot);font-size:.8rem}.derived-list{flex-direction:column;gap:.5rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.derived-list>li{flex-direction:column;gap:.2rem;display:flex}.cut-item{grid-template-columns:var(--cut-thumb) minmax(0, 1fr);color:inherit;align-items:center;gap:.5rem;text-decoration:none;display:grid}.cut-item img{width:var(--cut-thumb);aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:block}.cut-pending{width:var(--cut-thumb);aspect-ratio:3/4;border-radius:var(--radius-sm);border:1px dashed var(--border-strong);color:var(--muted);place-items:center;font-size:.7rem;display:grid}.cut-text{flex-direction:column;display:flex}.cut-name{color:var(--accent);font-weight:700}.cut-item:hover .cut-name{text-decoration:underline}.cut-pending+.cut-text .cut-name{color:var(--text)}.cut-sub{color:var(--muted);font-size:.7rem}.derived-list>li>.cut-sub{margin-left:calc(var(--cut-thumb) + .5rem)}.derived-list .warning{margin:0;padding:.35rem .5rem;font-size:.7rem;display:block}.candidate-decide{flex-direction:column;align-content:start;gap:.5rem;display:flex}.candidate-actions{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.candidate-actions .button-link{padding:var(--btn-pad-y) var(--btn-pad-x);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-display);text-align:center;border-radius:999px;font-size:.9rem;font-weight:700;text-decoration:none}.candidate-actions .button-link:hover{background:var(--surface-2)}@media (width<=52rem){.pose-candidates>li,.candidate-shots{grid-template-columns:minmax(0,1fr)}}.retake{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.retake textarea{width:100%}figure{flex-direction:column;gap:.2rem;margin:0;display:flex}.modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:flex-start;padding:3rem 1rem;display:flex;position:fixed;inset:0;overflow:auto}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(35rem,100%);max-height:calc(100vh - 6rem);padding:0 var(--modal-pad-x) var(--modal-pad-b);overflow:auto;box-shadow:0 8px 32px #00000059}:is(.modal-panel:has(.modal-actions),.modal-panel:has(.form-row)){padding-bottom:0}:is(.modal-panel:has(.asset-detail),.modal-panel:has(.generate-layout),.modal-panel:has(.steps),.modal-panel:has(.pose-candidates),.modal-panel:has(.person-candidates),.modal-panel:has(.form-grid),.modal-panel:has(.submit-form)){width:min(53.75rem,100%)}.modal-panel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-head{z-index:1;margin:0 calc(-1 * var(--modal-pad-x)) .75rem;padding:1.1rem var(--modal-pad-x) .7rem;border-bottom:1px solid var(--border-soft);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.modal-head h2{overflow-wrap:anywhere;min-width:0;margin:0}.modal-panel .submit-form{box-shadow:none;border:none;padding:0}.modal-actions,.modal-panel .form-row{z-index:1;margin:var(--stack-gap) calc(-1 * var(--modal-pad-x)) 0;padding:.8rem var(--modal-pad-x);border-top:1px solid var(--border-soft);background:var(--surface-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:sticky;bottom:0}.form-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.spacer{flex:1}button.danger{border-color:var(--danger-border);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft)}.confirm-delete{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.steps{margin:0 0 var(--stack-gap);border:1px solid var(--border);border-radius:999px;padding:0;list-style:none;display:flex;overflow:hidden}.steps>li{background:var(--surface-2);border-right:1px solid var(--border);color:var(--muted);font-family:var(--font-display);flex:1;padding:.4rem .9rem;font-size:.85rem}.steps>li:last-child{border-right:0}.steps>li.current{background:var(--accent);color:var(--accent-fg);font-weight:700}.steps>li.done{background:var(--accent-soft);color:var(--accent)}.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.toolbar input,.toolbar select{min-width:10rem}.selection-bar{border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.generate-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}@media (width<60rem){.generate-layout{grid-template-columns:1fr}}.generate-summary{flex-direction:column;gap:.6rem;display:flex}.summary-rows{grid-template-columns:max-content minmax(0,1fr);gap:.35rem .9rem;margin:0;display:grid}.summary-rows dt{color:var(--muted)}.summary-rows dd{margin:0}label.radio{align-items:center;gap:.4rem;display:flex}tbody tr.selected,tbody tr.selected:hover{background:var(--accent-soft)}.cell-list{font-size:.85rem}td .state-tag{margin:0 .2rem .2rem 0}.breadcrumb{margin:0}.batches-page{grid-template-columns:minmax(14rem,22rem) 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<60rem){.batches-page{grid-template-columns:1fr}}.batch-list-pane,.batch-detail-pane{gap:var(--stack-gap);flex-direction:column;display:flex}.batch-list-pane>*{margin:0}.batch-list{flex-direction:column;gap:.5rem;display:flex}.batch-list>li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem}.batch-list>li>button{text-align:left;background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;width:100%;padding:0;display:flex}.batch-list>li>button:hover:not(:disabled){background:0 0}.batch-list>li:has(>button[aria-pressed=true]){border-color:var(--accent)}.batch-list .id,.task-list .key{word-break:break-all;font-weight:600}.batch-list .created-at,.batch-list .mode,.progress,.cost{color:var(--muted);font-size:.85rem}.task-list{margin-top:var(--stack-gap);flex-direction:column;gap:.5rem;display:flex}.task-list>li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.6rem .75rem;display:flex}.task-list>li>p{flex-basis:100%;margin:0}.state{border:1px solid var(--border-strong);color:var(--muted);border-radius:999px;padding:.05rem .45rem;font-size:.75rem;display:inline-block}.person-candidates{margin:var(--stack-gap) 0;flex-wrap:wrap;gap:.75rem;display:flex}.person-candidates>li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:.25rem;max-width:22rem;padding:.75rem;font-size:.8rem;display:flex}.similarity-check{flex-direction:column;gap:.25rem;display:flex}.similarity-summary{font-weight:600}.similarity-decide{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);flex-direction:column;gap:.35rem;padding:.5rem;display:flex}.candidate-actions{flex-wrap:wrap;gap:.5rem;display:flex}.person-name{color:var(--text);font-weight:600}.error-boundary{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;max-width:40rem;margin:2rem auto;padding:1.5rem}.error{color:var(--danger)}.warning{color:var(--amber);background:var(--amber-soft);border-radius:0 var(--radius) var(--radius) 0;border-left:4px solid #d99100;margin:.5rem 0;padding:.5rem .75rem;font-weight:700}.success{color:#0a5c2e;border-radius:0 var(--radius) var(--radius) 0;background:#e6f6ec;border-left:4px solid #1a8a4b;margin:.5rem 0;padding:.5rem .75rem}.note{color:var(--muted);font-size:.9em}p.note,div.note{border-left:3px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;background:var(--amber-soft);color:var(--amber);margin:.4rem 0;padding:.5rem .8rem;font-size:.85rem}p.note.info,div.note.info{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent)}p.note.bad,div.note.bad{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}p.note.ok,div.note.ok{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent)}h2+p.note,.page-head p.note,.page-head div.note,td p.note,td div.note,.item-rows p.note,.item-rows div.note,.cell-list p.note,.cell-list div.note,.pose-list p.note,.pose-list div.note,.person-candidates p.note,.person-candidates div.note,.usage-card p.note,.usage-card div.note{color:var(--muted);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:.9em}.settings-card:has(.usage-value) p.note{color:var(--muted);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:.9em}.settings-card:has(.usage-value) div.note{color:var(--muted);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:.9em}.task-error{color:var(--danger);overflow-wrap:anywhere;font-size:.85rem}.auth-screen{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.auth-art{background:var(--accent);color:#f2f8f5;flex-direction:column;justify-content:space-between;padding:3.5rem;display:flex;position:relative;overflow:hidden}.auth-art:after{content:"部";font-family:var(--font-display);color:#ffffff0f;pointer-events:none;font-size:380px;font-weight:900;line-height:1;position:absolute;bottom:-90px;right:-40px}.auth-figure-defs{width:0;height:0;position:absolute}.auth-strip{gap:.6rem;margin:2.5rem 0;display:flex}.auth-strip figure{flex:1;min-width:0;margin:0}.auth-strip svg{border-radius:var(--radius);background:#fff;width:100%;height:190px;display:block}.auth-strip figcaption{font-family:var(--font-display);color:#ffffffb3;margin-top:.4rem;font-size:.7rem;font-weight:700}.auth-brand{font-family:var(--font-display);align-items:center;gap:1rem;margin:0;font-size:2.2rem;font-weight:900;display:flex}.auth-brand-mark{width:3.5rem;height:3.5rem;color:var(--accent);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.auth-sub{color:#ffffffd1;max-width:32ch;margin:1rem 0 0;line-height:1.9}.auth-foot{color:#ffffffb3;margin:0;font-size:.8rem;position:relative}main.auth-pane{justify-content:center;align-items:center;max-width:none;margin:0;padding:2.5rem 1.5rem;display:flex}.auth-box{width:100%;max-width:24rem}.auth-box h1{margin:0 0 .4rem;font-size:1.35rem}.auth-box h2{margin:0 0 .25rem;font-size:1rem}.auth-box .lead{color:var(--muted);margin:0 0 1.5rem;font-size:.9rem}.auth-field{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.auth-field input{width:100%}label.required:after{content:"*";color:var(--danger);margin-left:.2rem}.field-hint{color:var(--muted);font-size:.78rem}.auth-grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem;display:grid}.checkbox-field{color:var(--text);align-items:flex-start;gap:.55rem;margin-bottom:1.1rem;font-weight:400;display:flex}.checkbox-field input{margin-top:.2rem}.checkbox-field+.hint{margin:-.85rem 0 1.1rem 1.6rem}.auth-submit{width:100%}.auth-links{justify-content:space-between;gap:.75rem;margin-top:1.1rem;font-size:.85rem;display:flex}.auth-section{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.25rem}.auth-tabs{gap:.25rem;margin-bottom:1rem;display:flex}.side-nav-session{border-top:1px solid var(--border);color:var(--muted);flex-direction:column;align-items:flex-start;gap:.25rem;margin-top:1rem;padding:.75rem .85rem 0;font-size:.85rem;display:flex}.side-nav .nav-section:not(:first-child){margin-top:.75rem}.boot-status,.app-error{padding:1.5rem}.page-head{margin-bottom:var(--stack-gap);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:44rem;box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1rem 1.25rem}.plan-page .settings-card,.billing-page .settings-card{max-width:none}.settings-card h3{margin:0 0 .75rem;font-size:1rem}.table-scroll{margin-bottom:1.25rem;overflow-x:auto}.staff-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.9rem}.staff-table th,.staff-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.5rem .75rem}.tag{border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-display);border-radius:999px;padding:.05rem .5rem;font-size:.8rem;font-weight:700;display:inline-block}.row-actions{gap:.35rem;display:inline-flex}.role-choices{border:none;margin:0 0 1rem;padding:0}.role-choices legend{color:var(--muted);margin-bottom:.4rem;font-size:.85rem;font-weight:600}.import-steps{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.import-steps>li{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.8rem;display:flex}.import-steps h3{margin:0;font-size:.95rem}.import-drop{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);text-align:center;cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:1.1rem .8rem;display:flex;position:relative}.import-drop:hover,.import-drop.over{border-color:var(--accent);background:var(--accent-soft)}.import-drop input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.import-drop b{font-family:var(--font-display);font-size:.9rem}.import-drop .note{font-size:.78rem;line-height:1.5}.import-drop-file{color:var(--accent);word-break:break-all;font-size:.8rem;font-weight:700}.import-drop-file.empty{color:var(--muted);font-weight:400}.import-result{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.6rem;margin-top:1rem;padding:.8rem;display:flex}.import-registered{flex-wrap:wrap;gap:.8rem;margin:0;padding:0;list-style:none;display:flex}.import-summary{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;gap:.4rem 1.8rem;margin:0;padding:.7rem .9rem;display:flex}.import-summary>div{align-items:baseline;gap:.35rem;display:flex}.import-summary dt{color:var(--muted);font-size:.85rem}.import-summary dd{font-family:var(--font-display);margin:0;font-size:.9rem;font-weight:700}.import-summary-issue dd{color:var(--danger)}.import-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.import-download{padding:var(--btn-pad-y) var(--btn-pad-x);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-family:var(--font-display);border-radius:999px;font-weight:700;text-decoration:none}.import-download:hover{border-color:var(--accent);background:var(--surface);color:var(--accent)}.import-preview-scroll{border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;overflow:auto}.import-preview{border-collapse:collapse;width:100%;font-size:.85rem}.import-preview th,.import-preview td{border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:top;padding:.4rem .6rem}.import-preview td{word-break:break-word;max-width:16rem}.import-preview th{z-index:1;background:var(--surface-2);color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700;position:sticky;top:0}.import-preview .import-row-issue>td{background:var(--danger-soft)}.import-cell-issue{color:var(--danger);font-weight:700}.import-preview .import-row-errors{max-width:none;color:var(--danger);padding-top:0;font-size:.8rem}.state-tag.import-ok{background:var(--accent-soft);color:var(--accent)}.state-tag.import-issue{background:var(--danger-soft);color:var(--danger)}.export-status{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.6rem;padding:.5rem .8rem;display:flex}form{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=880px){.auth-screen{grid-template-columns:1fr}.auth-art{display:none}}.header-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}button.bell{align-items:center;padding:.35rem;line-height:0;display:inline-flex;position:relative}.bell-icon{width:1.25rem;height:1.25rem}.bell-dot{background:var(--danger);border-radius:999px;width:.5rem;height:.5rem;position:absolute;top:.15rem;right:.15rem}.notification-list{flex-direction:column;display:flex}button.notification-row{font-family:var(--font-sans);border:none;border-bottom:1px solid var(--border);text-align:left;background:0 0;border-radius:0;align-items:baseline;gap:.6rem;width:100%;padding:.6rem .25rem;font-weight:400;display:flex}button.notification-row:last-child{border-bottom:none}button.notification-row:hover:not(:disabled){background:var(--surface-2)}button.notification-row.unread .notification-message{font-weight:700}.notification-message{flex:1;min-width:0}.notification-time{color:var(--muted);white-space:nowrap;flex:none;font-size:.8rem}.header-plan{color:var(--muted);white-space:nowrap;font-size:.85rem}.usage-card{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);margin:1rem .15rem .5rem;padding:.75rem .85rem}.usage-value{color:var(--accent);font-family:var(--font-display);margin:.25rem 0;font-size:1.15rem;font-weight:900}.usage-bar{background:#dedbd4;border-radius:999px;height:.35rem;margin:.4rem 0;overflow:hidden}.usage-bar span{background:var(--accent);height:100%;display:block}.usage-bar.high span{background:var(--amber)}
