@font-face{font-family:Noto Sans TC;font-weight:400;src:url(/api/fonts/NotoSansTC-Regular.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+2000-206F,U+2E80-2FDF,U+3000-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FA1F}@font-face{font-family:Noto Sans TC;font-weight:700;src:url(/api/fonts/NotoSansTC-Bold.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+2000-206F,U+2E80-2FDF,U+3000-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FA1F}:root{--g:#1f4d3a;--g2:#e6efe9;--ink:#17201b;--mut:#6b7a72;--line:#d9e0db;--bg:#f4f6f4;--red:#d62828;--blue:#2563eb}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--bg);font:14px/1.45 PingFang TC,Microsoft JhengHei,Noto Sans CJK TC,Noto Sans TC,system-ui,sans-serif}.app{flex-direction:column;height:100%;display:flex}header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:20px;padding:8px 16px;display:flex}h1{color:var(--g);white-space:nowrap;margin:0;font-size:16px}nav{flex:1;gap:4px;display:flex;overflow-x:auto}nav button{cursor:pointer;color:var(--mut);white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;display:flex}nav button span{background:var(--line);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}nav button.on{background:var(--g2);color:var(--g);font-weight:700}nav button.on span{background:var(--g)}nav button:disabled{opacity:.4;cursor:default}.tools{color:var(--mut);align-items:center;gap:10px;font-size:12px;display:flex}main{flex:1;min-height:0;overflow:auto}button,select,input{font:inherit}button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px}button:hover:not(:disabled){border-color:var(--g)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--g);border-color:var(--g);color:#fff}button.link{color:var(--g);text-align:left;background:0 0;border:0;padding:0}input,select{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:5px 8px}input.tiny{width:64px}input.cell{background:0 0;border-color:#0000;width:100%;padding:2px 4px}input.cell:focus{border-color:var(--g);background:#fff}.two{grid-template-columns:minmax(300px,1fr) minmax(360px,1.4fr);align-items:start;gap:16px;padding:16px;display:grid}@media (width<=900px){.two{grid-template-columns:1fr}}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.panel h2{margin:0 0 12px;font-size:15px}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.list small{color:var(--mut);display:block}.form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0;display:grid}.form label{color:var(--mut);gap:3px;font-size:12px;display:grid}.row{align-items:center;gap:8px;margin:8px 0;display:flex}.pill{background:var(--line);border-radius:10px;padding:1px 8px;font-size:11px}.pill.approved{color:#145a32;background:#d3ecdc}.pill.review,.pill.draft{color:#8a5a00;background:#fdecc8}.err{color:var(--red)}.ok{color:#145a32}.warn{color:#8a5a00}.muted{color:var(--mut)}.thumbs{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.thumbs b{width:100%}.thumb{justify-items:center;padding:2px;font-size:11px;display:grid}.thumb.on{border-color:var(--g);box-shadow:0 0 0 2px var(--g2)}.thumb img{object-fit:contain;background:#eee;width:76px;height:54px}.croparea{cursor:crosshair;touch-action:none;border:1px solid var(--line);max-width:100%;display:inline-block;position:relative;overflow:hidden}.croparea img{-webkit-user-select:none;user-select:none;max-width:100%;max-height:420px;display:block}.cropbox{border:2px dashed var(--red);pointer-events:none;background:#d628281f;position:absolute}.editor{grid-template-columns:340px 1fr;height:100%;display:grid}@media (width<=900px){.editor{grid-template-rows:auto 70vh;grid-template-columns:1fr}}.side{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:6px;padding:12px;display:flex;overflow:auto}.side h3{margin:0;font-size:14px}.side h4{color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 2px;font-size:12px}.stage{background:#cfd6d1;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.stage>svg{flex:1;width:100%;height:100%;min-height:0}.ppdiff{background:#eab30814;border:1px solid #eab30880;border-radius:10px;gap:6px;margin:8px 0;padding:10px 14px;display:grid}.ppdiff ul{max-height:220px;margin:0;padding-left:18px;font-size:13px;overflow:auto}.ppshared{margin:12px 0 6px}.dsunits{margin-top:14px}.dsunits h4{align-items:center;gap:8px;display:flex}.dsunits .bar-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.dsunits .scroll{border:1px solid var(--line);border-radius:8px;max-height:520px;overflow:auto}.dsunits td{white-space:nowrap;padding:4px 10px}.dsunits td .mini2{line-height:18px}.dsunits tr.fixed td{background:#1a7f4b0d}.dsunits .pill{color:#1a7f4b;background:#1a7f4b1f;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.stage .pagetabs{z-index:3;margin:0;position:absolute;top:8px;left:50%;transform:translate(-50%)}.termsview{flex:1;min-height:0;padding:12px;overflow:auto}.termsview svg{background:#fff;width:100%;height:auto;display:block;box-shadow:0 1px 6px #0003}.zoombar{flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;right:12px}.zslider{border:1px solid var(--line);background:#ffffffeb;border-radius:10px;align-items:center;padding:6px 4px;box-shadow:0 2px 8px #17201b14}.zslider input[type=range]{writing-mode:vertical-lr;width:22px;height:150px;accent-color:var(--g);direction:rtl;margin:2px 0}.zslider .zk{color:var(--mut);font-variant-numeric:tabular-nums;font-size:11px}.rowsbar{border:1px solid var(--line);background:#fffffff0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;max-width:70%;padding:6px 10px;display:flex;position:absolute;bottom:12px;left:12px}.tbl{cursor:pointer;border-radius:5px;padding:2px 6px}.tbl.on{background:#fde2e2}.empty{color:var(--mut);pointer-events:none;z-index:1;place-items:center;display:grid;position:absolute;inset:0}.seg{gap:4px;display:flex}.seg button.on{background:var(--g2);border-color:var(--g);color:var(--g)}.anchors{gap:4px;margin:0;padding:0;list-style:none;display:grid}.anchors li{border:1px solid #0000;border-radius:6px;gap:4px;padding:3px;display:flex}.anchors li.on{border-color:var(--red)}.anchors li.bad{background:#fde2e2}.anchors li input:nth-child(3){flex:1}.checks{margin:0;padding:0;list-style:none}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;border-radius:14px;padding:1px 9px;font-size:12px}.chip.on{background:var(--g2);border-color:var(--g)}.chip input{display:none}.radio{align-items:center;gap:6px;margin:3px 0;display:flex}fieldset{border:1px solid var(--line);border-radius:8px;margin:10px 0}table{border-collapse:collapse;width:100%}table.map td{border-bottom:1px solid var(--line);padding:2px 6px}.review{flex-direction:column;gap:6px;height:100%;padding:12px 16px;display:flex}.counts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.counts .primary{margin-left:auto}.cnt{border-radius:14px}.cnt.on{border-color:var(--g);background:var(--g2)}.cnt.matched b{color:#145a32}.cnt.unmatched b{color:#8a5a00}.cnt.review b{color:var(--red)}.split{flex:1;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:12px;min-height:0;display:grid}.grid{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}.grid th{background:var(--g2);text-align:left;z-index:1;padding:5px 8px;font-size:12px;position:sticky;top:0}.grid td{white-space:nowrap;border-bottom:1px solid #eef2ef;padding:2px 6px}.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.grid tr.cur{background:#fff7dc}.grid tr.m-unmatched{background:#fffaf0}.grid tr.m-review{background:#fff0f0}.grid tr.m-excluded{opacity:.5}.flags{color:var(--red);text-overflow:ellipsis;max-width:200px;font-size:11px;overflow:hidden}.source{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;overflow:auto}.pdfwrap{position:relative}.pdfwrap img{width:100%;display:block}.bbox{border:2px solid var(--red);background:#d6282826;position:absolute}.srcrow th{text-align:left;color:var(--mut);padding:2px 8px;font-weight:400}.auth{place-content:center;gap:8px;height:100%;display:grid}.print{background:#fff}.print>svg{width:100vw;height:auto;display:block}@media (prefers-reduced-motion:no-preference){button,.chip{transition:background .12s,border-color .12s}}.hero{gap:16px;max-width:760px;margin:6vh auto;padding:0 20px;display:grid}.hero h2{margin:0}.drops{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=700px){.drops{grid-template-columns:1fr}}.drop{border:2px dashed var(--line);text-align:center;cursor:pointer;background:#fff;border-radius:12px;gap:8px;padding:28px 18px;display:grid}.drop:hover{border-color:var(--g)}.drop.ok{border-style:solid;border-color:var(--g);background:var(--g2)}.drop input{display:none}.drop span{color:var(--mut);word-break:break-all}button.big{padding:12px 22px;font-size:16px}.spinner{border:4px solid var(--line);border-top-color:var(--g);border-radius:50%;width:28px;height:28px;animation:1s linear infinite sp}@keyframes sp{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.swatch{border-radius:3px;width:14px;height:14px;display:inline-block}.boxrow{border:1px solid #0000;border-radius:6px;padding:3px}.boxrow.on{border-color:var(--g);background:var(--g2)}.small{font-size:12px}button.mini{border-radius:50%;padding:0 6px;line-height:20px}button.mini.on{background:var(--red);color:#fff;border-color:var(--red)}.checks li.notfound{color:#b45309}.stage[style*=crosshair] svg{cursor:crosshair}button.on{background:var(--g2);border-color:var(--g)}.checks.small li{font-size:12px}.ws{gap:14px;max-width:1100px;margin:0 auto;padding:16px;display:grid}.wsrow{border-bottom:1px solid #eef2ef;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.wsrow input{flex:1;min-width:160px}.tplbox{border:1px solid var(--line);background:var(--g2);border-radius:8px;gap:6px;padding:8px;display:grid}.tplbox label{color:var(--mut);gap:3px;font-size:12px;display:grid}.drop.off{opacity:.45}.hero.wide{max-width:1000px}.hero .drops{align-items:start}.drop.small{padding:10px}.data{flex-direction:column;gap:6px;height:100%;padding:12px 16px;display:flex}.grow{flex:1}.why{white-space:normal;max-width:520px;font-size:12px}.why.matched{color:#145a32}.why.unmatched{color:#8a5a00}.why.review{color:var(--red)}.member{border-bottom:1px solid var(--line);padding:4px 0}.ws3{grid-template-columns:var(--cn,270px) minmax(0,1fr) var(--cc,340px);gap:14px;height:100%;min-height:0;padding:14px;display:grid}@media (width<=1250px){.ws3{grid-template-columns:var(--cn,230px) minmax(0,1fr) 44px}.ws3>.chat:not(.rail){z-index:60;width:min(380px,100vw - 28px);position:fixed;top:62px;bottom:14px;right:14px;box-shadow:0 12px 40px #17201b40}}@media (width<=800px){.ws3{grid-template-columns:1fr}}.projnav{flex-direction:column;align-content:start;gap:4px;min-height:0;display:flex;overflow:auto}.projrow{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;display:flex}.projrow small{color:var(--mut);white-space:nowrap}.projrow:hover{background:#f3f6f4}.projrow.on{background:var(--g2);border-color:var(--g);color:var(--g);font-weight:700}.devgroup{margin-top:6px}.devgroup>summary{color:var(--mut);text-transform:uppercase;letter-spacing:.04em;padding:4px 2px;font-size:12px;font-weight:700}.devgroup .projrow{width:calc(100% - 6px);margin-left:6px}.newproj{border:1px solid var(--line);background:#f6f8f6;border-radius:8px;gap:6px;padding:8px;display:grid}.projhead{gap:10px;display:grid}.projtitle{min-width:240px;font-size:18px;font-weight:700}.row.wrap{flex-wrap:wrap}.filegroup h3{color:var(--mut);margin:12px 0 6px;font-size:13px}.list.cards{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px;display:grid}.cardwrap{gap:3px;list-style:none;display:grid}.cardwrap>ul{margin:0;padding:0}.projtag{color:var(--g);font-weight:600}.ws3grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.wscol{align-content:start;gap:14px;padding-right:4px;display:grid;overflow:auto}.chat{flex-direction:column;min-height:0;max-height:100%;display:flex;position:sticky;top:0}.chat .msgs{flex-direction:column;flex:1;gap:6px;padding:4px 0;display:flex;overflow:auto}.msg{word-break:break-word;border-radius:10px;max-width:92%;padding:6px 10px;font-size:13px}.msg.user{background:var(--g2);align-self:flex-end}.msg.assistant{background:#f1f3f2;align-self:flex-start}.filecard{border:1px solid var(--line);border-radius:10px;gap:4px;padding:8px 10px;display:grid}.analysis{gap:2px;font-size:12px;display:grid}.analysis .ask{color:#1d4ed8}.spinner.small{border-width:3px;width:16px;height:16px;display:inline-block}.twgroup{border:1px solid var(--line);border-radius:8px;margin-bottom:6px;padding:6px 8px}.chip.hot{box-shadow:0 0 0 2px var(--red)}.chip small{color:var(--mut);font-size:10px}button.mini2{padding:0 8px;font-size:11px;line-height:20px}.colors{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin:4px 0;display:grid}.colors label{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:flex}.colors input[type=color]{border:1px solid var(--line);width:34px;height:24px;padding:0}h5{color:var(--mut);margin:8px 0 2px;font-size:12px}.editor.collapsed{grid-template-columns:1fr}.editor.collapsed .side{display:none}.sidetoggle{z-index:4;position:absolute;top:10px;left:10px;box-shadow:0 1px 4px #0003}.askbar{z-index:5;border:2px solid var(--g);background:#fff;border-radius:10px;align-items:center;gap:10px;max-width:80%;padding:8px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.askbar.review{border-color:#2563eb}.plans{border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:6px 8px}.plan{border-top:1px dashed var(--line);margin-top:6px;padding-top:4px}.plan tr.off td{opacity:.5}.plan input:not(.tiny){width:100%}.sample{background:var(--g2);border-radius:6px;margin-top:6px;padding:6px}.tbrow{border:1px solid var(--line);border-radius:8px;gap:4px;margin-bottom:6px;padding:6px;display:grid}.tbrow.on{background:#eff6ff;border-color:#2563eb}.tbrow input:not([type=range]){width:100%}.tiny.wide{width:90px}.plan .row input.grow{flex:1;min-width:120px}.deduct td input:not(.tiny){width:100%}.usage{align-content:start;gap:14px;max-width:1300px;height:100%;margin:0 auto;padding:16px;display:grid;overflow:auto}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.card2{border:1px solid var(--line);background:#fff;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.card2 b{font-size:22px}.card2.cost{border-color:var(--g);background:var(--g2)}table.ut{width:100%}table.ut th{text-align:left;color:var(--mut);background:#fff;padding:4px 8px;font-size:12px;position:sticky;top:0}table.ut td{vertical-align:top;border-bottom:1px solid #eef2ef;padding:3px 8px}table.ut td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bar{background:#eef2ef;border-radius:3px;height:5px;margin-top:3px}.bar i{background:var(--g);border-radius:3px;height:100%;display:block}.days{align-items:flex-end;gap:8px;height:170px;display:flex;overflow-x:auto}.day{justify-items:center;gap:2px;min-width:44px;display:grid}.stack{background:#f3f5f4;border-radius:4px;flex-direction:column-reverse;width:26px;height:110px;display:flex;overflow:hidden}.stack i{width:100%;display:block}.stack i.in{background:#2563eb}.stack i.out{background:#16a34a}.two.left-collapsed{grid-template-columns:1fr}.two.left-collapsed>section:first-child{display:none}.sidetoggle2{white-space:nowrap}.pmatrix{margin:6px 0;overflow:auto}table.ptable{border-collapse:collapse;font-size:12px}table.ptable th,table.ptable td{border:1px solid var(--line);vertical-align:top;padding:3px 5px}table.ptable thead th{background:var(--g2);text-align:left;min-width:150px}table.ptable th.rowh{white-space:nowrap;background:#fafbfa;min-width:170px}table.ptable th.rowh input{width:130px}table.ptable td input.tiny{width:58px}table.ptable td.off{opacity:.45;background:#f6f6f6}table.ptable tr.sect td{color:var(--g);background:#eef2ef;font-weight:700}table.ptable tr.total th,table.ptable tr.total td{background:var(--g2)}table.ptable thead input,table.ptable thead select{width:100%}button.kindbadge{border-radius:9px;margin-left:3px;padding:0 6px;font-size:10px;line-height:18px}table.pcols{border-collapse:collapse;width:100%;font-size:12px}table.pcols th{color:var(--mut);text-align:center;padding:2px 4px;font-size:11px}table.pcols th:first-child{text-align:left}table.pcols td{border-bottom:1px solid #eef2ef;padding:2px 4px}table.pcols td:not(:first-child){text-align:center}table.pcols tr.off{opacity:.45}button.ic-btn{justify-content:center;align-items:center;gap:4px;padding:5px 7px;line-height:0;display:inline-flex}button.ic-btn:hover{background:var(--g2);color:var(--g)}.ic{flex:none}summary{cursor:pointer;align-items:center;gap:6px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:before{content:"";opacity:.6;background:currentColor;flex:none;width:14px;height:14px;transition:transform .15s;transform:rotate(-90deg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}details[open]>summary:before{transform:none}.floorsbox{flex-direction:column;gap:5px;display:flex}.floorsbox .tip{cursor:help;color:var(--mut);font-weight:400}.floorsbox .chips{max-height:84px;overflow:auto}.floorsbox button.chip{padding:1px 8px;line-height:1.3}.fixbar{background:#fff7e0;border:1px solid #e6b800;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;padding:6px 10px;display:flex}.floorsbox details.mini summary{color:var(--mut);font-size:12px}.floorsbox details.mini p{margin:4px 0}.chip.dup{border-color:var(--red);color:#a11;background:#fde8e8}.checks .chips{margin:2px 0 6px}.chip:disabled{opacity:.55;cursor:default}.dotbar{z-index:5;background:#fff;border:2px solid #ca8a04;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;max-width:92%;padding:6px 12px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000002e}.dotbar .tiny{width:44px}.cnts{gap:6px;display:flex}.cnts span{align-items:center;gap:2px;display:inline-flex}.cnts .ic{width:12px;height:12px}.projrow .pn{display:block}.projrow .dev,.board .dev{color:var(--mut);font-size:11px;font-weight:400;display:block}.board h2 .dev{font-size:12px;display:inline}.board h3{color:var(--mut);margin:12px 0 6px;font-size:13px}.boardhead{align-items:center}.artifacts{margin-top:12px}.list.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}.filecard{min-width:0}.filecard .row{flex-wrap:wrap}.filecard select,.filecard label{min-width:0;max-width:100%}.pagepick{margin-top:12px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:8px 0;display:grid}.thumb{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:6px;display:grid}.thumb img{background:#eee;border-radius:4px;width:100%}.thumb.best{border-color:var(--g);box-shadow:0 0 0 2px var(--g2)}.checkbox2{border:1px solid var(--line);background:#fff;border-radius:8px;margin:6px 0;padding:6px 10px}.checkbox2.bad{background:#fff7e0;border-color:#e6b800}.checkbox2 summary{font-weight:700}.checkbox2 .chip{cursor:default}.chip.miss{border-color:var(--red);background:#fde8e8}.bt,.insp{--pn:#fff;--pn2:#fff;--ln:var(--line);--tx:var(--ink);--mu:var(--mut);--cy:var(--g);--gn:#1a7f4b;--am:#b86e00;--rd:var(--red);--sf:#f8faf8;--sf2:#f1f5f2}.bt{height:100%;color:var(--tx);background:var(--bg);padding:16px 20px 40px;overflow:auto}.bt-in{gap:14px;max-width:1560px;margin:0 auto;display:grid}.bt .mono,.insp .mono{font-variant-numeric:tabular-nums;font-family:inherit}.bt .muted{color:var(--mu)}.bt .small{font-size:12px}.bt a{color:var(--cy)}.bt .lbl{letter-spacing:.02em;text-transform:none;color:var(--mu);font-size:11px}.bt.zh .lbl{letter-spacing:.05em;text-transform:none;font-size:12px}.bt-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.bt-head h2{color:var(--g);margin:2px 0 0;font-size:20px;font-weight:700}:is(.bt,.insp) .badges{flex-wrap:wrap;gap:8px;display:flex}:is(.bt,.insp) .badge{border:1px solid var(--ln);letter-spacing:.1em;color:var(--cy);background:#1f4d3a12;border-radius:999px;align-items:center;gap:7px;padding:3px 11px;font-size:11px;display:inline-flex}.bt-note{color:var(--mu);max-width:980px;margin:0;font-size:13px}.bt .dot{background:var(--mu);width:9px;height:9px;color:var(--mu);border-radius:50%;display:inline-block;box-shadow:0 0 8px}.bt .dot.good{background:var(--gn);color:var(--gn)}.bt .dot.warn{background:var(--am);color:var(--am)}.bt .badge .dot{background:var(--cy);color:var(--cy)}@media (prefers-reduced-motion:no-preference){.bt .badge .dot,.bt .dot.warn{animation:2.4s ease-in-out infinite btpulse}}@keyframes btpulse{50%{opacity:.35}}.bt .pn{border:1px solid var(--ln);background:#fff;border-radius:10px;min-width:0;padding:14px 16px;position:relative;box-shadow:0 1px 2px #17201b0a}.bt .pn h3{letter-spacing:.02em;text-transform:none;color:var(--mu);margin:0 0 10px;font-size:12px;font-weight:600}.bt.zh .pn h3{letter-spacing:.04em;text-transform:none;font-size:13px}:is(.bt,.insp) .row-gauges{grid-template-columns:repeat(4,minmax(150px,190px)) 1fr;align-items:stretch;gap:12px;display:grid}.bt .gauge{justify-items:center;gap:4px;padding:10px 8px 12px;display:grid}:is(.bt,.insp) .gauge svg{width:128px;height:128px}:is(.bt,.insp) .gauge .lbl{text-align:center}:is(.bt,.insp) .gauge .ticks{fill:none;stroke:#1f4d3a52;stroke-width:4px;stroke-dasharray:1.2 5.6}:is(.bt,.insp) .gauge .track{fill:none;stroke:#1f4d3a21;stroke-width:9px}:is(.bt,.insp) .gauge .arc{fill:none;stroke:var(--cy);stroke-width:9px;stroke-linecap:round;color:var(--cy);transition:stroke-dasharray 1.1s cubic-bezier(.2,.8,.2,1)}:is(.bt,.insp) .gauge.good .arc{stroke:var(--gn);color:var(--gn)}:is(.bt,.insp) .gauge.warn .arc{stroke:var(--am);color:var(--am)}:is(.bt,.insp) .gauge.bad .arc{stroke:var(--rd);color:var(--rd)}:is(.bt,.insp) .gauge .gv{fill:var(--ink);text-anchor:middle;font:700 22px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}:is(.bt,.insp) .gauge .gs{fill:var(--mu);text-anchor:middle;font:500 8.5px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}@media (prefers-reduced-motion:reduce){:is(.bt,.insp) .gauge .arc{transition:none}}:is(.bt,.insp) .stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.bt .stat{align-content:space-between;gap:2px;padding:10px 14px;display:grid}:is(.bt,.insp) .stat b{color:var(--ink);font:700 28px/1.15 PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}:is(.bt,.insp) .stat small{color:var(--mu);font-size:11px}:is(.bt,.insp) .stat.cyan b{color:var(--cy)}:is(.bt,.insp) .row-charts{grid-template-columns:1.1fr 1fr .9fr;gap:12px;display:grid}:is(.bt,.insp) .hbars{gap:2px;max-height:316px;padding-right:4px;display:grid;overflow:auto}:is(.bt,.insp) .hb{all:unset;cursor:pointer;border-radius:2px;grid-template-columns:minmax(80px,150px) 1fr 38px;align-items:center;gap:8px;padding:1px 4px;font-size:12px;display:grid}:is(.bt,.insp) .hb:hover,:is(.bt,.insp) .hb:focus-visible{outline:1px solid var(--ln);background:#1f4d3a1a}:is(.bt,.insp) .hb .n{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:is(.bt,.insp) .hb .b{background:#1f4d3a17;border-radius:1px;height:8px;overflow:hidden}:is(.bt,.insp) .hb .b i{background:var(--g);height:100%;display:block}:is(.bt,.insp) .hb.watch .b i{background:#d9a13a}:is(.bt,.insp) .hb .v{text-align:right;color:var(--mu)}:is(.bt,.insp) .cells{flex-wrap:wrap;gap:4px;display:flex}:is(.bt,.insp) .cell{all:unset;box-sizing:border-box;cursor:pointer;background:#c9d3cd;border:1px solid #0000;border-radius:3px;width:15px;height:15px;display:inline-block}:is(.bt,.insp) .cell.good{background:#5fb98a}:is(.bt,.insp) .cell.warn{background:#e8b04a}:is(.bt,.insp) .cell.bad{background:#d62828}:is(.bt,.insp) .cell:hover,:is(.bt,.insp) .cell:focus-visible{border-color:var(--g);outline:0}:is(.bt,.insp) .legend{color:var(--mu);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;font-size:11px;display:flex}:is(.bt,.insp) .legend .cell{vertical-align:-1px;cursor:default;width:10px;height:10px}:is(.bt,.insp) .scatter{width:100%;height:auto;display:block}:is(.bt,.insp) .scatter .gl{stroke:#1f4d3a21;stroke-width:1px}:is(.bt,.insp) .scatter .ax{fill:var(--mu);font:9px ui-monospace,Menlo,Consolas,monospace}:is(.bt,.insp) .scatter .axl{fill:var(--mu);letter-spacing:.06em;font:10px sans-serif}:is(.bt,.insp) .scatter .zone{fill:#1a7f4b17;stroke:#1a7f4b73;stroke-dasharray:3 3}:is(.bt,.insp) .scatter .pt{cursor:pointer;stroke:#fff;stroke-width:1.5px;fill:var(--g)}:is(.bt,.insp) .scatter .pt.good{fill:var(--gn)}:is(.bt,.insp) .scatter .pt.warn{fill:var(--am)}:is(.bt,.insp) .scatter .pt.bad{fill:var(--rd)}:is(.bt,.insp) .scatter .pt:hover{stroke:var(--ink)}:is(.bt,.insp) .tablewrap{padding:12px 0 0}:is(.bt,.insp) .bar-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}:is(.bt,.insp) .bar-tools.wide{padding:0 16px}.bt input,.bt select{color:var(--tx);border:1px solid var(--ln);background:#fff;border-radius:6px;min-width:0;padding:5px 9px;font-size:13px}.bt input{flex:1;min-width:180px;max-width:360px}.bt input:focus,.bt select:focus{outline:1px solid var(--cy)}:is(.bt,.insp) .seg2{display:flex}:is(.bt,.insp) .seg2 button{color:var(--mu);border:1px solid var(--ln);cursor:pointer;background:0 0;margin-left:-1px;padding:5px 12px;font-size:12px}:is(.bt,.insp) .seg2 button.on{background:var(--g2);color:var(--cy);border-color:var(--cy);font-weight:700;position:relative}.bt .scroll{max-height:420px;overflow:auto}.bt .scroll.tall{max-height:none}table.bt-t{border-collapse:collapse;width:100%;font-size:13px}table.bt-t th{z-index:2;background:var(--sf2);text-align:left;letter-spacing:.02em;text-transform:none;color:var(--mu);border-bottom:1px solid var(--ln);white-space:nowrap;padding:0;font-size:11px;font-weight:600;position:sticky;top:0}.bt.zh table.bt-t th{letter-spacing:.02em;text-transform:none;font-size:12px}table.bt-t th.num{text-align:right}table.bt-t th button{all:unset;cursor:pointer;box-sizing:border-box;width:100%;padding:8px 10px;display:block}table.bt-t th button:hover,table.bt-t th button:focus-visible{color:var(--cy)}table.bt-t th i{opacity:.35;margin-left:5px;font-size:10px;font-style:normal}table.bt-t th.on{color:var(--cy)}table.bt-t th.on i{opacity:1}table.bt-t td{vertical-align:middle;border-bottom:1px solid #1f4d3a12;padding:6px 10px}table.bt-t td.num{text-align:right;white-space:nowrap}table.bt-t td.st,table.bt-t th.st{text-align:center;width:34px}table.bt-t.main tbody tr:not(.detail){cursor:pointer}table.bt-t.main tbody tr:not(.detail):hover{background:#1f4d3a0f}table.bt-t tr.open{background:#1f4d3a17}.bt .t-good{color:var(--gn)}.bt .t-warn{color:var(--am)}.bt .t-bad{color:var(--rd)}.bt .t-na{color:var(--mu)}:is(.bt,.insp) .mini{vertical-align:middle;background:#1f4d3a1c;border-radius:1px;width:56px;height:6px;margin-right:8px;display:inline-block;overflow:hidden}:is(.bt,.insp) .mini i{background:var(--cy);height:100%;display:block}:is(.bt,.insp) tr.detail>td{background:var(--sf);border-bottom:1px solid var(--ln);padding:14px 16px}:is(.bt,.insp) .dgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;display:grid}.bt h4{letter-spacing:.1em;text-transform:uppercase;color:var(--cy);margin:12px 0 6px;font-size:12px;font-weight:600}.bt.zh h4{text-transform:none;letter-spacing:.03em;font-size:13px}.bt h4:first-child{margin-top:0}.bt h4 em{color:var(--mu);letter-spacing:0;text-transform:none;margin-left:6px;font-style:normal;font-weight:400}:is(.bt,.insp) .files{gap:4px;margin:0;padding:0;list-style:none;display:grid}:is(.bt,.insp) .files li{border-bottom:1px solid #1f4d3a12;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:3px 0;font-size:12px;display:grid}:is(.bt,.insp) .files li span:nth-child(2){white-space:nowrap}:is(.bt,.insp) .pill{border:1px solid;border-radius:999px;padding:0 8px;font:600 11px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}:is(.bt,.insp) .chips{flex-wrap:wrap;gap:5px;display:flex}:is(.bt,.insp) .chips span{border:1px solid var(--ln);border-radius:6px;padding:2px 7px;font:600 12px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}:is(.bt,.insp) .chips .ok{color:var(--gn);background:#1a7f4b24;border-color:#1a7f4b80}:is(.bt,.insp) .chips .extra{color:var(--rd);background:#d6282824;border-color:#d6282880}:is(.bt,.insp) .chips .miss{color:var(--am);background:#d68c001f;border-color:#d68c0080}:is(.bt,.insp) .chips.plan span{color:var(--tx);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:12px sans-serif;overflow:hidden}:is(.bt,.insp) .mapimg{border:1px solid var(--ln);background:#fff;border-radius:2px;max-width:100%;margin-top:8px}:is(.bt,.insp) .unitrows .bar-tools{margin-bottom:6px}:is(.bt,.insp) .unitrows .scroll{border:1px solid var(--ln);max-height:380px}@media (width<=1100px){:is(.bt,.insp) .row-gauges{grid-template-columns:repeat(2,1fr)}:is(.bt,.insp) .stats{grid-column:1/-1}:is(.bt,.insp) .row-charts,:is(.bt,.insp) .dgrid{grid-template-columns:1fr}}.bt .b{text-align:center;border:1px solid;border-radius:9px;min-width:18px;margin-left:6px;padding:0 6px;font:700 11px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif;display:inline-block}.bt .b.bad{color:var(--rd);background:#d628281f}.bt .b.ok{color:var(--cy);background:#1f4d3a1a}.bt .b.info{color:var(--am)}:is(.bt,.insp) .badge.bad{color:var(--rd);background:#d628281a;border-color:#d6282880}:is(.bt,.insp) .badge.ok{color:var(--gn);background:#1a7f4b14;border-color:#1a7f4b66}.bt .defects h3 em{color:var(--rd);margin-left:6px;font-style:normal}:is(.bt,.insp) .dlist{flex-wrap:wrap;gap:6px;display:flex}:is(.bt,.insp) .dlist button,.bt button.inspect{color:var(--tx);border:1px solid var(--ln);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:8px;padding:4px 9px;font-size:12px;display:inline-flex}:is(.bt,.insp) .dlist button:hover,.bt button.inspect:hover{border-color:var(--cy);color:var(--cy)}.bt button.inspect.bad{border-color:#d628288c}:is(.bt,.insp) .dlist b{font-weight:600}.insp{z-index:80;background:var(--bg);color:var(--tx);flex-direction:column;display:flex;position:fixed;inset:0}.insp .mono{font-family:ui-monospace,Menlo,Consolas,Noto Sans TC,monospace}.insp .muted{color:var(--mu)}.insp .pad{padding:24px}.insp .grow{flex:1}.insp .lbl{letter-spacing:.12em;color:var(--mu);text-transform:uppercase;font-size:11px}.insp-bar{border-bottom:1px solid var(--ln);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.insp-bar h3{color:var(--ink);margin:2px 0 0;font-size:17px}.insp-bar h3 em{color:var(--mu);margin-left:8px;font-size:12px;font-style:normal}.insp .badges{gap:6px;display:flex}.insp .badge{border:1px solid var(--ln);color:var(--cy);border-radius:999px;padding:2px 10px;font-size:12px}.insp .badge.bad{color:var(--rd);border-color:#d6282880}.insp .badge.ok{color:var(--gn);border-color:#1a7f4b66}.insp .btn,.insp button{font-size:12px}.insp .btn{background:var(--sf2);color:var(--tx);border:1px solid var(--ln);cursor:pointer;border-radius:6px;padding:5px 10px;text-decoration:none}.insp .btn:hover{border-color:var(--cy);color:var(--cy)}:is(.bt,.insp) .toggles{display:flex}:is(.bt,.insp) .toggles .lay{color:var(--mu);border:1px solid var(--ln);cursor:pointer;background:0 0;margin-left:-1px;padding:4px 10px}:is(.bt,.insp) .toggles .lay.on{color:var(--tx);background:#1f4d3a17}:is(.bt,.insp) .toggles .lay.gaps.on{border-color:var(--rd);color:var(--rd)}:is(.bt,.insp) .toggles .lay.rows.on{border-color:var(--gn);color:var(--gn)}:is(.bt,.insp) .toggles .lay.struck.on{border-color:var(--cy);color:var(--cy)}:is(.bt,.insp) .toggles .lay.read.on{border-color:var(--gn)}:is(.bt,.insp) .zoom{color:var(--mu);align-items:center;gap:6px;font-size:12px;display:flex}:is(.bt,.insp) .zoom input{width:90px}.insp-body{flex:1;grid-template-columns:118px minmax(0,1fr) 380px;min-height:0;display:grid}:is(.bt,.insp) .pages{border-right:1px solid var(--ln);background:var(--sf);align-content:start;gap:4px;padding:8px;display:grid;overflow:auto}:is(.bt,.insp) .pages button{color:var(--tx);border:1px solid var(--ln);text-align:left;cursor:pointer;background:#fff;border-left-width:3px;border-radius:6px;gap:0;padding:5px 7px;display:grid;position:relative}:is(.bt,.insp) .pages button span{color:var(--mu);font-size:10px}:is(.bt,.insp) .pages button.good{border-left-color:var(--gn)}:is(.bt,.insp) .pages button.info{border-left-color:var(--am)}:is(.bt,.insp) .pages button.bad{border-left-color:var(--rd)}:is(.bt,.insp) .pages button.on{background:var(--g2);border-color:var(--g)}:is(.bt,.insp) .pages .b{position:absolute;top:5px;right:5px}:is(.bt,.insp) .viewer{background:#e9eee9;padding:14px;overflow:auto}:is(.bt,.insp) .sheet{box-shadow:0 0 0 1px var(--ln),0 6px 20px #17201b26;background:#fff;margin:0 auto;position:relative}:is(.bt,.insp) .sheet img{max-width:none;display:block}:is(.bt,.insp) .ov{width:100%;height:100%;position:absolute;inset:0}:is(.bt,.insp) .ov rect{cursor:pointer;pointer-events:all;fill:none}:is(.bt,.insp) .ov .rw.ok{fill:#1a7f4b0d;stroke:#14aa6eb3;stroke-width:.7px}:is(.bt,.insp) .ov .rw.bad{fill:#d68c0029;stroke:#c88a00;stroke-width:1px}:is(.bt,.insp) .ov .rw.hum{fill:#508cff1a;stroke:#2563eb;stroke-width:1px}:is(.bt,.insp) .ov .rw.del{stroke:#888;stroke-dasharray:4 3;stroke-width:1px}:is(.bt,.insp) .ov .pr.gap{fill:#d628284d;stroke:#d62828;stroke-width:1.3px}:is(.bt,.insp) .ov .pr.pair{fill:#d68c0047;stroke:#c88a00;stroke-width:1.2px;stroke-dasharray:3 2}:is(.bt,.insp) .ov .pr.struck{stroke:#2563eb;stroke-width:.9px;stroke-dasharray:1.5 1.5}:is(.bt,.insp) .ov .pr.read{stroke:#1a7f4b;stroke-width:.8px}:is(.bt,.insp) .ov .pr.hum{fill:#508cff47;stroke:#2563eb;stroke-width:1.3px}:is(.bt,.insp) .ov .pr.ign{stroke:#778;stroke-dasharray:2 2}:is(.bt,.insp) .ov .sel{stroke:#17201b!important;stroke-width:2.4px!important}@media (prefers-reduced-motion:no-preference){:is(.bt,.insp) .ov .pr.gap{animation:1.8s ease-in-out infinite btpulse}}:is(.bt,.insp) .side{border-left:1px solid var(--ln);background:#fff;align-content:start;gap:8px;padding:12px 14px;display:grid;overflow:auto}:is(.bt,.insp) .side h4{letter-spacing:.06em;color:var(--cy);text-transform:uppercase;margin:4px 0;font-size:12px}:is(.bt,.insp) .side h4 em{color:var(--mu);text-transform:none;letter-spacing:0;margin-left:6px;font-style:normal}:is(.bt,.insp) .issue{border-left:3px solid var(--am);background:#d68c0012;margin:0;padding:6px 8px;font-size:13px}:is(.bt,.insp) .issue.error{border-color:var(--rd);background:#d6282814}:is(.bt,.insp) .issues{gap:3px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}:is(.bt,.insp) .issues button{width:100%;color:var(--tx);border:1px solid var(--ln);border-left:3px solid var(--am);cursor:pointer;text-align:left;background:#fff;border-radius:6px;align-items:center;gap:10px;padding:4px 8px;display:flex}:is(.bt,.insp) .issues button.error{border-left-color:var(--rd)}:is(.bt,.insp) .issues button.on{border-color:var(--cy);background:#1f4d3a1f}:is(.bt,.insp) .issues button span{color:var(--mu);flex:1;font-size:11px}:is(.bt,.insp) .issues button i{color:var(--cy);font-style:normal}:is(.bt,.insp) .editor{border:1px solid var(--ln);background:#fff;border-radius:4px;gap:8px;padding:10px;display:grid}:is(.bt,.insp) .why{color:#3d4a43;margin:0;font-size:12.5px;line-height:1.5}:is(.bt,.insp) .ctx{background:var(--sf);border:1px solid var(--ln);white-space:pre-wrap;word-break:break-all;color:#4b5a52;margin:0;padding:6px 8px;font:11px ui-monospace,Menlo,Consolas,monospace}:is(.bt,.insp) .grid2{grid-template-columns:1fr 1fr;gap:6px;display:grid}:is(.bt,.insp) .fld{color:var(--mu);gap:2px;font-size:11px;display:grid}:is(.bt,.insp) .fld.wide{grid-column:1/-1}.insp input{background:var(--sf);color:var(--tx);border:1px solid var(--ln);border-radius:6px;min-width:0;padding:5px 7px;font-size:13px}.insp input:focus{outline:1px solid var(--cy)}:is(.bt,.insp) .acts{flex-wrap:wrap;gap:6px;display:flex}:is(.bt,.insp) .acts button{background:var(--sf2);color:var(--tx);border:1px solid var(--ln);cursor:pointer;border-radius:6px;padding:6px 11px}:is(.bt,.insp) .acts button:hover:not(:disabled){border-color:var(--cy);color:var(--cy)}:is(.bt,.insp) .acts button.go{color:var(--gn);background:#1a7f4b24;border-color:#1a7f4b99}:is(.bt,.insp) .acts button.warn{color:var(--am)}:is(.bt,.insp) .acts button:disabled{opacity:.4;cursor:not-allowed}@media (width<=1100px){.insp-body{grid-template-columns:90px 1fr}:is(.bt,.insp) .side{border-left:0;border-top:1px solid var(--ln);grid-column:1/-1;max-height:45vh}}.insp .side,.insp .editor{grid-template-columns:minmax(0,1fr);min-width:0}.insp .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.insp input{box-sizing:border-box;width:100%}.insp .zoom input{width:90px}.insp .side>*,.insp .issues button{min-width:0}.insp .pages button span{background:0 0;border-radius:0;width:auto;height:auto;margin:0;padding:0;display:block}.tip[role=tooltip]{z-index:400;color:#dcefff;white-space:pre-line;pointer-events:none;background:#04101d;border:1px solid #1f4d3a8c;border-radius:4px;max-width:340px;padding:7px 10px;font-size:12.5px;line-height:1.5;position:fixed;box-shadow:0 8px 24px #17201b47}[data-tip]{cursor:help}.bt button[data-tip],.insp button[data-tip],.bt tr[data-tip],.bt .cell[data-tip],.bt .hb[data-tip],.bt .pt,.insp .ov rect,.bt .gauge[data-tip],.bt .stat[data-tip]{cursor:pointer}.bt .gauge[data-tip],.bt .stat[data-tip]{cursor:help}.bt .helpbtn{cursor:pointer;background:#1f4d3a12;font-family:inherit}.bt .helpbtn.on{background:#1f4d3a33}:is(.bt,.insp) .guide{border-left:3px solid var(--cy);background:#1f4d3a12;max-width:1100px;margin:0;padding:10px 14px;font-size:13px;line-height:1.6}:is(.bt,.insp) .dlist button.done{opacity:.6}:is(.bt,.insp) .dlist button.done b{text-decoration:line-through}.insp .prog{gap:3px;min-width:230px;display:grid}.insp .prog .nums{gap:12px;font-size:12px;display:flex}.insp .prog .nums b{font-size:15px}.insp .prog .bad{color:var(--rd)}.insp .prog .good{color:var(--gn)}.insp .pbar{background:#d6282859;border-radius:6px;height:6px;overflow:hidden}.insp .pbar i{background:var(--gn);height:100%;transition:width .5s;display:block}.insp .nav{align-items:center;gap:6px;display:flex}.insp .nav button{background:var(--sf2);color:var(--cy);border:1px solid var(--ln);cursor:pointer;border-radius:6px;width:34px;height:30px;font-size:14px}.insp .nav button:hover:not(:disabled){border-color:var(--cy);background:#1f4d3a24}.insp .nav button:disabled{opacity:.35}.insp .banner{margin:0;padding:6px 16px;font-size:13px}.insp .banner.good{color:var(--gn);background:#1a7f4b1f;border-bottom:1px solid #1a7f4b66}.insp .pages .b.okk{color:var(--gn);background:#1a7f4b1f}.insp .pages button.bad .b{border-color:var(--rd)}:is(.bt,.insp) .ov .rw.fixed{fill:#1a7f4b24;stroke:#1a7f4b;stroke-width:1.4px}:is(.bt,.insp) .ov .pr.fixed{fill:#1a7f4b4d;stroke:#1a7f4b;stroke-width:1.5px}:is(.bt,.insp) .ov .mk{cursor:pointer}:is(.bt,.insp) .ov .mk circle{fill:#d62828;stroke:#fff;stroke-width:1px}:is(.bt,.insp) .ov .mk.note circle{fill:#c88a00}:is(.bt,.insp) .ov .mk.fixed circle{fill:#1a7f4b}:is(.bt,.insp) .ov .mk text{fill:#fff;pointer-events:none;font:700 6.5px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}:is(.bt,.insp) .ov .mk.cur circle{stroke:#17201b;stroke-width:2px}:is(.bt,.insp) .ov .ring{fill:none;stroke:#d62828;stroke-width:1.8px;stroke-dasharray:5 3;pointer-events:none}@media (prefers-reduced-motion:no-preference){:is(.bt,.insp) .ov .ring{animation:1s linear infinite btdash}:is(.bt,.insp) .ov .flash{animation:.7s ease-out btflash}:is(.bt,.insp) .toast{animation:.7s ease-out bttoast}}@keyframes btdash{to{stroke-dashoffset:-16px}}@keyframes btflash{0%{}40%{}to{filter:none}}@keyframes bttoast{0%{opacity:0;transform:translate(-50%,6px)}25%{opacity:1;transform:translate(-50%)}}:is(.bt,.insp) .sheet .toast{color:#145a32;pointer-events:none;background:#e6efe9;border:1px solid #1a7f4b;border-radius:4px;padding:6px 14px;font-size:13px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000080}:is(.bt,.insp) .issues button .n{text-align:center;background:var(--rd);color:#fff;border-radius:50%;min-width:20px;padding:1px 0;font-size:11px}:is(.bt,.insp) .issues button.note .n{background:#c88a00}:is(.bt,.insp) .issues button.done .n{background:#1a7f4b}:is(.bt,.insp) .issues button.done b{color:var(--mu);text-decoration:line-through}:is(.bt,.insp) .issues button .w{color:var(--mu);margin-left:auto;font-size:11px}.insp .chk{color:var(--mu);align-items:center;gap:6px;font-size:12px;display:flex}.insp .chk input{width:auto}:is(.bt,.insp) .cands{flex-wrap:wrap;align-items:center;gap:5px;display:flex}:is(.bt,.insp) .cands button{color:var(--cy);cursor:pointer;background:#1f4d3a1a;border:1px solid #1f4d3a73;border-radius:6px;padding:2px 8px;font:12px ui-monospace,Menlo,Consolas,monospace}.insp .issues{max-height:200px}.insp .side{grid-auto-rows:min-content}.insp .b{text-align:center;border:1px solid;border-radius:9px;min-width:18px;padding:0 6px;font:700 11px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif;display:inline-block}.insp .b.bad{color:var(--rd);background:#d628281f}.insp .b.info{color:var(--am)}.insp .small{font-size:12px}.insp a{color:var(--cy)}.insp h3{font-weight:700}.insp h4{margin:4px 0}:is(.bt,.insp) .issues button .n,:is(.bt,.insp) .issues button .w{flex:none}.insp .chk input[type=checkbox]{accent-color:#38e1ff;width:14px;height:14px;padding:0}:is(.bt,.insp) .row-gauges{grid-template-columns:repeat(5,minmax(140px,180px)) 1fr}:is(.bt,.insp) .holdout .hrounds{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}:is(.bt,.insp) .hround{border:1px solid var(--ln);background:#fff;gap:5px;padding:10px 12px;display:grid}:is(.bt,.insp) .hround b{color:var(--ink)}:is(.bt,.insp) .hbar{grid-template-columns:120px 1fr 48px;align-items:center;gap:8px;font-size:12px;display:grid;position:relative}:is(.bt,.insp) .hbar span{color:var(--mu)}:is(.bt,.insp) .hbar i{border-radius:1px;grid-column:2;height:8px;display:block}:is(.bt,.insp) .hbar i.first{background:#d9a13a}:is(.bt,.insp) .hbar i.final{background:var(--gn)}:is(.bt,.insp) .hbar em{text-align:right;font-style:normal}:is(.bt,.insp) .srcbadge{color:var(--cy);vertical-align:1px;border:1px solid #1f4d3a80;border-radius:6px;margin-left:6px;padding:0 5px;font:700 10px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}.insp .btn.tool{cursor:pointer}.insp .btn.tool.on{border-color:var(--am);color:var(--am);background:#d68c0029}:is(.bt,.insp) .ov.drawing{cursor:crosshair}:is(.bt,.insp) .ov .drawpad{fill:#0000;cursor:crosshair;pointer-events:all}:is(.bt,.insp) .ov .selbox{fill:#d68c0021;stroke:#c88a00;stroke-width:1.4px;stroke-dasharray:5 3;pointer-events:none}:is(.bt,.insp) .ov .candrow{fill:#1a7f4b24;stroke:#1a7f4b;stroke-width:1px;pointer-events:none}:is(.bt,.insp) .ov .addrow rect{fill:#1a7f4b38;stroke:#1a7f4b;stroke-width:1.5px}:is(.bt,.insp) .ov .addrow text{fill:#145a32;pointer-events:none;font:700 6px PingFang TC,Microsoft JhengHei,Noto Sans TC,system-ui,sans-serif}:is(.bt,.insp) .boxhint{border-left:3px solid var(--am);background:#d68c0014;margin:0;padding:8px 10px;font-size:13px}:is(.bt,.insp) .boxpanel{background:#fff;border:1px solid #d68c0080;border-radius:4px;gap:8px;padding:10px;display:grid}:is(.bt,.insp) .boxpanel h4{color:var(--am)}:is(.bt,.insp) .cands2{gap:8px;max-height:300px;display:grid;overflow:auto}:is(.bt,.insp) .crow{border:1px solid var(--ln);background:#fff;border-radius:6px;gap:5px;padding:6px;display:grid}:is(.bt,.insp) .crow.off{opacity:.45}:is(.bt,.insp) .cgrid{grid-template-columns:.9fr .8fr .8fr 1fr 1.6fr;gap:4px;display:grid}:is(.bt,.insp) .cgrid input{padding:4px 5px;font-size:12px}.bt .badge.stale{color:var(--am);background:#d68c0014;border-color:#d68c0080}:is(.bt,.insp) .mapview{gap:6px;margin-top:8px;display:grid}.mv-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mv-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px}.mv-btn:hover{border-color:var(--g)}.mv-btn.on{background:var(--g2);border-color:var(--g);color:var(--g);font-weight:700}.mv-small{border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:6px;line-height:0;position:relative;overflow:visible}.mv-small.mag{cursor:crosshair}.mv-small img{-webkit-user-drag:none;border-radius:6px;width:100%;height:auto;display:block}.mv-loupe{border:3px solid var(--g);pointer-events:none;z-index:5;background-color:#fff;background-repeat:no-repeat;border-radius:50%;position:absolute;box-shadow:0 6px 20px #17201b59}.mv-full{z-index:300;color:#f2f6f3;background:#17201b;flex-direction:column;display:flex;position:fixed;inset:0}.mv-bar{color:var(--ink);border-bottom:1px solid var(--line);background:#f4f6f4;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex}.mv-bar button{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:6px;padding:4px 10px}.mv-bar button:hover{border-color:var(--g)}.mv-bar input[type=range]{width:200px;padding:0}.mv-bar .grow{flex:1}.mv-bar .muted{color:var(--mut)}.mv-bar .small{font-size:12px}.mv-stage{cursor:grab;touch-action:none;background:#2a352f;flex:1;min-height:0;position:relative;overflow:hidden}.mv-stage:active{cursor:grabbing}.mv-stage img{transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff;max-width:none;position:absolute;top:0;left:0}:is(.bt,.insp) .insp-bar{background:#fff;padding:8px 16px}:is(.bt,.insp) .insp-body{grid-template-columns:236px minmax(0,1fr) 390px}:is(.bt,.insp) .lside{border-right:1px solid var(--line);background:#fff;flex-direction:column;min-height:0;display:flex}:is(.bt,.insp) .lcard{border-bottom:1px solid var(--line);background:#fff;gap:10px;padding:10px 12px;display:grid}:is(.bt,.insp) .lcard h4{color:var(--mut);text-transform:none;letter-spacing:.02em;margin:0;font-size:12px}:is(.bt,.insp) .toggles{gap:4px;display:grid}:is(.bt,.insp) .toggles .lay{text-align:left;border:1px solid var(--line);color:var(--mut);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:8px;margin:0;padding:5px 9px;font-size:12.5px;display:flex}:is(.bt,.insp) .toggles .lay i{border:2px solid;border-radius:3px;flex:none;width:11px;height:11px}:is(.bt,.insp) .toggles .lay.on{background:var(--sf);color:var(--ink);border-color:var(--line)}:is(.bt,.insp) .toggles .lay.on i{background:currentColor}:is(.bt,.insp) .toggles .lay.rows.on i{color:#1a7f4b}:is(.bt,.insp) .toggles .lay.gaps.on i{color:#d62828}:is(.bt,.insp) .toggles .lay.struck.on i{color:#2563eb}:is(.bt,.insp) .toggles .lay.read.on i{color:#5fb98a}:is(.bt,.insp) .lcard .zoom{color:var(--mut);gap:4px;font-size:12px;display:grid}:is(.bt,.insp) .lcard .zoom span{justify-content:space-between;display:flex}:is(.bt,.insp) .lcard .zoom input{width:100%;padding:0}:is(.bt,.insp) .lside .pages{background:#fff;border-right:0;flex:1;min-height:0;overflow:auto}:is(.bt,.insp) .stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}:is(.bt,.insp) .stage .viewer{flex:1;min-height:0;padding:62px 14px 14px}:is(.bt,.insp) .glass{z-index:20;-webkit-backdrop-filter:blur(14px)saturate(1.3);background:#ffffff9e;border:1px solid #ffffffd9;border-radius:14px;gap:2px;padding:5px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #17201b38,inset 0 1px #ffffffe6}:is(.bt,.insp) .gbtn{color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;text-decoration:none;display:inline-flex}:is(.bt,.insp) .gbtn:hover:not(:disabled){background:#1f4d3a1f}:is(.bt,.insp) .gbtn.on{background:var(--g);color:#fff}:is(.bt,.insp) .gbtn:disabled{opacity:.4}:is(.bt,.insp) .pg-loupe{border:3px solid var(--g);pointer-events:none;z-index:15;background-color:#fff;background-repeat:no-repeat;border-radius:50%;position:absolute;box-shadow:0 8px 24px #17201b66}:is(.bt,.insp) .side{background:var(--bg);gap:10px;padding:12px}:is(.bt,.insp) .issuehead{border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:10px 12px;display:grid}:is(.bt,.insp) .issuehead .prog{min-width:0}:is(.bt,.insp) .issuehead .nav{justify-content:space-between}:is(.bt,.insp) .issuehead .banner{border-radius:6px;margin:0;padding:6px 8px}:is(.bt,.insp) .side>h4{margin:6px 0 0}@media (width<=1100px){:is(.bt,.insp) .insp-body{grid-template-columns:170px 1fr}}:is(.bt,.insp) .badge.stale{color:var(--am);background:#d68c0014;border-color:#d68c0080}:is(.bt,.insp) .banner.bad{color:#d62828;background:#fde8e8;margin:0;padding:6px 16px;font-size:13px}.gate{background:var(--bg);place-items:center;min-height:100%;padding:24px;display:grid}.gate-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;justify-items:center;gap:10px;width:100%;max-width:460px;padding:26px 28px;display:grid}.gate-card h1{margin:0;font-size:22px}.gate-box{justify-items:center;min-height:60px;display:grid}.gate-points{color:var(--mut);gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.gate-points li:before{content:"✓ ";color:var(--g)}.invited{background:var(--g2);color:var(--g);border-radius:8px;margin:0;padding:8px 12px;font-size:13px}.acct{gap:14px;max-width:860px;margin:0 auto;padding:16px;display:grid}.acct .planbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meter{background:var(--line);border-radius:4px;width:180px;height:8px;overflow:hidden}.meter i{background:var(--g);height:100%;display:block}.tag{background:var(--line);border-radius:999px;padding:1px 9px;font-size:11px}.tag.pro{background:var(--g);color:#fff}.tag.free{color:#8a5a00;background:#fdecc8}.bigcode{letter-spacing:.12em;background:var(--g2);color:var(--g);border-radius:8px;padding:4px 12px;font:700 18px ui-monospace,Menlo,Consolas,monospace}.brandgrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:8px 0;display:grid}.logobox{border:1px dashed var(--line);background:#fafcfb;border-radius:8px;place-items:center;height:70px;display:grid}.logobox img{max-width:100%;max-height:60px}.acct textarea{border:1px solid var(--line);width:100%;font:inherit;border-radius:6px;padding:6px 8px}.footprev{border:1px solid var(--line);color:#444;background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;padding:8px 10px;font-size:12px;display:flex}.footprev img{height:34px}.footprev em{margin-left:auto;font-style:normal;font-weight:700}.modal-back{z-index:500;background:#17201b73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;gap:10px;width:100%;max-width:560px;padding:20px 22px;display:grid}.modal h2{margin:0}.offer{grid-template-columns:1fr 1fr;gap:12px;display:grid}.offer>div{border:1px solid var(--line);border-radius:10px;align-content:start;gap:6px;padding:12px;display:grid}.offer p{color:var(--mut);margin:0;font-size:13px}.offer code{color:var(--g);font:700 15px ui-monospace,Menlo,monospace}a.btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:5px 12px;text-decoration:none;display:inline-block}a.btn.primary{background:var(--g);border-color:var(--g);color:#fff}@media (width<=640px){.offer{grid-template-columns:1fr}}.adm{align-content:start;gap:12px;max-width:1100px;margin:0 auto;padding:16px;display:grid}.adm-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.adm-top h2{margin:0}.adm-q{border:1px solid var(--line);min-width:200px;max-width:340px;font:inherit;border-radius:6px;flex:1;padding:6px 10px}.adm-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.adm-cards div{border:1px solid var(--line);background:#fff;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.adm-cards b{color:var(--g);font-size:22px}.adm-cards span{color:var(--mut);font-size:12px}.adm-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;font-size:13px;overflow:hidden}.adm-table th{text-align:left;color:var(--mut);border-bottom:1px solid var(--line);background:#fafaf7;padding:8px 10px;font-size:12px}.adm-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.adm-table tr:not(.adm-edit){cursor:pointer}.adm-table tr.on td,.adm-table tr:not(.adm-edit):hover td{background:var(--g2)}.adm-table code{color:var(--mut);word-break:break-all;display:block}.adm-table .meter{width:110px}.pill{background:var(--line);color:#555;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;display:inline-block}.pill.pro{background:var(--g);color:#fff}.adm-act{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adm-act label{align-items:center;gap:6px;font-size:12px;display:inline-flex}.adm-act input{border:1px solid var(--line);font:inherit;border-radius:6px;padding:4px 8px}.adm-act input[type=number]{width:70px}.umenu{position:relative}.umenu-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 2px;display:inline-flex;position:relative}.umenu-btn .av{background:var(--g);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.umenu-btn .bdg{color:var(--g);font-size:13px}.umenu-btn.low{border-color:#c88a00}.umenu-btn.low .bdg{color:#b36b00}.umenu-btn .warnpt{background:#d98a00;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:-2px;right:-2px}.umenu-pop{z-index:50;border:1px solid var(--line);background:#fff;border-radius:12px;gap:2px;min-width:240px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000024}.umenu-pop>button{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.umenu-pop>button:hover{background:var(--g2)}.umenu-pop .up{color:#fff;background:var(--g);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:700}.umenu-who{gap:1px;padding:6px 10px;font-size:13px;display:grid}.umenu-who span{color:var(--mut);font-size:12px}.umenu-plan{gap:6px;padding:6px 10px 10px;font-size:13px;display:grid}.umenu-plan .row{align-items:center;gap:6px;display:flex}.umenu-plan .meter{width:100%}.umenu-sep{background:var(--line);height:1px;margin:4px 0}.umenu-warn{color:#8a5a00;padding:6px 10px;font-size:12px}.adm-short-btn{border:1px dashed var(--line);color:var(--mut);cursor:pointer;font:inherit;background:0 0;border-radius:8px;justify-self:center;padding:6px 12px;font-size:12px}.adm-short{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.adm-short input{border:1px solid var(--line);font:inherit;border-radius:6px;padding:6px 10px}.wz-drop{text-align:center;border:2px dashed var(--line);cursor:pointer;background:#fff;border-radius:14px;justify-items:center;gap:4px;padding:22px 16px;display:grid}.wz-drop.big{padding:26px 16px}.wz-drop:hover,.wz-drop.over{border-color:var(--g);background:var(--g2)}.wz-drop b{font-size:16px}.wz-drop span{color:var(--mut);font-size:12px}.wz-drop input{display:none}.small-drop{color:var(--mut);margin-top:6px;font-size:12px;padding:6px 10px!important}.wz{align-content:start;gap:14px;max-width:820px;margin:0 auto;padding:16px;display:grid}.wz-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.wz-steps{color:var(--mut);gap:18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.wz-steps li{align-items:center;gap:6px;display:flex}.wz-steps b{background:var(--line);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.wz-steps li.on{color:var(--g);font-weight:700}.wz-steps li.on b,.wz-steps li.done b{background:var(--g);color:#fff}.wz-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:12px;padding:18px;display:grid}.wz-card h2{margin:0}.wz-usemap{align-items:center;gap:12px;display:flex}.wz-usemap img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:110px;height:76px}.wz-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.wz-lines li{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.wz-ic{text-align:center;width:20px}.wz-lines li.ok .wz-ic{color:var(--g)}.wz-lines li.warn .wz-ic{color:#c88a00}.wz-lines li.bad .wz-ic{color:#c0392b}.wz-sum{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.wz-sum div{border:1px solid var(--line);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.wz-sum b{color:var(--g);font-size:24px}.wz-sum .warn b{color:#b36b00}.wz-sum span{color:var(--mut);font-size:12px}.wz-go{flex-wrap:wrap;align-items:center;gap:8px}.primary.big{padding:10px 22px;font-size:15px}.wz-quick .wz-drop{padding:18px 16px}.wz-quick+.projhead .drop{gap:2px;padding:8px 12px}.wz-quick+.projhead .drop b{color:var(--mut);font-size:12px;font-weight:600}.wz-quick+.projhead .drop span{font-size:12px}.rail{flex-direction:column;align-items:center;gap:10px;display:flex;overflow:hidden;padding:10px 4px!important}.rail-t{writing-mode:vertical-rl;color:var(--mut);letter-spacing:.05em;font-size:13px;font-weight:700}.chat.rail{max-height:none;position:static}.filelink{color:inherit;text-decoration:none}.filelink:hover b{color:var(--g);text-decoration:underline}a.btn{border:1px solid var(--line);color:inherit;background:#fff;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:13px;text-decoration:none;display:inline-flex}a.btn:hover{background:var(--g2)}a.ic-btn{color:inherit;place-items:center;text-decoration:none;display:inline-grid}.wz-flag h4{margin:4px 0}.wz-flag ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.wz-flag li{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.wz-orig{flex-wrap:wrap;align-items:center;gap:8px}.srcline{color:var(--mut);word-break:break-all;font-size:12px;line-height:1.5}.srcline a{color:var(--g)}.qfilter{border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:4px 8px 6px}.qfilter h4,.qrow{margin:4px 0}.qrow .chips{margin-top:2px}.wz-lines a{color:inherit;text-decoration:none}.wz-lines a:hover b{color:var(--g);text-decoration:underline}.wscol{container-type:inline-size}.board .step{margin-top:14px}.stephead{align-items:baseline;gap:10px;min-width:0;margin:0 0 6px;display:flex}.board .stephead h3{color:var(--ink);white-space:nowrap;margin:0;font-size:14px}.stephead small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stepno{background:var(--g);color:#fff;border-radius:50%;flex:none;align-self:center;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.flist{gap:4px;margin:0;padding:0;list-style:none;display:grid}.frow{border:1px solid var(--line);background:#fff;border-radius:8px;padding:0;transition:background .12s,border-color .12s;display:block}.frow:hover{background:#f8fbf9}.frow.editing{background:#f6faf7;border-color:#9fb8a8}.fline{align-items:center;gap:8px;min-width:0;min-height:38px;padding:3px 6px 3px 10px;display:flex}.frow .ficon{text-align:center;flex:none;width:20px}.frow .fname{all:unset;cursor:pointer;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:500;overflow:hidden}.frow .fname:hover,.frow .fname:focus-visible{color:var(--g);text-decoration:underline}.frow .fmeta{color:var(--mut);white-space:nowrap;font-size:12px}.nowrap{white-space:nowrap}.fbadge{all:unset;cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 6px;font-size:11px;line-height:18px}.fbadge.warn{color:#8a5a00;background:#eab30829}.fbadge.ask{color:#1d4ed8;background:#2563eb1a}.frow .dot{background:#eab308;border-radius:50%;flex:none;width:9px;height:9px;display:inline-block;box-shadow:0 0 6px #eab30899}.frow .dot.good{background:#22c55e;box-shadow:0 0 6px #22c55e8c}.frow .pill.ok{color:#15803d;white-space:nowrap;background:#22c55e24;border-radius:999px;padding:2px 10px;font-size:12px}.frow .cta{white-space:nowrap;padding:3px 10px;font-size:13px}.frow .ic-btn{flex:none}.frow .pen.on{background:var(--g2);border-color:var(--g)}.dstoggle{border-radius:999px}.dstoggle.on{color:#15803d;background:#22c55e24;border-color:#22c55e}.frow.datarow:not(.on) .fname{color:var(--mut)}.frow.datarow.dup .fname{text-decoration:line-through;-webkit-text-decoration-color:var(--mut);text-decoration-color:var(--mut)}.fedit{border-top:1px dashed var(--line);gap:8px;padding:8px 12px 10px 38px;display:grid}.fedit label{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:inline-flex}.fedit .analysis{max-height:200px;overflow:auto}.fedit .tpl .tplname{min-width:160px}.frow .mini{object-fit:cover;border:1px solid var(--line);background:var(--bg);border-radius:4px;flex:none;width:56px;height:38px}.makebar{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 10px;padding:10px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 18px #17201b14}.makebar .big{white-space:normal;text-align:left;font-weight:700}.makebar .warn{color:#8a5a00}.empty-step{margin:0 0 4px 32px}.builtds{margin-top:6px}.builtds summary{color:var(--mut);cursor:pointer;font-size:12px}.frow.plain{background:#fafcfb}.usemap{display:inline-flex}.usemap input{margin:0}@container (width<=640px){.frow .fmeta,.stephead small.grow{display:none}.makebar .big{padding:10px 14px;font-size:14px}}.dstabs{flex-wrap:wrap;margin:12px 0 10px}.planmember h4{margin:14px 0 6px}.ctxmenu{z-index:6;background:#fff;border:1px solid #cfd8d3;border-radius:8px;flex-direction:column;min-width:250px;padding:4px;display:flex;position:absolute;box-shadow:0 6px 18px #0000002e}.ctxmenu .ctxhead{color:#66706b;border-bottom:1px solid #eef1ef;margin-bottom:2px;padding:4px 10px 6px;font-size:12px}.ctxmenu button{all:unset;cursor:pointer;color:#1f2a25;border-radius:6px;padding:6px 10px;font-size:13px}.ctxmenu button:hover:not(:disabled){background:#eaf2ee}.ctxmenu button:disabled{color:#a5aea9;cursor:default}.zoombar .pantool{font-size:15px;line-height:1}.zoombar .pantool.on{color:#fff;background:#1f4d3a;border-color:#1f4d3a}.stage svg#scene{-webkit-user-select:none;user-select:none}.compose-side{padding-top:0}.compose-side .cs-top{z-index:2;border-bottom:1px solid var(--line);background:#fff;flex-direction:column;gap:6px;margin:0 -12px 4px;padding:10px 12px 8px;display:flex;position:sticky;top:0}.compose-side .cstabs{grid-template-columns:repeat(4,1fr);margin:2px 0 0;display:grid}.compose-side .cstabs button{padding:6px 2px;font-weight:600}.compose-side .more-exp>summary{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:5px 9px;font-size:13px;list-style:none}.compose-side .more-exp>summary::-webkit-details-marker{display:none}.compose-side .more-exp[open]{flex-basis:100%}.compose-side .more-exp[open]>summary{margin-bottom:6px;display:inline-block}.compose-side .form>.full{grid-column:1/-1}.form label.radio{color:inherit;grid-column:1/-1;font-size:13px;display:flex}.zoombar .railtool{font-size:15px;line-height:1}.zoombar .pagepick{border-top:1px solid #c5cdc8;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.zoombar .pagepick .on{color:#fff;background:#1f4d3a;border-color:#1f4d3a}.ctxmenu.tmenu{gap:6px;width:300px;padding:8px}.ctxmenu.tmenu textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #cfd8d3;border-radius:6px;padding:6px;font-size:13px}.ctxmenu.tmenu label{align-items:center;gap:6px;font-size:13px;display:flex}.ctxmenu.tmenu label input[type=range]{flex:1}.ctxmenu.tmenu .row{align-items:center;gap:8px}.ctxmenu.tmenu button{all:revert;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfd8d3;border-radius:6px;padding:4px 10px;font-size:13px}.ctxmenu.tmenu button.primary{color:#fff;background:#1f4d3a;border-color:#1f4d3a}.zoombar .railtool,.zoombar .pagepick button{min-width:32px;min-height:30px;font-size:14px;font-weight:600;line-height:1}.compose-side .p2head{margin:4px 0 0}.terms-ed{flex-direction:column;gap:8px;margin:8px 0;display:flex}.terms-ed>label{color:var(--mut);gap:3px;font-size:12px;display:grid}.terms-ed .t2plan{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:4px;margin:0;padding:6px 8px;display:flex}.terms-ed .row{gap:4px;margin:0}.terms-ed .row input.grow,.terms-ed .row textarea.grow{flex:1;min-width:0}.terms-ed .t2code{width:3em}.terms-ed .t2pct{width:3.6em}.terms-ed textarea{font:inherit;resize:vertical;font-size:13px}.terms-ed .t2plan>.mini2{align-self:flex-start}.side{position:relative}.side .sidepin{z-index:5;opacity:.6;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:13px;line-height:1;display:grid;position:absolute;top:6px;right:6px}.side .sidepin.on,.side .sidepin:hover{opacity:1}.editor.autoside{grid-template-columns:22px 1fr;position:relative}.editor.autoside>.stage{grid-column:2}.editor.autoside>.side{z-index:7;width:340px;max-width:calc(100% - 60px);transition:transform .16s,box-shadow .16s;position:absolute;top:0;bottom:0;left:0;transform:translate(calc(22px - 100%))}.editor.autoside>.side.open{transform:none;box-shadow:4px 0 18px #0000002e}.editor.autoside>.side:not(.open)>*{visibility:hidden}.editor.autoside>.side:not(.open):after{content:"›";color:var(--mut);font-size:20px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}@media (width<=900px){.editor.autoside{grid-template-columns:1fr}.editor.autoside>.stage{grid-column:auto}.editor.autoside>.side{width:auto;max-width:none;box-shadow:none;position:static;transform:none}.editor.autoside>.side>*{visibility:visible}.editor.autoside>.side:after{display:none}}.stage .tedit{z-index:6;box-sizing:border-box;resize:both;background:#fffffff0;border:1.5px solid #2563eb;border-radius:2px;outline:none;margin:0;padding:2px 3px;font-family:inherit;line-height:1.3;position:absolute;box-shadow:0 2px 10px #0000002e}.zoombar .railtools{flex-direction:column;gap:4px;display:flex}.compose-side .p2side{flex-direction:column;gap:8px;margin:8px 0;display:flex}.stage>svg#terms{background:0 0}.stage>svg{box-sizing:border-box;padding:8px 66px 8px 8px}.stage .p2empty{z-index:3;border:1px dashed var(--line);color:var(--mut);pointer-events:none;background:#fff;border-radius:8px;padding:10px 16px;font-size:14px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.p2tpls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.p2tpl{flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:12px;display:flex}.p2tpl.on{border-color:var(--g);background:var(--g2)}.tplpic{background:#fff;border:1px solid #9aa6a0;grid-template-rows:8px;gap:2px;width:84px;height:54px;padding:3px;display:grid}.tplpic i,.tplpic b{background:#eef2f8;border:1px solid #1f3864;display:block}.tplpic i:first-child{background:#1f3864}.tplpic b{background:#111;border-color:#111;align-self:end;height:5px}.tplpic.grid2{grid-template-rows:7px 1fr 1fr 5px;grid-template-columns:1fr 1fr}.tplpic.grid2 i:first-child,.tplpic.grid2 b{grid-column:1/-1}.tplpic.list{grid-template-rows:7px 1fr 1fr 1fr 5px;grid-template-columns:1fr}.tplpic.grid3{grid-template-rows:7px 1fr 5px;grid-template-columns:1fr 1fr 1fr}.tplpic.grid3 i:first-child,.tplpic.grid3 b{grid-column:1/-1}.tplpic.row{grid-template-rows:7px 1fr 5px;grid-template-columns:repeat(3,1fr)}.tplpic.row i:first-child,.tplpic.row b{grid-column:1/-1}.stage.mapsel #plan-image{cursor:move}.stage>svg#scene{overflow:visible}.loadbar{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:280px;padding:8px 12px;font-size:13px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000001f}.loadbar.inline{box-shadow:none;max-width:420px;margin:8px 0;position:static;transform:none}.lb-row{justify-content:space-between;gap:12px;margin-bottom:6px;display:flex}.lb-track{background:#e3e8e5;border-radius:4px;height:7px;overflow:hidden}.lb-fill{background:var(--g);border-radius:4px;height:100%;transition:width .25s}.lb-fill.busy{animation:1.2s ease-in-out infinite lbpulse}@keyframes lbpulse{0%,to{opacity:.45}50%{opacity:1}}.compose-side .toprow{gap:4px;padding-right:30px}.compose-side .expwrap{position:relative}.compose-side .exp-btn{white-space:nowrap;padding:5px 10px}.compose-side .expmenu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:4px;min-width:230px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000029}.compose-side .expmenu button{text-align:left;white-space:nowrap;padding:6px 10px}.compose-side .expmenu .row{align-items:center;gap:6px}.compose-side .expmenu label{white-space:nowrap;align-items:center;gap:4px;display:flex}.compose-side .lk-h{color:var(--mut);margin:10px 0 2px;font-size:12px}.compose-side .lookgrid{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.compose-side .lookgrid label{flex-direction:column;gap:2px;min-width:0;font-size:12px;display:flex}.compose-side .lookgrid select,.compose-side .lookgrid input[type=range]{width:100%;min-width:0;padding:3px 4px}.compose-side .lookgrid .row{align-items:center;gap:4px}.compose-side .chips.tight{gap:4px}.compose-side .chips.tight .chip{padding:2px 8px;font-size:12px}.compose-side .looktab{flex-direction:column;gap:8px;display:flex}.compose-side .fmtnow{border:1px solid var(--line);background:var(--sf,#f7f7f5);border-radius:8px;align-items:baseline;gap:6px;padding:6px 8px}.compose-side .rulerow{flex-wrap:wrap;align-items:center;gap:4px}.compose-side .rulerow select{max-width:110px;padding:3px 4px}.compose-side .rulerow input[type=color]{width:28px;height:24px;padding:0}.compose-side .swatches{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.compose-side .swatches label{color:var(--mut);align-items:center;gap:3px;font-size:11px;display:flex}.compose-side .swatches input[type=color]{border:1px solid var(--line);border-radius:4px;width:26px;height:22px;padding:0}.compose-side .swatches .bw input{width:70px}.compose-side .pcols td.pname{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.compose-side .pcols .pen{opacity:.55;padding:0 4px;font-size:12px}.compose-side .pcols .pen:hover{opacity:1}.compose-side .pcols input.rename{width:110px;padding:2px 4px}.compose-side .pcols b{cursor:text}.compose-side .p2tpls.mini{gap:6px;display:flex}.compose-side .p2tpls.mini .p2tpl{padding:4px}.compose-side .p2tpls.mini .tplpic{width:34px;height:24px}.editor{position:relative}.fmtpick{z-index:8;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:150px;left:348px;box-shadow:0 8px 24px #00000024}.fmtpick .fmt{text-align:left;background:0 0;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;display:flex}.fmtpick .fmt:hover{background:var(--sf,#f4f4f2)}.fmtpick .fmt.on{border-color:var(--g,#1f4d3a);background:#1f4d3a12;font-weight:600}.fmtpick .fmtpic{flex:none;width:64px;height:46px}.chartload{height:100%;position:relative}@media (width<=900px){.fmtpick{box-shadow:none;flex-flow:wrap;position:static}}.sheetguide{max-width:640px;max-height:90vh;overflow:auto}.sheetguide .sgsteps{flex-direction:column;gap:10px;margin:8px 0;padding-left:22px;display:flex}.sheetguide .sgsteps p{color:var(--mut);margin:2px 0 6px;font-size:13px;line-height:1.5}.sheetguide .sgnow{background:#1f4d3a14;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.projhead button.linked,.boardhead button.linked{border-color:var(--g,#1f4d3a);color:var(--g,#1f4d3a)}.compose-side .srcs{flex-direction:column;gap:4px;display:flex}.compose-side .srcrow{align-items:center;gap:6px;font-size:12px}.compose-side .srcrow .ellip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compose-side .srcrow input{width:52px}.compose-side .boardcontent{align-self:flex-start}.bk-page{color:#111;box-sizing:border-box;break-after:page;page-break-after:always;background:#fff;flex-direction:column;gap:3mm;padding:8mm 9mm;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:9pt;display:flex;overflow:hidden}.bk-page.landscape{width:420mm;height:297mm}.bk-page.portrait{width:297mm;height:420mm}.bk-head{align-items:flex-start;gap:4mm;display:flex}.bk-title{flex-direction:column;gap:1mm;min-width:58mm;display:flex}.bk-title>b{font-size:17pt;line-height:1.2}.bk-notice{color:#e00000;font-size:8.5pt}.bk-key{flex-direction:column;margin-top:1mm;font-size:8pt;display:flex}.bk-key i{font-style:normal}.bk-t{border-collapse:collapse;font-size:7.5pt}.bk-t th,.bk-t td{white-space:nowrap;border:.3mm solid #333;padding:.4mm 1.5mm}.bk-t thead th{color:#fff;background:#111;font-weight:600}.bk-t tbody th{text-align:right;background:#f2f2f2;font-weight:600}.bk-banner{text-align:center;background:#ff0;border:.5mm solid #333;flex-direction:column;align-items:center;gap:1mm;padding:2mm 4mm;display:flex}.bk-banner b{font-size:13pt}.bk-banner span{font-size:8.5pt}.bk-terms{border:.3mm solid #333;flex:0 0 74mm;margin-left:auto;padding:1.5mm 2mm;font-size:7.5pt}.bk-terms>b{color:#fff;background:#1f3864;margin:-1.5mm -2mm 1mm;padding:1mm 2mm;display:block}.bk-offers{flex-direction:column;margin-top:1mm;display:flex}.bk-cap{color:#fff;text-align:left;background:#1f3864;padding:1mm 2mm;font-size:10pt;font-weight:700}.bk-legend{float:right;gap:3mm;font-size:7.5pt;font-weight:400;display:flex}.bk-legend i{font-style:normal}.bk-legend b{vertical-align:-.4mm;border:.2mm solid #fff;width:3mm;height:3mm;margin-right:1mm;display:inline-block}.bk-grid{border-collapse:collapse;table-layout:fixed;width:100%}.bk-grid th,.bk-grid td{height:var(--rowmm);vertical-align:middle;border:.3mm solid #222;padding:.3mm .8mm;position:relative;overflow:hidden}.bk-grid tbody th{background:#f2f2f2;width:9mm;font-size:2.8mm}.bk-grid td div{white-space:nowrap;font-size:2.35mm;line-height:1.15}.bk-grid td div.sm{font-size:1.95mm}.bk-spec td{text-align:center;line-height:1.1}.bk-spec td div{white-space:normal;font-size:2.1mm}.bk-spec td b{font-size:2.8mm}.bk-corner{color:#555;font-size:1.7mm;position:absolute;top:.1mm;left:.6mm}.bk-star{font-size:3mm;font-weight:700;position:absolute;top:0;right:.8mm}.bk-floor td.sold{color:#fff}.bk-floor td.tender{color:#1f3864}.bk-floor td.tap{cursor:pointer}.bk-floor td.tap:hover{outline-offset:-.7mm;outline:.7mm solid #2563eb}.bk-list{border-collapse:collapse;width:100%;font-size:8.5pt}.bk-list th,.bk-list td{text-align:center;border:.3mm solid #333;padding:.6mm 1.5mm}.bk-list td.num{text-align:right}.bk-list thead th{background:#f2f2f2}.bk-group td{text-align:center;font-weight:700}.bk-foot{color:#555;margin-top:auto;font-size:7pt}.bk-left{box-sizing:border-box;color:#111;font-variant-numeric:tabular-nums;background:#fff;flex-direction:column;gap:22px;width:1080px;padding:36px 40px;font-family:Noto Sans TC,PingFang TC,sans-serif;display:flex}.bk-left header{border-bottom:4px solid var(--brand,#1f4d3a);align-items:center;gap:20px;padding-bottom:16px;display:flex}.bk-left header img{object-fit:contain;max-width:220px;max-height:72px}.bk-left header div{flex-direction:column;gap:4px;display:flex}.bk-left header b{color:var(--brand,#1f4d3a);font-size:44px;line-height:1.15}.bk-left header span{font-size:26px}.bk-left header small{color:#555;font-size:20px}.bk-room h3{border:2px solid #333;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px;padding:8px 14px;font-size:30px;display:flex}.bk-room h3 span{font-size:24px;font-weight:600}.bk-chips{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.bk-chips div{border:2px solid #333;flex-direction:column;padding:6px 10px;line-height:1.25;display:flex}.bk-chips b{font-size:24px}.bk-chips span{font-size:26px;font-weight:700}.bk-chips small{color:#444;font-size:18px}.bk-more{color:#444;margin:8px 0 0;font-size:22px}.bk-left .bk-foot{margin-top:6px;font-size:16px}.book{grid-template-columns:300px 1fr;height:100%;min-height:0;display:grid}.book>aside{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:12px;display:flex;overflow:auto}.book>aside label{flex-direction:column;gap:2px;font-size:12px;display:flex}.book>aside label.row{flex-direction:row;align-items:center;gap:6px}.book>aside label.row input:not([type=checkbox]){flex:1;min-width:0}.book>aside .chips{gap:4px}.book>aside h4{color:var(--mut);margin:8px 0 2px;font-size:12px}.book .bk-main{flex-direction:column;min-width:0;min-height:0;display:flex}.book .bk-bar{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.book .bk-sheets{background:#dfe4e1;flex:1;padding:14px;overflow:auto}.book .bk-sheets .bk-page{margin:0 auto 14px;box-shadow:0 2px 10px #0000002e}.book .tapmenu{z-index:60;background:#fff;border-radius:12px;flex-direction:column;gap:8px;width:360px;padding:14px 16px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #00000040}.book .tapmenu .seg button.on{background:var(--g,#1f4d3a);color:#fff}.book .tapmenu label{flex-direction:column;gap:2px;font-size:12px;display:flex}.book .tapmenu .grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.book .tapmenu input{min-width:0}@media print{.book>aside,.book .bk-bar{display:none}}.book .bk-recent{flex-direction:column;gap:2px;margin:4px 0;padding-left:16px;font-size:12px;display:flex}.dsunits td.srcs{white-space:nowrap}.dsunits td.srcs .pill{margin-right:3px;font-size:11px}.projhead .srpe{align-items:center;gap:6px;min-width:0;margin-top:4px}.projhead .srpe .ellip{max-width:520px}.pill.srpe{color:#1f4d8a;background:#e6f0fb;font-weight:600}.modal.salesdoc{flex-direction:column;gap:8px;width:min(1180px,96vw);max-width:none;height:92vh;max-height:92vh;padding:14px 18px;display:flex}.salesdoc .sd-head{align-items:center;gap:10px;display:flex}.salesdoc .sd-head h3{white-space:nowrap;margin:0;font-size:17px}.salesdoc .sd-head .fname{color:var(--mut);min-width:0;font-size:13px}.salesdoc .sd-facts{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;display:flex}.salesdoc .sd-facts .ok{color:#145a32}.salesdoc .chip.static{cursor:default}.salesdoc .sd-todo{background:#fffaeb;border:1px solid #f0d58a;border-radius:10px;gap:6px;padding:8px 12px;display:grid}.salesdoc .sd-todo h4{color:#8a5a00;margin:0;font-size:13px}.salesdoc .sd-issue{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.salesdoc .sd-issue .txt{flex:300px}.salesdoc .sd-fine{color:#145a32;margin:0;font-size:13px}.salesdoc .sd-notes{color:var(--mut);margin:0;padding-left:1.1em;font-size:12.5px}.salesdoc .sd-split{flex:1;grid-template-columns:minmax(0,1fr) minmax(300px,40%);gap:12px;min-height:0;display:grid}.salesdoc .sd-left{flex-direction:column;gap:6px;min-height:0;display:flex}.salesdoc .sd-rows{border:1px solid var(--line);border-radius:8px;flex:1;min-height:0;overflow:auto}.salesdoc .sd-t{border-collapse:collapse;width:100%;font-size:13px}.salesdoc .sd-t th{z-index:1;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);background:#f3f6f4;padding:6px 8px;font-weight:600;position:sticky;top:0}.salesdoc .sd-t td{vertical-align:top;border-bottom:1px solid #eef1ee;padding:5px 8px}.salesdoc .sd-t .num{text-align:right}.salesdoc .sd-t td.plan{color:var(--mut);max-width:220px;font-size:12px}.salesdoc .sd-t tbody tr{cursor:pointer}.salesdoc .sd-t tbody tr:hover td{background:#f6f9f7}.salesdoc .sd-t tr.cur td{background:#fff3c4}.salesdoc .sd-page{border:1px solid var(--line);border-radius:8px;min-height:0;overflow:auto}.salesdoc .sd-page img{width:100%;display:block}.salesdoc .sd-page small{padding:4px 8px;display:block}.salesdoc .sd-t .pill{white-space:nowrap}.salesdoc .sd-page a{cursor:zoom-in;display:block}.pill.sd-list{color:#145a32;background:#d3ecdc}.pill.sd-book{color:#4b2e83;background:#e8e1f5}.pill.sd-none{color:#8a1c1c;background:#fde2e2}.salesdoc .sd-split.one{grid-template-columns:minmax(0,760px);justify-content:center}@media (width<=860px){.salesdoc .sd-split{grid-template-columns:1fr}.salesdoc .sd-page{max-height:50vh}}.book label.row.ai input{background:#fff7d6}.bk-logo{object-fit:contain;align-self:flex-start;max-width:52mm;max-height:14mm;margin-bottom:1mm}.bk-head .bk-title>b{color:var(--brand,inherit)}[data-role=sales] .admin-only{display:none!important}.settings .wa-panel h2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wa-panel .pill{background:var(--line);color:#3c4741;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;display:inline-block}.wa-panel .pill.review{color:#8a5a00;background:#fdecc8}.wa-panel .pill.approved{color:#145a32;background:#d3ecdc}.wa-panel .pill.sd-none{color:#8a1c1c;background:#fde2e2}.wa-panel button.danger{color:var(--red)}.wa-link{grid-template-columns:240px 1fr;align-items:start;gap:16px;margin-top:8px;display:grid}.wa-link.code{display:block}.wa-qr{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:6px;width:240px;height:240px;padding:8px}.wa-code{letter-spacing:.08em;font-size:28px}.wa-linked .chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.wa-linked .chips button{font-size:12px}.fmtgrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.fmtgrid .fmt{border:1px solid var(--line);background:#fff;border-radius:6px;justify-items:center;gap:6px;padding:8px 4px;font-size:12px;display:grid}.fmtgrid .fmt.on{border:2px solid var(--g);padding:7px 3px;font-weight:700}.fmtgrid .fmtpic{width:64px;height:46px}.settings button:focus-visible,.settings input:focus-visible,.settings select:focus-visible,.settings textarea:focus-visible{outline:2px solid var(--g);outline-offset:2px}@media (width<=700px){.wa-link{grid-template-columns:1fr}.wa-qr{justify-self:center}.fmtgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings button,.settings select,.settings input{min-height:44px}}.progress{gap:4px;min-width:220px;max-width:560px;display:grid}.progress.compact{gap:2px;min-width:150px}.progress .pbar{background:var(--g2);border-radius:8px;height:8px;overflow:hidden}.progress .pbar i{background:var(--g);border-radius:8px;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.progress .pbar i{transition:width .4s}}.psteps{color:var(--mut);flex-wrap:wrap;gap:2px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.psteps li.done{color:var(--ink)}.psteps li.now{color:var(--g);font-weight:700}.progress small{font-size:12px}button+.progress{margin-top:8px}.projhead .phead{align-items:flex-start;gap:8px;display:flex}.projhead .ptitle{min-width:0}.projhead .ptitle h2{margin:0;font-size:22px;line-height:1.25}.projhead .ptitle .dev{color:var(--mut);font-size:13px}.projhead .pactions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.projhead button.danger{color:#a61b1b}.sheetpanel{border:1px solid var(--line);background:#f7faf8;border-radius:10px;gap:8px;margin-top:8px;padding:8px 10px}.sheetpanel .btn{text-decoration:none}.chips2row{gap:8px;margin-top:8px}.chip2{border:1px solid var(--line);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:999px;max-width:100%;padding:4px 12px;font-size:13px;overflow:hidden}.chip2.on{background:#eef5f0;border-color:#9cc7ad}.chipdetail{border:1px solid var(--line);background:#f7faf8;border-radius:10px;gap:4px;margin-top:6px;padding:8px 10px;line-height:1.5;display:grid}.frow .fwho{flex-direction:column;flex:0 auto;min-width:0;display:flex}.frow .fwho .fname{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.frow .fsub{color:var(--mut);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.pill.tiny{padding:1px 6px;font-size:11px}.frow .mini2,.frow a.btn.mini2{white-space:nowrap}.projrow .pmain{flex-direction:column;min-width:0;display:flex}.projrow .pn,.projrow .dev{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.projrow .pstat{color:var(--mut);font-size:12px}.projrow .pstat .warn{color:#a15c00;font-weight:600}.panel.board{position:relative}.panel.board.dragging{outline-offset:-6px;outline:3px dashed #2f7d4f}.dropmask{z-index:20;color:#1f5a37;border-radius:inherit;pointer-events:none;background:#eef5f0e0;place-items:start center;padding-top:72px;font-size:18px;font-weight:600;display:grid;position:absolute;inset:0}.st-make .stephead{align-items:center;gap:8px}.projhead .pedit{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:8px;padding-top:8px;display:flex}.projhead .pedit label{color:var(--mut);gap:3px;font-size:12.5px;display:grid}.projhead .pedit label.grow{flex:260px}.projhead .pedit button.danger{flex:none}.help{grid-template-columns:220px 1fr;height:100%;min-height:0;display:grid}.help-side{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:12px;display:flex;overflow:auto}.help-side nav{flex:none;align-content:start;gap:2px;display:grid}.help-side nav button span,.help-side nav button.on span{width:auto;height:auto;color:inherit;background:0 0;font-size:14px}.help-side nav button{text-align:left;color:var(--ink);background:0 0;border:0;border-radius:8px;gap:8px;padding:7px 10px;display:flex}.help-side nav button.on{background:var(--g2);color:var(--g);font-weight:700}.help-main{max-width:920px;padding:20px 32px 48px;line-height:1.6;overflow:auto}.help-main h1{margin:0 0 12px;font-size:20px}.help-main h2{color:var(--g);margin:22px 0 8px;font-size:16px}.help-main h3{margin:16px 0 6px;font-size:14px}.help-main table{border-collapse:collapse;background:#fff;width:100%;margin:8px 0 12px;font-size:13px}.help-main th,.help-main td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px}.help-main th{background:var(--g2)}.help-main pre{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;font-size:12px;line-height:1.35;overflow:auto}.help-main code{background:var(--g2);border-radius:4px;padding:0 4px;font-size:12px}.help-main pre code{background:0 0}.help-main blockquote{background:#fdf6e3;border-left:3px solid #8a5a00;margin:10px 0;padding:8px 12px}.help-main mark{background:#fdecc8}.api-filter{width:100%;margin:8px 0 2px}.api-group h2{text-transform:uppercase;letter-spacing:.04em;font-size:13px}.api-op{border:1px solid var(--line);background:#fff;border-radius:8px;margin:6px 0;overflow:hidden}.api-row{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;width:100%;padding:6px 10px;display:flex}.api-row code{background:0 0;font-size:13px;font-weight:600}.api-row .muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.api-m{text-align:center;color:#fff;border-radius:4px;min-width:58px;padding:2px 0;font-size:11px}.api-op.get .api-m{background:#2f8f5b}.api-op.post .api-m{background:var(--blue)}.api-op.put .api-m,.api-op.patch .api-m{background:#c27c0e}.api-op.delete .api-m{background:var(--red)}.api-op.get{border-color:#bfe0cc}.api-op.post{border-color:#c7d7fb}.api-op.delete{border-color:#f3c2c2}.api-body{border-top:1px solid var(--line);padding:8px 12px;font-size:13px}.api-body h4{margin:10px 0 4px;font-size:12px}
