:root{--bg:#0e1117;--surface:#1a1f2a;--surface2:#242b3a;--border:#323a4d;--text:#f0f2f5;--muted:#9aa3b5;--accent:#4da3ff;--danger:#ff6b6b;--canvas:#e8ecf1;--canvas-dot:#c5cdd873;--canvas-text:#2d3748;--canvas-muted:#718096;--neo-bg:var(--canvas);--neo-shadow-dark:#a4adb8;--neo-shadow-light:#fff;--neo-text:#4a5568;--neo-text-strong:#2d3748;--neo-accent:#ff5e13;--neo-accent-shadow:#b43613;--neo-active-gradient:linear-gradient(135deg, #ff5e13 0%, #ff2a00 100%);--neo-active-ring:0 0 0 2px #ff5e13;--neo-shadow-active-inset:inset 3px 3px 10px #b43613;--neo-shadow-active:var(--neo-active-ring), var(--neo-shadow-active-inset);--neo-shadow-tube-platform:6px 7px 14px var(--neo-shadow-dark), -5px -5px 12px var(--neo-shadow-light), inset 1px 1px 0 #ffffffb8;--neo-shadow-strand-platform:inset 3px 3px 8px var(--neo-shadow-dark), inset -2px -3px 7px var(--neo-shadow-light);--neo-radius-sm:10px;--neo-shadow-raised:6px 6px 12px var(--neo-shadow-dark), -6px -6px 12px var(--neo-shadow-light);--neo-shadow-raised-sm:3px 3px 6px var(--neo-shadow-dark), -3px -3px 6px var(--neo-shadow-light);--neo-shadow-pressed:inset 4px 4px 8px var(--neo-shadow-dark), inset -4px -4px 8px var(--neo-shadow-light);--neo-shadow-inset:inset 3px 3px 6px var(--neo-shadow-dark), inset -3px -3px 6px var(--neo-shadow-light);--neo-shadow-raised-lg:8px 8px 16px var(--neo-shadow-dark), -8px -8px 16px var(--neo-shadow-light);--neo-shadow-bar:5px 6px 12px var(--neo-shadow-dark), -5px -5px 12px var(--neo-shadow-light);--app-header-offset:62px;--app-menu-btn-size:38px;--neo-shadow-toggle-track:-4px -2px 6px var(--neo-shadow-light), 4px 2px 8px var(--neo-shadow-dark), 2px 2px 4px var(--neo-shadow-dark) inset, -2px -2px 4px var(--neo-shadow-light) inset;--neo-shadow-knob:2px 2px 4px var(--neo-shadow-dark), -2px -2px 4px var(--neo-shadow-light);--neo-shadow-knob-on:1px 2px 3px #50281466;--neo-shadow-spinner-base:10px 11px 22px var(--neo-shadow-dark), -9px -9px 20px var(--neo-shadow-light), inset 1px 1px 0 #ffffff7a;--neo-shadow-spinner-plate:8px 9px 18px var(--neo-shadow-dark), -7px -7px 16px var(--neo-shadow-light), inset 1px 1px 0 #ffffff8c;--neo-shadow-puck:5px 6px 11px var(--neo-shadow-dark), -4px -4px 9px var(--neo-shadow-light);--neo-plate-fill:linear-gradient(145deg, #eef1f6 0%, var(--neo-bg) 52%, #e0e6ee 100%);--neo-radius-pill:999px;--radius:14px;--tap:48px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--app-max-width:480px;--strand-top:clamp(96px, min(30dvh, calc(100dvh - var(--wheel-diameter) - 8.75rem - var(--app-header-offset))), 336px);--panel-caption-band:0px;--strand-cutout-gap:4px;--strand-extend:12px;--strand-panel-gap:20px;--wheel-diameter:min(100%, max(160px, calc(100dvh - 22rem - var(--app-header-offset))))}*,:before,:after{box-sizing:border-box}html,body{color:var(--canvas-text);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;margin:0;padding:0}html{background-color:var(--canvas);background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1px);touch-action:manipulation;background-size:16px 16px}[hidden]{display:none!important}html,body{height:100%;overflow:hidden}body{width:100%;height:100dvh;max-width:var(--app-max-width);padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(6px + var(--safe-bottom)) calc(8px + var(--safe-left));overscroll-behavior:none;background:0 0;flex-direction:column;margin:0 auto;display:flex;position:relative}button,input{font-family:inherit}.layout{isolation:isolate;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;position:relative;container:layout/inline-size}.panel-stage{--panel-top:2px;z-index:4;top:var(--panel-top);height:calc(var(--strand-top) - var(--panel-top) - var(--panel-caption-band));pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;left:0;right:0;container-type:size}.panel-fit{width:min(100cqw, calc((100cqh - 36px) * var(--panel-aspect,2.7)));pointer-events:none;flex-direction:column;align-items:stretch;gap:6px;max-width:100%;max-height:100%;display:flex}.panel-chooser,.panel-live{pointer-events:auto}.panel-chooser{box-sizing:border-box;width:100%;height:min(calc(100cqh - 36px), calc(100cqw / var(--panel-aspect,2.7)));background:#d9dee5;border:1px solid #bfc5ce;border-radius:6px;grid-template-rows:15px minmax(0,1fr);grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:4px;display:grid;position:relative}.panel-housing-strip,.panel-housing-well{pointer-events:none;position:absolute;left:4px;right:4px}.panel-housing-strip{background:#f5f7fa;border-radius:2px;height:15px;top:4px}.panel-housing-well{background:#bcc3cc;border-radius:3px;top:22px;bottom:4px}.panel-type{z-index:1;color:#1b2430;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;grid-row:1/span 2;align-items:center;gap:3px;min-width:0;margin:0;padding:0;display:flex;position:relative}.panel-type-label{letter-spacing:-.03em;text-align:center;flex:0 0 15px;width:100%;height:15px;font-size:10px;font-weight:700;line-height:15px}.panel-type img{object-fit:contain;object-position:center center;pointer-events:none;flex:auto;width:auto;max-width:100%;height:100%;min-height:0}.panel-type:hover .panel-type-label,.panel-type:focus-visible .panel-type-label,.panel-type[aria-selected=true] .panel-type-label{color:var(--neo-accent)}.panel-type:focus-visible{outline:2px solid var(--neo-accent);outline-offset:1px}.panel-type:active{transform:scale(.98)}.panel-live{width:100%;height:min(calc(100cqh - 36px), calc(100cqw / var(--panel-aspect,2.87)));justify-content:center;align-items:flex-end;display:flex;position:relative}.panel-live svg{cursor:pointer;width:100%;height:auto;max-height:100%;display:block}.panel-arrow-row{pointer-events:none;flex:none;justify-content:flex-end;width:100%;display:flex}.panel-arrow{z-index:5;pointer-events:auto;background:var(--neo-bg);width:36px;height:24px;color:var(--neo-text-strong);box-shadow:var(--neo-shadow-raised-sm);cursor:pointer;touch-action:manipulation;border:none;border-radius:8px;flex:none;place-items:center;padding:0;display:grid;position:relative}.panel-arrow svg{width:18px;height:18px;display:block}.panel-arrow svg path{stroke-width:2.7px}.panel-arrow:hover,.panel-arrow:focus-visible{color:var(--neo-accent)}.panel-arrow:focus-visible{outline:2px solid var(--neo-accent);outline-offset:2px}.fiber-panel .port.active .port-ring{opacity:1;animation:.9s ease-in-out 3 port-pulse}.fiber-panel .port.active{filter:drop-shadow(0 0 3px #e8532ae6)}.fiber-panel .cassette.active .cassette-body{stroke:#e8532a;stroke-width:1.6px}.fiber-panel .cassette.active .cassette-label{fill:#e8532a}@keyframes port-pulse{0%,to{opacity:1}50%{opacity:.35}}.spinner-chrome-layer{z-index:0;pointer-events:none;position:absolute}.spinner-chrome-layer .spinner-frame{aspect-ratio:auto;width:100%;height:100%;position:relative}.wheel-column{z-index:2;pointer-events:none;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;width:100%;min-width:0;min-height:0;margin-top:auto;padding-bottom:4px;display:flex;position:relative}.controls-row{z-index:5;flex:none;justify-content:space-between;align-items:flex-start;gap:8px;width:auto;margin:0;display:flex;position:absolute;bottom:0;left:0;right:0}.controls-row .segment{pointer-events:auto}.controls-row .segment button{min-width:44px;min-height:32px;padding:0 9px;font-size:.88rem}.segment{--segment-pad:3px;background:var(--neo-bg);border-radius:var(--neo-radius-sm);padding:var(--segment-pad);box-shadow:var(--neo-shadow-toggle-track);border:none;flex:none;align-items:stretch;gap:0;display:inline-flex;position:relative;overflow:hidden}.segment__indicator{top:var(--segment-pad);bottom:var(--segment-pad);left:var(--segment-pad);width:calc(50% - var(--segment-pad));border-radius:calc(var(--neo-radius-sm) - 2px);background:var(--neo-active-gradient);box-shadow:var(--neo-shadow-active);pointer-events:none;z-index:0;transition:transform .25s cubic-bezier(.34,1.2,.64,1);position:absolute;transform:translate(0)}.segment[data-selected-index="1"] .segment__indicator{transform:translate(100%)}.segment--3 .segment__indicator{width:calc((100% - 2 * var(--segment-pad)) / 3)}.segment--3[data-selected-index="2"] .segment__indicator{transform:translate(200%)}.segment--4 .segment__indicator{width:calc((100% - 2 * var(--segment-pad)) / 4)}.segment--4[data-selected-index="2"] .segment__indicator{transform:translate(200%)}.segment--4[data-selected-index="3"] .segment__indicator{transform:translate(300%)}.segment button{z-index:1;appearance:none;color:var(--neo-text);border-radius:calc(var(--neo-radius-sm) - 2px);min-width:50px;min-height:32px;box-shadow:none;cursor:pointer;background:0 0;border:none;flex:1 1 0;padding:0 12px;font-size:.95rem;font-weight:700;transition:color .2s,transform .15s;position:relative}.segment button:hover:not(:disabled):not([aria-pressed=true]){color:var(--neo-text-strong)}.segment button:active:not(:disabled){transform:scale(.96)}.segment button[aria-pressed=true]{color:#fff;box-shadow:none;background:0 0}.segment button:focus-visible{outline:2px solid var(--neo-accent);outline-offset:-3px}.strand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segment button:disabled{opacity:.45;color:var(--neo-text);cursor:not-allowed}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fiber-search-pop{left:50%;top:calc(var(--strand-top) - 52px);z-index:8;width:min(220px,70%);box-shadow:none;pointer-events:auto;background:0 0;border:none;margin:0;padding:0;position:absolute;transform:translate(-50%)}.fiber-search-pop[hidden]{display:none}#fiber-input{border-radius:var(--neo-radius-sm);background:var(--neo-bg);width:100%;height:40px;color:var(--neo-text-strong);box-shadow:var(--neo-shadow-inset);border:none;outline:none;padding:0 12px;font-size:1rem;font-weight:600}#fiber-input::placeholder{color:var(--canvas-muted);font-weight:600}#fiber-input:focus{box-shadow:var(--neo-shadow-inset), 0 0 0 2px var(--neo-accent)}#fiber-input.invalid{box-shadow:var(--neo-shadow-inset), 0 0 0 2px var(--danger)}#fiber-hint{color:var(--danger);margin:6px 2px 0;font-size:.8rem}#fiber-hint:empty{display:none}.spinner-section,.controls-row{pointer-events:auto}.spinner-section{width:var(--wheel-diameter);aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;place-items:center;max-width:100%;margin:0 auto;display:grid;position:relative}.spinner-frame{aspect-ratio:1;width:100%;max-height:100%;position:relative}.spinner-section svg{z-index:3;touch-action:none;width:100%;height:100%;display:block;position:relative;overflow:visible}.spinner-recess{background:var(--neo-plate-fill);box-shadow:var(--neo-shadow-spinner-base);pointer-events:none;z-index:0;border-radius:50%;position:absolute;inset:0}.spinner-plate{background:var(--neo-plate-fill);width:90%;height:90%;box-shadow:var(--neo-shadow-spinner-plate);pointer-events:none;z-index:1;border-radius:50%;position:absolute;top:5%;left:5%}.pointer-notch{--pointer-notch-w:40px;--pointer-notch-h:30px;width:var(--pointer-notch-w);height:var(--pointer-notch-h);z-index:5;pointer-events:none;background:0 0;position:absolute;top:0;left:50%;transform:translate(-50%)}.pointer-notch:before{content:"";width:calc(var(--pointer-notch-w) + 14px);height:calc(var(--pointer-notch-h) + 6px);clip-path:polygon(50% 100%,0 0,100% 0);background:var(--neo-plate-fill);box-shadow:inset 4px 4px 10px var(--neo-shadow-dark), inset -3px -3px 9px var(--neo-shadow-light);position:absolute;top:0;left:50%;transform:translate(-50%)}.pointer-notch:after{content:"";width:calc(var(--pointer-notch-w) - 12px);height:calc(var(--pointer-notch-h) - 10px);clip-path:polygon(50% 100%,0 0,100% 0);background:var(--neo-accent);box-shadow:inset 3px 3px 9px var(--neo-accent-shadow), inset -2px -2px 6px #ffffff12;position:absolute;top:7px;left:50%;transform:translate(-50%)}#hub-outer,#hub-inner{display:none}.hub-search{z-index:6;aspect-ratio:1;cursor:pointer;width:18%;min-width:44px;max-width:72px;color:var(--neo-text-strong);background:var(--neo-plate-fill);box-shadow:var(--neo-shadow-puck);border:none;border-radius:50%;place-items:center;padding:0;transition:box-shadow .15s,color .15s,transform .15s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub-search:hover{color:var(--neo-accent);box-shadow:6px 7px 13px var(--neo-shadow-dark), -5px -5px 11px var(--neo-shadow-light), inset 1px 1px 0 #fff9}.hub-search:active,.hub-search[aria-expanded=true]{color:var(--neo-accent);box-shadow:var(--neo-shadow-pressed);transform:translate(-50%,-50%)scale(.97)}.hub-search svg{width:46%;height:46%;display:block}.hub-search:focus-visible{outline:2px solid var(--neo-accent);outline-offset:3px}.tube-fo{pointer-events:none;overflow:visible}.tube-fo-root{box-sizing:border-box;width:100%;height:100%;display:block;overflow:visible}.tube-neo-platform{box-sizing:border-box;background:var(--neo-plate-fill);width:100%;height:100%;box-shadow:var(--neo-shadow-tube-platform);pointer-events:none;border:none;border-radius:50%;justify-content:stretch;align-items:stretch;padding:5px;display:flex}.tube-neo-platform .tube-segment-pill{box-shadow:0 0 0 2px var(--tube-ring), 4px 5px 10px #4a556861, -3px -3px 7px #ffffff8c, inset 0 2px 3px #ffffff61, inset 0 -4px 9px var(--tube-inset)}.ring-group .tube-neo-platform,.ring-group .tube-neo-platform .tube-segment-pill{transition:box-shadow .28s,background .28s}.ring-group.ring-dim-instant .tube-neo-platform,.ring-group.ring-dim-instant .tube-neo-platform .tube-segment-pill{transition:none}.ring-group.ring-dimmed .tube-neo-platform{background:var(--neo-bg);box-shadow:var(--neo-shadow-inset)}.ring-group.ring-dimmed .tube-neo-platform .tube-segment-pill{box-shadow:0 0 0 2px var(--tube-ring), inset 3px 3px 10px var(--tube-inset)}.ring-group.ring-dimmed .tube-neo-platform .tube-segment-pill--black{box-shadow:0 0 0 2px var(--tube-ring), inset 4px 4px 11px #000000b8, inset -2px -2px 8px #ffffff29}.spinner-section .tube-segment-pill{pointer-events:none}.wheel--svg-tubes .tube-num-svg{font-family:var(--font);-webkit-user-select:none;user-select:none}.tube-segment-pill{box-sizing:border-box;background:var(--tube-fill);width:100%;min-width:0;min-height:0;box-shadow:0 0 0 2px var(--tube-ring), inset 3px 3px 10px var(--tube-inset);color:var(--tube-text);font-family:var(--font);pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:50%;flex:1;place-items:center;margin:0;padding:0;font-weight:700;line-height:1;display:grid;position:relative;overflow:hidden}.tube-tracer-stripe{pointer-events:none;border-radius:0 0 50% 50%;height:38%;position:absolute;bottom:0;left:0;right:0}.tube-num{z-index:1;position:relative}.tube-segment-pill--striped .tube-num{text-shadow:0 0 2px #111,0 1px 2px #0000008c}.tube-neo-platform .tube-segment-pill--black{box-shadow:0 0 0 2px var(--tube-ring), 4px 5px 11px #0000008c, -3px -3px 7px #ffffff38, inset 0 1px 2px #ffffff24, inset 0 -4px 10px #000000b8}.tube-segment-pill--black{--tube-ring:#5a5a5a;box-shadow:0 0 0 2px var(--tube-ring), inset 4px 4px 11px #000000b8, inset -2px -2px 8px #ffffff29;background:linear-gradient(155deg,#2a2a2a 0%,#0d0d0d 46%,#050505 100%)}.tube-meta{display:none}.tube-meta .num{color:var(--accent)}.tube-meta .name{color:var(--canvas-text)}.strands-section{z-index:1;top:var(--strand-top);width:var(--wheel-diameter);box-sizing:border-box;height:70%;padding-top:var(--strand-panel-gap);pointer-events:none;-webkit-mask-image:radial-gradient(circle at var(--cut-x,50%) var(--cut-y,100%), transparent var(--cut-r,0px), #fff calc(var(--cut-r,0px) + 1px));-webkit-mask-image:radial-gradient(circle at var(--cut-x,50%) var(--cut-y,100%), transparent var(--cut-r,0px), #fff calc(var(--cut-r,0px) + 1px));mask-image:radial-gradient(circle at var(--cut-x,50%) var(--cut-y,100%), transparent var(--cut-r,0px), #fff calc(var(--cut-r,0px) + 1px));flex-direction:column;justify-content:flex-end;align-items:center;margin:0;display:flex;position:absolute;left:50%;overflow:visible;transform:translate(-50%)}#strands{pointer-events:auto;flex-direction:row;flex:auto;align-items:stretch;gap:3px;width:100%;min-height:0;max-height:100%;display:flex}.strand{appearance:none;cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;flex:1 1 0;align-items:stretch;width:auto;min-width:0;height:100%;padding:0;transition:transform .15s;display:flex}.strand-neo-platform{box-sizing:border-box;background:var(--neo-bg);width:100%;min-height:0;box-shadow:var(--neo-shadow-strand-platform);pointer-events:none;isolation:isolate;border:none;border-radius:999px 999px 0 0;flex:auto;justify-content:stretch;align-items:stretch;padding:2px 2px 0;display:flex;overflow:hidden}.strand-segment-pill{pointer-events:none;color:var(--tube-text);box-shadow:inset 0 1px 0 #ffffff47, inset 3px 4px 10px var(--tube-inset), inset -2px -2px 8px #ffffff24;border:2px solid var(--tube-ring);border-bottom:none;border-radius:999px 999px 0 0;flex-direction:column;justify-content:flex-start;align-items:center;padding:8px 0 0;display:flex}.strand-segment-pill.tube-segment-pill--black{border-color:var(--tube-ring);box-shadow:inset 0 1px #ffffff1f,inset 4px 4px 11px #000000b8,inset -2px -2px 8px #ffffff29}.strand:active{transform:scale(.98)}.strand .label{z-index:1;letter-spacing:0;pointer-events:none;color:inherit;text-overflow:clip;max-width:100%;font-size:clamp(.74rem,2.65vw,.92rem);font-weight:800;line-height:1;position:relative;overflow:hidden}.strand .label--d2{letter-spacing:-.03em;font-size:clamp(.66rem,2.25vw,.8rem)}.strand .label--d3{letter-spacing:-.05em;font-size:clamp(.56rem,1.85vw,.7rem)}.strand.highlight .strand-segment-pill{border-color:var(--neo-accent);box-shadow:inset 0 1px 0 #ffffff47, inset 3px 4px 10px var(--tube-inset), inset -2px -2px 8px #ffffff24, 0 0 0 2px var(--neo-accent)}.strand.highlight .strand-segment-pill.tube-segment-pill--black{border-color:var(--neo-accent);box-shadow:inset 0 1px 0 #ffffff1f, inset 4px 4px 11px #000000b8, inset -2px -2px 8px #ffffff29, 0 0 0 2px var(--neo-accent)}.strand.is-updating{transform-origin:bottom;animation:strand-update var(--strand-ms,.46s) ease both}@keyframes strand-update{0%{opacity:.2;filter:brightness(1.7);transform:translateY(28px)scaleY(.86)}70%{opacity:1;filter:brightness(1.2);transform:translateY(0)scaleY(1)}to{opacity:1;filter:none;transform:none}}@container layout (width>=720px){:root{--wheel-diameter:min(520px, max(300px, calc(100dvh - 15.5rem - var(--app-header-offset))));--strand-top:clamp(160px, min(24dvh, calc(100dvh - var(--wheel-diameter) - 11rem - var(--app-header-offset))), 280px)}.layout{grid-template-columns:minmax(0, var(--wheel-diameter)) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr);align-content:start;gap:4px clamp(16px,3vw,28px);display:grid}.panel-stage{height:min(calc(var(--strand-top) - 8px), 220px);grid-area:1/1/auto/-1;position:relative;top:auto}.wheel-column{z-index:2;grid-area:2/1;align-self:end;margin-top:0}.strands-section{width:100%;max-width:none;height:var(--wheel-diameter);grid-area:2/2;align-self:end;margin:0;position:relative;top:auto;left:auto;transform:none;-webkit-mask-image:none;mask-image:none}#strands{align-items:flex-end;max-height:100%}}@media (height<=520px) and (width<=719px){.layout{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}}@media (width<=430px){.controls-row{gap:6px}.controls-row .segment button{min-width:38px;min-height:30px;padding:0 7px;font-size:.84rem}#fiber-input{min-height:var(--tap);padding:0 8px}}@media (width<=350px){.controls-row .segment button{min-width:34px;padding:0 5px;font-size:.8rem}#fiber-input{padding:0 6px;font-size:.85rem}}.app-header{z-index:30;grid-template-columns:var(--app-menu-btn-size) minmax(0, 1fr) var(--app-menu-btn-size);background:var(--neo-bg);min-height:52px;box-shadow:var(--neo-shadow-bar);border-radius:16px;flex:none;align-items:center;gap:.7rem;margin:0 0 4px;padding:4px 8px;display:grid;position:relative}.app-header-balance{width:var(--app-menu-btn-size);height:var(--app-menu-btn-size)}.app-title{min-width:0;color:var(--neo-text-strong);letter-spacing:-.03em;text-align:center;text-overflow:ellipsis;white-space:nowrap;outline:none;margin:0;font-size:clamp(.95rem,3.4vw,1.2rem);font-weight:800;line-height:1.2;overflow:hidden}@media (width<=420px){.app-header{grid-template-columns:minmax(0, 1fr) var(--app-menu-btn-size)}.app-header-balance{display:none}.app-title{text-align:left;grid-column:1}.tool-nav{grid-column:2}}.app-title:focus-visible{outline:2px solid var(--neo-accent);outline-offset:3px;border-radius:6px}.tool-nav{flex:none;position:relative}.tool-menu-btn{width:var(--app-menu-btn-size);height:var(--app-menu-btn-size);min-width:var(--app-menu-btn-size);min-height:var(--app-menu-btn-size);background:var(--neo-bg);color:var(--neo-text-strong);box-shadow:var(--neo-shadow-raised-sm);cursor:pointer;touch-action:manipulation;border:none;border-radius:10px;place-items:center;padding:0;display:grid}.tool-menu-btn svg{width:18px;height:18px;display:block}.tool-menu-btn:hover{color:var(--neo-accent);box-shadow:var(--neo-shadow-raised)}.tool-menu-btn:active,.tool-menu-btn[aria-expanded=true]{color:var(--neo-accent);box-shadow:var(--neo-shadow-pressed)}.tool-menu-btn:focus-visible{outline:2px solid var(--neo-accent);outline-offset:3px}.tool-menu{z-index:1;width:min(280px, calc(100vw - 24px - var(--safe-left) - var(--safe-right)));background:var(--neo-bg);max-height:min(70dvh,360px);box-shadow:var(--neo-shadow-raised-lg);border-radius:16px;padding:8px;position:absolute;top:calc(100% + 8px);left:auto;right:0;overflow:auto}.tool-menu ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tool-menu a{color:var(--neo-text-strong);touch-action:manipulation;border-radius:10px;padding:12px 14px;font-size:.95rem;font-weight:700;line-height:1.3;text-decoration:none;display:block}.tool-menu a:hover:not([aria-current=page]){box-shadow:var(--neo-shadow-inset)}.tool-menu a[aria-current=page]{color:#fff;background:var(--neo-active-gradient);box-shadow:var(--neo-shadow-active)}.tool-menu a:focus-visible{outline:2px solid var(--neo-accent);outline-offset:2px}.slack-view{flex:1;min-height:0;padding:12px 4px 16px;overflow:auto}.slack-card{flex-direction:column;gap:14px;width:min(100%,420px);margin:0 auto;display:flex}.slack-view .segment{width:100%}.slack-view .segment button{min-width:0;min-height:var(--tap);white-space:nowrap;padding:0 6px;font-size:.84rem}#slack-mode button{min-height:48px;font-size:.95rem}.slack-form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field>label{color:var(--canvas-muted);letter-spacing:.02em;text-align:center;font-size:.78rem;font-weight:700}.slack-entry input{background:var(--neo-bg);width:100%;min-width:0;height:76px;color:var(--neo-text-strong);letter-spacing:-.04em;text-align:center;box-shadow:var(--neo-shadow-inset);border:none;border-radius:18px;outline:none;padding:0 16px;font-size:2.15rem;font-weight:800}.slack-entry input:focus{box-shadow:var(--neo-shadow-inset), 0 0 0 2px var(--neo-accent)}.slack-entry input.is-invalid{box-shadow:var(--neo-shadow-inset), 0 0 0 2px var(--danger)}.slack-entry #slack-unit{margin-top:6px}.slack-entry .segment--4 button{min-height:44px}@media (width<=360px){.slack-view .segment button{padding:0 4px;font-size:.78rem}.slack-entry input{height:68px;font-size:1.85rem}}.field-hint{color:var(--danger);text-align:center;margin:0;font-size:.8rem;line-height:1.3}.field-hint:empty{display:none}.slack-extras{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slack-switch{appearance:none;min-height:44px;color:var(--neo-text-strong);box-shadow:none;cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:2px 0;display:flex}.slack-switch-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.slack-switch-copy span:first-child{font-size:.9rem;font-weight:700;line-height:1.1}.slack-switch-copy span:last-child{color:var(--canvas-muted);font-size:.75rem;font-weight:700;line-height:1.1}.slack-switch-track{--pill-track-w:52px;--pill-track-h:28px;--pill-knob:22px;--pill-pad:3px;width:var(--pill-track-w);height:var(--pill-track-h);border-radius:var(--neo-radius-pill);background:var(--neo-bg);box-shadow:var(--neo-shadow-toggle-track);flex:none;position:relative}.slack-switch-track:before{content:"";border-radius:inherit;background:var(--neo-bg);box-shadow:var(--neo-shadow-toggle-track);transition:background .3s,box-shadow .3s;position:absolute;inset:0}.slack-switch[aria-pressed=true] .slack-switch-track:before{background:var(--neo-active-gradient);box-shadow:var(--neo-shadow-active)}.slack-switch-track:after{content:"";z-index:1;top:50%;left:var(--pill-pad);width:var(--pill-knob);height:var(--pill-knob);background:var(--neo-bg);box-shadow:var(--neo-shadow-knob);border-radius:50%;transition:left .4s cubic-bezier(.85,.05,.18,1.35);position:absolute;transform:translateY(-50%)}.slack-switch[aria-pressed=true] .slack-switch-track:after{left:calc(var(--pill-track-w) - var(--pill-knob) - var(--pill-pad));box-shadow:var(--neo-shadow-knob-on)}.slack-switch:active .slack-switch-track:after{box-shadow:var(--neo-shadow-pressed)}.slack-switch:focus-visible{outline:2px solid var(--neo-accent);outline-offset:3px;border-radius:var(--neo-radius-sm)}.slack-result{background:var(--neo-bg);box-shadow:var(--neo-shadow-raised);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding:18px 16px 16px;display:flex;position:relative}.slack-result.is-quiet{display:none}.slack-result-kicker,.slack-result-main,.slack-result-units,.slack-result-sub{overflow-wrap:anywhere;margin:0}.slack-result-kicker{color:var(--canvas-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.slack-result-units{color:var(--neo-text-strong);font-size:.95rem;font-weight:700}.slack-result.is-idle .slack-result-kicker,.slack-result.is-idle .slack-result-units,.slack-result.is-idle .slack-result-main{display:none}.slack-result-copy{z-index:1;background:var(--neo-bg);width:32px;height:32px;color:var(--neo-text-strong);box-shadow:var(--neo-shadow-raised-sm);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.slack-result-copy svg{display:block}.slack-result-copy:hover:not(:disabled){color:var(--neo-accent)}.slack-result-copy:active:not(:disabled){box-shadow:var(--neo-shadow-pressed)}.slack-result-copy:focus-visible{outline:2px solid var(--neo-accent);outline-offset:2px}.slack-result-copy:disabled{opacity:.45;cursor:default}.slack-result.is-idle{min-height:0;box-shadow:none;background:0 0;padding:0}.slack-result-main{letter-spacing:-.04em;font-size:clamp(2.4rem,10vw,3.1rem);font-weight:800;line-height:1}.slack-result-sub{color:var(--canvas-muted);font-size:.82rem;font-weight:600;line-height:1.35}.slack-result.is-idle .slack-result-sub{max-width:none;color:var(--neo-accent-shadow)}@media (prefers-reduced-motion:reduce){.segment__indicator,.slack-switch-track:before,.slack-switch-track:after{transition:none}.strand.is-updating,.fiber-panel .port.active .port-ring{animation:none}}
