.sim{--s-ink:#16151d;--s-mute:#6a6878;--s-line:#e6e5ec;--s-soft:#f5f5f8;--s-panel:#ffffff;--s-accent:#4f46e5;--s-accent-soft:#eef0ff;--s-fail:#c22b2b;--s-warn:#b35b00;--s-pass:#137a3d;position:relative;display:flex;flex-direction:column;width:min(1520px,calc(100vw - 40px));margin-left:calc(50% - min(760px, calc(50vw - 20px)));height:clamp(640px,calc(100vh - 120px),940px);border:1px solid var(--s-line);border-radius:18px;background:var(--s-panel);color:var(--s-ink);font:14px/1.45 Manrope,system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 1px 2px #0000000a,0 8px 30px -12px #1b17402e;overflow:hidden}.sim button{font:inherit;color:inherit;cursor:pointer}.sim button:disabled{cursor:not-allowed;opacity:.4}.sim :focus-visible{outline:2px solid var(--s-accent);outline-offset:2px}.sim h2,.sim h3,.sim p{margin:0}.sim-head{gap:16px;min-height:64px;padding:0 16px 0 18px;border-bottom:1px solid var(--s-line)}.sim-head,.sim-title{display:flex;align-items:center}.sim-title{gap:12px;min-width:0;flex:1}.sim-logo{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--s-accent-soft);color:var(--s-accent)}.sim-title h2{font-size:16px;font-weight:750;letter-spacing:-.01em;white-space:nowrap}.sim-title p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--s-mute)}.sim-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1}.sim-status{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px solid var(--s-line);border-radius:999px;background:var(--s-panel);font-weight:700;font-size:13.5px;white-space:nowrap}.sim-status.is-fail{border-color:#f3c4c4;background:#fff4f4;color:var(--s-fail)}.sim-status.is-warn{border-color:#f4d6ad;background:#fff8ee;color:var(--s-warn)}.sim-status.is-pass{border-color:#bfe3cc;background:#f1faf4;color:var(--s-pass)}.sim-status.is-idle{color:var(--s-mute)}.sim-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px solid var(--s-line);border-radius:10px;background:var(--s-panel);font-weight:650;font-size:13.5px;white-space:nowrap}.sim-btn:hover:not(:disabled){background:var(--s-soft)}.sim-btn.is-primary{border-color:var(--s-accent);background:var(--s-accent);color:#fff}.sim-btn.is-primary:hover:not(:disabled){background:#4338ca}.sim-btn.is-lg{height:44px;padding:0 18px;font-size:14.5px;border-radius:12px}.sim-icon-btn{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--s-mute)}.sim-icon-btn:hover{background:var(--s-soft);color:var(--s-ink)}.sim-menu{position:relative}.sim-menu summary{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px 0 14px;border:1px solid var(--s-line);border-radius:10px;background:var(--s-panel);font-weight:650;font-size:13.5px;cursor:pointer;list-style:none;white-space:nowrap}.sim-menu summary::-webkit-details-marker{display:none}.sim-menu.is-primary summary{border-color:var(--s-accent);background:var(--s-accent);color:#fff}.sim-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;min-width:260px;padding:6px;border:1px solid var(--s-line);border-radius:12px;background:var(--s-panel);box-shadow:0 12px 32px -8px #1b17404d}.sim-menu-list button{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left}.sim-menu-list button:hover:not(:disabled){background:var(--s-soft)}.sim-menu-list button svg{margin-top:2px;color:var(--s-mute)}.sim-menu-list b{display:block;font-size:13.5px}.sim-menu-list small{display:block;font-size:12px;color:var(--s-mute)}.sim-seg{display:inline-flex;flex:none;padding:3px;border-radius:11px;background:var(--s-soft);border:1px solid var(--s-line)}.sim-seg button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--s-mute);font-weight:650;font-size:13px;white-space:nowrap}.sim-seg button.is-icon{width:34px;padding:0}.sim-seg button[aria-checked=true]{background:var(--s-panel);color:var(--s-ink);box-shadow:0 1px 2px #00000024,0 0 0 1px #0000000a}.sim-seg.is-sm button{height:26px;padding:0 10px;font-size:12.5px}.sim-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.sim.has-panel .sim-body{grid-template-columns:minmax(0,1fr) 360px}.sim-canvas{position:relative;flex-direction:column;min-width:0;background:#f1f2f6;background-image:radial-gradient(#d9dbe4 1px,transparent 0);background-size:18px 18px}.sim-canvas,.sim-stage{display:flex;min-height:0}.sim-stage{flex:1;align-items:center;justify-content:center;padding:56px 32px 104px;overflow:auto}.sim-caption{position:absolute;top:14px;left:16px;right:16px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.sim-caption>*{pointer-events:auto}.sim-dock{position:absolute;left:50%;bottom:20px;z-index:4;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px;border:1px solid var(--s-line);border-radius:16px;background:#ffffffee;backdrop-filter:blur(10px);box-shadow:0 10px 30px -10px #1b17404d;overflow-x:auto}.sim-dock-sep{flex:none;width:1px;height:26px;background:var(--s-line)}.sim-panel{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--s-line);background:var(--s-panel)}.sim-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 10px 18px}.sim-panel-head h3{font-size:14px;font-weight:750}.sim-panel-body{flex:1;overflow-y:auto;padding:0 18px 18px}.sim-empty-card{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:460px;padding:36px 32px;border:1.5px dashed #c9cbe0;border-radius:20px;background:#ffffffd9;text-align:center}.sim-empty-card.is-drag{border-color:var(--s-accent);background:var(--s-accent-soft)}.sim-empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--s-accent-soft);color:var(--s-accent)}.sim-empty-card h3{font-size:19px;font-weight:750;letter-spacing:-.01em}.sim-empty-card p{font-size:13.5px;color:var(--s-mute)}.sim-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.sim-empty-card small{font-size:12px;color:var(--s-mute)}@media (max-width:820px){.sim{width:auto;margin-left:-16px;margin-right:-16px;height:auto;border-radius:0;border-left:0;border-right:0;box-shadow:none;overflow:visible}.sim-head{flex-wrap:wrap;gap:10px;padding:12px 14px}.sim-head>.sim-seg{order:3;width:100%}.sim-head>.sim-seg button{flex:1}.sim-head-actions{flex:none}.sim-head-actions .sim-btn span,.sim-head-actions .sim-menu summary span{display:none}.sim.has-panel .sim-body{display:flex;flex-direction:column}.sim-canvas{overflow:visible}.sim-stage{padding:52px 12px 16px;min-height:52vh}.sim-dock{position:sticky;bottom:10px;left:auto;transform:none;align-self:center;margin:0 10px 12px;max-width:calc(100% - 20px)}.sim-panel{border-left:0;border-top:1px solid var(--s-line);scroll-margin-top:70px}.sim-panel-body{overflow:visible}.sim-menu-list{right:-8px;min-width:240px}.sim-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.sim-head>.sim-title{grid-column:1/-1}.sim-head>.sim-seg{grid-column:1/-1;order:0}.sim-head-actions{grid-column:1/-1;justify-content:space-between}.sim-head-actions .sim-status{margin-right:auto}.sim-title h2{white-space:normal}.sim.is-empty .sim-stage{min-height:60vh}.sim:not(.is-empty) .sim-stage{min-height:0;padding:56px 10px 12px}.sim-dock{flex-wrap:wrap;justify-content:center;row-gap:8px}.sim-dock>[role=radiogroup]:first-child{width:100%;justify-content:space-between}.sim-dock .sim-dock-sep:first-of-type{display:none}}.ab-stage{justify-content:center;gap:10px;width:100%;height:100%;padding:12px;box-sizing:border-box}.ab-stage,.ab-value{display:flex;flex-direction:column;align-items:center}.ab-value{margin:0;font-size:12px;color:var(--s-mute,#6b7280)}.ab-value b{font-size:30px;color:var(--s-ink,#111);font-variant-numeric:tabular-nums}.ab-svg{width:100%;max-width:760px;max-height:100%;height:auto;touch-action:manipulation;user-select:none}.ab-frame{fill:#7c4a1d;stroke:#4a2a0c;stroke-width:3}.ab-beam{fill:#4a2a0c}.ab-wire{fill:#e5e7eb;opacity:.85}.ab-dot{fill:#fde68a}.ab-focus{fill:transparent}.ab-rod{outline:none;cursor:pointer}.ab-rod:focus-visible .ab-focus{fill:rgba(253,230,138,.28);stroke:#fde68a;stroke-width:2}.ab-bead{cursor:pointer;transition:transform .16s ease}.ab-bead ellipse:first-child{fill:#d9a066;stroke:#5b3410;stroke-width:2}.ab-bead ellipse.is-on{fill:#f59e0b}.ab-shine{fill:rgba(255,255,255,.35);pointer-events:none}@media (prefers-reduced-motion:reduce){.ab-bead{transition:none}}.ab-panel{display:flex;flex-direction:column;gap:10px}.ab-hint{margin:0;font-size:12.5px;color:var(--s-mute,#6b7280)}.ab-row{display:flex;align-items:center;gap:10px;font-size:13px}.ab-row select{flex:1;min-width:0;height:36px;border-radius:8px;border:1px solid var(--s-line,#d1d5db);background:var(--s-panel,#fff);color:var(--s-ink,#111);padding:0 6px;font-size:14px}.ab-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.ab-field span{display:flex;gap:6px}.ab-field input{flex:1;min-width:0;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--s-line,#d1d5db);font-size:16px;background:var(--s-panel,#fff);color:var(--s-ink,#111)}.ab-sum{display:flex;align-items:baseline;gap:8px;font-size:28px;font-variant-numeric:tabular-nums}.ab-sum span{color:var(--s-mute,#6b7280)}.ab-actions{display:flex;flex-wrap:wrap;gap:6px}.ab-hintbox{padding:10px 12px;border-radius:10px;background:#fffbeb;color:#78350f;font-size:13.5px}.ab-hintbox p{margin:0}.ab-steps{margin:0;padding-left:20px;font-size:13px;display:flex;flex-direction:column;gap:2px}.ab-steps .is-done{color:var(--s-pass,#15803d)}.ab-result,.ab-steps .is-now{font-weight:600}.ab-result{margin:0}.ab-result.ok{color:var(--s-pass,#15803d)}.ab-result.no{color:var(--s-fail,#dc2626)}.isim .sim-stage{container-type:size}.isim .is-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--s-accent);font-weight:700;font-size:13.5px}.isim .is-link:hover{text-decoration:underline}.isim-wait{color:var(--s-mute);font-weight:600}.isim canvas{display:block;width:100%;height:auto;border-radius:10px;background:#fff}.isim canvas.is-pointable{cursor:crosshair}.isim-slider{position:relative;flex:none;width:min(100cqw,100cqh * var(--ratio));aspect-ratio:var(--ratio);border-radius:10px;overflow:hidden;box-shadow:0 1px 2px #00000014,0 18px 40px -18px #1b174055;touch-action:pan-y}.isim-layer,.isim-layer canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:0}.isim-over{clip-path:inset(0 0 0 var(--split))}.isim-slider:after{content:"";top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #1b174033,0 0 12px #0003}.isim-knob,.isim-slider:after{position:absolute;left:var(--split);pointer-events:none}.isim-knob{top:50%;z-index:2;display:grid;place-items:center;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:#fff;box-shadow:0 2px 10px #0004}.isim-tag{position:absolute;bottom:12px;z-index:2;padding:4px 10px;border-radius:999px;background:#16151dcc;color:#fff;font-size:12px;font-weight:700;pointer-events:none}.isim-tag.is-l{left:12px}.isim-tag.is-r{right:12px}.isim .isim-slider input.isim-handle{position:absolute!important;inset:0!important;z-index:3;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0!important;-webkit-appearance:none;appearance:none;background:transparent!important;cursor:ew-resize;touch-action:pan-y}.isim-single{width:min(100cqw,100cqh * var(--ratio))}.isim-side canvas,.isim-single canvas{box-shadow:0 1px 2px #00000014,0 18px 40px -18px #1b174055}.isim-side{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.isim-side figure{display:flex;flex-direction:column;gap:8px;margin:0;width:min(calc(50cqw - 8px),(100cqh - 30px) * var(--ratio))}.isim-side figcaption{font-size:13px;font-weight:700;text-align:center;color:var(--s-mute)}.isim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-self:flex-start;width:100%}.isim-tile{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--s-line);border-radius:14px;background:#fff;text-align:left}.isim-tile:hover{border-color:#c9c6dd}.isim-tile.is-active{border-color:var(--s-accent);box-shadow:0 0 0 3px #4f46e533}.isim-tile span{padding:0 4px 2px;font-size:13px;font-weight:700}.isim-tile-wait{display:block;width:100%;border-radius:8px;background:linear-gradient(90deg,#eceef3,#f7f8fb,#eceef3)}.isim-conds{display:flex;gap:4px}.isim-conds button{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;font-weight:650;font-size:13.5px;color:var(--s-mute);white-space:nowrap}.isim-conds button:hover{background:var(--s-soft);color:var(--s-ink)}.isim-conds button[aria-checked=true]{border-color:#d6d3ff;background:var(--s-accent-soft);color:var(--s-accent)}.isim-conds i{display:block;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px #0002}.isim-chip{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border:1px solid var(--s-line);border-radius:999px;background:#ffffffe8;backdrop-filter:blur(8px);font-size:12.5px;white-space:nowrap}.isim-chip span{color:var(--s-mute)}.isim-chip.is-hint{color:var(--s-accent);font-weight:650}.isim-panel{gap:14px;min-height:100%}.isim-panel,.isim-settings{display:flex;flex-direction:column}.isim-settings{gap:12px;padding:12px;border:1px solid var(--s-line);border-radius:12px;background:var(--s-soft)}.isim-setting{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:650;color:var(--s-mute)}.isim-setting>span{display:flex;justify-content:space-between}.isim-setting b{color:var(--s-ink)}.isim-setting small{font-weight:500}.isim-about{font-size:13.5px;color:#3c3a4a}.isim-checks{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.isim-checks li{display:flex;gap:10px;padding:12px 14px;border:1px solid var(--s-line);border-radius:12px;background:#fff}.isim-checks li svg{flex:none;margin-top:1px}.isim-checks li.is-fail svg{color:var(--s-fail)}.isim-checks li.is-warn svg{color:var(--s-warn)}.isim-checks li.is-pass svg{color:var(--s-pass)}.isim-checks li.is-info svg{color:var(--s-accent)}.isim-checks b{display:block;font-size:14px}.isim-checks p{margin:2px 0 0;font-size:12.5px;color:var(--s-mute)}.isim-tip{display:flex;gap:10px;padding:12px 14px;border-radius:12px;background:#fffbea;color:#6b4e00;font-size:13px}.isim-tip svg{flex:none;margin-top:2px}.isim-tip ul{margin:0;padding-left:16px}.isim-method,.isim-muted{color:var(--s-mute)}.isim-method{margin-top:auto!important;padding-top:6px;font-size:11.5px}@media (max-width:820px){.isim .sim-stage{container-type:inline-size}.isim-single,.isim-slider{width:100%}.isim-side{flex-direction:column}.isim-side figure{width:100%}.isim-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.isim-conds{width:100%;overflow-x:auto}.isim-chip.is-hint{display:none}.isim-tag{bottom:6px;padding:2px 8px;font-size:10.5px}.isim-tag.is-l{left:6px}.isim-tag.is-r{right:6px}}.kit-sim .sim-stage{align-items:flex-start;justify-content:stretch;padding:20px 24px 104px}.kit-card{padding:14px 16px;border:1px solid var(--s-line);border-radius:16px;background:#fff}.kit-form{display:flex;flex-direction:column;gap:14px}.kit-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;border:0;min-width:0}.kit-group legend{grid-column:1/-1;padding:0 0 2px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--s-mute)}.kit-field{display:flex;flex-direction:column;gap:6px;min-width:0}.kit-field.is-rows,.kit-field.is-select,.kit-field.is-textarea,.kit-field.is-toggle{grid-column:1/-1}.kit-field>label{font-size:12.5px;font-weight:700;color:#3c3a4a}.kit-field small{font-size:11.5px;color:var(--s-mute)}.kit-field input[type=date],.kit-field input[type=text],.kit-field select,.kit-field textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--s-line);border-radius:10px;background:#fff;font:600 14.5px/1.3 system-ui,sans-serif;color:var(--s-ink)}.kit-field textarea{font-weight:500;resize:vertical}.kit-field input:focus,.kit-field select:focus,.kit-field textarea:focus{outline:2px solid var(--s-accent);outline-offset:1px}.kit-num{display:flex;align-items:center;border:1px solid var(--s-line);border-radius:10px;background:#fff;overflow:hidden}.kit-num:focus-within{outline:2px solid var(--s-accent);outline-offset:1px}.kit-num input{flex:1;min-width:0;min-height:40px;padding:8px 11px;border:0!important;outline:none!important;background:transparent;font:700 15px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--s-ink)}.kit-affix{padding:0 10px;font-weight:700;color:var(--s-mute);background:var(--s-soft);align-self:stretch;display:grid;place-items:center}.kit-rows{display:flex;flex-direction:column;gap:8px;overflow-x:auto}.kit-rows table{width:100%;border-collapse:collapse;font-size:12.5px}.kit-rows th{padding:0 4px 4px;text-align:left;font-weight:700;color:var(--s-mute)}.kit-rows td{padding:2px 4px}.kit-rows td:last-child{width:32px}.kit-rows input{width:100%;min-width:64px;min-height:34px;padding:6px 8px;border:1px solid var(--s-line);border-radius:8px;font:600 13.5px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}.kit-addrow{align-self:flex-start;height:32px!important;font-size:12.5px!important}.kit-add{margin-top:12px;width:100%;justify-content:center}.kit-calc{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;width:100%;align-items:start}.kit-results{display:flex;flex-direction:column;gap:12px;min-width:0}.kit-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.kit-stat{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--s-line);border-radius:14px;background:#fff}.kit-stat span{font-size:12px;font-weight:700;color:var(--s-mute)}.kit-stat b{font-size:20px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kit-stat small{font-size:12px;color:var(--s-mute)}.kit-stat.is-lead{grid-column:1/-1;background:linear-gradient(135deg,#eef0ff,#fff);border-color:#d6d3ff}.kit-stat.is-lead b{font-size:32px;color:var(--s-accent)}.kit-stat.is-good b{color:var(--s-pass)}.kit-stat.is-bad b{color:var(--s-fail)}.kit-stat.is-accent b{color:var(--s-accent)}.kit-error{padding:10px 12px;border-radius:10px;background:#fff4f4;color:var(--s-fail);font-weight:600}.kit-table summary{cursor:pointer;font-weight:750;font-size:14px}.kit-table summary small{font-weight:500;color:var(--s-mute)}.kit-table-scroll{max-height:360px;margin-top:10px;overflow:auto}.kit-table table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.kit-table th{position:sticky;top:0;background:#f6f6fa;text-align:right;font-weight:700;color:#3c3a4a}.kit-table td:first-child,.kit-table th:first-child{text-align:left}.kit-table td,.kit-table th{padding:6px 10px;border-bottom:1px solid var(--s-line);text-align:right;white-space:nowrap}.kit-steps{margin:0;padding:12px 14px 12px 32px;border:1px solid var(--s-line);border-radius:12px;background:#fafaff;font-size:13px}.kit-steps li{margin:3px 0}.kit-chart{margin:0}.kit-chart figcaption{margin-bottom:6px;font-size:13px;font-weight:750}.kit-chart svg{width:100%;height:auto;max-height:220px}.kit-chart.is-donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.kit-chart.is-donut svg{width:150px;height:150px;flex:none}.kit-chart ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;font-size:13px}.kit-chart li{display:flex;align-items:center;gap:8px}.kit-chart li b{margin-left:auto;padding-left:12px;font-variant-numeric:tabular-nums}.kit-chart li small{color:var(--s-mute);min-width:34px;text-align:right}.kit-chart i{width:10px;height:10px;border-radius:3px;flex:none}.kit-legend{flex-direction:row!important;flex-wrap:wrap;gap:12px!important;margin-top:4px!important}.kit-grid{stroke:#eef0f4}.kit-ax{font-size:11px;fill:#6a6878}.kit-transform{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;min-height:420px}.kit-pane{display:flex;flex-direction:column;gap:6px;min-width:0}.kit-pane header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:750;color:var(--s-mute)}.kit-pane header span{display:flex;gap:6px}.kit-pane pre,.kit-pane textarea{flex:1;min-height:360px;margin:0;padding:14px;border:1px solid var(--s-line);border-radius:14px;background:#fff;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--s-ink);resize:none;overflow:auto;white-space:pre-wrap;word-break:break-word}.kit-pane pre.is-error{color:var(--s-fail);background:#fff7f7}.kit-stats{display:flex;flex-wrap:wrap;gap:6px}.kit-stats span{padding:3px 9px;border-radius:999px;background:var(--s-soft);font-size:12px;font-weight:650;color:#3c3a4a}.kit-tracker{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;width:100%;align-items:start}.kit-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;max-height:420px;overflow:auto}.kit-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--s-line);border-radius:12px;background:#fff;font-size:13.5px}.kit-list li>div{flex:1;min-width:0}.kit-list li b{display:block}.kit-list li small{color:var(--s-mute)}.kit-tag{padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:750;background:var(--s-soft)}.kit-tag.is-good{background:#e8f7ee;color:var(--s-pass)}.kit-tag.is-warn{background:#fff4e5;color:var(--s-warn)}.kit-tag.is-bad{background:#fde9e9;color:var(--s-fail)}.kit-empty{padding:26px;border:1.5px dashed #d4d5e2;border-radius:14px;text-align:center;color:var(--s-mute);font-size:13.5px}.kit-media{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center}.kit-media-view{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.kit-media-view figure{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0}.kit-media-view figcaption{font-size:12.5px;font-weight:700;color:var(--s-mute);display:flex;justify-content:space-between}.kit-media-view img,.kit-media-view video{width:100%;max-height:62vh;object-fit:contain;border:1px solid var(--s-line);border-radius:14px;background:repeating-conic-gradient(#f3f3f6 0 25%,#fff 0 50%) 50% /16px 16px}.kit-progress{width:min(420px,100%)}@media (max-width:820px){.kit-sim .sim-stage{padding:52px 10px 16px}.kit-calc,.kit-media-view,.kit-tracker,.kit-transform{grid-template-columns:1fr}.kit-pane pre,.kit-pane textarea{min-height:220px}.kit-stat.is-lead b{font-size:26px}}@media print{.kit-inputs,.sim-dock,.sim-head-actions,.sim-panel-head button{display:none!important}.sim{height:auto!important;box-shadow:none!important;border:0!important}.kit-calc,.sim-body{display:block!important}.kit-table-scroll{max-height:none!important}}.kit-visual{overflow-x:auto}.kit-visual svg{max-width:100%;height:auto;display:block;margin:0 auto}.kit-ticker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px}.kit-ticker span{flex:1 1 140px;font-weight:600}.kit-ticker .sim-btn{display:inline-flex;align-items:center;gap:6px}@media print{.kit-ticker{display:none!important}}.kit-transform .kit-preview{display:flex;justify-content:center;padding:10px;max-height:40%;overflow:auto;background:repeating-conic-gradient(#0000000d 0 25%,transparent 0 50%) 0 0 /16px 16px}.kit-transform .kit-preview img{max-width:100%;height:auto;display:block}.kit-transform .kit-preview-frame{width:100%;height:45%;min-height:200px;border:0;border-bottom:1px solid var(--border,#0002);background:#fff;flex:none}.apit-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}@media(max-width:980px){.apit-wrap{grid-template-columns:1fr}}.apit-card{display:grid;gap:.8rem;padding:1rem;min-width:0}.apit-urlrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem}@media(max-width:520px){.apit-urlrow{grid-template-columns:1fr 1fr}.apit-urlrow input{grid-column:1/-1;order:3}}.apit-card input,.apit-card select,.apit-card textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.apit-card textarea{font-family:ui-monospace,monospace;font-size:.85rem;min-height:7rem;resize:vertical}.apit-urlrow select{width:auto}.apit-card label{display:grid;gap:.3rem;font-weight:600;font-size:.88rem}.apit-card h3{margin:0;font-size:.95rem}.apit-tabs{display:flex;gap:.3rem;flex-wrap:wrap}.apit-tabs button{font:inherit;font-size:.85rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--line,#d7d9e4);background:none;color:inherit;cursor:pointer}.apit-tabs button[aria-selected=true]{background:var(--accent,#4f46e5);color:#fff;border-color:transparent}.apit-row,.apit-rows{display:grid;gap:.4rem}.apit-row{grid-template-columns:auto minmax(0,1fr) minmax(0,1.3fr) auto auto;align-items:center}@media(max-width:520px){.apit-row{grid-template-columns:auto minmax(0,1fr) auto}.apit-row .apit-val{grid-column:2/-1}}.apit-row input[type=checkbox]{width:auto}.apit-icon{font:inherit;background:none;border:1px solid var(--line,#d7d9e4);border-radius:.5rem;padding:.35rem .5rem;color:inherit;cursor:pointer;line-height:1}.apit-send{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.apit-left{font-weight:600;font-size:.9rem}.apit-left.is-out{color:#b3261e}.apit-notice{font-size:.85rem;margin:0;padding:.5rem .7rem;border-radius:.6rem;background:rgba(79,70,229,.08)}.apit-err{color:#b3261e;font-size:.88rem;margin:0}.apit-badges{display:flex;gap:.5rem;flex-wrap:wrap}.apit-badge{padding:.25rem .6rem;border-radius:.5rem;border:1px solid var(--line,#d7d9e4);font-size:.85rem;font-weight:600}.apit-badge.is-pass{background:rgba(22,128,60,.12);color:#166534}.apit-badge.is-warn{background:rgba(180,110,0,.14);color:#8a5200}.apit-badge.is-fail{background:rgba(179,38,30,.12);color:#b3261e}.apit-body{margin:0;white-space:pre-wrap;padding:.7rem}.apit-body,.apit-tree{max-height:26rem;overflow:auto;font-family:ui-monospace,monospace;font-size:.82rem;overflow-wrap:anywhere;border-radius:.6rem;background:rgba(127,127,127,.08)}.apit-tree{padding:.5rem .7rem}.apit-tree details{margin-left:.9rem}.apit-tree summary{cursor:pointer}.apit-tree .k{color:var(--accent,#4f46e5)}.apit-tree .s{color:#166534}.apit-tree .n{color:#8a5200}.apit-gqlerr{border:1px solid #b3261e;background:rgba(179,38,30,.08);border-radius:.6rem;padding:.6rem .8rem;display:grid;gap:.3rem}.apit-gqlerr b{color:#b3261e}.apit-gqlerr p{margin:0;font-size:.88rem}.apit-hdrs{width:100%;border-collapse:collapse;font-size:.82rem}.apit-hdrs td{padding:.25rem .4rem;border-bottom:1px solid var(--line,#d7d9e4);vertical-align:top;overflow-wrap:anywhere}.apit-hdrs td:first-child{font-weight:600;white-space:nowrap}.apit-empty{color:var(--muted,#667);text-align:center;padding:2rem 1rem;margin:0}.apit-saved{display:grid;gap:.4rem}.apit-saved li{display:flex;gap:.4rem;align-items:center;list-style:none}.apit-saved ul{margin:0;padding:0;display:grid;gap:.4rem}.apit-saved button.load{flex:1;text-align:left;font:inherit;font-size:.85rem;background:none;border:1px solid var(--line,#d7d9e4);border-radius:.5rem;padding:.4rem .6rem;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-form{display:grid;gap:.8rem;padding:1rem;align-content:start}.att-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.att-form input,.att-form select,.att-form textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;width:100%}.att-form small{font-weight:400;color:var(--muted,#667)}.att-row2{display:grid;grid-template-columns:2fr 1fr;gap:.6rem}.att-sample{font:inherit;font-weight:600;padding:.55rem .8rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);background:transparent;color:inherit;cursor:pointer}.att-wrap{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;height:100%}.att-preview{overflow:auto;padding:.5rem;min-width:0}.att-sheet{background:#fff;color:#111;padding:.8rem;border-radius:.5rem;border:1px solid #ccd;min-width:880px;font-size:11px}.att-head{display:flex;gap:1.2rem;align-items:baseline;flex-wrap:wrap;margin-bottom:.5rem}.att-head b{font-size:1.2em}.att-sheet table{border-collapse:collapse;width:100%;table-layout:fixed}.att-sheet td,.att-sheet th{border:1px solid #555;height:1.7em;text-align:center;padding:0;overflow:hidden;font-weight:400}.att-sheet th{font-weight:700;background:#f1f2f6}.att-sheet .c-no{width:3em}.att-sheet .c-name{width:15em;text-align:left;padding:0 .4em;white-space:nowrap;text-overflow:ellipsis}.att-sheet .c-sum{width:2.4em}.att-sheet .is-off{background:#d9dbe3}.att-sheet .is-holiday{background:#fde7c4;font-weight:700}.att-sheet .c-wd{font-size:.85em;height:1.4em}.att-empty{padding:2rem!important;color:#666}.att-foot{margin-top:.6rem;font-size:.9em;color:#333}@media(max-width:820px){.att-wrap{grid-template-columns:1fr}}@page{size:A4 landscape;margin:8mm}@media print{body *{visibility:hidden}#att-print,#att-print *{visibility:visible}#att-print{position:absolute;left:0;top:0;width:100%;min-width:0;border:0;padding:0;font-size:9pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}#att-print thead{display:table-header-group}#att-print tr{break-inside:avoid}}.bg-form{display:grid;gap:.8rem;padding:1rem;align-content:start}.bg-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.bg-form input[type=number],.bg-form input[type=text],.bg-form select,.bg-form textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;width:100%}.bg-form small{font-weight:400;color:var(--muted,#667)}.bg-row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.bg-form .bg-check{display:flex;gap:.5rem;align-items:center;font-weight:500}.bg-btn{font:inherit;font-weight:600;padding:.55rem .9rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);background:transparent;color:inherit;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center;justify-content:center}.bg-btn:disabled{opacity:.5;cursor:default}.bg-btn.is-main{background:#4f46e5;color:#fff;border-color:#4f46e5}.bg-wrap{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;height:100%}.bg-wrap.is-caller{grid-template-columns:1fr}.bg-preview{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem;overflow:auto;align-content:flex-start}.bg-empty{color:var(--muted,#667);padding:2rem;margin:auto;text-align:center}.bg-card{background:#fff;color:#111;border:2px solid #4f46e5;border-radius:.8rem;padding:.7rem;width:min(100%,320px);break-inside:avoid}.bg-card h3{margin:0 0 .4rem;display:flex;justify-content:space-between;align-items:baseline;font-size:1.3rem;letter-spacing:.12em;color:#4f46e5}.bg-card h3 small{font-size:.65rem;color:#555;letter-spacing:0}.bg-letters{display:grid;grid-template-columns:repeat(5,1fr);text-align:center;font-weight:800;color:#4f46e5;margin-bottom:2px}.bg-grid{display:grid;gap:3px}.bg-grid>div{aspect-ratio:1;border:1px solid #333;border-radius:.3rem;display:grid;place-items:center;overflow:hidden;padding:2px;text-align:center;line-height:1.1}.bg-grid .is-free{background:#e0e7ff;font-weight:800;font-size:.7rem;color:#4f46e5}.bg-num{font-size:1.25rem;font-weight:700}.bg-word{font-size:.72rem;font-weight:600;overflow-wrap:anywhere}.bg-grid img{width:100%;height:100%;object-fit:contain}.bg-caller{gap:1rem;align-content:start;overflow:auto}.bg-caller,.bg-now{display:grid;padding:1rem}.bg-now{justify-items:center;gap:.2rem;background:#eef0ff;color:#111;border-radius:1rem;min-height:9rem;align-content:center;text-align:center}.bg-now b{font-size:clamp(2.2rem,8vw,4.5rem);line-height:1}.bg-now small{font-size:1.4rem;font-weight:800;color:#4f46e5}.bg-now img{max-height:6rem}.bg-count,.bg-hint{color:#555;font-size:.9rem}.bg-actions{display:flex;gap:.6rem;flex-wrap:wrap}.bg-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.2rem,1fr));gap:4px}.bg-board>div{border:1px solid var(--line,#d7d9e4);border-radius:.4rem;min-height:2.4rem;display:grid;place-items:center;font-size:.8rem;font-weight:600;padding:2px;text-align:center;overflow:hidden;overflow-wrap:anywhere}.bg-board>div.is-called{background:#4f46e5;color:#fff;border-color:#4f46e5}.bg-board img{max-height:2.4rem;max-width:100%}@media(max-width:820px){.bg-wrap{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.print-cards .bg-preview,.print-cards .bg-preview *{visibility:visible}.print-cards .bg-preview{position:absolute;left:0;top:0;width:100%;display:grid;gap:8mm;padding:0;overflow:visible;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-cards .bg-preview.is-1{grid-template-columns:1fr}.print-cards .bg-preview.is-2,.print-cards .bg-preview.is-4{grid-template-columns:1fr 1fr}.print-cards .bg-card{width:auto;border-width:1.5pt}.print-cards .bg-preview.is-1 .bg-card{width:150mm;margin:0 auto;break-after:page}.print-cards .bg-preview.is-2 .bg-card{break-after:auto}.print-board #bg-board-print,.print-board #bg-board-print *{visibility:visible}.print-board #bg-board-print{position:absolute;left:0;top:0;width:100%;grid-template-columns:repeat(10,1fr)}.print-board #bg-board-print>div{background:#fff!important;color:#000!important;border:1px solid #000!important}}.bcc-wrap{width:100%;box-sizing:border-box;align-self:stretch;display:grid;gap:1rem;padding:1rem;align-content:start;overflow:auto;max-height:100%}.bcc-bar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.bcc-bar input{font:inherit;flex:1 1 220px;min-width:0;padding:.55rem .75rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit}.bcc-count{font-size:.88rem;font-weight:600}.bcc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.bcc-card{border:1px solid var(--line,#d7d9e4);border-radius:.8rem;padding:.8rem .9rem;min-width:0;background:var(--surface,transparent)}.bcc-card h3{margin:0 0 .5rem;font-size:.95rem}.bcc-card dl{margin:0;display:grid;gap:.35rem}.bcc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:baseline;font-size:.86rem;border-top:1px solid rgba(127,127,127,.15);padding-top:.35rem}.bcc-row:first-child{border-top:0;padding-top:0}.bcc-row dt{font-weight:600;min-width:0;overflow-wrap:anywhere}.bcc-row dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:16rem}.bcc-row.is-yes dd{color:#166534}.bcc-row.is-no dd{color:#b3261e}.bcc-mark{display:inline-block;margin-right:.3rem;font-weight:700}@media(prefers-color-scheme:dark){.bcc-row.is-yes dd{color:#6ee7a0}.bcc-row.is-no dd{color:#ff9b93}}.bcc-empty{margin:0;padding:1rem;text-align:center;opacity:.8}.cab-stage{display:grid;grid-template-rows:1fr auto;gap:12px;width:100%;height:100%;min-height:340px;padding:12px;box-sizing:border-box}.cab-view{position:relative;display:grid;place-items:center;min-height:200px;background:#fff;border:1px solid #e6e1ef;border-radius:8px;overflow:hidden;background-image:linear-gradient(#f1eef8 1px,transparent 0),linear-gradient(90deg,#f1eef8 1px,transparent 0);background-size:24px 24px}.cab-box{width:72px;height:72px;background:#7c3aed;border-radius:12px}.cab-box.is-circle{border-radius:50%}.cab-box.is-pill{width:120px;height:44px;border-radius:999px}.cab-time{display:grid;gap:6px}.cab-track{position:relative;height:44px;border-radius:8px;background:#f1eef8;border:1px solid #e6e1ef;touch-action:none;cursor:copy}.cab-ruler{display:flex;justify-content:space-between;font-size:11px;color:#6b6578;font-variant-numeric:tabular-nums}.cab-key{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;padding:0;border:2px solid #1d1930;background:#fff;transform:rotate(45deg);border-radius:3px;cursor:grab;box-sizing:border-box}.cab-key:after{content:"";position:absolute;inset:-10px}.cab-key.is-sel{background:#7c3aed;border-color:#fff;box-shadow:0 0 0 2px #7c3aed}.cab-key:focus-visible{outline:3px solid #d946a6;outline-offset:3px}.cab-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.cab-btn,.cab-chips button{font:inherit;font-size:13px;font-weight:600;min-height:36px;padding:0 12px;border-radius:8px;border:1px solid #e6e1ef;background:#fff;color:#1d1930;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.cab-btn[aria-pressed=true],.cab-chips button.is-on{border-color:#7c3aed;color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed}.cab-btn:disabled{opacity:.4;cursor:not-allowed}.cab-controls{display:grid;gap:14px}.cab-group{display:grid;gap:10px}.cab-group h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b6578}.cab-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cab-field,.cab-slide{display:grid;gap:4px;font-size:13px;font-weight:600}.cab-slide span{display:flex;justify-content:space-between}.cab-slide output{font-variant-numeric:tabular-nums;color:#6b6578;font-weight:500}.cab-field input,.cab-field select{font:inherit;font-size:14px;min-height:36px;padding:0 10px;border:1px solid #e6e1ef;border-radius:8px;background:#fff;color:#1d1930;box-sizing:border-box;width:100%}.cab-field input[aria-invalid=true]{border-color:#b3261e}.cab-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cab-code{margin:0;padding:10px 12px;border:1px solid #e6e1ef;border-radius:8px;background:#faf9fd;font:12px/1.5 ui-monospace,monospace;white-space:pre;overflow:auto;max-height:240px;color:#1d1930}@media (prefers-reduced-motion:reduce){.cab-box{animation-duration:1ms!important}}.cp-sim .cp-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:280px;padding:12px;box-sizing:border-box}.cp-box{position:relative;aspect-ratio:1;height:min(100%,520px);max-width:100%;touch-action:none;background:repeating-conic-gradient(#f1eff6 0 25%,#fff 0 50%) 0 0 /20px 20px;border:1px solid #e6e1ef;border-radius:4px}@media (max-width:760px){.cp-box{height:auto;width:min(100%,420px)}}.cp-ghost,.cp-overlay,.cp-shape{position:absolute;inset:0;width:100%;height:100%}.cp-ghost{opacity:.12}.cp-overlay{overflow:visible}.cp-outline{fill:none;stroke:#1d1930;stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none}.cp-edge{stroke:transparent;stroke-width:22;cursor:copy;pointer-events:stroke}.cp-handle{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;padding:0;border-radius:50%;border:2px solid #1d1930;background:#fff;color:#1d1930;font-size:10px;font-weight:700;cursor:grab;display:grid;place-items:center;touch-action:none}.cp-handle:after{content:"";position:absolute;inset:-11px}.cp-handle.is-sel{background:#7c3aed;border-color:#fff;color:#fff;box-shadow:0 0 0 2px #7c3aed}.cp-handle:focus-visible{outline:3px solid #d946a6;outline-offset:2px}.cp-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.cp-btn,.cp-chips button{font:inherit;font-size:13px;font-weight:600;min-height:36px;padding:0 12px;border-radius:8px;border:1px solid #e6e1ef;background:#fff;color:#1d1930;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.cp-chips button.is-on{border-color:#7c3aed;color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed}.cp-btn:disabled{opacity:.4;cursor:not-allowed}.cp-controls{display:grid;gap:14px}.cp-colors{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;font-weight:600}.cp-colors label{display:flex;align-items:center;gap:8px}.cp-group{display:grid;gap:10px}.cp-row{display:flex;flex-wrap:wrap;gap:8px}.cp-slide{display:grid;gap:4px;font-size:13px;font-weight:600}.cp-slide span{display:flex;justify-content:space-between}.cp-slide output{font-variant-numeric:tabular-nums;color:#6b6578;font-weight:500}.cp-group small{color:#6b6578;font-size:12px}.cp-code>div{display:flex;align-items:center;justify-content:space-between;font-size:13px}.cp-code pre{margin:6px 0 0;padding:10px 12px;background:#1d1930;color:#f4f1fb;border-radius:8px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.lg-sim .lg-stage{display:flex;align-items:center;justify-content:center;height:100%;min-height:300px;padding:14px}.lg-frame,.lg-sim .lg-stage{width:100%;box-sizing:border-box}.lg-frame{position:relative;max-width:760px;height:min(100%,420px);min-height:280px;background:repeating-conic-gradient(#f1eff6 0 25%,#fff 0 50%) 0 0/20px 20px;border:1px solid #e6e1ef;border-radius:8px;padding:10px}.lg-cells,.lg-flex,.lg-grid{width:100%;height:100%}.lg-cells{position:absolute;inset:10px;width:auto;height:auto;touch-action:none}.lg-cell{border:1px dashed #b8aed6;border-radius:4px;cursor:crosshair;min-width:0;min-height:0}.lg-cell.is-drag{background:rgba(124,58,237,.22);border-style:solid;border-color:#7c3aed}.lg-item{display:grid;place-items:center;min-width:0;min-height:0;border-radius:6px;background:linear-gradient(135deg,#7c3aed,#f97362);color:#fff;font-weight:700;font-size:14px;border:2px solid transparent;font-family:inherit;padding:4px;cursor:pointer;box-sizing:border-box;opacity:.92}.lg-item.is-sel{border-color:#1d1930;box-shadow:0 0 0 2px #fff,0 0 0 4px #7c3aed;opacity:1}.lg-item:focus-visible{outline:3px solid #d946a6;outline-offset:2px}.lg-grid .lg-item{pointer-events:none}.lg-hint{margin:0;font-size:12px;color:#6b6578;text-align:center;padding:0 12px 8px}.lg-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.lg-btn,.lg-chips button{font:inherit;font-size:13px;font-weight:600;min-height:36px;padding:0 12px;border-radius:8px;border:1px solid #e6e1ef;background:#fff;color:#1d1930;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.lg-chips button.is-on{border-color:#7c3aed;color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed}.lg-btn:disabled{opacity:.4;cursor:not-allowed}.lg-controls{display:grid;gap:14px}.lg-group{display:grid;gap:10px}.lg-group h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b6578}.lg-row{display:flex;flex-wrap:wrap;gap:8px}.lg-field,.lg-slide{display:grid;gap:4px;font-size:13px;font-weight:600}.lg-slide span{display:flex;justify-content:space-between}.lg-slide output{font-variant-numeric:tabular-nums;color:#6b6578;font-weight:500}.lg-field input,.lg-field select{font:inherit;font-size:13px;min-height:36px;padding:0 8px;border:1px solid #e6e1ef;border-radius:8px;background:#fff;color:#1d1930;min-width:0;width:100%;box-sizing:border-box}.lg-field input[aria-invalid=true]{border-color:#b3261e}.lg-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lg-code>div{display:flex;align-items:center;justify-content:space-between;font-size:13px}.lg-code pre{margin:6px 0 0;padding:10px 12px;background:#1d1930;color:#f4f1fb;border-radius:8px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:260px;overflow:auto}.gb-stage{position:relative;width:100%;height:100%;min-height:320px;background:#fff;touch-action:none;overflow:hidden;border-radius:inherit;cursor:crosshair}.gb-svg,.gb-svg svg{position:absolute;inset:0;width:100%;height:100%;display:block}.gb-tools{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.gb-tools .sim-btn{flex:none;background:rgba(255,255,255,.95)}.gb-tools .sim-btn[aria-pressed=true]{background:var(--s-accent,#4f46e5);color:#fff;border-color:transparent}.gb-msg{position:absolute;left:10px;bottom:8px;margin:0;max-width:calc(100% - 20px);padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.92);font-size:13px;color:#374151;pointer-events:none}.gb-panel{display:flex;flex-direction:column;gap:10px}.gb-panel h4{margin:6px 0 0;font-size:13px}.gb-hint{margin:0;font-size:12.5px;color:var(--s-mute,#6b7280)}.gb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.gb-item{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--s-line,#e5e7eb);background:var(--s-panel,#fff);font-size:13px}.gb-item[aria-pressed=true]{border-color:#f59e0b;background:#fffbeb;color:#111}.gb-coords{display:flex;gap:8px;align-items:end}.gb-coords label{display:flex;flex-direction:column;gap:2px;font-size:12px;flex:1}.gb-coords input{height:36px;padding:0 8px;border:1px solid var(--s-line,#d1d5db);border-radius:8px;width:100%;min-width:0;font-size:15px;background:var(--s-panel,#fff);color:var(--s-ink,#111)}.gb-check{display:flex;gap:8px;align-items:center;font-size:13px}@media (max-width:820px){.gb-stage{min-height:380px}}.gc-stage{position:relative;width:100%;height:100%;min-height:300px;touch-action:none;cursor:grab;background:#fff;overflow:hidden;border-radius:inherit}.gc-stage:active{cursor:grabbing}.gc-svg,.gc-svg svg{position:absolute;inset:0;width:100%;height:100%;display:block}.gc-zoom{font-size:12px;color:var(--s-mute,#6b7280);min-width:92px;text-align:center}.gc-panel{display:flex;flex-direction:column;gap:10px}.gc-panel h4{margin:8px 0 0;font-size:13px}.gc-panel h4 small{font-weight:400;color:var(--s-mute,#6b7280)}.gc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gc-row{display:flex;align-items:flex-start;gap:6px}.gc-num{width:20px;height:32px;display:grid;place-items:center;font-size:12px;color:var(--s-mute,#6b7280)}.gc-text{flex:1;min-width:0;height:36px;padding:0 10px;border:1px solid var(--s-line,#d1d5db);border-radius:8px;background:var(--s-panel,#fff);color:var(--s-ink,#111);font:15px ui-monospace,SFMono-Regular,Menlo,monospace}.gc-entry.has-error .gc-text{border-color:var(--s-fail,#dc2626)}.gc-param{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.gc-range{display:flex;gap:8px;font-size:12px;color:var(--s-mute,#6b7280)}.gc-range label{display:flex;align-items:center;gap:6px;flex:1}.gc-error{margin:2px 0 0 26px;font-size:12px;color:var(--s-fail,#dc2626)}.gc-add,.gc-chips{display:flex;flex-wrap:wrap;gap:6px}.gc-hint{margin:0;font-size:12px;color:var(--s-mute,#6b7280)}.gc-trace{gap:6px}.gc-trace,.gc-vals{display:flex;flex-direction:column;font-size:13px}.gc-vals{list-style:none;margin:0;padding:0;gap:4px}.gc-vals i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}@media (max-width:820px){.gc-stage{min-height:340px}.gc-text{font-size:16px}}.gc-row .color-input{flex:none;width:auto}.gc-row .color-input-trigger{width:auto;min-width:0;padding:0 8px;height:36px;gap:4px}.gc-row .color-input-code{display:none}.gc-param,.gc-row .gc-text{flex:1 1 0;min-width:0}.ifsc-wrap{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1rem;align-items:start}@media(max-width:820px){.ifsc-wrap{grid-template-columns:1fr}}.ifsc-form{display:grid;gap:.9rem;padding:1rem}.ifsc-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.ifsc-form input,.ifsc-form select{font:inherit;padding:.6rem .75rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;max-width:100%}.ifsc-form input[aria-invalid=true]{border-color:#b3261e}.ifsc-form small{font-weight:400;color:var(--muted,#667)}.ifsc-form small.is-err{color:#b3261e}.ifsc-out{display:grid;gap:.8rem;min-width:0}.ifsc-empty{color:var(--muted,#667);padding:2rem 1rem;text-align:center}.ifsc-count{margin:0;font-weight:600}.ifsc-detail{display:grid;gap:.5rem;margin:0 0 .9rem}.ifsc-detail div{display:grid;grid-template-columns:7rem 1fr;gap:.6rem}.ifsc-detail dt{color:var(--muted,#667)}.ifsc-detail dd{margin:0;font-weight:600;overflow-wrap:anywhere}.ifsc-link{font:inherit;font-family:ui-monospace,monospace;background:none;border:0;color:var(--accent,#4f46e5);cursor:pointer;padding:0;text-decoration:underline}.ifsc-out tr.is-picked{background:rgba(79,70,229,.08)}.mg-form{display:grid;gap:.8rem;padding:1rem;align-content:start}.mg-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.mg-form input,.mg-form select,.mg-form textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;width:100%}.mg-form small{color:var(--muted,#667)}.mg-btn{font:inherit;font-weight:600;padding:.55rem .9rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);background:transparent;color:inherit;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center;justify-content:center}.mg-btn:disabled{opacity:.5;cursor:default}.mg-btn.is-main{background:#4f46e5;color:#fff;border-color:#4f46e5}.mg-wrap{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;height:100%}.mg-play{display:grid;gap:.8rem;align-content:start;padding:.5rem;min-width:0;overflow:auto}.mg-score{display:flex;gap:1rem;flex-wrap:wrap;font-size:1rem}.mg-score b.is-turn{color:#4f46e5;text-decoration:underline}.mg-score b+b{margin-left:1rem}.mg-board{display:grid;gap:.5rem;max-width:720px}.mg-card{aspect-ratio:4/3;border-radius:.7rem;border:2px solid #4f46e5;background:#4f46e5;color:#fff;font:inherit;font-weight:700;cursor:pointer;display:grid;place-items:center;padding:.2rem;overflow:hidden;text-align:center;line-height:1.15;overflow-wrap:anywhere;font-size:clamp(.7rem,1.6vw,1.05rem)}.mg-card.is-up{background:#fff;color:#111}.mg-card.is-matched{background:#dcfce7;border-color:#16a34a;color:#14532d}.mg-back{font-size:1.6rem;color:#fff}.mg-card img,.mg-pcard img{max-width:100%;max-height:100%;object-fit:contain}.mg-sheetwrap{overflow:auto;padding:.5rem}.mg-empty{padding:2rem;color:var(--muted,#667);text-align:center}.mg-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:0;background:#fff;color:#111;max-width:210mm}.mg-pcard{aspect-ratio:1;border:1px dashed #666;display:grid;place-items:center;text-align:center;padding:.4rem;font-weight:700;font-size:1.05rem;overflow:hidden;overflow-wrap:anywhere;line-height:1.15;break-inside:avoid}@media(max-width:820px){.mg-wrap{grid-template-columns:1fr}}@page{size:A4 portrait;margin:10mm}@media print{body *{visibility:hidden}#mg-print,#mg-print *{visibility:visible}#mg-print{position:absolute;left:0;top:0;width:100%;max-width:none;grid-template-columns:repeat(4,1fr);font-size:13pt}.mg-pcard{border:1pt dashed #444}}.qp-wrap{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:1rem;height:100%}.qp-editor{display:grid;gap:.8rem;align-content:start;overflow:auto;padding:.2rem}.qp-card{display:grid;gap:.6rem;padding:.9rem}.qp-card label{display:grid;gap:.25rem;font-weight:600;font-size:.85rem}.qp-card input,.qp-card textarea{font:inherit;padding:.5rem .65rem;border:1px solid var(--line,#d7d9e4);border-radius:.55rem;background:var(--surface,#fff);color:inherit;min-width:0;width:100%}.qp-row2{grid-template-columns:1fr 1fr}.qp-row2,.qp-row3{display:grid;gap:.6rem}.qp-row3{grid-template-columns:1fr 1fr 1fr}.qp-sechead{display:flex;gap:.5rem;align-items:center}.qp-title{font-weight:700}.qp-sum{white-space:nowrap;font-size:.8rem;color:var(--muted,#667)}.qp-q{display:grid;gap:.4rem;padding:.6rem;border:1px solid var(--line,#d7d9e4);border-radius:.7rem}.qp-qtop{gap:.6rem}.qp-qtop,.qp-qtop .qp-marks{display:flex;align-items:center}.qp-qtop .qp-marks{gap:.4rem;margin-left:auto}.qp-qtop .qp-marks input{width:5rem}.qp-btn{font:inherit;font-weight:600;padding:.5rem .8rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);display:inline-flex;gap:.4rem;align-items:center;justify-content:center}.qp-btn,.qp-icon{background:transparent;color:inherit;cursor:pointer}.qp-icon{border:0;padding:.3rem;border-radius:.4rem;display:inline-grid;place-items:center}.qp-bar{display:flex;gap:.5rem;flex-wrap:wrap}.qp-drafts{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.qp-drafts li{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.qp-drafts li>button:first-child{font:inherit;background:transparent;border:0;color:#4f46e5;text-align:left;cursor:pointer;text-decoration:underline}.qp-previewwrap{overflow:auto;padding:.3rem;min-width:0}.qp-sheet{background:#fff;color:#111;max-width:210mm;margin:0 auto;padding:10mm 12mm;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.45;border:1px solid #ccd;border-radius:.4rem}.qp-sheet header{text-align:center;border-bottom:2px solid #111;padding-bottom:.5rem;margin-bottom:.7rem}.qp-sheet h1{font-size:1.5em;margin:0}.qp-sheet h2{font-size:1.15em;margin:.2rem 0 .4rem}.qp-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.95em}.qp-instr{border:1px solid #111;padding:.4rem .7rem;margin-bottom:.8rem}.qp-instr ol{margin:.2rem 0 0;padding-left:1.2rem;list-style:decimal}.qp-sheet h3{display:flex;justify-content:space-between;font-size:1.05em;margin:1rem 0 .2rem;border-bottom:1px solid #777;break-after:avoid}.qp-sinstr{margin:.1rem 0 .4rem;font-style:italic}.qp-qs{padding-left:1.6rem;margin:.3rem 0;list-style:decimal}.qp-qs>li{margin:.45rem 0;break-inside:avoid;white-space:pre-wrap}.qp-mk{float:right;margin-left:.6rem;font-weight:700}.qp-opts{list-style:none;padding:0;margin:.25rem 0 0 .2rem;display:grid;grid-template-columns:1fr 1fr;gap:.1rem .8rem}.qp-opts li:before{content:"(" attr(data-l) ") "}.qp-sheet footer{text-align:center;margin-top:1.2rem;font-style:italic}@media(max-width:820px){.qp-row3,.qp-wrap{grid-template-columns:1fr}}@page{size:A4 portrait;margin:12mm}@media print{body *{visibility:hidden}#qp-print,#qp-print *{visibility:visible}#qp-print{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;padding:0;font-size:11.5pt}}.qb-wrap{padding:.5rem;min-width:0;align-content:start}.qb-edit,.qb-wrap{display:grid;gap:1rem}.qb-edit{grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}.qb-edit label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.qb-edit textarea{font:inherit;font-family:ui-monospace,monospace;font-size:.85rem;padding:.6rem .7rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-height:340px;width:100%;resize:vertical}.qb-edit .qb-teams textarea{min-height:140px}.qb-edit small{color:var(--muted,#667);font-weight:400}.qb-btn{font:inherit;font-weight:600;padding:.55rem .9rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);background:transparent;color:inherit;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center;justify-content:center}.qb-btn.is-main{background:#4f46e5;color:#fff;border-color:#4f46e5}.qb-btn:disabled{opacity:.5;cursor:default}.qb-btn.is-good{background:#dcfce7;border-color:#16a34a;color:#14532d}.qb-btn.is-bad{background:#fee2e2;border-color:#dc2626;color:#7f1d1d}.qb-board{display:grid;gap:.4rem;max-width:960px}.qb-cat,.qb-tile{border-radius:.5rem;display:grid;place-items:center;text-align:center;font:inherit;overflow-wrap:anywhere;min-width:0}.qb-cat{background:#312e81;color:#fff;font-weight:700;padding:.5rem .3rem;font-size:clamp(.7rem,1.6vw,1rem);line-height:1.15}.qb-tile{background:#4f46e5;color:#fde68a;border:2px solid #4338ca;font-weight:800;font-size:clamp(1rem,3vw,1.9rem);min-height:3.4rem;cursor:pointer}.qb-tile:hover:not(:disabled){background:#4338ca}.qb-tile:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.qb-tile.is-used{border-style:dashed;border-color:var(--line,#c8cadb);color:transparent}.qb-tile.is-blank,.qb-tile.is-used{background:transparent;cursor:default}.qb-tile.is-blank{border:0}.qb-score{display:flex;flex-wrap:wrap;gap:.6rem}.qb-team{border:1px solid var(--line,#d7d9e4);border-radius:.7rem;padding:.5rem .8rem;display:grid;gap:.2rem;min-width:7rem;background:var(--surface,#fff)}.qb-team b{font-size:1.5rem}.qb-team.is-lead{border-color:#16a34a;box-shadow:0 0 0 2px #bbf7d0}.qb-team span{font-weight:600}.qb-adj{display:flex;gap:.3rem}.qb-adj button{flex:1;font:inherit;border:1px solid var(--line,#d7d9e4);border-radius:.4rem;background:transparent;color:inherit;cursor:pointer;padding:.1rem .4rem}.qb-clue{border:2px solid #4f46e5;border-radius:1rem;padding:1.2rem;display:grid;gap:1rem;background:#312e81;color:#fff;max-width:960px}.qb-clue .qb-meta{color:#fde68a;font-weight:700}.qb-clue h3{margin:0;font-size:clamp(1.2rem,3.4vw,2.2rem);line-height:1.25;font-weight:700}.qb-clue .qb-ans{background:#fff;color:#111;border-radius:.6rem;padding:.7rem 1rem;font-size:clamp(1.1rem,2.6vw,1.7rem);font-weight:700}.qb-row{display:flex;flex-wrap:wrap;gap:.5rem}.qb-note{color:var(--muted,#667);font-size:.9rem}@media(max-width:820px){.qb-edit{grid-template-columns:1fr}.qb-team{min-width:5.5rem}}.grp-form{display:grid;gap:.8rem;padding:1rem;align-content:start}.grp-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.grp-form input,.grp-form select,.grp-form textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;width:100%}.grp-form small{color:var(--muted,#667)}.grp-row2{display:grid;grid-template-columns:1.5fr 1fr;gap:.6rem}.grp-btn{font:inherit;font-weight:600;padding:.55rem .9rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);background:transparent;color:inherit;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center;justify-content:center}.grp-btn:disabled{opacity:.5;cursor:default}.grp-btn.is-main{background:#4f46e5;color:#fff;border-color:#4f46e5}.grp-wrap{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;height:100%}.grp-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem;padding:.5rem;align-content:start;overflow:auto}.grp-card{background:#fff;color:#111;border:2px solid #4f46e5;border-radius:.8rem;padding:.7rem;break-inside:avoid}.grp-card h3{margin:0 0 .4rem;font-size:1rem;color:#4f46e5;display:flex;justify-content:space-between}.grp-card h3 small{color:#555}.grp-card ul{margin:0;padding-left:1.1rem}.grp-card li{margin:.1rem 0}.grp-empty{grid-column:1/-1;color:var(--muted,#667);text-align:center;padding:2rem}@media(max-width:820px){.grp-wrap{grid-template-columns:1fr}}@media print{body *{visibility:hidden}#grp-print,#grp-print *{visibility:visible}#grp-print{position:absolute;left:0;top:0;width:100%;overflow:visible;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.spe-sim .spe-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:300px;padding:12px;box-sizing:border-box}.spe-box{position:relative;aspect-ratio:1;height:min(100%,520px);max-width:100%;touch-action:none;background:#fff;border:1px solid #e6e1ef;border-radius:6px;overflow:hidden}@media(max-width:760px){.spe-box{height:auto;width:min(100%,440px)}}.spe-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.spe-grid line{stroke:#ece8f5;stroke-width:1}.spe-guide{stroke:#a99bd1;stroke-width:1;stroke-dasharray:3 3}.spe-handle{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;padding:0;border:2px solid #1d1930;background:#fff;color:#1d1930;font-size:10px;font-weight:700;cursor:grab;display:grid;place-items:center;box-sizing:border-box}.spe-handle:after{content:"";position:absolute;inset:-11px}.spe-handle.is-anchor{border-radius:50%}.spe-handle.is-ctl{width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:3px;border-color:#d946a6;color:#d946a6;transform:rotate(45deg)}.spe-handle.is-ctl span{display:none}.spe-handle.is-sel{background:#7c3aed;border-color:#fff;color:#fff;box-shadow:0 0 0 2px #7c3aed}.spe-handle.is-ctl.is-sel{background:#d946a6;box-shadow:0 0 0 2px #d946a6}.spe-handle:focus-visible{outline:3px solid #d946a6;outline-offset:2px}.spe-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.spe-btn,.spe-chips button{font:inherit;font-size:13px;font-weight:600;min-height:36px;padding:0 12px;border-radius:8px;border:1px solid #e6e1ef;background:#fff;color:#1d1930;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.spe-chips button.is-on{border-color:#7c3aed;color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed}.spe-btn:disabled{opacity:.4;cursor:not-allowed}.spe-controls{display:grid;gap:14px}.spe-group{display:grid;gap:10px}.spe-group h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b6578}.spe-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.spe-slide{display:grid;gap:4px;font-size:13px;font-weight:600}.spe-slide span{display:flex;justify-content:space-between}.spe-slide output{font-variant-numeric:tabular-nums;color:#6b6578;font-weight:500}.spe-colors{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;font-weight:600}.spe-colors label{display:flex;align-items:center;gap:8px}.spe-text{font:12px/1.5 ui-monospace,monospace;width:100%;min-height:96px;padding:10px 12px;border:1px solid #e6e1ef;border-radius:8px;background:#fff;color:#1d1930;box-sizing:border-box;resize:vertical}.spe-text[aria-invalid=true]{border-color:#b3261e}.spe-err{margin:0;color:#b3261e;font-size:13px}.spe-list{display:grid;gap:4px;max-height:180px;overflow:auto;margin:0;padding:0;list-style:none}.spe-list button{width:100%;text-align:left;font:12px ui-monospace,monospace;padding:6px 8px;border:1px solid #e6e1ef;border-radius:6px;background:#fff;color:#1d1930;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spe-list button.is-on{border-color:#7c3aed;background:rgba(124,58,237,.08)}.tl-wrap{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;padding:.5rem;height:100%;min-width:0}.tl-form{display:grid;gap:.7rem;align-content:start}.tl-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.tl-form input[type=text],.tl-form select,.tl-form textarea{font:inherit;padding:.5rem .65rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0;width:100%}.tl-form textarea{font-family:ui-monospace,monospace;font-size:.82rem;min-height:260px;resize:vertical}.tl-form small{color:var(--muted,#667);font-weight:400}.tl-btn{font:inherit;font-weight:600;padding:.5rem .8rem;border-radius:.6rem;border:1px solid var(--line,#d7d9e4);background:transparent;color:inherit;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center;justify-content:center}.tl-row{display:flex;gap:.5rem;flex-wrap:wrap}.tl-stage{min-width:0;overflow:auto;border:1px solid var(--line,#d7d9e4);border-radius:.7rem;background:#fff;align-self:start;max-height:100%}.tl-stage canvas{display:block;width:100%;height:auto}.tl-empty{padding:2rem;color:var(--muted,#667);text-align:center}@media(max-width:820px){.tl-wrap{grid-template-columns:1fr}}.tv-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;align-items:center;width:100%;height:100%;padding:12px;box-sizing:border-box}.tv-circle,.tv-graph{width:100%;height:auto;max-height:100%;background:#fff;border-radius:12px;border:1px solid var(--s-line,#e5e7eb);touch-action:none}.tv-circle{cursor:grab;touch-action:none}.tv-graph{touch-action:auto}.tv-range{flex:1;min-width:120px}.tv-out{min-width:64px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.tv-fn[aria-pressed=false]{opacity:.55}.tv-panel{display:flex;flex-direction:column;gap:10px}.tv-panel h4{margin:6px 0 0;font-size:13px}.tv-angle{margin:0;font-size:22px}.tv-angle span{font-size:14px;color:var(--s-mute,#6b7280)}.tv-hint,.tv-quad{margin:0;font-size:12.5px;color:var(--s-mute,#6b7280)}.tv-table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.tv-table td,.tv-table th{padding:5px 6px;border-bottom:1px solid var(--s-line,#e5e7eb);text-align:left}.tv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tv-snaps{display:flex;flex-wrap:wrap;gap:6px}.tv-check{display:flex;gap:8px;align-items:center;font-size:13px}@media (max-width:820px){.tv-stage{grid-template-columns:1fr}.tv-circle{max-width:360px;margin:0 auto}}.tt-stage{position:relative;gap:10px;width:100%;height:100%;padding:14px 12px;box-sizing:border-box;overflow:auto}.tt-lesson,.tt-stage{display:flex;flex-direction:column;align-items:center}.tt-lesson{text-align:center}.tt-lesson span,.tt-meter{font-size:13px;color:var(--s-mute,#6b7280)}.tt-meter{display:flex;gap:16px}.tt-meter b{color:var(--s-ink,#111);font-size:16px;font-variant-numeric:tabular-nums}.tt-text{margin:0;width:100%;max-width:760px;padding:14px 16px;border-radius:12px;background:var(--s-panel,#fff);border:1px solid var(--s-line,#e5e7eb);font:500 26px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;word-break:break-word}.tt-text span{border-radius:4px;color:var(--s-mute,#9ca3af)}.tt-text span.is-done{color:var(--s-pass,#15803d)}.tt-text span.is-now{color:var(--s-ink,#111);background:#fde68a;box-shadow:0 2px 0 #b45309}.tt-text.has-miss span.is-now{animation:tt-shake .25s;background:#fecaca;box-shadow:0 2px 0 #dc2626}@keyframes tt-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media (prefers-reduced-motion:reduce){.tt-text.has-miss span.is-now{animation:none}}.tt-capture{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;border:0;padding:0}.tt-start{margin:0;font-size:13px;color:var(--s-accent,#4f46e5)}.tt-finger{margin:0;min-height:22px;font-size:14px;text-align:center}.tt-finger kbd{padding:1px 8px;border-radius:6px;border:1px solid var(--s-line,#d1d5db);background:var(--s-panel,#fff);font:600 15px ui-monospace,monospace}.tt-kb{width:100%;max-width:760px;flex-direction:column;user-select:none;touch-action:manipulation}.tt-kb,.tt-row{display:flex;gap:5px}.tt-row{justify-content:center}.tt-row.r1{padding-left:3%}.tt-row.r2{padding-left:6%}.tt-key{flex:1 1 0;max-width:56px;height:44px;padding:0;border-radius:8px;border:1px solid rgba(0,0,0,.18);background:var(--s-soft,#f3f4f6);color:#111;font:600 15px ui-monospace,monospace;text-transform:none;cursor:pointer;position:relative}.tt-key.is-home:after{content:"";position:absolute;left:35%;right:35%;bottom:5px;height:2px;background:rgba(0,0,0,.45);border-radius:1px}.tt-key.is-target{outline:3px solid #111;outline-offset:1px;transform:translateY(-2px);z-index:1;animation:tt-pulse 1s infinite}@keyframes tt-pulse{50%{box-shadow:0 0 0 5px rgba(79,70,229,.35)}}@media (prefers-reduced-motion:reduce){.tt-key.is-target{animation:none}}.tt-shift{flex:1.8 1 0;max-width:100px;font-size:12px}.tt-shift.is-latched{outline:2px solid #4f46e5}.tt-space{flex:0 1 380px;max-width:380px;font-size:13px}.tt-result{position:absolute;inset:0;display:grid;place-items:center;background:rgba(15,23,42,.45);padding:16px}.tt-card{background:var(--s-panel,#fff);color:var(--s-ink,#111);border-radius:16px;padding:20px 24px;text-align:center;max-width:380px;display:flex;flex-direction:column;gap:8px;align-items:center}.tt-card h3{margin:0;font-size:22px}.tt-card p{margin:0}.tt-stars{display:flex;gap:6px}.tt-s svg,.tt-stars svg{color:#d1d5db}.tt-s svg.on,.tt-stars svg.on{color:#f59e0b;fill:#f59e0b}.tt-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px}.tt-panel{display:flex;flex-direction:column;gap:10px}.tt-check{display:flex;gap:8px;align-items:center;font-size:13px}.tt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tt-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--s-line,#e5e7eb);background:var(--s-panel,#fff)}.tt-item[aria-current=true]{border-color:var(--s-accent,#4f46e5);background:var(--s-accent-soft,#eef2ff)}.tt-item:disabled{opacity:.55}.tt-n{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--s-soft,#f3f4f6);font-size:12px;flex:none}.tt-t{flex:1;min-width:0;display:flex;flex-direction:column}.tt-t small{color:var(--s-mute,#6b7280);font-size:11.5px}.tt-s{display:flex;flex:none}.tt-note{margin:0;font-size:12px;color:var(--s-mute,#6b7280)}@media (max-width:820px){.tt-text{font-size:20px}.tt-key{height:40px;font-size:13px}.tt-kb,.tt-row{gap:3px}}.upi-form{display:grid;gap:.9rem;padding:1rem;align-content:start}.upi-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}.upi-form input,.upi-form select{font:inherit;padding:.6rem .75rem;border:1px solid var(--line,#d7d9e4);border-radius:.6rem;background:var(--surface,#fff);color:inherit;min-width:0}.upi-form small{font-weight:400;color:var(--muted,#667)}.upi-form small.is-err{color:#b3261e}.upi-wrap{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1rem;height:100%}.upi-preview{display:grid;place-items:center;padding:1rem;overflow:auto}@media(max-width:820px){.upi-wrap{grid-template-columns:1fr}}.upi-standee{--c:#4f46e5;width:min(100%,340px);aspect-ratio:5/7;background:#fff;color:#111;border-radius:1.1rem;border:6px solid var(--c);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1.1rem 1rem;text-align:center;box-shadow:0 8px 28px rgba(0,0,0,.12)}.upi-standee .u-top{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--c)}.upi-standee .u-name{font-size:1.35rem;font-weight:800;line-height:1.15;word-break:break-word}.upi-standee .u-qr{width:72%;line-height:0}.upi-standee .u-qr svg{width:100%;height:auto}.upi-standee .u-amt{font-size:1.5rem;font-weight:800;color:var(--c)}.upi-standee .u-foot{font-size:.78rem;color:#444}.upi-standee .u-vpa{font-weight:700;word-break:break-all}.upi-empty{color:var(--muted,#667);text-align:center;padding:2rem}@media print{body *{visibility:hidden}.upi-standee,.upi-standee *{visibility:visible}.upi-standee{position:fixed;left:50%;top:1cm;transform:translateX(-50%);width:14cm;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}