.pt-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
@media(max-width:940px){.pt-main{grid-template-columns:1fr}}
.pt-view{background:#0d1620;border-radius:14px;padding:8px;box-shadow:5px 5px 0 var(--shadow,#0003);position:relative}
.pt-view canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:8px;background:#222;image-rendering:auto}
.pt-hud{position:absolute;left:18px;top:18px;display:flex;gap:8px;flex-wrap:wrap;font:700 12px ui-monospace,Menlo,Consolas,monospace;color:#fff}
.pt-hud span{background:rgba(0,0,0,.62);padding:3px 8px;border-radius:6px}
.pt-result,.pt-panel,.pt-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:4px 4px 0 var(--shadow,#0002);margin-top:12px}
.pt-result h2,.pt-panel h2,.pt-card h2{margin:0 0 6px;font:800 12px system-ui;text-transform:uppercase;letter-spacing:.09em;color:var(--navy)}
.pt-result h2#ptResT{font:800 18px system-ui;text-transform:none;letter-spacing:0}
.pt-result p{margin:4px 0}
.pt-formula{font:600 12.5px ui-monospace,Menlo,Consolas,monospace;background:#f3f7fa;border:1px dashed #9fb4c4;border-radius:8px;padding:6px 8px;color:#16344c}
.pt-formula:empty{display:none}
.pt-ctl{position:sticky;top:10px;display:grid;gap:0}
.pt-ctl .pt-card:first-child{margin-top:0}
.pt-subj{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.pt-subj canvas{width:56px;height:56px;image-rendering:pixelated;border:2px solid var(--navy);border-radius:6px;background:#fff}
.pt-subj b{display:block;color:var(--navy)}.pt-subj span{font-size:12px;color:var(--muted)}
.pt-f{display:grid;gap:3px;font:800 12px system-ui;color:var(--navy);margin-bottom:8px}
.pt-f select,.pt-row select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font:600 13px system-ui}
.pt-bars{display:grid;gap:3px;margin:6px 0 10px}
.pt-bar{display:grid;grid-template-columns:104px 1fr 18px;align-items:center;gap:6px;font-size:11.5px;color:var(--navy)}
.pt-bar i{display:block;height:7px;border-radius:4px;background:#dfe7ec;position:relative;overflow:hidden}.pt-bar i b{position:absolute;left:0;top:0;bottom:0;background:var(--navy)}
.pt-bar em{font:800 11px ui-monospace,Menlo,Consolas,monospace;font-style:normal;text-align:right}
.pt-tests{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pt-tests button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 8px;text-align:left;font:700 12.5px system-ui;color:var(--navy)}
.pt-tests button:hover{border-color:var(--navy)}.pt-tests button[aria-pressed=true]{background:var(--navy);color:#fff}
.pt-tests button small{display:block;font-weight:500;font-size:11px;opacity:.8}
.pt-opts{display:grid;gap:8px;margin:10px 0 6px}
.pt-opt{display:grid;gap:3px;font:800 12px system-ui;color:var(--navy)}
.pt-opt output{float:right;font:800 12px ui-monospace,Menlo,Consolas,monospace;color:#b4570f}
.pt-opt select,.pt-opt input[type=range]{width:100%}
.pt-opt select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font:600 13px system-ui}
.pt-chk{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);margin-top:6px}
.pt-hint{font-size:12.5px;color:var(--muted);margin:0 0 8px}
.pt-rh{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.pt-btns{display:flex;gap:6px;flex-wrap:wrap}
.pt-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}
.pt-table th,.pt-table td{border:1px solid var(--line);padding:5px 8px;text-align:left;vertical-align:top}
.pt-table th{background:#eef3f6;color:var(--navy);font-size:12px}
.pt-none{color:var(--muted);text-align:center!important}
.pt-panel h3{margin:14px 0 6px;font:800 13px system-ui;color:var(--navy)}
.pt-mtext{margin:6px 0;font-size:13px;color:var(--muted)}
.pt-mres{font-weight:800;margin:4px 0}.pt-mres.ok{color:#1f7a45}.pt-mres.no{color:#b3392a}
.pt-eval{display:grid;gap:3px;font:700 12.5px system-ui;color:var(--navy);margin-top:8px}
.pt-eval textarea{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:14px system-ui}
.pt-chart{display:flex;gap:2px;margin:8px 0 2px;align-items:flex-end}
.pt-chart span{flex:1;height:22px;border-radius:3px;position:relative}
.pt-chart span.me{outline:3px solid #16344c;outline-offset:1px}
.pt-chart span.safe{background:#6cc18a}.pt-chart span.cracks{background:#f0c14a}.pt-chart span.shatters{background:#e0604c}
.pt-cl{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.pt-cmp{width:100%;border-collapse:collapse;margin:6px 0;font-size:12.5px}.pt-cmp td,.pt-cmp th{border:1px solid var(--line);padding:4px 7px;text-align:left}
.pt-tests button:focus-visible,.pt-opt select:focus-visible,.pt-opt input:focus-visible,.pt-f select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#ptPrintArea{display:none}
@media print{body>*:not(#ptPrintArea){display:none!important}#ptPrintArea{display:block!important}#ptPrintArea h1{font-size:22px}#ptPrintArea table{border-collapse:collapse;width:100%}#ptPrintArea td,#ptPrintArea th{border:1px solid #888;padding:4px 8px;font-size:12px;text-align:left}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.pt-teacher{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.pt-teacher summary{font-weight:800;color:var(--navy);cursor:pointer}.pt-teacher summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
