:root{color-scheme:light dark;--bg: var(--tg-theme-bg-color, #ffffff);--ink: var(--tg-theme-text-color, #172535);--muted: var(--tg-theme-hint-color, #526375);--wash: var(--tg-theme-secondary-bg-color, #f3f6f9);--action: var(--tg-theme-button-color, #17659f);--on-action: var(--tg-theme-button-text-color, #ffffff);--link: var(--tg-theme-link-color, var(--action));--danger: var(--tg-theme-destructive-text-color, #b3261e);--rule: color-mix(in srgb, var(--muted) 30%, transparent);--ok: #246445;--warn: #8a5300;--radius: 10px;--gutter: 16px}:root[data-scheme=light]{color-scheme:light}:root[data-scheme=dark]{color-scheme:dark;--bg: var(--tg-theme-bg-color, #1d2530);--ink: var(--tg-theme-text-color, #edf3f9);--muted: var(--tg-theme-hint-color, #b6c5d4);--wash: var(--tg-theme-secondary-bg-color, #283341);--action: var(--tg-theme-button-color, #8bc9fb);--on-action: var(--tg-theme-button-text-color, #122538);--danger: var(--tg-theme-destructive-text-color, #ff8a80);--ok: #95d1b4;--warn: #f2c26b}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;overflow-wrap:anywhere;-webkit-text-size-adjust:100%}h1{font-size:22px;line-height:1.3;margin:0 0 12px;font-weight:600}h2{font-size:18px;line-height:1.3;margin:20px 0 10px;font-weight:600}h3{font-size:16px;margin:14px 0 6px;font-weight:600}p{margin:0 0 12px}a{color:var(--link)}small,.small{font-size:13px}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.error{color:var(--danger)}.tabular{font-variant-numeric:tabular-nums}.shell{max-width:760px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px var(--gutter);padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--rule)}.header .brand{font-weight:600}.header .context{color:var(--muted);flex:1;min-width:0}.nav{display:flex;gap:4px;padding:0 var(--gutter);border-bottom:1px solid var(--rule);overflow-x:auto}.nav button{min-height:44px;padding:8px 12px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:0}.nav button[aria-current=page]{color:var(--ink);border-bottom-color:var(--action);font-weight:600}.main{flex:1;padding:var(--gutter)}.actions{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--rule);padding:12px var(--gutter);padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:10px;flex-wrap:wrap;align-items:center}.actions .primary{flex:1;min-width:160px}.backlink{background:none;border:0;color:var(--link);font:inherit;padding:8px 0;min-height:44px;cursor:pointer}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.btn{min-height:44px;padding:9px 14px;border-radius:var(--radius);border:1px solid var(--rule);background:var(--bg);color:var(--ink)}.btn.primary{background:var(--action);color:var(--on-action);border-color:var(--action);font-weight:600}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.quiet{border:0;background:none;color:var(--link);padding:9px 4px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{min-height:44px;font-size:14px}:focus-visible{outline:3px solid var(--action);outline-offset:2px}.field{display:block;margin:14px 0}.field>.label{display:block;font-weight:500;margin-bottom:6px}.field .hint{color:var(--muted);font-size:13px;margin-top:4px}.field .problem{color:var(--danger);font-size:14px;margin-top:4px}input[type=text],input[type=search],input[type=number],input[type=date],textarea,select{width:100%;min-height:44px;padding:10px 12px;font-size:16px;border:1px solid var(--rule);border-radius:8px;background:var(--bg);color:var(--ink)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}textarea{min-height:112px;resize:vertical;max-height:320px;overflow-y:auto}input[type=checkbox],input[type=radio]{width:22px;height:22px;flex:none;accent-color:var(--action)}.check{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 0;cursor:pointer}.check .grow{flex:1;min-width:0}.notice{padding:12px 14px;border-radius:var(--radius);background:var(--wash);margin:12px 0}.notice>:last-child{margin-bottom:0}.notice.error{border-left:4px solid var(--danger);color:var(--ink)}.notice.ok{border-left:4px solid var(--ok);color:var(--ink)}.notice.warn{border-left:4px solid var(--warn);color:var(--ink)}.card{border:1px solid var(--rule);border-radius:var(--radius);padding:14px;margin:12px 0}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--rule)}.row:last-child{border-bottom:0}.row .name{flex:1;min-width:140px}.row .sub{color:var(--muted);font-size:13px}.list{list-style:none;margin:0;padding:0}.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--wash);color:var(--muted);white-space:nowrap}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.error{color:var(--danger)}.total{font-size:32px;font-weight:600;margin:8px 0}.scroll-list{max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;border:1px solid var(--rule);border-radius:var(--radius);padding-left:12px}.scroll-sheet{max-height:min(68vh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.scroll-report{max-height:min(60vh,420px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--rule);border-radius:var(--radius)}details{margin:12px 0}summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--link)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);white-space:nowrap}th{position:sticky;top:0;background:var(--wash);font-weight:500;z-index:1}td{vertical-align:middle}table .btn.quiet{min-height:32px;padding:4px 0}th:first-child,td:first-child{white-space:normal;min-width:160px;position:sticky;left:0;background:var(--bg)}th:first-child{background:var(--wash);z-index:2}.row input[type=text].score-input{width:88px;text-align:center}.row select{width:auto;min-width:130px}.scroll-sheet .row{padding:8px 0;flex-wrap:nowrap}@media (max-width: 460px){.scroll-sheet .row{flex-wrap:wrap}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 460px){.grid-2{grid-template-columns:1fr}}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--rule);border-top-color:var(--action);animation:spin .8s linear infinite;display:inline-block;vertical-align:middle}.btn .spinner{border-color:color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0;gap:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);max-width:calc(100% - 32px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;z-index:10;font-size:14px}
