:root{--primary:#33408f;--on-primary:#fff;--primary-c:#dee0ff;--on-primary-c:#00105c;--secondary-c:#e1e1f9;--on-secondary-c:#191a2c;--surface:#fbf8ff;--surface-1:#f4f2fb;--surface-2:#eeecf6;--surface-3:#e8e6f0;--on-surface:#1b1b21;--on-surface-v:#46464f;--outline:#777680;--outline-v:#c7c5d0;--ok:#1e6b3a;--ok-c:#dcefe2;--warn:#7a4e00;--warn-c:#fbebcc;--bad:#9b1c1c;--bad-c:#f8e0e0;--info:#1f4e79;--info-c:#dceaf7;--muted:#5a6472;--muted-c:#e6e8ec;--desk:#e7e1d3;--sans:Roboto,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;--mono:Consolas,"Lucida Console",monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--surface);color:var(--on-surface);font:14px/1.45 var(--sans)}button,input,select,textarea{font:inherit;color:inherit}#app{flex-direction:column;height:100%;min-height:0;display:flex}[hidden]{display:none!important}.m-h2{margin:12px 0 4px;font-size:22px;font-weight:400}.m-h3{margin:18px 0 8px;font-size:16px;font-weight:500}.m-sub{color:var(--on-surface-v);margin:0 0 12px}.m-card{background:var(--surface-1);border-radius:12px;margin:0 0 12px;padding:16px}.m-card.outlined{background:var(--surface);border:1px solid var(--outline-v)}.m-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.m-grow{flex:1;min-width:0}.m-btn{cursor:pointer;letter-spacing:.1px;white-space:nowrap;border:0;border-radius:20px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 24px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.m-btn.sm{border-radius:16px;height:32px;padding:0 14px;font-size:13px}.m-btn.filled{background:var(--primary);color:var(--on-primary)}.m-btn.tonal{background:var(--secondary-c);color:var(--on-secondary-c)}.m-btn.outlined{color:var(--primary);border:1px solid var(--outline);background:0 0}.m-btn.text{color:var(--primary);background:0 0;padding:0 12px}.m-btn.danger{background:var(--bad);color:#fff}.m-btn.danger-o{color:var(--bad);border:1px solid var(--bad);background:0 0}.m-btn:disabled{cursor:not-allowed;color:#1b1b2161!important;background:#1b1b211f!important;border-color:#0000!important}.m-btn:focus-visible,.m-iconbtn:focus-visible,.m-tabsbar button:focus-visible{outline-offset:2px;outline:3px solid #9aa2ff}.m-iconbtn{cursor:pointer;width:40px;height:40px;color:var(--on-surface-v);background:0 0;border:0;border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.m-iconbtn:hover:not(:disabled){background:#1b1b2114}.m-iconbtn:disabled{opacity:.35;cursor:not-allowed}.m-field{flex-direction:column;gap:4px;margin:0 0 14px;display:flex}.m-field label{color:var(--on-surface-v);font-size:12px;font-weight:500}.m-field input,.m-field select,.m-field textarea{border:1px solid var(--outline);background:var(--surface);border-radius:4px;width:100%;min-width:0;height:48px;padding:0 14px;font-size:15px}.m-field textarea{height:auto;min-height:72px;padding:10px 14px}.m-field .help{color:var(--on-surface-v);font-size:12px}.m-field .err{color:var(--bad);min-height:0;font-size:12px}.m-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:13.5px}.m-table th{text-align:left;color:var(--on-surface-v);background:var(--surface-2);border-bottom:1px solid var(--outline-v);white-space:nowrap;padding:10px 12px;font-weight:500}.m-table td{border-bottom:1px solid var(--outline-v);vertical-align:middle;padding:10px 12px}.m-table tr:last-child td{border-bottom:0}.m-table .c{text-align:center}.m-tablewrap{border:1px solid var(--outline-v);border-radius:12px;overflow:auto}.chip{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.chip.ok{background:var(--ok-c);color:var(--ok)}.chip.warn{background:var(--warn-c);color:var(--warn)}.chip.bad{background:var(--bad-c);color:var(--bad)}.chip.info{background:var(--info-c);color:var(--info)}.chip.muted{background:var(--muted-c);color:var(--muted)}.chip.outline{border-color:var(--outline);color:var(--on-surface-v);background:0 0}.chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.chip.nodot:before{display:none}.m-avatar{background:var(--primary-c);width:36px;height:36px;color:var(--on-primary-c);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.m-banner{border-radius:12px;align-items:flex-start;gap:12px;margin:0 0 12px;padding:12px 16px;font-size:13.5px;display:flex}.m-banner.info{background:var(--info-c);color:#0f2a44}.m-banner.warn{background:var(--warn-c);color:#4a2f00}.m-banner.bad{background:var(--bad-c);color:#5c0f0f}.m-banner.ok{background:var(--ok-c);color:#0f3d21}.m-tabsbar{border-bottom:1px solid var(--outline-v);margin:0;display:flex;overflow-x:auto}.m-tabsbar button{color:var(--on-surface-v);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:12px 16px;font-weight:500}.m-tabsbar button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.m-kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13.5px;display:grid}.m-kv dt{color:var(--on-surface-v)}.m-kv dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.m-scrim{z-index:2000;background:#0000006b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.m-dialog{background:var(--surface-3);border-radius:28px;width:min(560px,100%);max-height:calc(100% - 16px);padding:24px;overflow:auto;box-shadow:0 8px 24px #0000004d}.m-dialog h2{margin:0 0 12px;font-size:22px;font-weight:400}.m-dialog .acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.m-snack{color:#f2eff7;z-index:2100;background:#303036;border-radius:8px;width:max-content;max-width:calc(100% - 32px);padding:12px 16px;font-size:14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.mono{font-family:var(--mono)}.muted{color:var(--on-surface-v)}.small{font-size:12px}.tpi,.pdf{height:16px;font:700 10px/1 var(--sans);letter-spacing:.4px;vertical-align:middle;white-space:nowrap;border-radius:4px;flex:none;align-items:center;margin-left:6px;padding:0 5px;display:inline-flex}.tpi{color:#fff;background:#6a1b9a}.pdf{color:#384050;background:#e3e5ea;font-weight:600}.fd-top{background:var(--surface);border-bottom:1px solid var(--outline-v);flex:none;align-items:center;gap:12px;height:54px;padding:0 16px;display:flex}.fd-logo{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.fd-logo .sq{background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.fd-logo small{color:var(--on-surface-v);font-size:12px;font-weight:400;display:block}.fd-top .who{color:var(--on-surface-v);text-align:right;align-items:center;gap:8px;margin-left:auto;font-size:13px;line-height:1.25;display:flex}.fd-tool{background:var(--surface-1);border-bottom:1px solid var(--outline-v);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:6px 12px;display:flex}.fd-tool .name{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:360px;font-size:15px;font-weight:600;overflow:hidden}.fd-tool{flex-wrap:wrap;row-gap:6px}.fd-caption{padding:4px 12px;font-size:12px}.fd-canvas button.ant-btn:has(>div[title=Signer\ box]){display:none}.fd-deco{pointer-events:none;z-index:2;position:absolute}.fd-deco-in{align-items:center;padding:0 .8mm;display:flex;inset:0;overflow:hidden}.fd-ph{color:#0b2a6f;white-space:nowrap;text-overflow:ellipsis;background:#fff5c2;border-radius:.8mm;max-width:100%;padding:0 .8mm;font:600 6pt/1.3 Roboto,Arial,sans-serif;display:inline-block;overflow:hidden}.fd-ph.sys{color:#33408f;background:#e7e9f7;font-style:italic;font-weight:400}.fd-ph.none{color:#9b1c1c;background:#f8e0e0;outline:1px dashed #9b1c1c}div.selectable.fd-prob{outline-offset:-1px;outline:2px dashed #9b1c1c!important}.fd-deco-prob{color:#fff;text-align:center;background:#9b1c1c;border-radius:50%;width:3.2mm;height:3.2mm;font:700 6pt/3.2mm Roboto,Arial,sans-serif;top:-1.6mm;left:-1.6mm}.fd-list-label{color:#5a6472;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:180px;margin-left:8px;font-size:12px;display:inline-block;overflow:hidden}.fd-list-prob{color:#fff;text-align:center;vertical-align:middle;background:#9b1c1c;border-radius:50%;width:16px;height:16px;margin-left:6px;font:700 11px/16px Roboto,Arial,sans-serif;display:inline-block}.fd-deco-new{color:#fff;background:#1e6b3a;border-radius:1mm;padding:0 1mm;font:700 5.5pt/2.2mm Roboto,Arial,sans-serif;top:-2.6mm;right:.4mm}.fd-tool .sep{background:var(--outline-v);width:1px;height:28px;margin:0 4px}.fd-tool .grow{flex:1}.fd-tool .m-iconbtn{width:34px;height:34px}.fd-tool .dirty{color:var(--warn);font-size:12px;font-weight:600}.fd-badge{color:#fff;background:#b3261e;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.fd-badge.ok{background:var(--ok)}.fd-badge.none{background:var(--muted)}.fd-editor,.fd-layout{flex-direction:column;flex:1;min-height:0;display:flex}.fd-nav{background:var(--surface);flex:none;align-items:center;padding:0 12px;display:flex;overflow:hidden}.fd-nav .legend{text-overflow:ellipsis;min-width:0;color:var(--on-surface-v);white-space:nowrap;flex:0 auto;margin-left:auto;padding-left:12px;font-size:12px;overflow:hidden}.fd-tool{overflow-x:auto}.fd-banner{flex:none;align-items:center;margin:8px 12px 0}.fd-banner .m-grow{min-width:0}.fd-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.fd-page{flex:1;min-width:0;padding:14px 24px 32px;overflow:auto}.fd-strip[hidden]{display:none}.fd-strip{background:#fcf8fd;border-bottom:1px solid #c9a6d8;flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.fd-strip select,.in-sm{border:1px solid var(--outline);background:var(--surface);border-radius:4px;min-width:0;height:32px;padding:0 8px;font-size:13.5px}.in-sm:disabled{background:var(--surface-2);color:var(--on-surface-v)}textarea.in-sm{resize:vertical;height:auto;min-height:32px;padding:5px 8px}.fd-canvas{background:var(--desk);flex:1;min-height:0;position:relative}.fd-layoutrow{flex:1;min-height:0;display:flex}.fd-layoutrow .fd-canvas{flex:1;min-width:0;overflow:hidden}.fd-tpi{background:#fcf8fd;border-left:1px solid #c9a6d8;flex:0 0 300px;padding:10px 12px;font-size:13.5px;overflow:auto}.fd-tpi .fd-hd{align-items:center;gap:6px;margin:10px 0 6px;font-size:13px;font-weight:600;display:flex}.fd-tpi .fd-hd:first-child{margin-top:0}.fd-tpi .fd-ours{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.fd-tpi .fd-oursrow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fd-tpi .fd-oursrow select{max-width:150px;height:32px}.fd-tpi .fd-help{margin:8px 0 4px}.fd-tpi .fd-boxname{color:var(--on-surface-v);margin:0 0 8px;font-size:12.5px}.fd-tpi .fd-f{flex-direction:column;gap:3px;margin:0 0 9px;display:flex}.fd-tpi .fd-f label{color:var(--on-surface-v);font-size:12.5px;font-weight:500}.fd-tpi .fd-f input,.fd-tpi .fd-f select,.fd-tpi .fd-f textarea{border:1px solid var(--outline);font:inherit;background:var(--surface);border-radius:4px;padding:5px 8px}.fd-tpi .fd-f .help{color:var(--on-surface-v);font-size:12px}.fd-tpi .fd-check{align-items:center;gap:6px;margin:0 0 9px;display:flex}.fd-sec{border:1px solid var(--outline-v);background:var(--surface);border-radius:12px;margin-bottom:12px;padding:10px 12px}.fd-sec.ours{background:#fcf8fd;border-color:#c9a6d8}.fd-probs{margin:0;padding:0;list-style:none}.fd-probs li{align-items:flex-start;gap:8px;padding:5px 0;font-size:13.5px;display:flex}.fd-probs .mk{flex:0 0 18px;font-weight:700}.fd-probs .ok{color:var(--ok)}.fd-probs .bad{color:var(--bad)}.fd-cols td,.fd-cols th{vertical-align:top;padding:6px 8px}.fd-cols td .help{color:var(--on-surface-v);white-space:normal;margin-top:2px;font-size:11.5px;display:block}.fd-cols input[type=checkbox]{width:18px;height:18px}.fd-cols select.in-sm{max-width:230px}.st-row{flex-wrap:wrap;align-items:stretch;gap:6px;margin:4px 0 12px;display:flex}.st{border:1px solid var(--outline-v);background:var(--surface);border-radius:12px;min-width:170px;padding:8px 10px}.st h4{align-items:center;gap:4px;margin:0 0 4px;font-size:13px;display:flex}.st .rc{background:var(--primary-c);color:var(--on-primary-c);border-radius:8px;margin:4px 0;padding:4px 8px;font-size:13px;font-weight:600;display:block}.st .any{color:var(--warn);font-size:12px;font-weight:600}.st-arrow{color:var(--on-surface-v);align-self:center;font-size:18px}.ck{margin:0;padding:0;list-style:none}.ck>li{border-bottom:1px solid var(--outline-v);align-items:flex-start;gap:12px;padding:10px 4px;font-size:14px;display:flex}.ck>li:last-child{border-bottom:0}.ck .mk{color:#fff;background:var(--warn);border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;height:26px;font-weight:700;display:flex}.fd-seg{border:1px solid var(--outline);border-radius:17px;flex:none;display:inline-flex;overflow:hidden}.fd-seg button{cursor:pointer;border:0;border-right:1px solid var(--outline);background:0 0;padding:6px 12px;font-size:13px}.fd-seg button:last-child{border-right:0}.fd-seg button[aria-pressed=true]{background:var(--secondary-c);font-weight:700}.pv-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;display:flex}.pv-frame{border:1px solid var(--outline-v);background:var(--desk);border-radius:8px;width:100%;height:calc(100vh - 290px);min-height:420px}.fd-g4{grid-template-columns:repeat(4,minmax(0,140px));gap:8px;display:grid}.fd-g2{grid-template-columns:repeat(2,minmax(0,180px));gap:8px;display:grid}.fd-ex{font-family:var(--mono);font-size:15px;font-weight:700}.fd-empty{max-width:640px;margin:60px auto;padding:0 16px}.fd-ver td{vertical-align:top}.fd-ver tr.cur td{background:#eef0ff}.fd-ver tr.cur td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.fd-ver .note{color:#5c0f0f;background:var(--bad-c);white-space:pre-wrap;border-radius:8px;margin-top:4px;padding:4px 8px;font-size:12.5px}.fd-samples{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;max-width:1240px;display:grid}.fd-sample{flex-direction:column;margin:0;display:flex}.fd-sample ul{flex:1;margin:8px 0 12px;padding-left:18px}.fd-sample li{margin:2px 0}
