:root{color:#edf2ff;background:#090d18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(circle at 15% 0,#202c50 0,#0d1325 40%,#090d18 100%);min-width:320px;margin:0}#app{box-sizing:border-box;flex-direction:column;width:100%;min-height:100vh;margin:0 auto;padding:1.5rem;display:flex}.site-topbar{background:#090d18;border-bottom:1px solid #2b3859;min-height:3.25rem;margin:-1.5rem -1.5rem 1.5rem}.site-topbar-inner{box-sizing:border-box;align-items:center;width:100%;max-width:96rem;min-height:3.25rem;margin:0 auto;padding:0 1.5rem;display:flex}.site-topbar-brand{color:#edf2ff;font-weight:800;text-decoration:none}.site-topbar-controls{border-left:1px solid #344464;flex:auto;align-items:center;gap:.65rem;margin-left:1.25rem;padding-left:1.25rem;display:flex}.site-topbar-nav{border-left:1px solid #344464;align-items:center;gap:1rem;margin-left:.75rem;padding-left:.75rem;display:flex}.site-topbar-nav a{color:#aebbd9;font-size:.9rem;font-weight:650;text-decoration:none}.site-topbar-nav a:hover,.site-topbar-nav a[aria-current=page]{color:#8bb7ff}.site-topbar-fullscreen{color:#c8d5f2;background:#11192b;border-color:#3d4d70;margin-left:auto;padding:.35rem .6rem;font-size:.75rem}.site-topbar-fullscreen[aria-pressed=true]{color:#eef4ff;background:#213b67;border-color:#7299e5}.help{color:#aebbd9;background:#10192ce8;border:1px solid #2b3859;border-radius:.75rem;max-width:48rem;margin:0 0 1.25rem;padding:.8rem 1rem;font-size:.9rem;line-height:1.45;box-shadow:0 .6rem 1.6rem #00000024}.help a{color:#8bb7ff;text-underline-offset:.16em;font-weight:700;text-decoration-thickness:.08em}.help a:hover{color:#c3daff}.workspace-card .help{max-width:none;margin:1rem 0 0}.app-layout{flex:1;grid-template-columns:minmax(20rem,1fr) auto;align-items:start;gap:1.25rem;transition:grid-template-columns .2s;display:grid}.app-layout.trace-collapsed{grid-template-columns:3.2rem 1fr}.app-layout.trace-collapsed .dashboard{grid-template-columns:minmax(0,1fr) clamp(19rem,21vw,24rem)}#event-log{box-sizing:border-box;background:#0a1121e8;border:1px solid #2b3859;border-radius:1rem;flex-direction:column;min-height:24rem;max-height:calc(100vh - 2rem);transition:width .2s cubic-bezier(.4,0,.2,1),border-color .15s,box-shadow .15s;display:flex;position:sticky;top:1rem;overflow:hidden;box-shadow:0 1rem 2.5rem #00000040}#event-log[data-collapsed=true]{cursor:pointer;border-color:#3b4b70;width:3.2rem;min-width:3.2rem}#event-log[data-collapsed=true]:hover{border-color:#5c7ebf;box-shadow:0 0 0 1px #5c7ebf,0 1rem 2.5rem #00000059}#event-log[data-collapsed=true] .trace-heading,#event-log[data-collapsed=true] #replay-panel,#event-log[data-collapsed=true] .trace-filters,#event-log[data-collapsed=true] #trace-selection,#event-log[data-collapsed=true] #event-log-rows,#event-log[data-collapsed=true] #trace-detail,#event-log[data-collapsed=true] #trace-context-menu{display:none!important}.trace-collapsed-rail{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:1.25rem;height:100%;padding:.8rem .35rem 1rem;display:flex}.trace-collapsed-rail[hidden]{display:none!important}.trace-rail-expand{color:#94a5c5;cursor:pointer;background:#141f36;border:1px solid #33446b;border-radius:.45rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:.72rem;transition:background .12s,border-color .12s,color .12s,transform .12s;display:flex}.trace-rail-expand:hover{color:#eaf0ff;background:#203154;border-color:#5c7ebf;transform:scale(1.08)}.trace-rail-label{writing-mode:vertical-rl;letter-spacing:.16em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:800;transform:rotate(180deg)}.trace-collapsed-badge{color:#38bdf8;background:#0c233c;border:1px solid #0284c7;border-radius:9999px;justify-content:center;align-items:center;min-width:1.6rem;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;font-weight:800;display:inline-flex;box-shadow:0 0 .6rem #0ea5e940}.trace-heading{border-bottom:1px solid #283653;flex-direction:column;align-items:stretch;gap:.5rem;padding:.8rem .8rem .6rem;display:flex}.trace-title-group{align-items:center;gap:.45rem;display:flex}.trace-collapse-button{color:#94a5c5;cursor:pointer;background:#141f36;border:1px solid #33446b;border-radius:.35rem;justify-content:center;align-items:center;padding:.15rem .35rem;font-size:.68rem;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.trace-collapse-button:hover{color:#eaf0ff;background:#203154;border-color:#5c7ebf}.trace-heading h2{color:#dce6ff;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.trace-heading-title{justify-content:space-between;align-items:center;gap:.5rem;display:flex}#trace-stats{color:#8c9ab8;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.trace-heading-actions{flex-wrap:wrap;gap:.35rem;display:flex}.trace-action-group,.trace-filter-group{flex-wrap:nowrap;flex:none;align-items:center;gap:.25rem;display:flex}.trace-action-group+.trace-action-group,.trace-filter-group+.trace-filter-group{border-left:1px solid #2b3859;padding-left:.35rem}.trace-action-group.is-wrapped,.trace-filter-group.is-wrapped{border-left:0;padding-left:0}.trace-heading button{padding:.22rem .38rem;font-size:.65rem}#replay-panel{color:#c9d9f8;border-bottom:1px solid #283653;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.55rem .8rem;font-size:.66rem;display:flex}#replay-panel[hidden]{display:none}#replay-panel strong{color:#dce6ff;text-transform:uppercase;letter-spacing:.08em}#replay-panel button,#replay-panel select{padding:.2rem .35rem;font-size:.61rem}#replay-panel select{color:#dce6ff;background:#111c35;border:1px solid #465a85;border-radius:.35rem}#replay-prev-move,#replay-next-move{letter-spacing:.02em;border-radius:.25rem;padding:.2rem .45rem;font-size:.62rem;font-weight:700}.replay-scrubber-wrapper{flex:7rem;align-items:center;min-width:5rem;height:1.5rem;display:flex;position:relative}#replay-scrubber{accent-color:#78a9ff;cursor:pointer;z-index:2;background:0 0;width:100%;margin:0;position:relative}.replay-markers{pointer-events:none;z-index:3;height:.65rem;position:absolute;top:50%;left:.45rem;right:.45rem;transform:translateY(-50%)}.replay-marker{appearance:none;pointer-events:auto;cursor:pointer;border:0;border-radius:1px;width:3px;height:100%;padding:0;transition:transform .15s,filter .15s;position:absolute;top:0;transform:translate(-50%)}.replay-marker:hover{filter:brightness(1.3);z-index:3;transform:translate(-50%)scaleY(1.4)}.replay-marker-move{background:#38bdf8;box-shadow:0 0 4px #38bdf8a6}.replay-marker-regrip{background:#c084fc;box-shadow:0 0 4px #c084fca6}.replay-marker-trigger{background:#fbbf24;box-shadow:0 0 4px #fbbf24a6}.replay-identity{color:#94a6ca;flex:1 0 100%}#replay-import{color:#b8c8e9;flex:1 0 100%;gap:.35rem;display:grid}#replay-import[hidden]{display:none}#replay-import textarea,#replay-dropzone{box-sizing:border-box;color:#dce6ff;background:#0c1528;border:1px dashed #516b9f;border-radius:.35rem;width:100%;font:.61rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}#replay-import textarea{resize:vertical;min-height:4.5rem;padding:.35rem}#replay-dropzone{text-align:center;padding:.45rem}#replay-dropzone.is-dragging{background:#17284b;border-color:#91b5ff}.replay-import-actions{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}#replay-import-status[data-error=true]{color:#ff9ba6}.trace-download-button{color:#d9e6ff;background:#1d365c;border-color:#4d78b8}.trace-download-button:hover:not(:disabled){background:#273f69;border-color:#7299e5}#trace-export-scope{color:#dce6ff;background:#111c35;border:1px solid #465a85;border-radius:.35rem;padding:.2rem 1.45rem .2rem .4rem;font-size:.65rem}.trace-filters{border-bottom:1px solid #283653;flex-wrap:wrap;gap:.5rem;padding:.65rem .8rem;display:flex}.trace-filters button{color:#75829e;background:#111a2d;border-color:#2c3956;border-radius:.35rem;padding:.25rem .4rem;font-size:.64rem}.trace-filters button.is-active{color:var(--trace-filter-color);background:var(--trace-filter-background);border-color:var(--trace-filter-background)}.trace-filters button[data-trace-filter=MOVE]{--trace-filter-color:#e5fff0;--trace-filter-background:#176b49}.trace-filters button[data-trace-filter=EVENT]{--trace-filter-color:#e5edff;--trace-filter-background:#344f7e}.trace-filters button[data-trace-filter=STATE]{--trace-filter-color:#ecebff;--trace-filter-background:#4b4b87}.trace-filters button[data-trace-filter=COMMAND]{--trace-filter-color:#ffe7ec;--trace-filter-background:#743542}.trace-filters button[data-trace-filter=UNKNOWN]{--trace-filter-color:#ffedc7;--trace-filter-background:#87591f}.trace-filters button[data-trace-filter=DIAGNOSTIC]{--trace-filter-color:#ffe5ee;--trace-filter-background:#87355e}.trace-filters button[data-trace-filter=REGRIP]{--trace-filter-color:#f4ffd4;--trace-filter-background:#6c6d29}.trace-filters button[data-trace-filter=TRIGGER]{--trace-filter-color:#f0e7ff;--trace-filter-background:#65418e}.trace-filters button[data-trace-filter=SHAKE]{--trace-filter-color:#ffead4;--trace-filter-background:#a75320}.trace-filters button[data-trace-filter=GYRO]{--trace-filter-color:#d9f4ff;--trace-filter-background:#246f8b}#trace-selection{color:#bac8e5;border-bottom:1px solid #283653;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.55rem .8rem;font-size:.66rem;display:flex}#trace-selection[hidden],.trace-detail[hidden],.trace-context-menu[hidden]{display:none}#trace-selection button{padding:.22rem .36rem;font-size:.62rem}#trace-selection-count{color:#dce6ff;width:100%;font-weight:700}#event-log-rows{flex:auto;min-height:4rem;font:.68rem/1.35 JetBrains Mono,SFMono-Regular,Consolas,monospace;overflow-y:auto}#event-log-rows:empty:before{content:"Connect a cube — moves, regrips and state changes appear here.";color:#61708f;padding:1.1rem .85rem;font:.72rem/1.5 Inter,ui-sans-serif,sans-serif;display:block}.trace-row{cursor:pointer;border-bottom:1px solid #303f5e8c;grid-template-columns:3.7rem max-content minmax(0,1fr);align-items:baseline;gap:.4rem;padding:.38rem .55rem;display:grid}.trace-row:hover,.trace-row:focus-visible{background:#111d35}.trace-row.is-selected{background:#213d66;box-shadow:inset .24rem 0 #91b6ff,inset 0 0 0 1px #91b6ff73}.trace-row.is-selected .trace-badge{color:#fff;background:#3b6095}.trace-row.is-focused{outline-offset:-1px;outline:1px solid #d7e4ff}.trace-row.is-selected.is-focused{background:#2b507f}.trace-row time{color:#75829e;font-size:.62rem}.trace-message{color:#d5def3;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-badge{color:#c9d9f8;text-align:center;background:#263959;border:0;border-radius:.2rem;padding:.08rem .22rem;font-size:.59rem;font-weight:800}.trace-badge:hover:not(:disabled){filter:brightness(1.18);transform:none}.trace-detail{background:#0c1426;border-top:1px solid #283653;flex-direction:column;flex:none;max-height:16rem;display:flex;box-shadow:0 -4px 14px #00000047}.trace-detail-heading{background:#0f1a30;border-bottom:1px solid #1e2c4a;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.trace-detail-meta{align-items:center;gap:.45rem;min-width:0;display:flex;overflow:hidden}#trace-detail-badge{letter-spacing:.04em;flex-shrink:0;padding:.12rem .35rem;font-size:.55rem}.trace-badge[data-category=MOVE]{color:#86efac;background:#0d2818;box-shadow:0 0 0 1px #22c55e}.trace-badge[data-category=EVENT]{color:#93c5fd;background:#111e38;box-shadow:0 0 0 1px #3b82f6}.trace-badge[data-category=STATE]{color:#c7d2fe;background:#1e1b4b;box-shadow:0 0 0 1px #6366f1}.trace-badge[data-category=COMMAND]{color:#ffd8e7;background:#4c1d2e;box-shadow:0 0 0 1px #e11d48}.trace-badge[data-category=REGRIP]{color:#f4ffd4;background:#363914;box-shadow:0 0 0 1px #a3e635}.trace-badge[data-category=TRIGGER]{color:#f0e7ff;background:#351a4f;box-shadow:0 0 0 1px #c084fc}.trace-badge[data-category=SHAKE]{color:#ffead4;background:#4a210b;box-shadow:0 0 0 1px #fb923c}.trace-badge[data-category=GYRO]{color:#d9f4ff;background:#0e303d;box-shadow:0 0 0 1px #38bdf8}#trace-detail-summary{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:700;overflow:hidden}#trace-detail-time{color:#74a7ff;white-space:nowrap;opacity:.9;font-family:ui-monospace,JetBrains Mono,monospace;font-size:.58rem}.trace-detail-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.trace-detail-actions button{border-radius:.25rem;padding:.2rem .45rem;font-size:.6rem;font-weight:600}#close-trace-detail{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.25rem;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;padding:0;font-size:.72rem;transition:all .15s;display:inline-flex}#close-trace-detail:hover{color:#fff;background:#ffffff1f;border-color:#3b4b6e}.trace-detail-chips{background:#091020;border-bottom:1px solid #1a2744;flex-wrap:wrap;gap:.3rem;padding:.35rem .6rem;display:flex}.trace-detail-chips[hidden]{display:none}.trace-chip{color:#e2e8f0;background:#13203c;border:1px solid #253966;border-radius:.25rem;align-items:center;gap:.22rem;padding:.12rem .38rem;font-size:.58rem;display:inline-flex}.trace-chip-label{color:#74a7ff;font-weight:700}.trace-chip-value{color:#f8fafc;font-family:ui-monospace,JetBrains Mono,monospace;font-weight:600}.trace-detail pre{color:#b9c8e8;white-space:pre-wrap;word-break:break-all;background:#060a14;border:0;flex:auto;max-height:10.5rem;margin:0;padding:.55rem .65rem;font:.66rem/1.45 JetBrains Mono,SFMono-Regular,Consolas,monospace;overflow:auto}.trace-detail pre .json-key{color:#93c5fd;font-weight:600}.trace-detail pre .json-string{color:#86efac}.trace-detail pre .json-number{color:#fdba74;font-weight:600}.trace-detail pre .json-boolean{color:#c084fc;font-weight:700}.trace-detail pre .json-null{color:#f472b6;font-style:italic}.trace-detail pre .json-punct{color:#64748b}.trace-context-menu{z-index:10;background:#101a30;border:1px solid #40547d;border-radius:.45rem;gap:.2rem;min-width:8rem;margin:0;padding:.35rem;display:grid;position:fixed;box-shadow:0 .6rem 1.5rem #0006}.trace-context-menu button{color:#dce6ff;text-align:left;background:0 0;border:0;border-radius:.25rem;padding:.32rem .45rem;font-size:.66rem}.trace-context-menu button:hover{background:#213b67}.trace-move .trace-badge{color:#e5fff0;background:#176b49}.trace-event .trace-badge{color:#e5edff;background:#344f7e}.trace-state .trace-badge{color:#ecebff;background:#4b4b87}.trace-command .trace-badge{color:#ffe7ec;background:#743542}.trace-unknown .trace-badge{color:#ffedc7;background:#87591f}.trace-diagnostic .trace-badge{color:#ffe5ee;background:#87355e}.trace-regrip .trace-badge{color:#f4ffd4;background:#6c6d29}.trace-trigger .trace-badge{color:#f0e7ff;background:#65418e}.trace-shake .trace-badge{color:#ffead4;background:#a75320}.trace-gyro .trace-badge{color:#d9f4ff;background:#246f8b}.dashboard{grid-template-columns:clamp(34rem,43vw,46rem) clamp(19rem,20vw,24rem);align-items:start;gap:1.25rem;display:grid}.workspace-card,.device-card{box-sizing:border-box;background:linear-gradient(145deg,#1b2641eb,#0d1425eb);border:1px solid #2b3859;border-radius:1rem;box-shadow:0 1rem 2.5rem #00000040}.workspace-card{min-width:0;padding:1.25rem}.device-card{padding:1.25rem}.device-card-header{border-bottom:1px solid #283653;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .85rem;padding-bottom:.65rem;display:flex}.device-card-header h2{letter-spacing:.04em;color:#dce6ff;margin:0;font-size:.95rem;font-weight:750}.site-topbar-device-actions,.connect-picker{align-items:center;gap:.45rem;display:flex}.site-topbar-device-actions{margin-left:.15rem}.connect-picker{position:relative}#connect-menu{z-index:12;background:#101a30;border:1px solid #40547d;border-radius:.45rem;gap:.2rem;min-width:16rem;margin:0;padding:.35rem;list-style:none;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 .6rem 1.5rem #0006}#connect-menu[hidden]{display:none}#connect-menu button{text-align:left;background:0 0;border:0;width:100%;padding:.38rem .5rem;font-size:.7rem}#connect-menu button:hover{background:#213b67}.connect-menu-label{color:#8fa1c5;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #344464;margin:.25rem .35rem .1rem;padding-top:.4rem;font-size:.62rem;font-weight:750}.connect-menu-active{border-top:1px solid #344464;margin-top:.15rem;padding-top:.2rem}.mock-device-status{z-index:13;color:#ffb6c3;background:#351923;border:1px solid #8c3547;border-radius:.35rem;width:max-content;max-width:min(22rem,100vw - 2rem);padding:.45rem .6rem;font-size:.7rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 .5rem 1.2rem #00000059}#cube{box-sizing:border-box;background:radial-gradient(circle at 50% 35%,#16223d 0,#0a1121 70%);border:1px solid #2b3859;border-radius:.85rem;flex:auto;justify-content:center;align-items:center;min-height:0;margin:0;padding:.5rem;display:flex}#cube twisty-player{width:clamp(13rem,21vw,18rem);height:clamp(13rem,21vw,18rem)}.cube-workspace{align-items:stretch;gap:1.25rem;display:flex}.cube-column{flex-direction:column;flex:none;width:clamp(15rem,21vw,19rem);display:flex}.cube-viewport-wrapper{flex-direction:column;display:flex;position:relative}.grip-status{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;background:#0c1426e0;border:1px solid #2b3e66;border-radius:999px;justify-content:space-between;align-self:flex-start;align-items:center;gap:.5rem;padding:.25rem .55rem;font-size:.7rem;display:flex;position:absolute;top:.65rem;left:.65rem}.grip-identity{align-items:center;gap:.4rem;display:flex}.grip-indicator{background:#4de38b;border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 .45rem #4de38b8c}.grip-label{color:#7c8ea8;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.grip-label:after{content:" ·"}.grip-value{color:#c9d8f8;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-weight:700}.grip-gesture{color:#f4ffd4;background:#4b4e20;border:1px solid #6c6d29;border-radius:.35rem;padding:.12rem .45rem;font-size:.65rem;font-weight:750}.grip-gesture[hidden]{display:none}.detected-moves-panel{flex-direction:column;flex:22em;min-width:15em;display:flex}.detected-moves-panel label,.cubie-state-panel label{color:#dce6ff;letter-spacing:.02em;font-size:.8rem;font-weight:700}.detected-moves-panel label{margin:0}.detected-moves-heading{justify-content:space-between;align-items:center;gap:.65rem;margin:0 0 .55rem;display:flex}.solve-summary{color:#9eafd0;white-space:nowrap;align-items:center;gap:.5rem;font:700 .7rem JetBrains Mono,SFMono-Regular,Consolas,monospace;display:flex}.move-count,.session-elapsed{background:#111c35;border:1px solid #3b4b70;border-radius:.45rem;padding:.3rem .45rem}.move-count strong,.session-elapsed strong{color:#eaf0ff}.session-elapsed{color:#8291b2;font-variant-numeric:tabular-nums}.solve-analysis{border-top:1px solid #2b3859;margin-top:.7rem}.solve-analysis summary{color:#cdd9f5;cursor:pointer;justify-content:space-between;gap:1rem;padding:.65rem 0 0;font-size:.74rem;font-weight:700;display:flex}.solve-analysis summary:before{content:"▸";color:#8291b2;margin-right:.35rem}.solve-analysis[open] summary:before{content:"▾"}.solve-analysis summary span:first-child{margin-right:auto}#solve-analysis-status{color:#8291b2;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.68rem}#solve-analysis-status[data-state=running]{color:#67e8f9}#solve-analysis-status[data-state=complete]{color:#6ee7a2}.solve-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.65rem;display:grid}.solve-analysis-grid span,.solve-analysis-grid output{display:block}.solve-analysis-grid span{color:#7182a4;letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:700}.solve-analysis-grid output{color:#e7efff;font-variant-numeric:tabular-nums;margin-top:.18rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700}.detected-moves-editor{box-sizing:border-box;background:#0a1121;border:1px solid #3b4b70;border-radius:.75rem;flex:1;min-height:9.5em;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.detected-moves-editor:focus-within{border-color:#5c7ebf;box-shadow:0 0 0 1px #5c7ebf,0 0 1rem #3b82f633}.detected-moves-highlight,#detectedMoves{box-sizing:border-box;letter-spacing:normal;word-spacing:normal;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;tab-size:2;border:0;outline:none;width:100%;height:100%;min-height:9.5em;margin:0;padding:.8rem;font:700 1.05rem/1.6 Courier New,Courier,Nimbus Mono PS,serif}.detected-moves-highlight{pointer-events:none;color:#eaf0ff;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0;overflow:hidden}#detectedMoves{resize:vertical;color:#0000;caret-color:#74a7ff;z-index:1;background:0 0;display:block;position:relative}#detectedMoves::placeholder{color:#556788}#detectedMoves::selection{color:#0000;background:#3b82f661}.move-token{color:#eaf0ff;letter-spacing:inherit;font-weight:700;display:inline}.move-separator{color:#64748b;font-weight:700;display:inline}.detected-moves-actions,.controls,.control-actions{flex-wrap:wrap;gap:.5rem;display:flex}#track-orientation[aria-pressed=true]{color:#e7efff;background:#263f70;border-color:#6b9bf5}.detected-moves-toolbar{align-items:center;gap:.4rem .75rem;margin:0 0 .55rem;display:flex}.detected-moves-notation{flex-wrap:wrap;gap:.35rem;margin:0;display:flex}.detected-moves-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;margin-top:.55rem;display:flex}.detected-moves-actions button{box-sizing:border-box;text-align:center;border-radius:.4rem;min-height:1.85rem;padding:.32rem .65rem;font-size:.74rem;font-weight:600}.detected-moves-notation-label{color:#8291b2;align-self:center;margin-right:.1rem;font-size:.7rem;font-weight:700}.detected-moves-notation button{color:#aab9d9;background:#111c35;border-color:#3b4b70;border-radius:.4rem;padding:.26rem .55rem;font-size:.72rem;font-weight:600}.detected-moves-notation button[aria-pressed=true]{color:#e7efff;background:#263f70;border-color:#6b9bf5}.detected-moves-error{color:#ff9da8;margin:.35rem 0 0;font-size:.72rem;font-weight:600}#detectedMoves[aria-invalid=true]{border-color:#d96070}.controls{justify-content:space-between;margin-top:1rem}.cube-view-toolbar,.cube-toolbar{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.cube-view-toolbar{margin-bottom:.55rem}.cube-toolbar{margin-top:.55rem}.cube-view-toolbar>button,.cube-toolbar>button,.cube-toolbar .cube-export>button{box-sizing:border-box;text-align:center;border-radius:.4rem;justify-content:center;width:100%;min-height:1.85rem;padding:.32rem .65rem;font-size:.74rem;font-weight:600}.command-panel{border-top:1px solid #2b3859;margin-top:1rem;padding-top:1rem}.command-panel h3{color:#dce6ff;letter-spacing:.02em;margin:0 0 .65rem;font-size:.8rem}.command-group+.command-group{margin-top:.75rem}.command-group-label{color:#7686a8;letter-spacing:.05em;text-transform:uppercase;margin:0 0 .4rem;font-size:.68rem;font-weight:700;display:block}.command-panel-actions{flex-wrap:wrap;gap:.5rem;display:flex}.command-panel-actions button{font-size:.74rem}button{color:#eaf0ff;font:inherit;cursor:pointer;background:#1d2a47;border:1px solid #465a85;border-radius:.4rem;padding:.45rem .72rem;font-size:.82rem;font-weight:700;transition:background .12s,border-color .12s,transform .12s}button:hover:not(:disabled){background:#27395e;border-color:#7299e5;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}#connect{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1f4f8a 0%,#173766 100%);border:1px solid #4d78b8;border-radius:.5rem;padding:.35rem .85rem;font-size:.78rem;font-weight:700;transition:all .12s;box-shadow:0 2px 8px #194b9159}#connect:hover:not(:disabled){background:linear-gradient(135deg,#2563b0 0%,#1e457f 100%);border-color:#7299e5;transform:translateY(-1px);box-shadow:0 4px 12px #2364be73}#connect[data-state=connected]{color:#ffd8df;background:linear-gradient(135deg,#5e2432 0%,#3e1621 100%);border-color:#8c3547;box-shadow:0 2px 6px #5e24324d}#connect[data-state=connected]:hover:not(:disabled){background:linear-gradient(135deg,#782d40 0%,#4f1c2a 100%);border-color:#b54a62}#connect[data-state=connecting]{color:#fff3d1;background:linear-gradient(135deg,#6e5218 0%,#47340d 100%);border-color:#a8822d}.cubie-state-panel{align-items:center;gap:.65rem;margin-top:1rem;display:flex}.cubie-state-panel[hidden]{display:none}.cubie-state-panel label:after,.info label:after{content:":"}.cubie-state-panel input{box-sizing:border-box;color:#cedaff;background:#0a1121;border:1px solid #3b4b70;border-radius:.6rem;flex:1;min-width:0;padding:.6rem .75rem;font:700 .78rem JetBrains Mono,SFMono-Regular,Consolas,monospace}.cube-export{flex:none;position:relative}.cube-toolbar .cube-export{width:100%;min-width:0}.cube-export-menu{z-index:5;background:#111b31;border:1px solid #465a85;border-radius:.6rem;gap:.2rem;min-width:13rem;max-height:min(28rem,100vh - 2rem);padding:.35rem;display:grid;position:absolute;bottom:calc(100% + .45rem);left:0;overflow-y:auto;box-shadow:0 .6rem 1.4rem #00000059}.cube-export-menu[hidden]{display:none}.cube-export-menu-label{color:#7c8ea8;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #263653;margin:.2rem .35rem 0;padding-top:.3rem;font-size:.58rem;font-weight:800;line-height:1}.cube-export-menu-label:first-child{border-top:0;margin-top:0;padding-top:.1rem}.cube-export-menu button{color:#dce6ff;text-align:left;background:0 0;border:0;border-radius:.35rem;padding:.35rem .55rem;font-size:.74rem}.cube-export-menu button:hover{background:#213b67}.info{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.45rem .65rem;display:grid}.info-group-title{color:#7c8ea8;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #1e2c49;grid-column:1/-1;margin:.65rem 0 .15rem;padding-bottom:.25rem;font-size:.62rem;font-weight:800}.info-group-title:first-child{margin-top:0}.info-group-title[hidden]{display:none}.info label{color:#94a5c5;text-align:right;white-space:nowrap;align-self:center;font-size:.74rem}.info label[for=connectionStatus]:before{content:"";background:#68748e;border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-block}.info label[for=connectionStatus]:has(+input[data-state=connected]):before{background:#4de38b;box-shadow:0 0 .55rem #4de38b}.info label[for=connectionStatus]:has(+input[data-state=connecting]):before{background:#ffd166}.info label[for=connectionStatus]:has(+input[data-state^=failed-]):before{background:#ff6b7f}.info label[for=connectionStatus]:has(+input[data-state=error]):before{background:#ff6b7f}.info input{color:#e5efff;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;background:#0b1324;border:1px solid #263554;border-radius:.4rem;min-width:0;padding:.35rem .55rem;font:600 .74rem Inter,ui-sans-serif,sans-serif;transition:border-color .12s,background .12s;overflow:hidden}.info input:hover{background:#0f1a30;border-color:#485f8c}.info input[data-na=true],.info input[value="- n/a -"]{color:#556685;opacity:.75}#quaternion,#velocity,#skew,#batteryLevel,#eventSerial{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.7rem}#batteryLevel:not([value="- n/a -"]){color:#4de38b;font-weight:700}.cubie-state-panel input::placeholder{color:#556685;font-style:italic;font-weight:400}#app-feedback{z-index:20;color:#edf4ff;background:#162744f2;border:1px solid #628bd1;border-radius:.65rem;max-width:min(26rem,100vw - 3rem);padding:.7rem .9rem;font-size:.78rem;font-weight:700;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 .75rem 2rem #00000059}@media (min-width:78.01rem){#app{height:100vh;overflow:hidden}.app-layout,.dashboard{min-height:0}.app-layout{align-items:stretch}.dashboard{align-items:stretch;height:100%}#event-log{height:100%;min-height:0;max-height:none;position:relative;top:auto}.workspace-card,.device-card{scrollbar-gutter:stable;min-height:0;max-height:100%;overflow-y:auto}}@media (max-width:78rem){.app-layout,.app-layout.trace-collapsed{grid-template-columns:1fr}#event-log{min-height:0;max-height:18rem;position:relative;top:auto}#event-log[data-collapsed=true]{width:100%;min-width:0;min-height:0;max-height:3.5rem}#event-log[data-collapsed=true] .trace-collapsed-rail{flex-direction:row;gap:.75rem;height:auto;padding:.5rem .8rem}#event-log[data-collapsed=true] .trace-rail-label{writing-mode:horizontal-tb;transform:none}#event-log-rows{min-height:0;max-height:11rem}.dashboard{grid-template-columns:1fr}.device-card{order:2}}@media (max-width:64rem){.site-topbar-inner{flex-wrap:wrap;gap:.6rem 1rem;height:auto;padding-block:.65rem}.site-topbar-brand{margin-right:0}.site-topbar-nav{border-left:0;flex-wrap:wrap;flex:100%;justify-content:flex-end;gap:.65rem;margin-left:0;padding-left:0}}@media (max-width:42rem){.site-topbar-controls{border-left:0;width:100%;margin-left:0;padding-left:0}.site-topbar-nav{flex-basis:100%;justify-content:flex-start}.site-topbar-device-actions{border-left:0;width:auto;margin-left:0;padding-left:0}.site-topbar-fullscreen{margin-left:auto}.trace-filter-group{flex-wrap:wrap}#app{padding:.9rem}.workspace-card,.device-card{border-radius:.75rem;padding:.9rem}.cube-workspace{flex-direction:column;align-items:flex-start}.cube-column{width:100%}.detected-moves-panel{width:100%;min-width:0}.detected-moves-heading{flex-direction:column;align-items:flex-start}.cubie-state-panel,.controls{flex-direction:column;align-items:stretch}.info{grid-template-columns:1fr;gap:.25rem}.info label{text-align:left;margin-top:.55rem}}
