:root{--bg: #f4f7fb;--panel: #ffffff;--text: #15243a;--muted: #627187;--accent: #1578ff;--border: #d7e0ea;--shadow: 0 8px 20px rgba(0, 24, 64, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:SF Pro Text,PingFang SC,Noto Sans SC,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 10%,#e8f0ff 0%,var(--bg) 45%)}.app{max-width:1024px;margin:0 auto;padding:18px;display:grid;gap:14px}.author-link{color:var(--muted);text-decoration:none;font-size:.92rem}.author-link-top{display:inline-flex;align-items:center;min-height:40px;padding:0 4px;font-weight:600}.author-link:hover{color:var(--accent);text-decoration:underline}.topbar,.status-row{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 880px){.topbar{grid-template-columns:1fr auto;align-items:center}.status-row{grid-template-columns:1fr 1fr}}h1,h2{margin:0 0 6px}h1{font-size:1.4rem}h2{font-size:1rem}.hint,.muted{color:var(--muted);margin:0}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}button,select{border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);padding:8px 10px;font-size:.95rem}button{cursor:pointer}button:hover{border-color:var(--accent)}.layout-switch{display:inline-flex;align-items:center;gap:8px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.card p{margin:4px 0}.controller{margin-top:8px;border-radius:18px;border:1px solid #d9dee7;padding:14px;background:#f3f4f6}#padCanvas{display:block;width:100%;height:430px;border-radius:14px;background:#d9d9d9}.axes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.input-visual-grid,.trigger-visual-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.stick-visual-card,.trigger-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:linear-gradient(180deg,#f8fbff,#eef4fb)}.stick-visual-head,.trigger-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.stick-visual-head h3,.trigger-head h3{margin:0;font-size:.95rem}.stick-visual-value,.trigger-value{color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums}.stick-visual{position:relative;width:min(100%,220px);aspect-ratio:1;margin:0 auto;border-radius:50%;border:2px solid rgba(10,132,255,.45);background:radial-gradient(circle at center,#1578ff1a,#1578ff08 45%,#1578ff00 70%),linear-gradient(180deg,#fff,#edf4fd);box-shadow:inset 0 0 0 10px #ffffff8c;overflow:hidden}.stick-coverage-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.stick-crosshair{position:absolute;background:#4d6d9166;z-index:1}.stick-crosshair-x{left:10%;right:10%;top:50%;height:1px;transform:translateY(-50%)}.stick-crosshair-y{top:10%;bottom:10%;left:50%;width:1px;transform:translate(-50%)}.stick-dot{position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,#fff,#5aa6ff 30%,#1578ff);border:2px solid rgba(255,255,255,.92);box-shadow:0 8px 18px #1578ff47;z-index:3}.stick-line{position:absolute;left:50%;top:50%;width:0;height:2px;transform-origin:left center;transform:translateY(-50%);background:linear-gradient(90deg,#1578ff33,#1578ffbf);box-shadow:0 0 10px #1578ff2e;opacity:0;z-index:2}.circle-coverage-toggle{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated-strong);color:var(--text);font-size:.92rem;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.circle-coverage-toggle input{accent-color:var(--accent)}.trigger-bar{height:18px;border-radius:999px;overflow:hidden;border:1px solid #c9d9ec;background:linear-gradient(180deg,#f7fbff,#e7eef8)}.trigger-bar-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4db7a7,#1578ff);transition:width 60ms linear}@media (min-width: 760px){.input-visual-grid,.trigger-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.rate-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rate-controls input{width:74px;border-radius:8px;border:1px solid var(--border);padding:6px 8px}.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.vib-controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.vib-enable{display:flex;align-items:center;gap:8px}.hid-raw{margin:0;min-height:90px;border:1px solid var(--border);border-radius:10px;background:#f8fbff;color:#243653;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.ps-card h3{margin:0 0 6px;font-size:.95rem}.ps-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:10px}.ps-block{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#f7fbff}.ps-block p{margin:4px 0;font-size:.9rem}.ps-control-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ps-inline{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.ps-inline input[type=range]{width:120px}@media (min-width: 860px){.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.floating-actions{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:20;display:grid;gap:12px}.floating-btn{background:#1578ff;color:#fff;border-color:#1578ff;box-shadow:0 8px 20px #1578ff4d;min-width:148px;min-height:52px;padding:12px 16px;font-size:1rem;font-weight:700;border-radius:14px}.floating-btn.secondary{background:#0f9b8e;border-color:#0f9b8e;box-shadow:0 8px 20px #0f9b8e3d}.floating-btn:hover{border-color:#0f62d5;background:#0f62d5}.floating-btn.secondary:hover{border-color:#0a7c72;background:#0a7c72}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#101c2f7a;display:flex;justify-content:center;align-items:center;padding:18px}.hidden{display:none}.modal-content{width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;border:1px solid #d6e0ed;box-shadow:0 14px 30px #0d1b3433;padding:14px;display:grid;gap:12px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0;font-size:1.02rem}.ghost-btn{background:#f6f8fc}.virtual-enable{display:flex;align-items:center;gap:8px}.virtual-section h4{margin:0 0 8px;font-size:.95rem}.virtual-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.virtual-buttons label,.virtual-axes label{display:flex;align-items:center;gap:8px;font-size:.9rem}.virtual-axes{display:grid;gap:8px}.virtual-axes input[type=range]{flex:1}.trace-modal{width:min(1100px,100%);max-height:92vh}.trace-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.trace-tool-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.trace-tool-group.right{margin-left:auto}.trace-tool-label{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.trace-tool-label select{padding:6px 10px;font-size:.85rem}.trace-tool-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.zoom-controls{display:inline-flex;align-items:center;gap:4px;background:#f6f8fc;border-radius:8px;padding:2px;border:1px solid var(--border)}.icon-btn{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:1.1rem;font-weight:600;color:var(--text);transition:all .15s ease}.icon-btn:hover{background:#e8eef7}#zoomLevel{min-width:36px;text-align:center;font-weight:500;font-size:.85rem}.ghost-btn-small{padding:4px 8px;font-size:.8rem;background:#f6f8fc;border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:6px;transition:all .2s ease}.primary-btn{background:linear-gradient(135deg,#1578ff,#0f62d5);color:#fff;border-color:#1578ff}.primary-btn:hover{background:linear-gradient(135deg,#0f62d5,#0d4faa);border-color:#0f62d5}.secondary-btn{background:#fff;color:var(--text);border-color:var(--border)}.secondary-btn:hover{border-color:var(--accent)}.trace-stats-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.trace-stat-item{display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 12px;background:#f6f8fc;border-radius:8px;align-items:center}.trace-stat-label{font-weight:600;font-size:.85rem;color:var(--text)}.trace-stat-value{font-size:.82rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.trace-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.trace-panel{border:1px solid var(--border);border-radius:12px;padding:10px;background:#f7fbff;display:flex;flex-direction:column}.trace-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.trace-panel h4{margin:0;font-size:.95rem}.trace-canvas-wrapper{position:relative;flex:1}.trace-canvas{display:block;width:100%;aspect-ratio:1 / 1;min-height:300px;border-radius:10px;border:1px solid #cfdae8;background:linear-gradient(180deg,#fbfdff,#eef4fb);cursor:crosshair}.trace-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:10px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><g fill='none' stroke='rgba(96,117,143,0.45)' stroke-width='1' stroke-linecap='square' stroke-dasharray='4 4'><path d='M0 12 H24'/><path d='M12 0 V24'/></g><g stroke='rgba(96,117,143,0.7)' stroke-width='1' stroke-linecap='square'><path d='M12 8 V16'/><path d='M8 12 H16'/></g></svg>");background-size:24px 24px;background-repeat:repeat;background-position:50% 50%;opacity:.7}.trace-value{margin:8px 0 0;color:#30445f;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}@media (min-width: 860px){.trace-grid{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.trace-toolbar{flex-direction:column;align-items:flex-start}.trace-tool-group.right{margin-left:0;width:100%;justify-content:flex-end}.trace-stats-bar{grid-template-columns:1fr}}@media (max-width: 760px){#padCanvas{height:360px}.floating-actions{right:12px;top:50%;bottom:auto;transform:translateY(-50%)}.floating-btn{min-width:132px;min-height:48px;padding:10px 14px;font-size:.95rem}.trace-canvas{min-height:240px}}.rate-page{max-width:800px;margin:0 auto;padding:18px}.rate-page .back-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.95rem;cursor:pointer;text-decoration:none;transition:all .2s ease}.rate-page .back-btn:hover{border-color:var(--accent);transform:translate(-2px)}.rate-header{margin-bottom:20px}.rate-control-card{position:relative;overflow:hidden}.rate-control-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1578ff,#0f9b8e,#ff6b00);opacity:0;transition:opacity .3s ease}.rate-control-card.testing:before{opacity:1;animation:gradientMove 2s linear infinite}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.rate-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.rate-controls label{display:inline-flex;align-items:center;gap:8px}.rate-controls input{width:74px;border-radius:8px;border:1px solid var(--border);padding:8px 10px;font-size:.95rem;transition:border-color .2s ease}.rate-controls input:focus{outline:none;border-color:var(--accent)}.primary-btn{background:linear-gradient(135deg,#1578ff,#0f62d5);color:#fff;border-color:#1578ff;position:relative;overflow:hidden;min-width:100px}.primary-btn:hover{background:linear-gradient(135deg,#0f62d5,#0d4faa);border-color:#0f62d5;transform:translateY(-1px);box-shadow:0 4px 12px #1578ff4d}.primary-btn:active{transform:translateY(0)}.danger-btn{background:linear-gradient(135deg,#ff3b30,#d63027);color:#fff;border-color:#ff3b30}.danger-btn:hover{background:linear-gradient(135deg,#d63027,#b02820);border-color:#d63027}.btn-loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.btn-text{display:inline-flex;align-items:center;gap:8px}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.status-row{display:flex;align-items:center;gap:8px;margin-top:12px}.status-label{color:var(--muted)}.status-value{font-weight:500;padding:4px 10px;border-radius:6px;background:#f6f8fc;transition:all .3s ease}.status-value.testing{background:#e8f4ff;color:#1578ff;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.rate-main-display{display:grid;grid-template-columns:auto 1fr;gap:20px;margin-top:20px;align-items:center}@media (max-width: 640px){.rate-main-display{grid-template-columns:1fr;justify-items:center}}.hz-display{display:flex;flex-direction:column;align-items:center;gap:12px}.hz-ring{position:relative;width:160px;height:160px}.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#e8eef7;stroke-width:8}.progress-ring-bar{fill:none;stroke:url(#ringGradient);stroke-width:8;stroke-linecap:round;stroke-dasharray:339.292;stroke-dashoffset:339.292;transition:stroke-dashoffset .3s ease}.hz-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,#1578ff,#0f9b8e,#ff6b00,#1578ff);opacity:0;transition:opacity .3s ease;animation:rotateGradient 3s linear infinite;filter:blur(8px)}.hz-ring.testing:before{opacity:.3}@keyframes rotateGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hz-content{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 2px 8px #0000000f}.hz-value{font-size:2rem;font-weight:700;color:var(--accent);line-height:1;transition:transform .1s ease}.hz-value.bump{transform:scale(1.05)}.hz-unit{font-size:.85rem;color:var(--muted);margin-top:4px}.hz-label{font-size:.95rem;color:var(--muted);font-weight:500}.rate-stats-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 500px){.rate-stats-compact{grid-template-columns:repeat(4,1fr)}}.stat-mini{background:linear-gradient(135deg,#f8fbff,#f0f5fc);border:1px solid var(--border);border-radius:12px;padding:14px 12px;text-align:center;transition:all .2s ease}.stat-mini:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1578ff1a}.stat-mini-label{font-size:.8rem;color:var(--muted);margin-bottom:4px}.stat-mini-value{font-size:1.3rem;font-weight:600;color:var(--text);display:inline-block}.stat-mini-unit{font-size:.8rem;color:var(--muted);margin-left:2px}.rate-visual{margin-top:20px;height:220px;background:linear-gradient(180deg,#f8fbff,#f0f5fc);border:1px solid var(--border);border-radius:14px;position:relative;overflow:hidden}.visual-header{position:absolute;top:10px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;z-index:2}.visual-header h3{margin:0;font-size:.9rem;color:var(--muted)}.visual-legend{display:flex;gap:12px;font-size:.8rem}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-item:before{content:"";width:12px;height:12px;border-radius:3px}.legend-item.fast:before{background:linear-gradient(135deg,#0f9b8e,#0dd9c7)}.legend-item.slow:before{background:linear-gradient(135deg,#ff6b00,#ff3b30)}.rate-visual canvas{width:100%;height:100%}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pulse-ring:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;background:radial-gradient(circle,rgba(21,120,255,.4),transparent);border-radius:50%;transform:translate(-50%,-50%);animation:pulseRing .6s ease-out forwards}@keyframes pulseRing{0%{width:20px;height:20px;opacity:1}to{width:100px;height:100px;opacity:0}}.test-history{margin-top:24px;padding:18px}.history-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:4px 2px 10px;border-bottom:1px solid var(--border)}.history-header h3{margin:0;font-size:1rem;letter-spacing:-.01em}.ghost-btn-small{padding:6px 10px;font-size:.85rem;background:#f6f8fc;border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:8px;transition:all .2s ease}.ghost-btn-small:hover{background:#e8eef7;color:var(--text)}.history-list{display:grid;gap:8px;padding:2px}.history-item{display:flex;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#f6f8fc,#f0f5fc);border-radius:12px;font-size:.9rem;border:1px solid transparent;transition:all .2s ease;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.history-item:hover{border-color:var(--border);transform:translate(4px)}.history-item.empty{justify-content:center;color:var(--muted);background:#f8f9fb}.history-item.empty:hover{transform:none;border-color:transparent}@media (max-width: 640px){.test-history{padding:16px}.history-header{align-items:flex-start;flex-direction:column}}.history-item .time{color:var(--muted)}.history-item .result{font-weight:600;font-size:1rem}.history-item .result.good{color:#0f9b8e}.history-item .result.ok{color:#1578ff}.history-item .result.bad{color:#ff3b30}:root{color-scheme:light dark;--bg: #edf1f7;--bg-elevated: rgba(255, 255, 255, .72);--bg-elevated-strong: rgba(255, 255, 255, .86);--panel: rgba(255, 255, 255, .72);--panel-strong: rgba(255, 255, 255, .82);--text: #111827;--muted: #5f6d84;--accent: #0a84ff;--accent-strong: #0066d6;--accent-soft: rgba(10, 132, 255, .14);--success: #30d158;--teal: #64d2ff;--warm: #ff9f0a;--danger: #ff453a;--pad-canvas-fill: #dbe6f3;--border: rgba(148, 163, 184, .22);--border-strong: rgba(255, 255, 255, .68);--shadow: 0 22px 60px rgba(15, 23, 42, .1);--shadow-soft: 0 16px 40px rgba(15, 23, 42, .08);--glass-blur: blur(22px) saturate(175%)}@media (prefers-color-scheme: dark){:root{--bg: #090b10;--bg-elevated: rgba(17, 24, 39, .74);--bg-elevated-strong: rgba(15, 23, 42, .84);--panel: rgba(15, 23, 42, .68);--panel-strong: rgba(15, 23, 42, .82);--text: #f5f7fb;--muted: #9aa8bd;--accent: #66b3ff;--accent-strong: #3b98ff;--accent-soft: rgba(102, 179, 255, .16);--success: #32d74b;--teal: #5de6ff;--warm: #ffb340;--danger: #ff6961;--pad-canvas-fill: #26364a;--border: rgba(148, 163, 184, .16);--border-strong: rgba(255, 255, 255, .12);--shadow: 0 24px 72px rgba(0, 0, 0, .45);--shadow-soft: 0 16px 42px rgba(0, 0, 0, .36)}}html{scroll-behavior:smooth}body{position:relative;background:radial-gradient(circle at top left,rgba(134,206,255,.42),transparent 34%),radial-gradient(circle at 85% 18%,rgba(168,85,247,.15),transparent 24%),radial-gradient(circle at 50% 100%,rgba(255,255,255,.78),transparent 38%),linear-gradient(180deg,#f7f9fd 0%,var(--bg) 52%,#e7edf6 100%);color:var(--text)}@media (prefers-color-scheme: dark){body{background:radial-gradient(circle at top left,rgba(35,107,210,.35),transparent 30%),radial-gradient(circle at 82% 14%,rgba(124,58,237,.18),transparent 26%),radial-gradient(circle at 50% 120%,rgba(16,185,129,.12),transparent 30%),linear-gradient(180deg,#05070b 0%,var(--bg) 58%,#0f172a 100%)}}body:before,body:after{content:"";position:fixed;inset:auto;pointer-events:none;z-index:-1;border-radius:999px;filter:blur(30px);opacity:.65}body:before{width:280px;height:280px;top:7vh;left:-72px;background:#64d2ff38}body:after{width:220px;height:220px;right:-60px;bottom:12vh;background:#ff9f0a2e}button,select,input,.card,.ps-block,.history-item,.floating-btn,.rate-page .back-btn,.modal-content{transition:background-color .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease,transform .28s ease}.app,.rate-page{position:relative;padding:26px 18px 30px}@media (min-width: 900px){.app,.rate-page{padding-top:38px}}.topbar,.rate-header,.page-footer{position:relative}.topbar{padding:18px 20px;border-radius:28px;background:var(--panel);border:1px solid var(--border-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-soft)}h1{font-size:clamp(1.65rem,1.2rem + 1.3vw,2.35rem);font-weight:700;letter-spacing:-.03em}h2{font-size:1.02rem;font-weight:600;letter-spacing:-.01em}.hint,.muted,.author-link,.stick-visual-value,.trigger-value,.status-label{color:var(--muted)}.author-link-top{font-weight:700;letter-spacing:-.01em}.actions-end{justify-content:flex-end}button,select,input,.rate-page .back-btn{border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated-strong);color:var(--text);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffff6b}button:hover,select:hover,.rate-page .back-btn:hover{border-color:#0a84ff47;box-shadow:0 12px 30px #0a84ff1f,inset 0 1px #ffffff7a;transform:translateY(-1px)}button:active{transform:translateY(0)}button:focus-visible,select:focus-visible,input:focus-visible,.rate-page .back-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card,.stick-visual-card,.trigger-card,.ps-block,.trace-panel,.modal-content,.history-item,.rate-control-card,.test-history{background:var(--panel);border:1px solid var(--border-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow)}.controller,.trace-canvas-wrapper,.stick-visual,.trigger-bar,.hid-raw,.status-value,.virtual-buttons label,.virtual-axes label,.history-item.empty{background:linear-gradient(180deg,#ffffffb8,#ffffff73);border-color:var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@media (prefers-color-scheme: dark){.controller,.trace-canvas-wrapper,.stick-visual,.trigger-bar,.hid-raw,.status-value,.virtual-buttons label,.virtual-axes label,.history-item.empty{background:linear-gradient(180deg,#0f172ac2,#0f172a8f)}}.controller{padding:18px;border-radius:30px}#padCanvas{border-radius:24px;background:#d7e3f2}@media (prefers-color-scheme: dark){#padCanvas{background:#1f2937}}.stick-visual{border:2px solid rgba(10,132,255,.48);box-shadow:0 0 0 3px #0a84ff29,inset 0 1px #ffffff73,inset 0 0 0 10px #ffffff42,0 24px 42px #0f172a1a}.stick-dot{background:radial-gradient(circle at 30% 30%,#ffffff 0%,#8ec5ff 32%,var(--accent) 100%);box-shadow:0 10px 30px #0a84ff4d}.trigger-bar-fill,.progress-ring-bar,.rate-control-card:before{background:linear-gradient(90deg,var(--teal),var(--accent),#6e8dff)}.floating-actions{gap:14px}.floating-btn,.primary-btn,.secondary-btn,.danger-btn{color:#fff;border:none;box-shadow:0 18px 38px #0f172a2e}.floating-btn,.primary-btn{background:linear-gradient(135deg,#5ac8fa,var(--accent))}.floating-btn.secondary,.secondary-btn{background:linear-gradient(135deg,#34c759,#22c55e)}.danger-btn{background:linear-gradient(135deg,#ff6b6b,var(--danger))}.floating-btn-warm{background:linear-gradient(135deg,#ffd166,var(--warm));color:#1b1f2a}.floating-btn:hover,.primary-btn:hover,.secondary-btn:hover,.danger-btn:hover,.floating-btn-warm:hover{filter:saturate(1.05) brightness(1.03)}.modal{background:#0a101a61;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.modal-content{border-radius:28px;background:var(--panel-strong)}.ghost-btn,.ghost-btn-small{background:#ffffff75;color:var(--text)}@media (prefers-color-scheme: dark){.ghost-btn,.ghost-btn-small{background:#1e293bc2}}.ps-block-spacious{margin-top:12px}.ps-block,.trace-panel,.test-history,.rate-main-display,.hz-display,.stat-mini,.history-item{border-radius:24px}.rate-page{max-width:860px}.rate-header{margin-bottom:26px;padding:6px 4px 0}.hz-ring{background:radial-gradient(circle at 30% 30%,#ffffff8f,#ffffff1f);border-radius:50%;box-shadow:inset 0 1px #ffffff6b}.status-value{border-radius:999px;padding:6px 12px}.status-value.testing{background:var(--accent-soft);color:var(--accent)}.trace-toolbar,.history-header{border-color:var(--border)}.page-footer{padding:0 18px 28px;text-align:center}.page-footer .author-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;background:var(--panel);border:1px solid var(--border-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-soft)}@media (max-width: 760px){.topbar{border-radius:24px;padding:16px}.app,.rate-page{padding-top:18px}.floating-actions{right:10px}.floating-btn{min-width:124px}}.hero-shell{display:grid;gap:18px}.topbar-hero{position:relative;overflow:hidden;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;padding:28px}.topbar-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(255,255,255,.48),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.14),transparent 52%);pointer-events:none}.xbox-hero .topbar-hero:after,.ps-hero .topbar-hero:after{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-140px;border-radius:50%;pointer-events:none;filter:blur(24px);opacity:.7}.xbox-hero .topbar-hero:after{background:radial-gradient(circle,rgba(52,199,89,.32),rgba(10,132,255,.08) 62%,transparent 72%)}.ps-hero .topbar-hero:after{background:radial-gradient(circle,rgba(10,132,255,.34),rgba(180,120,255,.12) 58%,transparent 74%)}.hero-copy,.hero-command,.section-heading{position:relative;z-index:1}.hero-copy{display:grid;gap:16px;align-content:start}.hero-command{display:grid;gap:14px;align-content:space-between;justify-items:start;padding:18px;border-radius:24px;background:#ffffff47;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media (prefers-color-scheme: dark){.hero-command{background:#0f172a57;border-color:#ffffff1a}}.hero-eyebrow-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hero-eyebrow,.console-badge,.section-kicker{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero-eyebrow{color:var(--accent-strong);background:#0a84ff1f}.console-badge-xbox{color:#0f8f3d;background:#34c75929}.console-badge-ps{color:#276cff;background:#276cff24}.hero-description{max-width:44rem;font-size:1rem;line-height:1.7}.hero-feature-list{display:flex;flex-wrap:wrap;gap:10px}.hero-feature-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#ffffff6b;border:1px solid rgba(255,255,255,.44);color:var(--text);font-size:.92rem;font-weight:600;box-shadow:inset 0 1px #ffffff6b}@media (prefers-color-scheme: dark){.hero-feature-pill{background:#0f172a8a;border-color:#ffffff1f}}.hero-controls{width:100%}.hero-subnote{color:var(--muted);font-size:.92rem;line-height:1.6}.hero-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-status-card{display:grid;gap:8px;align-content:start;min-height:148px;padding:20px}.hero-status-card-wide{grid-column:span 1}.hero-status-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-status-value,.hero-device-name{font-size:clamp(1.3rem,1rem + .7vw,1.9rem);font-weight:700;letter-spacing:-.03em;color:var(--text)}.hero-device-meta{word-break:break-word}.spotlight-panel{padding:18px}.section-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 18px;margin-bottom:14px}.section-heading h2,.section-heading p{margin:0}.section-summary{max-width:34rem;font-size:.94rem;line-height:1.6}.section-kicker{margin-bottom:8px;color:var(--accent-strong);background:#0a84ff1a}@media (max-width: 980px){.topbar-hero{grid-template-columns:1fr}.hero-command{justify-items:stretch}}@media (max-width: 760px){.hero-status-grid{grid-template-columns:1fr}.topbar-hero{padding:20px}.hero-feature-pill{font-size:.88rem}}
