:root{--jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--ui:"Helvetica Neue", Arial, var(--jp);--mono:ui-monospace, SFMono-Regular, Menlo, "Courier New", monospace;--ground:#f4f6f5;--surface:#fff;--sunk:#e9edeb;--ink:#14181a;--ink-2:#59645f;--ink-3:#8b9691;--rule:#d9dfdc;--rule-2:#edf0ef;--accent:#1f6a58;--accent-soft:#e3efeb;--neg:#b0432c;--warn-bg:#fbf0e4;--warn-ink:#8a4a12;--v-accent:#b0432c;--on-accent:#fff;--r-sm:6px;--r-md:10px;--r-lg:14px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--tap:44px;--measure:34em;--card-gap:0px;--card-pad:12px;--card-radius:0px;--title-size:15.5px;--body-size:14px;--label-size:11px;--line:1.6;--num-size:14px;--kv-label-w:5em}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e1211;--surface:#171d1b;--sunk:#121817;--ink:#e6ece9;--ink-2:#9ba7a2;--ink-3:#6c7873;--rule:#2a3230;--rule-2:#212a28;--accent:#5cb69d;--accent-soft:#17302a;--neg:#e0866e;--v-accent:#e0866e;--warn-bg:#2c2114;--warn-ink:#e2b177;--on-accent:#08110f}}:root[data-theme=dark]{--ground:#0e1211;--surface:#171d1b;--sunk:#121817;--ink:#e6ece9;--ink-2:#9ba7a2;--ink-3:#6c7873;--rule:#2a3230;--rule-2:#212a28;--accent:#5cb69d;--accent-soft:#17302a;--neg:#e0866e;--v-accent:#e0866e;--warn-bg:#2c2114;--warn-ink:#e2b177;--on-accent:#08110f}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--ui);-webkit-text-size-adjust:100%;overscroll-behavior-y:contain;margin:0;font-size:15px;line-height:1.6}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}button{font:inherit;color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{min-height:var(--tap);border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.btn.ghost{color:var(--accent);background:0 0}.btn.plain{border-color:var(--rule);color:var(--ink-2);background:0 0;font-weight:500}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{min-width:var(--tap);min-height:var(--tap);color:var(--ink-2);cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.notice{gap:var(--s-2);background:var(--warn-bg);color:var(--warn-ink);align-items:flex-start;padding:10px 12px;font-size:12.5px;line-height:1.6;display:flex}.notice button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.screen{flex-direction:column;min-height:100dvh;display:flex}.bar{z-index:20;background:var(--surface);border-bottom:1px solid var(--rule-2);padding:var(--s-2) var(--s-3);padding-top:calc(var(--s-2) + env(safe-area-inset-top));gap:var(--s-2);display:grid;position:sticky;top:0}.bar .row{align-items:center;gap:var(--s-2);min-height:var(--tap);display:flex}.bar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:16px;font-weight:600;overflow:hidden}.bar .sub{color:var(--ink-3);font-size:11.5px}.content{padding-bottom:calc(var(--s-6) + env(safe-area-inset-bottom));flex:1}.tabs{gap:var(--s-1);scrollbar-width:none;margin:0 calc(var(--s-3) * -1);padding:0 var(--s-3);display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border-radius:var(--r-sm);min-height:36px;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:7px 10px;font-size:13px}.tab[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.search{width:100%;min-height:var(--tap);border-radius:var(--r-md);border:1px solid var(--rule);background:var(--sunk);color:var(--ink);padding:0 12px;font-size:16px}.search::placeholder{color:var(--ink-3)}.list{display:grid}.list-item{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);border:0;border-bottom:1px solid var(--rule-2);background:var(--surface);text-align:left;cursor:pointer;min-height:64px;display:flex}.list-item .name{font-size:15px;font-weight:600;font-family:var(--jp)}.list-item .meta{color:var(--ink-3);margin-top:2px;font-size:12px}.list-item .chev{color:var(--ink-3);margin-left:auto}.stage{padding:0}.stage.narrow{max-width:620px;margin-inline:auto}.cards{gap:var(--card-gap);display:grid}.card{background:var(--surface);border-bottom:1px solid var(--rule);border-radius:var(--card-radius);padding:var(--card-pad);padding-left:calc(var(--card-pad) + 4px);gap:8px;display:grid;position:relative}.card:last-child{border-bottom:0}.card.accented:before{content:"";background:var(--bar-color);width:3px;position:absolute;inset:0 auto 0 0}.card-title{font-size:var(--title-size);font-weight:600;line-height:1.4;font-family:var(--jp);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.card-title .lead{color:var(--v-accent);font-family:var(--mono);font-weight:500}.kv{gap:5px;display:grid}.kv-row{grid-template-columns:var(--kv-label-w) 1fr;align-items:baseline;gap:10px;display:grid}.kv-label{font-size:var(--label-size);color:var(--ink-3);overflow-wrap:anywhere}.kv-val{font-size:var(--body-size);line-height:var(--line);font-family:var(--jp);overflow-wrap:anywhere;min-width:0}.kv-val a{color:var(--v-accent);overflow-wrap:anywhere}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--num-size)}.num.neg{color:var(--neg)}.clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.more{min-height:36px;color:var(--v-accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:7px 0;font-size:13px}.doc{max-width:var(--measure);padding:var(--s-4);margin-inline:auto}.doc .h2{font-family:var(--jp);font-size:calc(var(--title-size) + 3px);margin:var(--s-6) 0 var(--s-3);color:var(--v-accent);border-bottom:2px solid var(--v-accent);text-wrap:balance;padding-bottom:8px;font-weight:600;line-height:1.45}.doc>.h2:first-child{margin-top:0}.doc .h3{font-family:var(--jp);font-size:var(--title-size);margin:var(--s-5) 0 var(--s-2);text-wrap:balance;align-items:baseline;gap:8px;font-weight:600;line-height:1.5;display:flex}.doc .h3:before{content:"";background:var(--v-accent);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}.doc .p{font-family:var(--jp);font-size:var(--body-size);line-height:var(--line);margin:0 0 var(--s-3);overflow-wrap:anywhere}.doc .li{font-family:var(--jp);font-size:var(--body-size);line-height:var(--line);margin:0 0 var(--s-2);padding-left:1.2em;position:relative}.doc .li:before{content:"・";color:var(--v-accent);position:absolute;left:0}.doc .arrow{font-family:var(--jp);font-size:calc(var(--body-size) - .5px);line-height:var(--line);margin:0 0 var(--s-3) 1.2em;color:var(--ink-2);padding-left:1.1em;position:relative}.doc .arrow:before{content:"→";color:var(--v-accent);position:absolute;left:0}.doc .note{font-family:var(--jp);font-size:calc(var(--body-size) - .5px);line-height:var(--line);margin:0 0 var(--s-3);border-radius:var(--r-md);background:var(--sunk);color:var(--ink-2);padding:10px 12px}.doc .formula{font-family:var(--mono);font-size:var(--num-size);text-align:center;margin:0 0 var(--s-3);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);padding:12px;overflow-x:auto}.fig{margin:0 0 var(--s-4)}.fig button{border:1px solid var(--rule-2);border-radius:var(--r-md);background:var(--sunk);cursor:zoom-in;width:100%;padding:0;display:block;overflow:hidden}.fig img{width:100%;height:auto;display:block}.fig .failed{padding:var(--s-5) var(--s-3);color:var(--ink-3);text-align:center;place-items:center;gap:4px;font-size:12.5px;display:grid}.gridwrap{background:var(--surface);border-top:1px solid var(--rule-2);overflow-x:auto}table.grid{border-collapse:collapse;min-width:100%;font-size:13.5px}table.grid td{border:1px solid var(--rule-2);vertical-align:top;font-family:var(--jp);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;max-width:22ch;padding:8px 10px;overflow:hidden}table.grid td.stick{z-index:2;background:var(--surface);border-right:1px solid var(--rule);font-weight:500;position:sticky;left:0}table.grid td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.grid-hint{color:var(--ink-3);padding:var(--s-2) var(--s-4);font-size:12px}.state{place-items:center;gap:var(--s-3);padding:var(--s-6) var(--s-4);text-align:center;color:var(--ink-2);display:grid}.state .big{color:var(--ink);font-size:15px;font-weight:600;font-family:var(--jp)}.state .sm{color:var(--ink-3);max-width:32ch;font-size:13px;line-height:1.7;font-family:var(--jp)}.skel{display:grid}.skel div{border-bottom:1px solid var(--rule-2);background:linear-gradient(90deg, var(--sunk) 25%, var(--rule-2) 37%, var(--sunk) 63%);background-size:400% 100%;height:84px;animation:1.4s infinite sh}@keyframes sh{0%{background-position:100% 0}to{background-position:0 0}}dialog{background:0 0;border:0;max-width:100%;max-height:100%;padding:0}dialog::backdrop{background:#0a0e0db8}.sheet-dlg{background:var(--surface);color:var(--ink);border-radius:var(--r-lg);padding:var(--s-5);gap:var(--s-3);width:min(92vw,520px);display:grid}.sheet-dlg h2{letter-spacing:.09em;color:var(--ink-3);margin:0;font-size:12px;font-weight:600}.sheet-dlg .val{font-family:var(--jp);overflow-wrap:anywhere;max-height:60dvh;font-size:16px;line-height:1.8;overflow-y:auto}.lightbox{gap:var(--s-3);place-items:center;display:grid}.lightbox img{border-radius:var(--r-md);background:#fff;max-width:92vw;max-height:76dvh}
