@font-face{font-family:shtur;src:url(/fonts/SHTUR-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:shtur;src:url(/fonts/SHTUR-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:block}@font-face{font-family:shtur;src:url(/fonts/SHTUR-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block}:root,:root[data-theme=light]{--bg: #ffffff;--surface: #ffffff;--sub: #f6f6f6;--sub2: #ededed;--line: #dcdcdc;--text: #232323;--muted: #727272;--accent: #c40808;--accent-press: #a40d0d;--on-accent: #ffffff;--primary-bg: #c40808;--primary-ink: #ffffff;--attention: #c40808;--ok: #232323;--chip-on-bg: #232323;--chip-on-ink: #ffffff;--nav: #ffffff;--scrim: rgba(35, 35, 35, .5);--logo: #232323;color-scheme:light}:root[data-theme=dark]{--bg: #232323;--surface: #2c2c2c;--sub: #363636;--sub2: #3f3f3f;--line: #4a4a4a;--text: #ffffff;--muted: #b9b9b9;--accent: #f3cece;--accent-press: #dcdcdc;--on-accent: #232323;--primary-bg: #ffffff;--primary-ink: #232323;--attention: #f3cece;--ok: #ffffff;--chip-on-bg: #ffffff;--chip-on-ink: #232323;--nav: #232323;--scrim: rgba(0, 0, 0, .6);--logo: #ffffff;color-scheme:dark}:root{--safe-top: max(env(safe-area-inset-top, 0px), calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px)));--safe-bottom: max(env(safe-area-inset-bottom, 0px), calc(var(--tg-safe-area-inset-bottom, 0px) + var(--tg-content-safe-area-inset-bottom, 0px)));--r-card: 16px;--r-ctl: 12px;--tap: 48px;--fast: .2s}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-family:shtur,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100vh;padding:calc(12px + var(--safe-top)) 16px calc(96px + var(--safe-bottom));max-width:560px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:12px}.stack.lg{gap:20px}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--muted)}.small{font-size:12px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h1{font-weight:700;font-size:22px;line-height:1.1;margin:0;letter-spacing:.01em}.h2{font-weight:700;font-size:17px;line-height:1.2;margin:0}.h3{font-weight:700;font-size:14px;margin:0}.section-title{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 0}.topbar{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--logo)}.topbar .logo{display:block}.topbar .who{margin-left:auto;font-size:12px;color:var(--muted);text-align:right;line-height:1.3}.page-head{display:flex;align-items:flex-end;gap:12px;margin:14px 0 4px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px}.card.flat{border:none;background:var(--sub)}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.item{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;background:var(--surface);border:none;border-bottom:1px solid var(--line);text-align:left;color:var(--text)}.list>.item:last-child{border-bottom:none}button.item:active{background:var(--sub)}.item .title{font-weight:700;font-size:15px;line-height:1.25}.item .sub{font-size:12px;color:var(--muted);line-height:1.35}.item .chev{color:var(--muted);flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.badge.outline{border:1px solid var(--line);color:var(--text)}.badge.solid{background:var(--chip-on-bg);color:var(--chip-on-ink)}.badge.attention{border:1px solid var(--attention);color:var(--attention)}.count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--primary-bg);color:var(--primary-ink);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.link{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.link i{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.link.ok{color:var(--text)}.link.ok i{background:var(--ok)}.link.bad{color:var(--attention)}.link.bad i{background:transparent;border:2px solid var(--attention);border-radius:1px;transform:rotate(45deg);width:7px;height:7px}.link.unknown{color:var(--muted)}.link.unknown i{border:1.5px solid var(--muted)}.mark{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--sub);color:var(--text);flex-shrink:0}.btn{min-height:var(--tap);border-radius:999px;padding:0 22px;border:1.5px solid transparent;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background var(--fast),border-color var(--fast),transform var(--fast)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary-bg);color:var(--primary-ink)}.btn-primary:active{background:var(--accent-press)}.btn-outline{background:transparent;color:var(--text);border-color:var(--text)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn-danger{background:transparent;color:var(--attention);border-color:var(--attention)}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 14px;font-size:12px}.btn[disabled]{opacity:.45;pointer-events:none}.icon-btn{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);color:var(--text)}.link-btn{background:none;border:none;color:var(--accent);font-weight:700;padding:6px 0;font-size:13px}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;border-radius:999px;background:var(--sub)}.seg button{min-height:38px;border-radius:999px;border:none;background:transparent;color:var(--text);font-weight:500;font-size:13px}.seg button[aria-pressed=true]{background:var(--chip-on-bg);color:var(--chip-on-ink);font-weight:700}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px}.chip[aria-pressed=true]{background:var(--chip-on-bg);color:var(--chip-on-ink);border-color:var(--chip-on-bg);font-weight:700}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.label{font-size:12px;font-weight:500;color:var(--muted)}.input{min-height:var(--tap);border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);padding:0 14px;font-size:16px;width:100%;min-width:0}textarea.input{padding:12px 14px;min-height:84px;resize:vertical}select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}.input:focus{outline:2px solid var(--text);outline-offset:-1px}.hint{font-size:12px;color:var(--muted)}.error{color:var(--attention);font-size:13px}.check{display:flex;align-items:flex-start;gap:12px;padding:4px 0}.check input{width:22px;height:22px;accent-color:var(--accent);margin:1px 0 0;flex-shrink:0}.grid2{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px}.result{border-radius:var(--r-ctl);padding:12px 14px;font-size:13px;border:1px solid var(--line)}.result.ok{border-color:var(--text)}.result.bad{border-color:var(--attention);color:var(--attention)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--nav);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom)}.nav-inner{max-width:560px;margin:0 auto;height:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.nav button{position:relative;border:none;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:500;min-height:56px;justify-content:center}.nav button[aria-current=page]{color:var(--text);font-weight:700}.nav button[aria-current=page]:before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}:root[data-theme=dark] .nav button[aria-current=page]:before{background:#fff}.nav .count{position:absolute;top:6px;left:calc(50% + 6px)}.sheet-scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:calc(100vh - var(--safe-top) - 12px);overflow-y:auto;background:var(--surface);border-radius:22px 22px 0 0;padding:10px 18px calc(22px + var(--safe-bottom));display:flex;flex-direction:column;gap:14px;animation:up var(--fast) ease-out}.sheet .grip{align-self:center;width:40px;height:4px;border-radius:999px;background:var(--line)}@keyframes up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.toast{position:fixed;left:16px;right:16px;bottom:calc(80px + var(--safe-bottom));z-index:60;max-width:520px;margin:0 auto;background:var(--text);color:var(--bg);border-radius:14px;padding:12px 16px;font-size:13px;display:flex;gap:12px;align-items:center;pointer-events:none}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;min-height:64vh}.empty{padding:28px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.skeleton{background:var(--sub);border-radius:var(--r-card);min-height:64px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.search{position:relative}.search .input{padding-left:42px;border-radius:999px;background:var(--sub);border-color:transparent}:root[data-theme=light] .search .input::placeholder{color:#232323;opacity:.6}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text)}.hero-dark{background:#232323;color:#fff;border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:14px}.hero-dark .logo{color:#fff}.hero-dark p{margin:0;color:#b9b9b9}.hero-dark .h1{color:#fff}.steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;counter-reset:s}.steps li{display:flex;gap:12px;align-items:flex-start}.steps li:before{counter-increment:s;content:counter(s);width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.viewer{position:fixed;inset:0;z-index:50;background:#111;color:#fff;display:flex;flex-direction:column}.viewer-bar{display:flex;align-items:center;gap:8px;padding:calc(8px + var(--safe-top)) 10px 8px;background:#232323;min-height:56px}.viewer-bar .icon-btn,.viewer-strip .icon-btn{width:40px;height:40px;background:transparent;border-color:#4a4a4a;color:#fff}.viewer-bar .icon-btn[aria-pressed=true],.viewer-strip .icon-btn[aria-pressed=true]{background:#fff;color:#232323;border-color:#fff}.viewer-title{min-width:0;flex:1 1 auto;line-height:1.2}.viewer-title b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title span{font-size:11px;color:#b9b9b9}.mode{display:inline-flex;padding:3px;border-radius:999px;background:#363636;gap:2px;flex-shrink:0}.mode button{border:none;background:transparent;color:#dcdcdc;font-size:12px;font-weight:500;min-height:34px;padding:0 12px;border-radius:999px}.mode button[aria-pressed=true]{background:#fff;color:#232323;font-weight:700}.mode button.ctl[aria-pressed=true]{background:#f3cece;color:#232323}.mode button[disabled]{opacity:.4}.viewer-screen{position:relative;flex:1 1 auto;overflow:hidden;touch-action:none}.viewer-screen>div{width:100%;height:100%}.viewer-strip{display:flex;align-items:center;gap:8px;padding:8px 10px calc(8px + var(--safe-bottom));background:#232323;font-size:12px;color:#b9b9b9}.viewer-strip .live{display:inline-flex;align-items:center;gap:6px;color:#fff}.viewer-strip .live i{width:8px;height:8px;border-radius:50%;background:#fff}.viewer-strip .live.control{color:#f3cece}.viewer-strip .live.control i{background:#f3cece;animation:pulse 1.4s ease-in-out infinite}.viewer-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:#111111e0}.viewer-overlay p{margin:0;color:#dcdcdc;max-width:340px}.viewer-overlay .btn-primary{background:#fff;color:#232323}.viewer-overlay .btn-outline{color:#fff;border-color:#fff}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid #4a4a4a;border-top-color:#fff;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.warn-card{border:1.5px solid var(--attention);border-radius:var(--r-card);padding:14px 16px}body>canvas{display:none!important}.viewer.minimized{display:none}.has-live .app{padding-bottom:calc(160px + var(--safe-bottom))}.live-chip{position:fixed;z-index:40;left:12px;right:12px;bottom:calc(76px + var(--safe-bottom));max-width:536px;margin:0 auto;display:flex;align-items:stretch;background:#232323;color:#fff;border-radius:14px;box-shadow:0 6px 20px #00000040;overflow:hidden}.live-chip-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 14px;background:none;border:none;color:inherit;text-align:left;font:inherit}.live-chip-main span{min-width:0;line-height:1.25}.live-chip-main b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-chip-main small{font-size:12px;color:#dcdcdc}.live-chip-x{flex:0 0 52px;background:none;border:none;border-left:1px solid #4a4a4a;color:#fff;display:flex;align-items:center;justify-content:center}.live-chip i,.rail-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#b9b9b9}.live-chip i.on,.rail-dot.on{background:#fff}.live-chip i.ctl,.rail-dot.ctl{background:#f3cece}.live-chip i.wait,.rail-dot.wait{background:#b9b9b9;animation:pulse 1s ease-in-out infinite}.live-chip i.off,.rail-dot.off{background:transparent;border:2px solid #b9b9b9}.viewer-rail{display:none;flex:0 0 auto;flex-direction:column;align-items:center;gap:10px;padding:10px 8px;background:#232323;overflow-y:auto}.viewer-rail .icon-btn{width:60px;height:54px;flex-direction:column;gap:2px;border-radius:12px;background:transparent;border-color:#4a4a4a;color:#fff}.viewer-rail .icon-btn small{font-size:10px;line-height:1;font-weight:500}.viewer-rail .icon-btn[aria-pressed=true],.viewer-rail .rail-exit{background:#fff;color:#232323;border-color:#fff}.viewer-rail .rail-dot{margin:4px 0 2px}@media (orientation: landscape) and (max-height: 600px){.viewer{flex-direction:row;background:#000}.viewer-bar,.viewer-strip{display:none}.viewer-rail{display:flex;padding-left:max(8px,env(safe-area-inset-left))}.viewer-screen{padding-right:env(safe-area-inset-right)}}.viewer.rotated{inset:0 auto auto;left:var(--app-w, 100vw);width:var(--app-h, 100vh);height:var(--app-w, 100vw);transform-origin:top left;transform:rotate(90deg) translateZ(0);will-change:transform;backface-visibility:hidden;background:#000;flex-direction:row}.viewer.rotated .viewer-bar,.viewer.rotated .viewer-strip{display:none}.viewer.rotated .viewer-rail{display:flex;padding-left:calc(8px + var(--safe-top))}.viewer.rotated .viewer-screen{padding-right:var(--safe-bottom)}.viewer-screen{contain:layout paint}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
