:root{--bg: #f7f8fa;--surface: #fff;--ink: #0c1526;--muted: #5f6b7e;--line: #e2e6ee;--line-strong: #cfd6e2;--brand: #1f3bd6;--brand-hover: #1830b4;--brand-soft: #e8ecff;--ok: #0a7d32;--ok-soft: #e7f6ec;--warn: #8a5a00;--warn-soft: #fff4dc;--error: #b42318;--error-soft: #fdecea;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.top{background:var(--surface);border-bottom:1px solid var(--line)}.top-inner{max-width:1080px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo nav who";align-items:center;column-gap:24px;min-height:56px}.top-inner .logo{grid-area:logo}.top-inner .nav{grid-area:nav}.top-inner .who{grid-area:who}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-decoration:none;font-size:17px}.logo b{color:var(--brand);font-weight:inherit}.logo img{display:block;flex:none}.logo-lg{font-size:26px;gap:10px;margin:0}.nav{display:flex;gap:4px}.nav a{padding:6px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:500;white-space:nowrap}.nav a.active,.nav a:hover{background:var(--brand-soft);color:var(--brand)}.who{color:var(--muted);font-size:13px;display:flex;gap:12px;align-items:center;white-space:nowrap}.who a:first-child{max-width:220px;overflow:hidden;text-overflow:ellipsis}.who-platform{padding:1px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:12px}@media(max-width:760px){.top-inner{grid-template-columns:1fr auto;grid-template-areas:"logo who" "nav nav";row-gap:4px;padding-top:10px}.nav{overflow-x:auto;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.who-platform{display:none}.who a:first-child{max-width:140px}}main{max-width:1080px;margin:0 auto;padding:24px 16px 64px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}main>*{min-width:0}h1{font-size:24px;line-height:1.25;margin:0 0 4px}.sub{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.card h2{font-size:16px;margin:0}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:16px}.stat b{display:block;font-size:22px;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--brand)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover)}.btn[disabled]{background:var(--bg);border-color:var(--line);color:var(--muted);cursor:default}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stack>p{margin:0}.seg{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:10px;width:fit-content;max-width:100%}.seg a{padding:5px 12px;border-radius:7px;color:var(--muted);text-decoration:none;font-weight:500;font-size:14px;white-space:nowrap}.seg a:hover{color:var(--ink)}.seg a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0c152614}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:13px}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}@media(max-width:640px){table.stack-sm thead{display:none}table.stack-sm,table.stack-sm tbody,table.stack-sm tr,table.stack-sm td{display:block;width:100%}table.stack-sm tr{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-bottom:10px}table.stack-sm td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}table.stack-sm td:before{content:attr(data-label);color:var(--muted);font-size:13px;text-align:left;flex:none}table.stack-sm td.num{text-align:right}table.stack-sm td[data-label=""]:before{content:none}table.stack-sm td.first{font-weight:600}}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-error{background:var(--error-soft);color:var(--error)}.badge-info{background:var(--brand-soft);color:var(--brand)}.badge-muted{background:var(--bg);color:var(--muted)}.notice{border-radius:var(--radius);padding:12px 16px;border:1px solid}.notice-ok{background:var(--ok-soft);border-color:#b9e3c6}.notice-warn{background:var(--warn-soft);border-color:#f1d9a6}.notice-error{background:var(--error-soft);border-color:#f4c2bd}.notice-info{background:var(--brand-soft);border-color:#c9d2ff}.sub-box{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}.steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}.steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px}.check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-size:13px}.check.done{background:var(--ok);border-color:var(--ok);color:#fff}.muted{color:var(--muted)}.small{font-size:13px}.code{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}form.stack,.stack{display:grid;gap:12px}label{display:grid;gap:4px;font-weight:500;font-size:14px}label.check-label{display:flex;gap:8px;align-items:flex-start;font-weight:400}input[type=text],input[type=email],input[type=search],input[type=password],select{font:inherit;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;width:100%}.color-row{display:flex;align-items:center;gap:10px}.color-row input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}.fields-2{display:grid;grid-template-columns:1fr 2fr;gap:12px}.hint{color:var(--muted);font-weight:400;font-size:13px}.meter{display:grid;gap:6px}.meter-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-variant-numeric:tabular-nums}.meter-bar{height:8px;background:var(--bg);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.meter-fill{height:100%;background:var(--brand)}.meter-full{background:var(--error)}dl.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;overflow-wrap:anywhere}dl.totals{display:grid;grid-template-columns:1fr auto;gap:6px 0;margin:0 0 0 auto;width:min(320px,100%);font-variant-numeric:tabular-nums}dl.totals dt{color:var(--muted)}dl.totals dd{margin:0;text-align:right;padding-left:24px}dl.totals .grand{border-top:1px solid var(--line);padding-top:8px;font-weight:700;font-size:18px;color:var(--ink)}.center{max-width:480px;margin:12vh auto;padding:0 16px}@media(max-width:600px){.fields-2{grid-template-columns:1fr}}.price{font-size:22px;font-variant-numeric:tabular-nums}.stack.step-body{gap:4px}.savebar{position:sticky;bottom:0;z-index:5;margin:0 -16px;padding:12px 16px;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--line);display:flex;justify-content:flex-end}@media(min-width:761px){.savebar{margin:0;border:1px solid var(--line);border-radius:var(--radius)}}@media(max-width:760px){.nav{gap:2px}.nav a{padding:6px 10px;font-size:14px}}.searchbar{display:flex;gap:8px}.searchbar input{flex:1;min-width:0}@media(max-width:640px){.seg{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.seg a{text-align:center;padding:6px 4px}table.stack-sm td .row{justify-content:flex-end}}input[type=file]{font:inherit;font-size:14px;color:var(--muted)}input[type=file]::file-selector-button{font:inherit;font-weight:500;color:var(--ink);padding:7px 12px;margin-right:10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);cursor:pointer}input[type=file]::file-selector-button:hover{border-color:var(--brand)}.dlang{position:relative}.dlang summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line-strong);border-radius:999px;font:600 12px/1.4 inherit;color:var(--ink);-webkit-user-select:none;user-select:none}.dlang summary::-webkit-details-marker{display:none}.dlang .chev{width:5px;height:5px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-1px) rotate(45deg)}.dlang[open] .chev{transform:translateY(1px) rotate(-135deg)}.dlang ul{position:absolute;right:0;top:calc(100% + 8px);z-index:30;list-style:none;margin:0;padding:6px;min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px -8px #0c15262e}.dlang a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px}.dlang a:hover{background:var(--bg)}.dlang a[aria-current]{font-weight:600}.dlang .lc{display:inline-grid;place-items:center;width:26px;height:20px;border-radius:5px;background:var(--bg);font:600 11px/1 ui-monospace,Menlo,monospace;color:var(--muted)}.dlang a[aria-current] .lc{background:var(--brand-soft);color:var(--brand)}@media(max-width:760px){.who>a:first-child{display:none}}.center-wide{max-width:560px;margin-top:8vh}.how{margin:0;padding-left:20px;display:grid;gap:6px}.how li{padding-left:2px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}textarea{font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;width:100%;resize:vertical}.btn-danger{color:var(--error);border-color:#f4c2bd}.btn-danger:hover{border-color:var(--error);background:var(--error-soft)}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.or:before,.or:after{content:"";flex:1;border-top:1px solid var(--line)}
