.ho{--chrome:#1e1e1e;--panel:#2c2c2c;--panel-2:#383838;--line:#444;--txt:#e6e6e6;--muted:#a0a0a0;--green:#14ae5c;--green-2:#0f8a49;--green-soft:rgba(20,174,92,0.16);--red:#f24822;--canvas:#e6e6e6;position:relative;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;color:var(--txt)}.ho-app{overflow:hidden;border-radius:14px;background:var(--panel);border:1px solid #111;box-shadow:0 40px 80px -40px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04);transition:filter .3s}.ho-app.dim{filter:blur(2px) saturate(.8)}.ho-bar{gap:12px;height:46px;padding:0 10px;background:var(--chrome);border-bottom:1px solid #000}.ho-bar,.ho-bar-l,.ho-bar-r{display:flex;align-items:center}.ho-bar-l,.ho-bar-r{gap:10px}.ho-bar-r{margin-left:auto}.ho-logo{display:grid;grid-template-columns:8px 8px;gap:1px;padding:6px;border-radius:6px}.ho-logo i{width:8px;height:8px;background:#fff;border-radius:50% 0 0 50%}.ho-logo i:nth-child(2){border-radius:50%;background:var(--green)}.ho-logo i:nth-child(3){border-radius:50% 0 0 50%;opacity:.6}.ho-logo i:nth-child(4){display:none}.ho-logo i:nth-child(5){border-radius:50% 0 50% 50%;opacity:.35}.ho-tools{display:none;gap:2px}@media (min-width:720px){.ho-tools{display:flex}}.ho-tools b{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;font-weight:500;font-size:14px;color:var(--txt)}.ho-tools b.on{background:var(--green);color:#fff}.ho-file{flex:1;min-width:0;text-align:center;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ho-file b{color:var(--txt);font-weight:600}.ho-file em{font-style:normal;margin-left:8px;padding:2px 6px;border-radius:4px;background:var(--panel-2);color:var(--txt);font-size:11px}.ho-avs{display:none}@media (min-width:900px){.ho-avs{display:flex}.ho-avs .ho-av{margin-left:-6px;box-shadow:0 0 0 2px var(--chrome)}}.ho-av{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-weight:700;line-height:1}.ho-av.more{width:24px;height:24px;font-size:10px;background:var(--panel-2)}.ho-av.you{width:20px;height:20px;font-size:7.5px}.ho-av.you,.ho-ship{background:var(--green)}.ho-ship{height:30px;padding:0 12px;border-radius:6px;color:#fff;font-weight:600;font-size:12.5px;white-space:nowrap;transition:background-color .2s,opacity .2s}.ho-ship:disabled{background:var(--panel-2);color:var(--muted)}.ho-ship:not(:disabled){animation:ho-glow 1.6s ease-in-out infinite}@keyframes ho-glow{50%{box-shadow:0 0 0 5px rgba(20,174,92,.3)}}.ho-main{display:grid;grid-template-areas:"canvas" "left" "right"}.ho-left{grid-area:left}.ho-left,.ho-right{border-top:1px solid #111}.ho-right{grid-area:right}.ho-canvas{grid-area:canvas}@media (min-width:1024px){.ho-main{grid-template-areas:"left canvas right";grid-template-columns:268px minmax(0,1fr) 260px;height:800px}.ho-left{border-right:1px solid #111}.ho-left,.ho-right{border-top:0;overflow-y:auto}.ho-right{border-left:1px solid #111}}.ho-left,.ho-right,.ho-tabs{background:var(--panel)}.ho-tabs{position:sticky;top:0;z-index:2;display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line)}.ho-tabs button{padding:5px 9px;border-radius:5px;font-weight:600;font-size:12.5px;color:var(--muted)}.ho-tabs button.on{color:var(--txt);background:var(--panel-2)}.ho-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:10.5px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.ho-layers{padding:6px 0}.ho-layers li button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;text-align:left;font-size:12.5px;color:var(--txt)}.ho-layers li button:hover{background:rgba(255,255,255,.05)}.ho-layers li.on button{background:var(--green-soft);box-shadow:inset 2px 0 0 var(--green)}.ho-layers li.frame button{font-weight:600}.ho-li{display:inline-grid;place-items:center;width:16px;font-size:12px;color:var(--muted)}.ho-li.instance{color:#b18cff}.ho-li.auto{color:var(--green)}.ho-threads li{border-bottom:1px solid var(--line)}.ho-thread-h{display:flex;gap:10px;width:100%;padding:12px;text-align:left;align-items:flex-start}.ho-thread-h:hover{background:rgba(255,255,255,.04)}.ho-thread-meta{flex:1;min-width:0;font-size:12.5px}.ho-thread-meta small{color:var(--muted);font-size:11px}.ho-thread-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;color:#cfcfcf;line-height:1.45}.open .ho-thread-text{-webkit-line-clamp:unset;color:var(--txt)}.resolved .ho-thread-h{opacity:.55}.resolved.open .ho-thread-h{opacity:1}.ho-tick{place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;flex:none}.ho-bounce,.ho-tick{display:grid;font-size:11px;font-weight:700}.ho-bounce{place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--panel-2);color:#ffb199;flex:none}.ho-thread-body{padding:0 12px 14px 48px;animation:ho-in .26s ease}.ho-on-layer{font-size:11px;color:var(--muted);margin-bottom:8px}.ho-on-layer b{color:var(--green);font-weight:600}.ho-reply{display:flex;gap:8px;margin:8px 0;animation:ho-in .3s cubic-bezier(.2,1.3,.5,1)}.ho-reply p{padding:7px 10px;border-radius:10px;background:var(--panel-2);line-height:1.45;font-size:12.5px}.ho-reply.you p{background:var(--green-soft)}.ho-typing{display:flex;gap:4px;align-items:center;height:30px}.ho-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:ho-dot 1s ease-in-out infinite}.ho-typing i:nth-child(2){animation-delay:.15s}.ho-typing i:nth-child(3){animation-delay:.3s}@keyframes ho-dot{50%{transform:translateY(-4px);opacity:.4}}@keyframes ho-in{0%{opacity:0;transform:translateY(6px)}}.ho-resolve{margin-top:8px;height:32px;padding:0 14px;border-radius:6px;background:var(--green);color:#fff;font-weight:600;font-size:12.5px;transition:background-color .15s,transform .12s}.ho-resolve:hover:not(:disabled){background:var(--green-2)}.ho-resolve:active:not(:disabled){transform:scale(.97)}.ho-resolve:disabled{opacity:.5}.ho-lesson{margin-top:10px;padding:12px;border-radius:8px;border:1px solid rgba(20,174,92,.45);background:rgba(20,174,92,.08)}.ho-lesson b{display:block;color:#5be09a;font-size:12.5px}.ho-lesson p{margin-top:4px;color:#d8d8d8;font-size:12.5px;line-height:1.5}.ho-btn-ghost{margin-top:10px;font-weight:600;font-size:12.5px;color:var(--green)}.ho-btn-ghost:hover{text-decoration:underline}.ho-canvas{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 12px 36px;overflow:hidden;background:radial-gradient(#c4c4c4 1px,transparent 1.3px) 0 0 /18px 18px,var(--canvas);color:#1e1e1e;min-height:420px}@media (min-width:1024px){.ho-canvas{overflow:auto;padding:22px 28px 40px}}.ho-canvas-top{align-self:stretch;display:flex;justify-content:space-between;margin-bottom:6px;font-size:11.5px;color:#7a7a7a}.ho-zoom{padding:1px 6px;border-radius:4px;background:rgba(0,0,0,.06)}.ho-frame-wrap{position:relative;flex:none}.ho-frame{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .3s ease}.ho-cursor{position:absolute;z-index:6;pointer-events:none;display:flex;align-items:flex-start}.ho-cursor svg{width:18px;height:18px;fill:var(--pc);stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.ho-cursor b{margin:14px 0 0 -2px;padding:2px 6px;border-radius:4px 10px 10px 10px;background:var(--pc);color:#fff;font-size:11px;font-weight:600}.ho-cursor.c1{left:70%;top:30%;animation:ho-c1 11s ease-in-out infinite}.ho-cursor.c2{left:12%;top:70%;animation:ho-c2 13s ease-in-out infinite}@keyframes ho-c1{0%,to{translate:0 0}25%{translate:-60px 80px}50%{translate:30px 200px}75%{translate:40px 40px}}@keyframes ho-c2{0%,to{translate:0 0}30%{translate:80px -140px}60%{translate:20px -60px}80%{translate:110px 10px}}.ho-toast{position:absolute;z-index:7;left:50%;bottom:14px;translate:-50% 0;padding:9px 14px;border-radius:8px;background:#1e1e1e;color:#fff;font-weight:600;font-size:12.5px;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.3);animation:ho-toast 2.6s ease both}@keyframes ho-toast{0%{opacity:0;translate:-50% 12px}10%,85%{opacity:1;translate:-50% 0}to{opacity:0}}.ho-screen{--k-ink:#1d2433;--k-sub:#5f6675;--k-brand:#1c6e8c;--k-bg:#fbf8f3;--k-line:#e7e2d9;position:relative;background:var(--k-bg);color:var(--k-ink);border-radius:0;box-shadow:0 1px 3px rgba(0,0,0,.12),0 12px 40px -12px rgba(0,0,0,.25);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.45;transition:width .4s cubic-bezier(.3,1.2,.5,1);cursor:default}.ho-status{display:flex;justify-content:space-between;padding:12px 24px 6px;font-weight:600;font-size:14px}.ho-status-r{font-size:10px;letter-spacing:1px}.ho-appbar{justify-content:space-between;padding:6px 20px 10px;font-size:22px;color:var(--k-ink)}.ho-appbar,.ho-brand{display:flex;align-items:center}.ho-brand{gap:6px;font-size:14px;font-weight:700;letter-spacing:.02em}.ho-brand i{width:14px;height:14px;border-radius:50% 50% 50% 0;background:var(--k-brand)}.ho-body{display:flex;flex-direction:column;gap:14px;padding:4px 20px 20px}.ho-body h3{transition:font-size .25s ease,font-weight .25s}.ho-sub{margin-top:-10px;font-size:16px;color:var(--k-sub)}.ho-layer{position:relative}.ho-layer:hover:not(.on):not(:has(.ho-layer:hover)){box-shadow:0 0 0 1.5px rgba(20,174,92,.7)}.ho-selbox{inset:-2px;z-index:3;pointer-events:none}.ho-selbox,.ho-selbox i{position:absolute;border:1.5px solid var(--green)}.ho-selbox i{width:7px;height:7px;background:#fff}.ho-selbox .tl{left:-4px;top:-4px}.ho-selbox .tr{right:-4px;top:-4px}.ho-selbox .bl{left:-4px;bottom:-4px}.ho-selbox .br{right:-4px;bottom:-4px}.ho-dims{position:absolute;left:50%;bottom:-24px;translate:-50% 0;padding:1px 5px;border-radius:3px;background:var(--green);color:#fff;font:600 10.5px/1.5 Inter,system-ui,sans-serif;white-space:nowrap}.ho-card{background:#fff;border:1px solid var(--k-line);border-radius:16px;display:flex;flex-direction:column;gap:12px;transition:padding .3s ease}.ho-card-h{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--k-sub)}.ho-rows{display:grid;gap:8px;font-size:15px}.ho-row{display:flex;justify-content:space-between;gap:10px}.ho-price{font-variant-numeric:tabular-nums;font-weight:600}.ho-total{padding-top:8px;border-top:1px dashed var(--k-line);font-weight:700}.ho-redlines{position:absolute;inset:0;z-index:2;pointer-events:none}.ho-redlines i{position:absolute;background:rgba(242,72,34,.12)}.ho-redlines i:after{content:"";position:absolute;background:var(--red)}.ho-redlines .b,.ho-redlines .t{left:0;right:0}.ho-redlines .t{top:0}.ho-redlines .b{bottom:0}.ho-redlines .b:after,.ho-redlines .t:after{left:50%;top:0;bottom:0;width:1px}.ho-redlines .l,.ho-redlines .r{top:0;bottom:0}.ho-redlines .l{left:0}.ho-redlines .r{right:0}.ho-redlines .l:after,.ho-redlines .r:after{top:50%;left:0;right:0;height:1px}.ho-redlines em{position:absolute;z-index:1;padding:0 4px;border-radius:3px;background:var(--red);color:#fff;font:600 10px/1.5 Inter,system-ui,sans-serif;font-style:normal}.ho-redlines .b em,.ho-redlines .t em{left:calc(50% + 4px);top:50%;translate:0 -50%}.ho-redlines .l em,.ho-redlines .r em{top:calc(50% + 4px);left:50%;translate:-50% 0}.ho-cp-wrap{font-size:14px;color:#1f7a4a}.ho-cp-price,.ho-cp-text b{font-weight:700}.ho-cp-price{font-variant-numeric:tabular-nums}.ho-cp.abs{position:relative;height:20px}.ho-cp.abs .ho-cp-text{position:absolute;left:0;top:0;white-space:nowrap}.ho-cp.abs .ho-cp-price{position:absolute;right:0;top:0}.ho-cp.al{display:flex;gap:8px;align-items:baseline}.ho-cp.al.vertical{flex-direction:column;gap:2px}.ho-cp.t-Fill .ho-cp-text{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.ho-cp.t-Hug .ho-cp-text{flex:none;white-space:nowrap}.ho-cp.t-Fixed .ho-cp-text{flex:none;width:120px;overflow-wrap:anywhere}.ho-cp.p-Hug .ho-cp-price{flex:none}.ho-cp.p-Fill .ho-cp-price{flex:1 1 0;text-align:right}.ho-cp.p-Fixed .ho-cp-price{flex:none;width:40px;overflow:hidden;white-space:nowrap}.ho-cp.vertical .ho-cp-price,.ho-cp.vertical .ho-cp-text{width:auto;flex:none}.ho-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}.ho-input{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 14px;border:2px solid #e03131;border-radius:12px;background:#fff;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ho-err-ic{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#c92a2a;color:#fff;font-size:13px;font-weight:800;flex:none}.ho-err-ic.sm{width:16px;height:16px;font-size:11px;margin-right:6px;vertical-align:-3px}.ho-helper{margin-top:6px;font-size:14px;color:#c92a2a;animation:ho-in .26s ease}.ho-actions{position:relative;display:grid;gap:10px;padding:18px 0 30px;border-top:1px solid var(--k-line);background:#fff}.ho-btnrow{position:relative;height:52px}.ho-btn.ho-layer{position:absolute;top:0;height:52px;display:grid;place-items:center;border-radius:12px;font-weight:700;font-size:16px;transition:left .4s cubic-bezier(.3,1.2,.5,1),right .4s cubic-bezier(.3,1.2,.5,1),width .4s cubic-bezier(.3,1.2,.5,1),background-color .2s,color .2s,box-shadow .2s}.ho-btn.v-Primary{background:var(--k-brand);color:#fff}.ho-btn.v-Secondary{background:#fff;color:var(--k-brand);box-shadow:inset 0 0 0 1.5px var(--k-brand)}.ho-btn.v-Tertiary{background:transparent;color:var(--k-brand);text-decoration:underline;text-underline-offset:4px}.ho-home{justify-self:center;width:134px;height:5px;border-radius:3px;background:var(--k-ink);margin-top:6px}.ho-pin{position:absolute;top:-16px;z-index:5;display:grid;place-items:center;width:28px;height:28px;padding:0;border-radius:50% 50% 50% 0;background:var(--pc);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.28);transition:transform .2s cubic-bezier(.3,1.6,.5,1);animation:ho-pin .5s cubic-bezier(.3,1.6,.5,1) both}.ho-pin span{color:#fff;font:700 12px/1 Inter,system-ui,sans-serif}.ho-pin:hover{transform:scale(1.12)}.ho-pin.active{transform:scale(1.22);box-shadow:0 0 0 4px rgba(20,174,92,.45),0 2px 8px rgba(0,0,0,.3)}@keyframes ho-pin{0%{transform:scale(0) translateY(10px)}}.ho-layer-name{padding:10px 14px 4px;font-weight:600;font-size:12.5px}.ho-sec{padding:12px 14px;border-bottom:1px solid var(--line)}.ho-sec h4{margin-bottom:8px;font-weight:600;font-size:12px}.ho-sec.hot{background:linear-gradient(90deg,rgba(20,174,92,.1),transparent 70%);box-shadow:inset 2px 0 0 var(--green)}.ho-sec.hot h4:after{content:"  ●";color:var(--green);font-size:9px;vertical-align:2px}.ho-field-row{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:8px;margin:6px 0;font-size:12px;color:var(--muted)}.ho-static{color:var(--txt);display:inline-flex;align-items:center;gap:6px}.ho-sw{width:14px;height:14px;border-radius:3px;border:1px solid var(--line)}.ho-select{width:100%;height:30px;padding:0 26px 0 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2);color:var(--txt);font:inherit;font-size:12.5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a0a0a0' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.ho-select:hover{border-color:#666}.ho-segs{display:flex;padding:2px;border-radius:6px;background:var(--panel-2);gap:2px}.ho-segs button{flex:1;display:grid;place-items:center;height:26px;border-radius:4px;color:var(--muted);font-size:12px;font-weight:600}.ho-segs button.on{background:#4a4a4a;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.4)}.ho-switch{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:12.5px;color:var(--txt)}.ho-switch i{position:relative;width:28px;height:16px;border-radius:999px;background:#555;transition:background-color .2s;flex:none}.ho-switch i:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.ho-switch.on i{background:var(--green)}.ho-switch.on i:after{transform:translateX(12px)}.ho-pad{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ho-num{display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2)}.ho-num span{color:var(--muted);font-size:12px;width:12px}.ho-num input{width:100%;min-width:0;background:transparent;color:var(--txt);font:inherit;font-size:12.5px;border:0;outline:none}.ho-note{margin-top:8px;font-size:11.5px;color:var(--muted);line-height:1.45}.ho-sub-h{margin:10px 0 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ho-empty{padding:14px;font-size:12.5px;line-height:1.5;color:var(--muted)}.ho-cons{display:grid;grid-template-columns:60px 1fr;gap:10px;align-items:center}.ho-cons .ho-field-row{grid-template-columns:1fr;gap:3px;margin:3px 0}.ho-cbox rect{fill:var(--panel-2);stroke:var(--line)}.ho-cbox rect.inner{fill:#555;stroke:none}.ho-cbox line,.ho-cbox path{stroke:#666;stroke-width:2;stroke-linecap:round;stroke-dasharray:2 3}.ho-cbox .on{stroke:var(--green);stroke-dasharray:none}.ho-code{margin:10px 14px;padding:12px;border-radius:8px;background:#1a1a1a;border:1px solid var(--line);overflow-x:auto;font:12px/1.6 ui-monospace,SF Mono,Menlo,monospace;color:#b5f5cf;white-space:pre}.ho-modal{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:rgba(15,15,15,.4);border-radius:14px;animation:ho-fade .26s ease}@keyframes ho-fade{0%{opacity:0}}.ho-modal-card{width:min(520px,100%);max-height:calc(100% - 8px);overflow-y:auto;padding:26px;border-radius:14px;background:#fff;color:#1e1e1e;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);animation:ho-pop .36s cubic-bezier(.2,1.3,.5,1)}.ho-modal-card.wide{width:min(640px,100%)}@keyframes ho-pop{0%{opacity:0;transform:translateY(16px) scale(.97)}}.ho-kicker{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#6b6b6b}.ho-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(20,174,92,.18)}.ho-h1{margin-top:10px;font-size:clamp(40px,7vw,56px);font-weight:800;letter-spacing:-.035em;line-height:1}.ho-h1.sm{font-size:clamp(30px,5vw,40px)}.ho-intro{margin-top:12px;font-size:15px;line-height:1.6;color:#444}.ho-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:18px}.ho-team li{display:flex;align-items:center;gap:8px;font-size:12.5px}.ho-principles b,.ho-team b{display:block}.ho-principles small,.ho-team small{display:block;color:#777;font-size:11.5px}.ho-tips{display:grid;gap:6px;margin-top:18px;padding:12px;border-radius:10px;background:#f3f3f3;font-size:13px}.ho-tips li{display:flex;align-items:center;gap:10px}.ho-tips span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#1e1e1e;font-size:11px;flex:none}.ho-primary,.ho-tips span{color:#fff;font-weight:700}.ho-primary{margin-top:20px;height:40px;padding:0 18px;border-radius:8px;background:var(--green);font-size:14px;transition:background-color .15s,transform .12s}.ho-primary:hover{background:var(--green-2)}.ho-primary:active{transform:scale(.97)}.ho-secondary{height:40px;padding:0 16px;border-radius:8px;border:1px solid #d0d0d0;font-weight:600;font-size:14px;color:#1e1e1e}.ho-secondary:hover{background:#f3f3f3}.ho-link{font-weight:600;font-size:13.5px;color:#1e1e1e;text-decoration:underline;text-underline-offset:3px}.ho-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.ho-stats div{padding:12px;border-radius:10px;background:#f3f3f3}.ho-stats b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--green-2)}.ho-stats b small{font-size:15px;color:#888;font-weight:600}.ho-stats span{font-size:12px;color:#555}.ho-principles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:16px}.ho-principles li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid #e3e3e3;font-size:12.5px;animation:ho-in .4s ease both}.ho-principles li.first{border-color:rgba(20,174,92,.5);background:rgba(20,174,92,.06)}.ho-principles li:nth-child(2){animation-delay:50ms}.ho-principles li:nth-child(3){animation-delay:.1s}.ho-principles li:nth-child(4){animation-delay:.15s}.ho-principles li:nth-child(5){animation-delay:.2s}.ho-principles li:nth-child(6){animation-delay:.25s}.ho-principles li:nth-child(7){animation-delay:.3s}.ho-principles li:nth-child(8){animation-delay:.35s}.ho-end-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px}.ho-end-btns .ho-primary{margin-top:0}@media (prefers-reduced-motion:reduce){.ho *,.ho :after,.ho :before{animation:none!important;transition:none!important}.ho-cursor{display:none}}.ho-modal{align-items:start;padding-top:32px}@media (min-width:1024px){.ho-modal{align-items:center;padding-top:16px}}.tf{--ui:#ffffff;--ui-2:#f5f5f5;--line:#e6e6e6;--txt:#1e1e1e;--muted:#757575;--blue:#0d99ff;--blue-2:#007be5;--blue-soft:#e5f4ff;--rec:#f24822;--ok:#14ae5c;position:relative;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;color:var(--txt)}.tf-app{overflow:hidden;border-radius:14px;border:1px solid #d9d9d9;background:var(--ui);box-shadow:0 40px 80px -40px rgba(0,0,0,.35);transition:filter .3s}.tf-app.dim{filter:blur(2px) saturate(.85)}.tf-bar{display:flex;align-items:center;gap:12px;height:46px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--ui)}.tf-mark{display:grid;grid-template-columns:repeat(3,7px);gap:2px}.tf-mark i{width:7px;height:14px;border-radius:4px;background:var(--blue)}.tf-mark i:nth-child(2){background:#9747ff}.tf-mark i:nth-child(3){background:var(--rec)}.tf-file{min-width:0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-file b{color:var(--txt);font-weight:600}.tf-modes{display:none;margin:0 auto;padding:2px;border-radius:7px;background:var(--ui-2);font-size:12px;font-weight:600}@media (min-width:720px){.tf-modes{display:flex}}.tf-modes span{padding:4px 10px;border-radius:5px;color:var(--muted)}.tf-modes span.on{background:#fff;color:var(--txt);box-shadow:0 1px 2px rgba(0,0,0,.12)}.tf-bar-r{gap:10px;margin-left:auto}.tf-bar-r,.tf-rec{display:flex;align-items:center}.tf-rec{gap:6px;padding:4px 9px;border-radius:999px;background:#fff0ed;color:var(--rec);font-weight:700;font-size:11.5px;font-variant-numeric:tabular-nums}.tf-rec i{width:8px;height:8px;border-radius:50%;background:var(--rec);animation:tf-blink 1s steps(2) infinite}@keyframes tf-blink{50%{opacity:.2}}.tf-pts{padding:4px 10px;border-radius:6px;background:var(--blue);color:#fff;font-weight:700;font-size:12.5px}.tf-pts small{opacity:.75;font-weight:600}.tf-main{display:grid;grid-template-areas:"canvas" "right" "left";grid-template-columns:minmax(0,1fr)}.tf-left{grid-area:left}.tf-left,.tf-right{border-top:1px solid var(--line)}.tf-right{grid-area:right}.tf-canvas{grid-area:canvas}@media (min-width:1100px){.tf-main{grid-template-areas:"left canvas right";grid-template-columns:250px minmax(0,1fr) 320px;height:820px}.tf-left{border-right:1px solid var(--line)}.tf-left,.tf-right{border-top:0;overflow-y:auto}.tf-right{border-left:1px solid var(--line)}}button:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.tf-panel-h{display:flex;justify-content:space-between;padding:12px 14px 8px;font-weight:600;font-size:12px}.tf-panel-h span{color:var(--muted);font-weight:500}.tf-sessions li button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;text-align:left}.tf-sessions li button:hover:not(:disabled){background:var(--ui-2)}.tf-sessions li button:disabled{opacity:.45}.tf-sessions li.on button{background:var(--blue-soft);box-shadow:inset 2px 0 0 var(--blue);opacity:1}.tf-s-meta{flex:1;min-width:0}.tf-s-meta b{display:block;font-size:12.5px;font-weight:600}.tf-s-meta small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-s-dot{width:8px;height:8px;border-radius:50%;background:#d9d9d9;flex:none}.tf-s-dot.bad{background:var(--rec)}.tf-s-dot.ok{background:var(--ok)}.tf-av{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;color:#fff;font-weight:700;font-size:12px}.tf-av.big{width:38px;height:38px;font-size:16px}.tf-canvas{position:relative;overflow:hidden;height:680px;background:radial-gradient(#d4d4d4 1px,transparent 1.3px) 0 0 /20px 20px,#f0f0f0}@media (min-width:1100px){.tf-canvas{height:auto}}.tf-world{transform-origin:0 0;transition:transform .7s cubic-bezier(.3,.9,.2,1)}.tf-noodles,.tf-world{position:absolute;left:0;top:0}.tf-noodles{overflow:visible;pointer-events:none}.tf-noodle{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-dasharray:7 6;animation:tf-flow 1.2s linear infinite}.tf-noodle-dot{fill:#fff;stroke:var(--blue);stroke-width:2.5}@keyframes tf-flow{to{stroke-dashoffset:-26}}.tf-frame{position:absolute;top:0;transition:opacity .4s,filter .4s;opacity:.55;filter:saturate(.6)}.tf-frame.active{opacity:1;filter:none}.tf-frame-name{position:absolute;top:-22px;left:0;font-size:12px;color:var(--muted);font-weight:500}.tf-frame.active .tf-frame-name{color:var(--blue);font-weight:600}.tf-frame-inner{position:relative;width:100%;height:100%;overflow:hidden;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 20px 40px -20px rgba(0,0,0,.3)}.tf-frame.active .tf-frame-inner{box-shadow:0 0 0 2px var(--blue),0 20px 50px -18px rgba(13,153,255,.45)}.tf-board{position:absolute;left:0;padding:22px;border-radius:18px;background:rgba(255,255,255,.75);border:1.5px dashed #c7c7c7;min-height:260px}.tf-board-h{font-weight:700;font-size:22px;letter-spacing:-.02em;margin-bottom:14px}.tf-board-empty{font-size:18px;color:var(--muted)}.tf-stickies{display:flex;flex-wrap:wrap;gap:18px}.tf-sticky{width:220px;min-height:180px;padding:16px;border-radius:4px;box-shadow:0 6px 14px -6px rgba(0,0,0,.25);animation:tf-stick .5s cubic-bezier(.3,1.5,.5,1) both}.tf-sticky:nth-child(odd){rotate:-1.5deg}.tf-sticky:nth-child(2n){rotate:1.2deg}.tf-sticky small{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.6}.tf-sticky b{display:block;margin-top:6px;font-size:17px;line-height:1.2}.tf-sticky p{margin-top:6px;font-size:13.5px;line-height:1.4}.tf-sticky em{display:block;margin-top:8px;font-style:normal;font-size:12px;opacity:.65}.tf-sticky.sev-Critical{background:#ffc9c9}.tf-sticky.sev-Major{background:#ffd8a8}.tf-sticky.sev-Minor{background:#fff3bf}.tf-sticky.sev-Cosmetic{background:#d3f9d8}@keyframes tf-stick{0%{transform:scale(.4) translateY(30px);opacity:0}}.tf-cam{position:absolute;left:12px;bottom:12px;z-index:4;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 6px 20px -6px rgba(0,0,0,.25);font-size:12px}.tf-cam b{display:block;font-size:12.5px}.tf-cam small{color:var(--muted)}.tf-cam.live .tf-av{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--rec)}.tf-wave{display:flex;align-items:center;gap:2px;height:18px}.tf-wave i{width:3px;height:6px;border-radius:2px;background:var(--rec);animation:tf-wave .7s ease-in-out infinite}.tf-wave i:nth-child(2){animation-delay:.1s}.tf-wave i:nth-child(3){animation-delay:.25s}.tf-wave i:nth-child(4){animation-delay:.4s}@keyframes tf-wave{50%{height:16px}}.tf-canvas-tools{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;gap:8px;padding:4px;border-radius:8px;background:#fff;box-shadow:0 4px 14px -4px rgba(0,0,0,.2);font-size:12px;color:var(--muted)}.tf-canvas-tools button{padding:5px 9px;border-radius:5px;font-weight:600;color:var(--txt)}.tf-canvas-tools button:hover:not(:disabled){background:var(--ui-2)}.tf-canvas-tools span{padding-right:6px;font-variant-numeric:tabular-nums}.tf-finger{position:absolute;z-index:30;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:rgba(40,40,40,.28);border:2px solid rgba(255,255,255,.9);box-shadow:0 4px 12px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:left .65s cubic-bezier(.4,.1,.2,1),top .65s cubic-bezier(.4,.1,.2,1),opacity .3s,transform .16s}.tf-finger.on{opacity:1}.tf-finger.press{transform:scale(.78);background:rgba(13,153,255,.45)}.tf-ripple{position:absolute;z-index:29;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:3px solid var(--blue);pointer-events:none;animation:tf-ripple .65s ease-out forwards}.tf-ripple.miss{border-color:var(--rec)}@keyframes tf-ripple{to{transform:scale(4.5);opacity:0}}.tf-heat{position:absolute;z-index:28;display:grid;place-items:center;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:rgba(13,153,255,.85);color:#fff;font-size:10.5px;font-weight:700;box-shadow:0 0 0 6px rgba(13,153,255,.2);pointer-events:none;animation:tf-stick .3s ease both}.tf-heat.miss{background:rgba(242,72,34,.9);box-shadow:0 0 0 6px rgba(242,72,34,.22)}.tf-bubble{position:absolute;z-index:31;max-width:230px;translate:-50% -100%;padding:9px 12px;border-radius:14px 14px 14px 4px;background:#1e1e1e;color:#fff;font-size:12.5px;line-height:1.4;box-shadow:0 8px 24px -8px rgba(0,0,0,.5);pointer-events:none;animation:tf-pop .3s cubic-bezier(.3,1.5,.5,1) both}@keyframes tf-pop{0%{opacity:0;transform:translateY(8px) scale(.9)}}.tf-vofocus{position:absolute;z-index:30;border:3.5px solid #111;border-radius:10px;box-shadow:0 0 0 2px #fff;pointer-events:none;transition:all .4s cubic-bezier(.3,1,.4,1)}.tf-vocap{z-index:31;left:10px;bottom:14px;display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(20,20,20,.92);color:#fff;font-size:13px;font-weight:600;animation:tf-pop .26s ease both}.tf-rec-dot,.tf-vocap{position:absolute;right:10px}.tf-rec-dot{z-index:32;top:36px;width:10px;height:10px;border-radius:50%;background:var(--rec);box-shadow:0 0 0 4px rgba(242,72,34,.25);animation:tf-blink 1s steps(2) infinite}.tf-person{display:flex;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.tf-person b{font-size:14px}.tf-person p{margin-top:2px;font-size:12.5px;color:var(--muted);line-height:1.45}.tf-task{padding:12px 14px;border-bottom:1px solid var(--line);background:var(--ui-2)}.tf-task small{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tf-task p{margin-top:2px;font-weight:600;font-size:13.5px;line-height:1.4}.tf-steps{display:flex;gap:4px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;color:var(--muted);overflow-x:auto}.tf-steps li{display:flex;align-items:center;gap:5px;white-space:nowrap;padding-right:6px}.tf-steps span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ui-2);border:1px solid var(--line);font-size:10px}.tf-steps li.now{color:var(--blue)}.tf-steps li.now span{background:var(--blue);border-color:var(--blue);color:#fff}.tf-steps li.past span{background:var(--ok);border-color:var(--ok);color:#fff}.tf-panel-body{padding:14px;display:grid;gap:14px;align-content:start}.tf-sub-h{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px;margin-bottom:8px}.tf-mini{margin-left:auto;padding:2px 7px;border-radius:4px;border:1px solid var(--line);font-size:11px;font-weight:600}.tf-mini+.tf-mini{margin-left:0}.tf-transcript ul{display:grid;gap:6px;max-height:220px;overflow-y:auto;padding:10px;border-radius:8px;background:var(--ui-2)}.tf-transcript li{display:grid;grid-template-columns:36px 1fr;gap:6px;font-size:12.5px;line-height:1.45;animation:tf-pop .26s ease both}.tf-transcript time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;padding-top:1px}.tf-transcript li.sys span{color:var(--muted);font-style:italic}.tf-primary{justify-self:start;height:36px;padding:0 16px;border-radius:7px;background:var(--blue);color:#fff;font-weight:600;font-size:13px;transition:background-color .15s,transform .12s}.tf-primary:hover{background:var(--blue-2)}.tf-primary:active{transform:scale(.97)}.tf-primary.big{height:42px;padding:0 20px;font-size:14.5px}.tf-ghost{height:36px;padding:0 14px;border-radius:7px;border:1px solid var(--line);font-weight:600;font-size:13px}.tf-ghost:hover{background:var(--ui-2)}.tf-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tf-metrics{padding:10px 12px;border-radius:8px;border:1px solid}.tf-metrics small{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tf-metrics b{display:block;margin-top:2px;font-size:14px}.tf-metrics span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.tf-metrics.bad{border-color:#ffc7bb;background:#fff5f2}.tf-metrics.bad b{color:var(--rec)}.tf-metrics.ok{border-color:#b7ebcf;background:#f0fbf5}.tf-metrics.ok b{color:var(--ok)}.tf-compare{grid-template-columns:1fr 1fr}.tf-cards,.tf-compare{display:grid;gap:8px}.tf-card{padding:11px 12px;border-radius:8px;border:1px solid var(--line);text-align:left;font-weight:600;font-size:13px;background:#fff;transition:border-color .15s,background-color .15s,transform .15s}.tf-card:hover:not(:disabled){border-color:var(--blue);transform:translateX(2px)}.tf-card.wrong{opacity:.5;text-decoration:line-through;background:#fff5f2}.tf-card.right{border-color:var(--ok);background:#f0fbf5}.tf-why{padding:10px 12px;border-radius:8px;background:#fff5f2;color:#8a2a12;font-size:12.5px;line-height:1.5;animation:tf-pop .26s ease both}.tf-why.ok{background:#f0fbf5;color:#0b6b39}.tf-found{padding:10px 12px;border-radius:8px;background:#f0fbf5;font-size:12.5px;line-height:1.5}.tf-found b{display:block;color:var(--ok)}.tf-sev{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.tf-sev button{padding:9px 4px;border-radius:7px;border:1px solid var(--line);font-weight:600;font-size:12px;background:#fff}.tf-sev button:hover:not(:disabled){border-color:var(--blue)}.tf-sev button.picked{box-shadow:0 0 0 2px var(--txt)}.tf-sev button.answer{background:var(--sc)}.tf-sev .sev-Critical{--sc:#ffc9c9}.tf-sev .sev-Major{--sc:#ffd8a8}.tf-sev .sev-Minor{--sc:#fff3bf}.tf-sev .sev-Cosmetic{--sc:#d3f9d8}.tf-sev+.tf-why+.tf-primary{margin-top:10px}.tf-layer{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;color:var(--blue);margin-bottom:8px}.tf-layer span{color:#9747ff}.tf-inspector{display:grid;gap:8px;padding:12px;border-radius:8px;border:1px solid var(--line);margin-bottom:12px}.tf-row{display:grid;gap:4px;font-size:11.5px;color:var(--muted);font-weight:500}.tf-select{width:100%;height:32px;padding:0 28px 0 9px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--txt);font:inherit;font-size:12.5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23757575' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.tf-select:hover{border-color:#bdbdbd}.tf-toggle{display:flex;align-items:center;gap:10px;text-align:left;font-size:12.5px;line-height:1.35}.tf-toggle i{position:relative;flex:none;width:28px;height:16px;border-radius:999px;background:#d9d9d9;transition:background-color .2s}.tf-toggle i:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.tf-toggle.on i{background:var(--blue)}.tf-toggle.on i:after{transform:translateX(12px)}.tf-fieldlist{display:grid;gap:7px}.tf-note{font-size:11.5px;color:var(--muted);line-height:1.45}.tf-done{display:grid;gap:12px}.tf-lesson{padding:14px;border-radius:10px;background:linear-gradient(135deg,#e5f4ff,#f3ecff)}.tf-pts-earned{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;animation:tf-pop .4s cubic-bezier(.3,1.6,.5,1) both}.tf-lesson b{display:block;margin-top:8px;font-size:16px;letter-spacing:-.01em}.tf-lesson p{margin-top:4px;font-size:13px;line-height:1.55}.tf-lesson small{display:block;margin-top:8px;font-size:11.5px;color:var(--muted)}.tf-method{padding:12px 14px;border-radius:10px;border:1px dashed #c7c7c7}.tf-method b{font-size:12px;color:#9747ff}.tf-method p{margin-top:4px;font-size:12.5px;line-height:1.5}.tf-phone{--n-ink:#10203a;--n-sub:#64708a;--n-brand:#3b5bdb;--n-line:#e4e8f0;--n-bg:#f7f9fc;position:relative;width:100%;height:100%;display:flex;flex-direction:column;background:var(--n-bg);color:var(--n-ink);font-size:14px;line-height:1.4}.tf-status{display:flex;justify-content:space-between;padding:10px 18px 4px;font-size:12px}.tf-nosig{font-style:normal;font-weight:700;color:var(--rec)}.tf-nav{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;padding:6px 12px 10px}.tf-nav b{text-align:center;font-size:14px}.tf-nav-r{text-align:right;color:var(--n-sub)}.tf-back{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:26px;line-height:1;color:var(--n-ink)}.tf-logo{display:flex;align-items:center;gap:5px;font-weight:800;font-size:13px}.tf-logo i{width:14px;height:14px;border-radius:4px 50% 50% 50%;background:var(--n-brand)}.tf-logo.light{color:#fff}.tf-logo.light i{background:#fff}.tf-content{position:relative;flex:1;display:flex;flex-direction:column;gap:10px;padding:4px 16px 16px;min-height:0}.tf-h{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.tf-input{position:relative;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid var(--n-line)}.tf-input small{display:block;font-size:11px;color:var(--n-sub)}.tf-input b{display:block;font-size:15px;font-weight:600;min-height:21px}.tf-input b.ph{color:#a8b0c0;font-weight:500}.tf-route{position:relative;display:grid;gap:6px}.tf-swap{position:absolute;right:14px;top:50%;translate:0 -50%;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--n-line);color:var(--n-brand);font-size:18px;font-weight:700;box-shadow:0 2px 6px rgba(16,32,58,.12)}.tf-date.err{border:2px solid #e03131}.tf-date-pick{display:flex;align-items:center;gap:8px}.tf-date-pick i{font-style:normal;color:var(--n-brand)}.tf-err{margin-top:-4px;font-size:12px;color:#c92a2a;font-weight:600;animation:tf-pop .24s ease both}.tf-cal{position:absolute;left:16px;right:16px;top:250px;z-index:5;padding:12px;border-radius:14px;background:#fff;box-shadow:0 16px 40px -10px rgba(16,32,58,.35);animation:tf-pop .26s ease both}.tf-cal p{font-weight:700;margin-bottom:6px}.tf-cal>div{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:12px}.tf-cal span{padding:4px 0;border-radius:6px}.tf-cal .dow{color:var(--n-sub);font-size:10px;font-weight:700}.tf-cal .pick{background:var(--n-brand);color:#fff;font-weight:700}.tf-cta{display:grid;place-items:center;height:48px;border-radius:14px;background:var(--n-brand);color:#fff;font-weight:700;font-size:15px;text-align:center;padding:0 10px}.tf-cta.red{background:#e03131}.tf-bottom{margin-top:auto}.tf-link{text-align:center;font-weight:700;color:var(--n-brand);font-size:13.5px;padding:6px}.tf-chips{display:flex;gap:6px;overflow:hidden;animation:tf-pop .3s ease both}.tf-chips span{padding:6px 10px;border-radius:999px;border:1px solid var(--n-line);background:#fff;font-size:12px;font-weight:600;white-space:nowrap}.tf-chips span.on{background:var(--n-ink);color:#fff;border-color:var(--n-ink)}.tf-list-wrap{flex:1;min-height:0;overflow:hidden;border-radius:12px}.tf-list{display:grid;gap:8px;transition:transform .7s cubic-bezier(.3,.9,.2,1)}.tf-flight{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--n-line);animation:tf-pop .3s ease both}.tf-flight div{display:flex;gap:8px;font-size:16px}.tf-flight div span,.tf-flight small{color:var(--n-sub)}.tf-flight small{grid-column:1;font-size:11.5px}.tf-flight small em{margin-left:6px;font-style:normal;font-weight:700;color:var(--n-brand)}.tf-flight strong{grid-column:2;grid-row:1/span 2;align-self:center;font-size:16px}.tf-legend-wrap{border-radius:8px}.tf-legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;font-weight:600;animation:tf-pop .3s ease both}.tf-legend span{display:flex;align-items:center;gap:4px}.tf-legend i{width:12px;height:12px;border-radius:3px}.tf-legend i.free,.tf-seat.free{background:#fff;border:1.5px solid #c7cfdd}.tf-legend i.taken,.tf-seat.taken{background:#d5dae3;background-image:repeating-linear-gradient(45deg,transparent 0 3px,rgba(16,32,58,.15) 3px 5px)}.tf-legend i.extra,.tf-seat.extra{background:#ffd43b}.tf-legend i.mine,.tf-seat.mine{background:var(--n-brand);border-color:var(--n-brand)}.tf-hint{font-size:11.5px;color:var(--n-sub);text-align:center}.tf-hint.left{text-align:left;margin-top:-4px}.tf-toast-in{position:absolute;left:16px;right:16px;top:54px;z-index:6;padding:10px;border-radius:10px;background:var(--n-ink);color:#fff;font-size:11.5px;font-weight:600;text-align:center;animation:tf-pop .26s ease both}.tf-toast-in.err{top:auto;bottom:80px;background:#c92a2a;animation:tf-pop .26s ease both,tf-shake .4s ease}@keyframes tf-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.tf-seatmap{display:grid;gap:6px;justify-content:center;padding:10px 6px;border-radius:14px;background:#fff;border:1px solid var(--n-line)}.tf-cols,.tf-seatrow{display:grid;grid-template-columns:repeat(3,26px) 22px repeat(3,26px);gap:5px;align-items:center}.tf-cols span{font-weight:700}.tf-aisle,.tf-cols span{text-align:center;font-size:10px;color:var(--n-sub)}.tf-seat{width:26px;height:28px;border-radius:6px 6px 4px 4px;transition:background-color .25s,transform .25s}.tf-seat.mine{transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--n-brand)}.tf-seat.big{width:44px;height:46px;margin:8px auto 0}.tf-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:16px;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -12px 30px -10px rgba(16,32,58,.3);display:grid;gap:6px;animation:tf-up .32s cubic-bezier(.3,1.2,.5,1) both}.tf-sheet p{color:var(--n-sub);font-size:13px}.tf-sheet.ok b{color:#2b8a3e;font-size:16px}@keyframes tf-up{0%{transform:translateY(100%)}}.tf-form-wrap{flex:1;min-height:0;overflow:hidden;border-radius:8px}.tf-form{display:grid;gap:7px;transition:transform .8s cubic-bezier(.3,.9,.2,1)}.tf-fld{padding:7px 11px;border-radius:10px;background:#fff;border:1px solid var(--n-line)}.tf-fld small{display:block;font-size:10.5px;color:var(--n-sub)}.tf-fld b{display:block;font-size:13.5px;min-height:19px}.tf-fld.err{border:2px solid #e03131}.tf-fld em{display:block;font-style:normal;font-size:11px;color:#c92a2a;font-weight:600}.tf-meter{font-size:11px;color:var(--n-sub);text-align:center}.tf-banner{padding:8px 10px;border-radius:8px;background:#ffe3e3;color:#c92a2a;font-size:12px;font-weight:600;animation:tf-pop .26s ease both}.tf-summary{display:grid;grid-template-columns:1fr auto;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--n-line)}.tf-summary span{grid-column:1;font-size:12px;color:var(--n-sub)}.tf-summary strong{grid-column:2;grid-row:1/span 2;align-self:center;font-size:18px}.tf-methods{display:flex;gap:6px}.tf-methods span{flex:1;padding:8px 4px;border-radius:10px;border:1px solid var(--n-line);background:#fff;text-align:center;font-size:12px;font-weight:600}.tf-methods span.on{border:2px solid var(--n-brand);color:var(--n-brand)}.tf-over{position:absolute;inset:0;z-index:7;display:grid;align-content:center;gap:8px;padding:24px;background:rgba(247,249,252,.97);text-align:center;animation:tf-pop .3s ease both}.tf-over b{font-size:18px}.tf-over p{color:var(--n-sub);font-size:13px}.tf-over.dlg{background:rgba(16,32,58,.55)}.tf-over.dlg>*{background:#fff}.tf-over.dlg b{padding:18px 16px 4px;border-radius:16px 16px 0 0}.tf-over.dlg p{margin-top:-8px;padding:0 16px 10px}.tf-over.dlg .tf-cta{border-radius:0;background:#e03131;margin-top:-8px}.tf-over.dlg .tf-link{margin-top:-8px;border-radius:0 0 16px 16px;padding:12px}.tf-pass,.tf-pass-wrap{border-radius:18px}.tf-pass{overflow:hidden;background:#fff;box-shadow:0 10px 30px -14px rgba(16,32,58,.4)}.tf-pass-top{padding:12px 14px;background:var(--n-brand);color:#fff;font-size:13px}.tf-pass-route,.tf-pass-top{display:flex;justify-content:space-between;align-items:center}.tf-pass-route{padding:14px 16px 6px}.tf-pass-route b{display:block;font-size:28px;font-weight:800;letter-spacing:-.02em}.tf-pass-route small{color:var(--n-sub);font-size:11.5px}.tf-pass-route span{color:var(--n-brand);font-size:20px}.tf-pass-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px 12px;border-bottom:2px dashed var(--n-line)}.tf-pass-grid small{display:block;font-size:10.5px;color:var(--n-sub)}.tf-pass-grid b{font-size:14px}.tf-qr{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:120px;margin:14px auto 10px}.tf-qr i{aspect-ratio:1;background:#eef1f6}.tf-qr i.on{background:var(--n-ink)}.tf-saved{text-align:center;padding-bottom:12px;font-size:12px;font-weight:700;color:#2b8a3e}.tf-loading{display:grid;justify-items:center;gap:10px;padding:80px 16px;border-radius:18px;background:#fff;border:1px solid var(--n-line);text-align:center;color:var(--n-sub)}.tf-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--n-line);border-top-color:var(--n-brand);animation:tf-spin .8s linear infinite}@keyframes tf-spin{to{transform:rotate(1turn)}}.tf-wallet{display:grid;place-items:center;height:44px;border-radius:12px;background:#000;color:#fff;font-weight:600;font-size:14px}.tf-el{position:relative}.tf-selected{box-shadow:0 0 0 2px var(--blue)!important}.tf-selected:after{content:"";position:absolute;right:-5px;bottom:-5px;width:8px;height:8px;background:#fff;border:2px solid var(--blue)}.tf-modal{position:absolute;inset:0;z-index:20;display:grid;place-items:start center;padding:32px 16px 16px;background:rgba(240,240,240,.55);border-radius:14px;animation:tf-fade .26s ease}@media (min-width:1100px){.tf-modal{place-items:center;padding-top:16px}}@keyframes tf-fade{0%{opacity:0}}.tf-modal-card{width:min(540px,100%);max-height:calc(100% - 8px);overflow-y:auto;padding:28px;border-radius:16px;background:#fff;box-shadow:0 30px 80px -20px rgba(0,0,0,.35);animation:tf-pop .38s cubic-bezier(.2,1.3,.5,1) both}.tf-modal-card.wide{width:min(680px,100%)}.tf-kicker{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted)}.tf-live{width:9px;height:9px;border-radius:50%;background:var(--rec);box-shadow:0 0 0 4px rgba(242,72,34,.18);animation:tf-blink 1.2s steps(2) infinite}.tf-h1{margin-top:10px;font-size:clamp(42px,7vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(90deg,var(--blue),#9747ff);-webkit-background-clip:text;background-clip:text;color:transparent}.tf-h1.sm{font-size:clamp(30px,5vw,42px)}.tf-intro{margin-top:12px;font-size:15px;line-height:1.6;color:#444}.tf-howto{display:grid;gap:8px;margin-top:18px}.tf-howto li{display:flex;align-items:center;gap:10px;font-size:13.5px}.tf-howto span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:12px;flex:none}.tf-people{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;font-weight:600}.tf-people li{display:flex;align-items:center;gap:6px}.tf-modal-card .tf-btns,.tf-modal-card .tf-primary{margin-top:20px}.tf-modal-card .tf-btns .tf-primary{margin-top:0}.tf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.tf-stats div{padding:12px;border-radius:10px;background:var(--ui-2)}.tf-stats b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--blue-2);font-variant-numeric:tabular-nums}.tf-stats b small{font-size:13px;color:var(--muted)}.tf-stats span{font-size:11.5px;color:var(--muted)}.tf-sevbars{display:grid;gap:6px;margin-top:16px}.tf-sevbars div{display:grid;grid-template-columns:70px 1fr 20px;align-items:center;gap:10px;font-size:12px;font-weight:600}.tf-sevbars i{height:10px;border-radius:999px;background:var(--sc);animation:tf-grow .7s cubic-bezier(.3,1,.4,1) both;transform-origin:left}.tf-sevbars .sev-Critical{--sc:#ff8787}.tf-sevbars .sev-Major{--sc:#ffa94d}.tf-sevbars .sev-Minor{--sc:#ffd43b}.tf-sevbars .sev-Cosmetic{--sc:#69db7c}@keyframes tf-grow{0%{transform:scaleX(0)}}.tf-learned{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:16px}.tf-learned li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);font-size:12.5px}.tf-learned b,.tf-learned small{display:block}.tf-learned small{color:var(--muted);font-size:11.5px}.tf-link-a{font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:3px}@media (prefers-reduced-motion:reduce){.tf *,.tf :after,.tf :before{animation:none!important;transition:none!important}}.tf-swap.tf-el{position:absolute}