.tube-tool [hidden]{display:none!important}.tube-tool{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;padding:24px}.tube-jump,.tube-actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.tube-jump a{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 12px}.tube-card{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:18px;padding:24px;scroll-margin-top:22px}.tube-card h2{font-size:1.5rem}.tube-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;display:grid}.tube-tool label{margin:12px 0 5px;font-weight:700;display:block}.tube-tool input,.tube-tool select,.tube-tool textarea{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:10px}.tube-tool input[type=text],.tube-tool textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.tube-help,.tube-privacy{color:var(--muted);margin:7px 0 15px;font-size:.9rem}.tube-callout{background:#fff7ed;border-left:4px solid #c36427;padding:12px 14px}.tube-tool button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:7px;margin:12px 8px 0 0;padding:10px 14px;font-weight:650}.tube-tool button.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.tube-tool button:hover{border-color:var(--accent)}.tube-tool button:disabled{opacity:.55;cursor:not-allowed}.tube-tool :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.tube-tool [role=status]{margin:18px 0 8px;font-weight:650}.tube-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.tube-results>div{background:var(--surface-soft);border-radius:8px;min-width:0;padding:14px}.tube-results dt{color:var(--muted);font-size:.85rem}.tube-results dd{overflow-wrap:anywhere;margin:4px 0 0;font:700 1.05rem ui-monospace,SFMono-Regular,Consolas,monospace}.tube-profile{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;width:100%;height:300px;margin:18px 0;display:block}.tube-profile .tube-cut-line{fill:none;stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke}.tube-profile .tube-end-line{stroke:#69778c;stroke-width:2px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.tube-profile .tube-clock-line{stroke:#b8c1ce;stroke-width:1px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.tube-orientation{color:var(--muted);text-align:center;grid-template-columns:repeat(5,1fr);font-size:.8rem;display:grid}.tube-scroll{max-height:560px;overflow:auto}.tube-tool table{border-collapse:collapse;width:100%;min-width:650px;font-size:.9rem}.tube-tool th,.tube-tool td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 8px}.tube-tool th{color:var(--muted);font-weight:700}.tube-guide{padding-top:42px}.tube-print-only{display:none}@page tube-a4-landscape{size:A4 landscape;margin:15mm}@page tube-a4-portrait{size:A4 portrait;margin:15mm}@page tube-letter-landscape{size:letter landscape;margin:15mm}@page tube-letter-portrait{size:letter portrait;margin:15mm}@media print{.site-header,.site-footer,.skip-link,main>:not(.tube-print-only){display:none!important}body,main{background:#fff!important;margin:0!important;padding:0!important}.tube-print-only{display:block!important}.tube-print-page{box-sizing:border-box;width:var(--tube-page-width);height:var(--tube-page-height);break-after:page;color:#111;background:#fff;font-family:Arial,sans-serif;overflow:hidden}.tube-print-page:last-child{break-after:auto}.tube-print-page.a4-landscape{page:tube-a4-landscape}.tube-print-page.a4-portrait{page:tube-a4-portrait}.tube-print-page.letter-landscape{page:tube-letter-landscape}.tube-print-page.letter-portrait{page:tube-letter-portrait}.tube-tile-heading{white-space:nowrap;height:7mm;font-size:7pt;line-height:7mm}.tube-print-svg{display:block;overflow:hidden}.tube-print-cut{fill:none;stroke:#111;stroke-width:.35px}.tube-print-end{stroke:#777;stroke-width:.2px;stroke-dasharray:4 2}.tube-print-station{fill:none;stroke:#555;stroke-width:.2px}.tube-print-register{fill:none;stroke:#999;stroke-width:.25px}.tube-tile-footer{flex-direction:column;gap:1mm;padding-top:2mm;font-size:7pt;display:flex}.tube-tile-footer svg{width:100mm;height:3mm;display:block}.tube-print-scale{fill:none;stroke:#111;stroke-width:.25px}}@media (width<=700px){.tube-tool{padding:12px}.tube-card{padding:16px}.tube-fields,.tube-results{grid-template-columns:1fr}.tube-profile{height:210px}}
