:root{--bg:#eef6ff;--bg-2:#e3f0ff;--panel:#ffffff;--ink:#2b3a55;--ink-soft:#6b7a99;--line:#d9e6f7;--blue:#4aa3ff;--blue-d:#2d86e8;--green:#3fc98e;--green-d:#28b87f;--red:#ff7a8a;--red-d:#f1556a;--yellow:#ffcf5c;--purple:#9b7bff;--pink:#ff9ec7;--orange:#ff9f68;--term-bg:#ffffff;--term-bar:#eef4fc;--term-dot:#8aa0c6;--radius:18px;--radius-sm:12px;--shadow:0 8px 24px rgba(74,131,232,.14);--shadow-sm:0 3px 10px rgba(74,131,232,.12);--font:"PingFang SC","Microsoft YaHei","Comic Sans MS","Baloo 2","Segoe UI",system-ui,sans-serif;--mono:"SF Mono",Menlo,Monaco,"Cascadia Mono","Cascadia Code",Consolas,"Liberation Mono","Courier New",NSimSun,SimSun,monospace}[hidden]{display:none !important}body.dark{--bg:#1a2030;--bg-2:#232b3d;--panel:#232b3d;--ink:#e8eefc;--ink-soft:#93a1c0;--line:#33405a;--blue:#5aa9ff;--blue-d:#3d8fef;--shadow:0 8px 24px rgba(0,0,0,.4);--shadow-sm:0 3px 10px rgba(0,0,0,.35);--term-bg:#141a28;--term-bar:#1d2436;--term-dot:#8aa0c6}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);height:100vh;overflow:hidden;display:flex;flex-direction:column;transition:background .25s,color .25s}.topbar{display:flex;align-items:center;gap:14px;padding:12px 18px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--blue-d);user-select:none}.brand .logo{width:42px;height:42px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:var(--shadow-sm);transform:rotate(-6deg)}.brand .logo.image-logo{width:auto;height:42px;max-width:180px;border-radius:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:flex-start;overflow:visible;padding:0;box-shadow:none;transform:none}.brand .logo.image-logo img{width:auto;height:100%;max-width:180px;object-fit:contain;display:block;border-radius:0}.brand small{font-size:12px;color:var(--ink-soft);font-weight:600;display:block}.project-pill{display:flex;align-items:center;gap:8px;background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:8px 16px;box-shadow:var(--shadow-sm);font-weight:700}.project-pill.is-shared{gap:12px;padding:6px 16px 6px 8px}.project-pill input{border:none;background:transparent;font:inherit;color:var(--ink);width:180px;outline:none}.project-pill .edit{color:var(--ink-soft);cursor:pointer} .project-author{display:flex;align-items:center;gap:8px;min-width:0;max-width:170px;padding-right:13px;border-right:2px solid var(--line);color:var(--ink-soft);font-weight:900;white-space:nowrap}.project-author-avatar{width:38px;height:38px;aspect-ratio:1;border-radius:999px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:var(--blue);color:#fff;border:3px solid var(--panel);font-size:14px;font-weight:900;box-shadow:0 0 0 2px rgba(74,144,226,.18);background-clip:padding-box}.project-author-avatar img,.project-author-avatar>span{width:100%;height:100%;border-radius:inherit;display:grid;place-items:center}.project-author-avatar img{object-fit:cover;display:block}.project-author-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.tool-group{display:flex;align-items:center;gap:6px;background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:6px 10px;box-shadow:var(--shadow-sm)}.iconbtn{width:38px;height:38px;border:none;border-radius:50%;background:transparent;cursor:pointer;font-size:18px;display:grid;place-items:center;color:var(--ink);transition:.15s}.iconbtn:hover{background:var(--bg-2);transform:translateY(-2px)}.iconbtn:disabled{opacity:.4;cursor:not-allowed;transform:none}.iconbtn.solo{background:var(--panel);border:2px solid var(--line)}.topbar.tools-collapsed .brand,.topbar.tools-collapsed .project-pill,.topbar.tools-collapsed .tool-group .iconbtn:not(#collapseToolbarBtn){display:none}.topbar.editor-shell-collapsible.tools-collapsed{display:none}.topbar.editor-shell-collapsible.tools-collapsed+.editor-floating-tools{display:flex}.editor-floating-tools{position:fixed;right:18px;bottom:24px;z-index:48;display:none;flex-direction:column;align-items:center;gap:14px}.editor-fab{width:62px;height:62px;border:none;border-radius:50%;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:28px;box-shadow:0 12px 28px rgba(19,31,55,.24);transition:transform .15s,filter .15s,box-shadow .15s}.editor-fab:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 32px rgba(19,31,55,.3)}.editor-fab:active{transform:translateY(0)}.editor-fab:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.editor-fab-expand{background:#ff5b2f}.editor-fab-projects{background:#42b94f}.editor-fab-assets{background:#42b94f}.editor-fab-save{background:#ff443b}.editor-fab-run{background:#ff8a00}.editor-fab-run.is-stop{background:#ff443b}.editor-fab-settings{width:76px;height:76px;background:#40528d;font-size:34px}.avatar{width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:22px;border:3px solid var(--panel);box-shadow:var(--shadow-sm);cursor:pointer;padding:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:999px;cursor:pointer;font:inherit;font-weight:800;font-size:15px;color:#fff;padding:11px 22px;box-shadow:var(--shadow-sm);transition:.15s}.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.btn:active{transform:translateY(0)}.btn.run{background:var(--green)}.btn.homework-submit{background:var(--orange);white-space:nowrap}.btn.homework-submit:disabled{opacity:.55;cursor:wait;transform:none;filter:none}.btn.stop{background:var(--red)}.btn .ic{font-size:18px}.workspace{flex:1;display:flex;flex-direction:row;padding:0 18px 18px;min-height:0}.split-pane{height:100%;min-height:0;min-width:0;overflow:visible;display:flex}.panel{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}.gutter{background:transparent;position:relative;cursor:col-resize;flex-shrink:0;flex-grow:0}.gutter::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:60px;border-radius:6px;background:var(--line);transition:.15s}.gutter:hover::after{background:var(--blue);height:90px}.ti{font-size:inherit;line-height:1;flex-shrink:0}.ftab .ti{font-size:17px}.seg .ti{font-size:18px}.btn .ti{font-size:19px}.project-pill .ti{font-size:18px}.editor-main{flex:1;min-width:0;width:100%;position:relative}#monaco,.editor-area{flex:1;min-height:0}.source-cover{position:absolute;left:0;right:0;top:62px;bottom:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--panel);color:var(--ink);text-align:center;font-weight:800;pointer-events:auto}body.dark .source-cover{background:var(--panel)}.source-cover .ti{font-size:58px;color:var(--blue-d)}.source-cover strong{font-size:26px}.source-cover span{font-size:15px;color:var(--ink-soft)}.tabs-scroll{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px;scroll-behavior:smooth;scrollbar-width:none}.tabs-scroll::-webkit-scrollbar{display:none}.tab-arrow{flex-shrink:0;width:30px;height:40px;border:none;background:var(--bg);border-radius:10px;color:var(--ink-soft);cursor:pointer;display:none;place-items:center;transition:.15s}.tab-arrow.show{display:grid}.tab-arrow:hover{background:var(--bg-2);color:var(--blue-d)}.tab-arrow .ti{font-size:18px}.ftab{display:flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:12px;background:var(--bg);color:var(--ink-soft);font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;border:2px solid transparent;white-space:nowrap;flex-shrink:0}.ftab:hover{color:var(--ink)}.ftab.active{background:var(--bg-2);color:var(--blue-d);border-color:var(--blue)}.ftab .dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:none}.ftab.active .dot{display:block}.ftab .x{margin-left:2px;color:var(--ink-soft);cursor:pointer;display:grid;place-items:center}.ftab .x:hover{color:var(--red-d)}.ftab .x .ti{font-size:15px}.ftab.add{flex-shrink:0;width:40px;height:40px;padding:0;justify-content:center;color:var(--green-d);border:2px dashed var(--green);background:transparent;margin-left:2px}.ftab.add:hover{background:var(--bg)}.ftab.locked .x{display:none}.ftab.static{cursor:default}.ftab.static:hover{color:var(--blue-d)}.panel-head{display:flex;align-items:center;gap:8px;height:62px;padding:0 14px;border-bottom:2px solid var(--line);flex-shrink:0}.result-panel{width:100%;min-width:0;overflow:hidden}.seg{flex:1;display:flex;gap:6px;background:var(--bg);border-radius:14px;padding:5px}.seg button{flex:1;min-width:0;border:none;background:transparent;border-radius:10px;padding:9px 10px;font:inherit;font-weight:800;font-size:14px;color:var(--ink-soft);cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.seg button.active{background:var(--panel);color:var(--blue-d);box-shadow:var(--shadow-sm)}.term-wrap{flex:1;margin:14px;border-radius:14px;overflow:hidden;background:var(--term-bg);display:flex;flex-direction:column;min-height:0}.term-wrap .bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--term-bar)}.term-wrap .bar .d{width:12px;height:12px;border-radius:50%}.term-wrap .bar .d.r{background:#ff6b6b}.term-wrap .bar .d.y{background:#ffd166}.term-wrap .bar .d.g{background:#51e09a}.term-wrap .bar span{margin-left:8px;color:var(--term-dot);font-size:12px;font-weight:600}.term-wrap .xterm-host{flex:1;min-height:0;padding:8px 10px}#xterm{flex:1;min-height:0;padding:8px 10px}.io-pane{flex:1;min-height:0;margin:14px;border-radius:14px;overflow:hidden;background:var(--term-bg);display:flex;flex-direction:column}.io-pane .bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--term-bar);color:var(--term-dot);font-size:12px;font-weight:600}.io-pane .bar .d{width:12px;height:12px;border-radius:50%}.io-pane .bar .d.r{background:#ff6b6b}.io-pane .bar .d.y{background:#ffd166}.io-pane .bar .d.g{background:#51e09a}.io-edit{position:relative;flex:1;min-height:0;display:flex}.io-ph{position:absolute;color:var(--ink-soft);opacity:.7;font-family:var(--mono);font-weight:700;pointer-events:none;z-index:5;white-space:nowrap}.io-ph.hide{display:none}.viz{flex:1;margin:14px;border-radius:14px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-soft);gap:10px;text-align:center}.viz .big{font-size:46px}.viz.viz-host{align-items:stretch;justify-content:flex-start;gap:0;text-align:left;overflow:hidden;border:2px solid var(--line);background:var(--panel)}.viz-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg);border-bottom:2px solid var(--line);flex:0 0 auto;min-height:54px}.viz-title{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.2}.viz-title strong{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:15px;white-space:nowrap;line-height:1.2}.viz-title small{font-size:12px;color:var(--ink-soft);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.viz-run{margin-left:auto;border:none;border-radius:999px;background:var(--blue);color:#fff;font-weight:900;padding:0 14px;height:40px;display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;flex:0 0 auto}.viz-run:hover{filter:brightness(1.04)}.viz-run:disabled{cursor:wait;opacity:.72}.viz-status{display:none;padding:8px 14px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;color:var(--ink-soft);background:var(--panel)}.viz-status.ok{color:var(--green-d)}.viz-status.error{color:var(--red-d)}.viz-status.busy{color:var(--blue-d)}.viz-root{flex:1;min-height:0;overflow:hidden;background:#fff}.viz-root .card{height:100%;margin:0;border:0;border-radius:0}.viz-root .card-body{height:100%;min-height:0}.viz-root .card-header.visualizer-header{border-radius:0;background:#fff;border-bottom:2px solid var(--line);color:#24324d;display:flex;align-items:center;gap:10px;padding:6px 10px !important;min-height:58px !important;flex:0 0 auto !important;flex-wrap:nowrap !important}.viz-root .visualizer-title{color:#24324d;font-weight:900;white-space:nowrap;display:none}.viz-root .visualizer-actions{display:flex;align-items:center;gap:8px;width:100%;min-width:0;margin-top:0 !important}.viz-root .execution-controls-horizontal{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:0 !important;border:0 !important;background:transparent !important;border-radius:0 !important}.viz-root .control-buttons{display:flex;align-items:center;gap:6px;flex:0 0 auto}.viz-root .btn{border:0;border-radius:999px;min-width:48px;height:34px !important;padding:0 12px !important;background:#e8eef7;color:#34445f;box-shadow:none;opacity:1;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}.visualizer-actions .btn-secondary{min-width:58px !important}.viz-root .btn svg{width:18px;height:18px}.viz-root .btn:hover{filter:brightness(1.02);transform:none}.viz-root .btn:disabled,.viz-root .btn.disabled{background:#eef2f7;color:#8794aa;opacity:.72;cursor:not-allowed}.viz-root .btn.play-btn:not(:disabled){background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(63,201,142,.2)}.viz-root .btn.play-btn{min-width:58px;height:38px !important}.viz-root .btn.play-btn svg{width:22px;height:22px}.viz-root .btn-secondary{background:#edf2f8;color:#34445f}.viz-root .progress-container{flex:1;min-width:150px;color:#4f5e76;font-weight:800;gap:2px !important}.viz-root .progress-container input[type="range"]{width:100%;accent-color:var(--blue)}.viz-root .progress-bar-wrapper{height:7px !important}.viz-root .progress-info{font-size:11px !important;line-height:1.1 !important}.viz-root .speed-control{display:flex;align-items:center;gap:6px;color:#34445f;font-weight:900;padding:0 !important;border:0 !important;background:transparent !important}.viz-root .speed-control select{background:#fff;color:#34445f;border:2px solid var(--line);border-radius:10px;padding:0 8px !important;height:34px !important;font-weight:900;line-height:30px}.viz-root .visualizer-main{min-height:0}body.dark .viz-root{background:#111827}body.dark .viz-root .card{background:#111827;color:#e8eefc}body.dark .viz-root .card-header.visualizer-header{background:#111827;border-bottom-color:#33405a;color:#e8eefc}body.dark .viz-root .visualizer-title{color:#e8eefc}body.dark .viz-root .btn{background:#2b3548;color:#d8e2f5}body.dark .viz-root .btn:disabled,body.dark .viz-root .btn.disabled{background:#202a3b;color:#8fa0bc;opacity:.78}body.dark .viz-root .btn.play-btn:not(:disabled){background:#3fc98e;color:#102119}body.dark .viz-root .btn-secondary{background:#eef2f8;color:#24324d}body.dark .viz-root .progress-container{color:#cbd6ea}body.dark .viz-root .speed-control{color:#d8e2f5}body.dark .viz-root .speed-control select{background:#172033;color:#e8eefc;border-color:#3a4964}.modal-mask{position:fixed;inset:0;background:transparent;pointer-events:none;z-index:50}.modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:auto;width:min(486px,94vw);background:var(--panel);border-radius:24px;box-shadow:0 24px 60px rgba(43,58,85,.3);overflow:hidden;border:3px solid var(--panel)}.modal.fullscreen{top:15px !important;left:15px !important;transform:none !important;width:calc(100vw - 30px);height:calc(100vh - 30px)}.modal.fullscreen .modal-body,.modal.fullscreen .modal-canvas{height:calc(100% - 58px);max-height:none}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--blue);color:#fff;font-weight:800;font-size:16px;cursor:move;touch-action:none;user-select:none}.modal-head .ttl{display:flex;align-items:center;gap:8px}.modal-head .ctrls{margin-left:auto;display:flex;gap:8px}.modal-head .ctrls button{width:30px;height:30px;border:none;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.25);color:#fff;font-size:15px;display:grid;place-items:center;transition:.15s}.modal-head .ctrls button:hover{background:rgba(255,255,255,.4)}.modal-body{max-height:var(--turtle-body-max-height,600px);transition:max-height .25s ease,opacity .2s;overflow:hidden}.modal.collapsed .modal-body{max-height:0;opacity:0}.modal-canvas{background:#fff;min-height:0;display:flex;flex-direction:column;align-items:center;padding:0;gap:0}.modal-canvas h2{color:var(--red-d);font-size:30px;letter-spacing:2px}.sponge{font-size:140px;line-height:1}.modal-foot{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--bg);border-top:2px solid var(--line)}.modal-foot .chip{background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--ink)}.modal-foot .chip:hover{border-color:var(--blue)}.menu{position:absolute;top:64px;left:18px;z-index:40;background:var(--panel);border:2px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;width:250px;max-height:calc(100vh - 76px);overflow-y:auto}.menu .item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink)}.menu a.item{text-decoration:none}.menu .item:hover{background:var(--bg)}.menu .item.disabled{opacity:.45;pointer-events:none}.menu .item .mi{width:30px;height:30px;border-radius:10px;background:var(--bg);display:grid;place-items:center;font-size:15px}.menu .item.danger:hover{background:#ffe3e7;color:var(--red-d)}.menu .sep{height:2px;background:var(--line);margin:6px 8px;border-radius:2px}.menu .toggle{margin-left:auto;width:40px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:.15s;cursor:pointer;flex-shrink:0}.menu .toggle.on{background:var(--green)}.menu .toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.menu .toggle.on::after{left:20px}.menu .num{margin-left:auto;display:flex;align-items:center;gap:6px}.menu .num button{width:24px;height:24px;border:none;border-radius:8px;background:var(--bg);color:var(--ink);font-weight:900;cursor:pointer;font-size:14px}.menu .num input{width:44px;text-align:center;border:2px solid var(--line);border-radius:8px;padding:4px;font:inherit;font-weight:800;color:var(--blue-d);background:var(--panel)}.avatar-wrap{position:relative}.avatar-menu{top:56px;right:0;left:auto;width:200px}.avatar-menu .item{font-weight:700}.avatar-menu button.item,.avatar-menu a.item,.avatar-menu form,.avatar-menu form button{width:100%;border:0;background:transparent;font:inherit;text-align:left}.avatar-menu a.item{text-decoration:none}.avatar-menu .theme-button.on .mi{background:#fff0d6;color:#d9893a}.avatar-menu .theme-button:not(.on) .mi{background:var(--bg);color:var(--ink-soft)}.account-summary{display:flex;align-items:center;gap:10px;padding:8px 10px;color:var(--ink)}.account-summary-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--line)}.account-summary strong,.account-summary small{display:block}.account-summary small{color:var(--ink-soft);font-size:12px;margin-top:2px}.editor-dialog-mask{position:fixed;inset:0;z-index:100;background:rgba(25,35,55,.46);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.editor-dialog-mask[hidden]{display:none}.editor-dialog{width:min(520px,94vw);max-height:90vh;overflow:hidden;background:var(--panel);border:3px solid var(--panel);border-radius:24px;box-shadow:0 24px 70px rgba(20,35,60,.35);color:var(--ink);display:flex;flex-direction:column}.editor-dialog>header{display:flex;align-items:center;padding:16px 20px;background:var(--blue);color:#fff;flex:0 0 auto}.editor-dialog>header h2{font-size:19px;display:flex;align-items:center;gap:8px}.editor-dialog>header button{margin-left:auto;border:0;background:rgba(255,255,255,.22);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer}.editor-dialog form{display:flex;flex-direction:column;gap:15px;padding:20px;min-height:0;overflow:auto}.editor-dialog label{display:grid;gap:7px;font-weight:750;color:var(--ink)}.editor-dialog input[type="password"],.editor-dialog input[type="text"],.editor-dialog textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);color:var(--ink);font:inherit;outline:none}.editor-dialog input:focus,.editor-dialog textarea:focus{border-color:var(--blue)}.editor-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:3px;position:sticky;bottom:-20px;z-index:3;background:var(--panel);padding-top:12px;padding-bottom:2px}.editor-dialog footer button{border:0;border-radius:999px;padding:10px 20px;font:inherit;font-weight:800;cursor:pointer}.dialog-cancel{background:var(--bg-2);color:var(--ink)}.dialog-submit{background:var(--green);color:#fff}.homework-float-btn{position:fixed;right:18px;top:86px;z-index:35;width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:#523a00;font-size:24px;cursor:pointer;box-shadow:0 12px 26px rgba(20,35,60,.2);transition:transform .15s,filter .15s}.homework-float-btn:hover{transform:translateY(-2px);filter:brightness(1.03)}.homework-remix-float-btn{position:fixed;right:78px;top:86px;z-index:35;width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#073b25;font-size:24px;cursor:pointer;box-shadow:0 12px 26px rgba(20,35,60,.2);transition:transform .15s,filter .15s,opacity .15s}.homework-remix-float-btn:hover{transform:translateY(-2px);filter:brightness(1.03)}.homework-remix-float-btn:disabled{cursor:wait;opacity:.68}.homework-remix-float-btn[hidden]{display:none !important}.homework-offcanvas{position:fixed;inset:0;z-index:140;pointer-events:none}.homework-offcanvas-mask{position:absolute;inset:0;background:rgba(20,30,48,.42);opacity:0;transition:opacity .18s}.homework-offcanvas-card{position:absolute;top:0;right:0;height:100%;width:min(440px,92vw);display:flex;flex-direction:column;background:var(--panel);border-left:2px solid var(--line);box-shadow:-20px 0 50px rgba(15,23,42,.22);transform:translateX(100%);transition:transform .2s;color:var(--ink)}.homework-offcanvas.show{pointer-events:auto}.homework-offcanvas.show .homework-offcanvas-mask{opacity:1}.homework-offcanvas.show .homework-offcanvas-card{transform:none}.homework-offcanvas-card>header{display:flex;align-items:flex-start;gap:12px;padding:18px;border-bottom:2px solid var(--line);background:var(--bg)}.homework-offcanvas-card>header div{min-width:0;flex:1}.homework-offcanvas-card small{display:block;color:var(--ink-soft);font-weight:900;margin-bottom:4px}.homework-offcanvas-card h2{font-size:22px;line-height:1.25}.homework-offcanvas-body{flex:1;min-height:0;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:16px}.homework-meta{display:flex;flex-wrap:wrap;gap:8px}.homework-meta span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--ink-soft);font-size:12px;font-weight:800}.homework-requirement{white-space:normal;line-height:1.7;padding:14px;border:2px solid var(--line);border-radius:14px;background:var(--bg);font-weight:650}.homework-requirement img,.homework-requirement video{max-width:100%;height:auto}.homework-requirement table{max-width:100%;border-collapse:collapse}.homework-requirement iframe{max-width:100%}.homework-grade-form{display:grid;gap:12px;padding:14px;border:2px solid var(--line);border-radius:14px;background:var(--panel)}.homework-grade-form h3{display:flex;align-items:center;gap:8px;font-size:17px}.homework-grade-form label{display:grid;gap:7px;font-weight:800;color:var(--ink)}.homework-grade-field{display:grid;gap:8px;font-weight:800;color:var(--ink)}.homework-grade-form input,.homework-grade-form textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);color:var(--ink);font:inherit;outline:none}.homework-grade-form input:focus,.homework-grade-form textarea:focus{border-color:var(--blue)}.homework-rating{display:inline-flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:8px}.homework-rating input{position:absolute;width:1px;height:1px;opacity:0}.homework-rating label,.homework-rating span{display:inline-flex;width:auto;padding:0;color:var(--line);font-size:40px;font-weight:900;line-height:1;cursor:pointer;transition:color .14s,transform .14s}.homework-rating label:hover,.homework-rating label:hover~label,.homework-rating input:checked~label,.homework-rating span.active{color:#e2ae05}.homework-rating input:focus-visible+label{outline:3px solid rgba(59,130,246,.34);outline-offset:4px}.homework-rating label:hover{transform:translateY(-1px)}.homework-rating.readonly{flex-direction:row}.homework-rating.readonly span{cursor:default}.homework-grade-result{display:grid;gap:10px;padding:14px;border:2px solid var(--line);border-radius:14px;background:var(--panel)}.homework-grade-result h3{display:flex;align-items:center;gap:8px;font-size:17px}.homework-grade-result p{margin:0;color:var(--ink);font-weight:650;line-height:1.6;white-space:pre-wrap}.homework-grade-form .dialog-submit{border:0;border-radius:999px;padding:10px 18px;font:inherit;font-weight:900;cursor:pointer}.homework-grade-status{min-height:18px;color:var(--ink-soft);font-size:12px;font-weight:800}.share-dialog form{gap:0;padding:0;overflow:hidden}.share-dialog .dialog-scroll-body{display:grid;gap:15px;min-height:0;overflow:auto;padding:20px}.share-dialog footer{position:static;flex:0 0 auto;margin:0;padding:12px 20px;background:var(--panel);border-top:2px solid var(--line)}.avatar-crop-dialog{width:min(760px,94vw)}.avatar-crop-body{display:flex;flex-direction:column;gap:14px;padding:18px 20px;min-height:0;overflow:auto}.avatar-crop-body p{margin:0;color:var(--ink-soft);font-weight:750}.avatar-crop-stage{height:min(58vh,520px);min-height:320px;border:2px solid var(--line);border-radius:18px;overflow:hidden;background:repeating-conic-gradient(#edf5ff 0 25%,#f8fbff 0 50%) 50%/28px 28px}.avatar-crop-stage img{display:block;max-width:100%}.avatar-crop-hint{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:13px;font-weight:800}.avatar-crop-body footer{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}body.dark .avatar-crop-stage{background:repeating-conic-gradient(#182235 0 25%,#111827 0 50%) 50%/28px 28px}.share-dialog{width:min(680px,94vw)}.share-dialog fieldset{border:2px solid var(--line);border-radius:15px;padding:11px 14px}.share-dialog legend{padding:0 7px;font-weight:900}.share-dialog label.check{display:flex;grid-template-columns:none;align-items:center;gap:9px;margin:7px 0}.share-dialog input[type="checkbox"]{width:18px;height:18px;accent-color:var(--green)}.editor-category-pill{align-items:center;border-radius:18px;color:var(--ink-soft);cursor:pointer;display:inline-flex;font-size:18px;font-weight:900;justify-content:center;min-height:52px;min-width:108px;padding:0 22px;position:relative;user-select:none;white-space:nowrap}.editor-category-pill input{display:none}.editor-category-pill span{align-items:center;display:inline-flex;gap:8px}.editor-category-pill input:checked+span::before{content:"✓";font-size:20px;font-weight:900;line-height:1}.editor-category-pill:has(input:checked){background:var(--blue);box-shadow:0 8px 18px rgba(74,163,255,.24);color:#fff}.share-dialog label.editor-switch,.editor-switch{align-items:center;background:#2f3338;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:850;justify-content:center;min-height:42px;min-width:154px;padding:5px 46px;position:relative;user-select:none;width:max-content}.share-dialog label.editor-switch{grid-template-columns:none;margin:7px 0}.share-dialog label.editor-switch input,.editor-switch input{display:none}.share-dialog label.editor-switch input[type="checkbox"],.editor-switch input[type="checkbox"]{display:none}.editor-switch-knob{background:#fff;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18);display:block;height:32px;left:6px;position:absolute;top:5px;transition:background .18s ease;width:32px}.editor-switch input:checked+.editor-switch-knob{background:#29c6a8;left:auto;right:6px}.editor-switch span:last-child{white-space:nowrap}.compile-dialog{width:min(820px,94vw)}.compile-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.compile-options-grid fieldset{border:2px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--bg)}.compile-options-grid legend{padding:0 8px;font-size:22px;font-weight:400;color:var(--ink)}.compile-options-grid .option-line{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;margin:13px 0;color:var(--ink-soft);font-size:18px;line-height:1.25}.compile-options-grid input[type="checkbox"],.compile-options-grid input[type="radio"]{width:22px;height:22px;margin-top:1px;flex:0 0 auto;accent-color:#ff7a00}.compile-options-preview{border:2px dashed var(--line);border-radius:14px;padding:10px 12px;background:var(--panel);color:var(--ink-soft);font-family:var(--mono);font-size:13px;word-break:break-all}body.dark .compile-options-grid fieldset{background:#151d2d}body.dark .compile-options-preview{background:#111827}.review-added-line{background:rgba(36,186,110,.18)}.review-added-glyph{background:#24ba6e;border-radius:999px;margin-left:4px;width:8px !important}.review-deleted-line{background:rgba(239,68,68,.12)}.review-deleted-glyph{background:#ef4444;border-radius:999px;margin-left:4px;width:8px !important}.review-deleted-inline{color:#b42318;font-style:italic;opacity:.92}body.dark .review-added-line{background:rgba(56,189,130,.22)}body.dark .review-deleted-line{background:rgba(248,113,113,.18)}body.dark .review-deleted-inline{color:#fca5a5}@media (max-width:720px){.compile-options-grid{grid-template-columns:1fr}.compile-options-grid .option-line{font-size:16px}}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px;padding-left:27px}.permission-grid.disabled{opacity:.45;pointer-events:none}.category-grid{display:flex;gap:10px;background:var(--bg-2);border-radius:22px;padding:8px;overflow-x:auto}.share-dialog .category-grid label.check{margin:4px 0}.share-link-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.share-link-row span{font-weight:800}.share-mask{position:fixed;inset:0;background:rgba(13,19,38,.66);backdrop-filter:blur(5px);z-index:180;display:none;align-items:center;justify-content:center;padding:18px;overflow:auto}.share-mask.open{display:flex}.share-box{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:460px;margin:auto}.theme-switch{display:inline-flex;background:rgba(255,255,255,.16);border-radius:999px;padding:4px;gap:4px}.theme-switch button{border:none;background:transparent;color:#fff;font:inherit;font-weight:800;font-size:13px;padding:7px 16px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.15s;opacity:.72}.theme-switch button.on{background:#fff;color:#2b3a55;opacity:1;box-shadow:0 3px 8px rgba(0,0,0,.2)}.theme-switch .ti{font-size:16px}.share-card{position:relative;width:100%;border-radius:28px;padding:30px 22px 20px;overflow:hidden;box-shadow:0 22px 54px rgba(0,0,0,.45);transition:background .25s}.share-card>.sc-window,.share-card>.sc-foot{position:relative;z-index:2}.share-card.theme-light{background:#9ed8ff}.share-card.theme-dark{background:#161b33}.deco{position:absolute;z-index:1;pointer-events:none;line-height:1}.deco.dot,.deco.ring{border-radius:50%}.deco.ring{background:transparent}.theme-dark .deco.d-light{display:none}.theme-light .deco.d-dark{display:none}.sc-window{border-radius:18px;overflow:hidden}.theme-light .sc-window{background:#fff;box-shadow:0 14px 30px rgba(20,40,80,.25)}.theme-dark .sc-window{background:#0d1322;box-shadow:0 14px 32px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06)}.sc-bar{display:flex;align-items:center;gap:8px;padding:11px 14px}.theme-light .sc-bar{background:#eef3fb}.theme-dark .sc-bar{background:#141a2e}.sc-bar .d{width:11px;height:11px;border-radius:50%;flex:0 0 11px}.sc-bar .d.r{background:#ff6b6b}.sc-bar .d.y{background:#ffd166}.sc-bar .d.g{background:#51e09a}.sc-bar .fn{margin-left:8px;font-size:12px;font-weight:700;font-family:var(--mono);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-light .sc-bar .fn{color:#8090a8}.theme-dark .sc-bar .fn{color:#8ea0c4}.sc-bar .lang{margin-left:auto;font-size:11px;font-weight:800;color:#fff;background:#4aa3ff;padding:3px 10px;border-radius:8px;white-space:nowrap}.theme-dark .sc-bar .lang{background:#5b6bd6}.sc-code{margin:0;padding:16px;font-family:var(--mono);font-size:13px;line-height:1.7;overflow:auto;max-height:44vh;white-space:pre;tab-size:4}.theme-light .sc-code{background:#fff;color:#2b3a55}.theme-dark .sc-code{background:#0d1322;color:#cdd9f0}.sc-foot{display:flex;align-items:center;gap:11px;margin-top:15px}.sc-foot .pic{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:22px;flex-shrink:0;box-shadow:0 3px 8px rgba(0,0,0,.18);overflow:hidden}.sc-foot .pic img{width:100%;height:100%;object-fit:cover;display:block}.theme-light .sc-foot .pic{color:#3b82c4}.theme-dark .sc-foot .pic{color:#5b6bd6}.sc-foot .who{display:flex;flex-direction:column;line-height:1.25;font-weight:800;font-size:15px;min-width:0}.sc-foot .who small{font-weight:600;opacity:.86;font-size:11.5px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-light .sc-foot .who{color:#16294a}.theme-dark .sc-foot .who{color:#fff}.sc-foot .mark{margin-left:auto;font-weight:800;font-size:13px;display:flex;align-items:center;gap:5px;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.theme-light .sc-foot .mark{color:#2c5e94}.theme-dark .sc-foot .mark{color:#aeb8ff}.share-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.sa-btn{display:inline-flex;align-items:center;gap:7px;border:none;border-radius:999px;cursor:pointer;font:inherit;font-weight:800;font-size:14px;padding:12px 20px;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.28);transition:.15s}.sa-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.sa-btn .ti{font-size:17px}.sa-btn.close{background:#5a6b86}.sa-btn.img{background:#3fc98e}.sa-btn.qr{background:#4aa3ff}.qr-pop{display:none;flex-direction:column;align-items:center;gap:10px;background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 12px 30px rgba(0,0,0,.3)}.qr-pop.show{display:flex}.qr-pop #qrBox img,.qr-pop #qrBox canvas{display:block;border-radius:8px}.qr-cap{color:#2b3a55;font-weight:700;font-size:13px}@media(max-width:520px){.share-box{max-width:100%}.share-card{border-radius:22px;padding:26px 16px 18px}.sc-code{font-size:12px}.sc-foot .mark{max-width:112px}.sa-btn{padding:11px 16px}}.swal2-popup{border-radius:24px !important;font-family:var(--font) !important;padding:26px !important}.swal2-title{color:var(--ink) !important;font-size:22px !important}.swal2-input{border:2px solid var(--line) !important;border-radius:14px !important;box-shadow:none !important;font-weight:700 !important;color:var(--ink) !important}.swal2-input:focus{border-color:var(--blue) !important}.swal2-confirm{background:var(--green) !important;border-radius:999px !important;padding:10px 26px !important;font-weight:800 !important;box-shadow:none !important}.swal2-cancel{background:var(--bg-2) !important;color:var(--ink) !important;border-radius:999px !important;padding:10px 26px !important;font-weight:800 !important}.swal2-validation-message{border-radius:12px !important;background:#ffe3e7 !important;color:var(--red-d) !important}body.dark .swal2-container{--swal-dark-input:#171d2b;--swal-dark-muted:#aebbd3}body.dark .swal2-popup{background:#232b3d !important;color:#e8eefc !important;border:2px solid #33405a !important;box-shadow:0 24px 70px rgba(0,0,0,.55) !important}body.dark .swal2-title,body.dark .swal2-html-container,body.dark .swal2-label{color:#e8eefc !important}body.dark .swal2-input,body.dark .swal2-textarea,body.dark .swal2-select{background:var(--swal-dark-input) !important;color:#f2f6ff !important;border-color:#465571 !important;caret-color:#51e09a !important}body.dark .swal2-input::placeholder,body.dark .swal2-textarea::placeholder{color:var(--swal-dark-muted) !important;opacity:1 !important}body.dark .swal2-input:focus,body.dark .swal2-textarea:focus,body.dark .swal2-select:focus{border-color:#5aa9ff !important;box-shadow:0 0 0 3px rgba(90,169,255,.18) !important}body.dark .swal2-validation-message{background:#3b2630 !important;color:#ffb4c0 !important}body.dark .swal2-validation-message::before{background:#ff7a8a !important;color:#232b3d !important}body.dark .swal2-close{color:#aebbd3 !important}body.dark .swal2-close:hover{color:#fff !important}body.dark .swal2-footer{color:var(--swal-dark-muted) !important;border-top-color:#33405a !important}body.dark .swal2-timer-progress-bar{background:rgba(232,238,252,.35) !important}.asset-mask{position:fixed;inset:0;background:rgba(43,58,85,.45);backdrop-filter:blur(4px);z-index:60;display:none;padding:28px;align-items:stretch;justify-content:center}.asset-mask.open{display:flex}.asset-modal{width:100%;max-width:1080px;background:var(--panel);border-radius:24px;box-shadow:0 24px 60px rgba(43,58,85,.35);display:flex;flex-direction:column;overflow:hidden;border:3px solid var(--panel)}.asset-head{display:flex;align-items:center;gap:10px;padding:18px 24px}.asset-head h2{font-size:20px;color:var(--ink);display:flex;align-items:center;gap:9px;font-weight:800}.asset-head .close{margin-left:auto;width:38px;height:38px;border:none;border-radius:50%;background:var(--bg);color:var(--ink-soft);cursor:pointer;display:grid;place-items:center;transition:.15s}.asset-head .close:hover{background:#ffe3e7;color:var(--red-d)}.asset-head .close .ti{font-size:20px}.asset-tabs{display:flex;gap:8px;padding:0 24px}.asset-tab{display:flex;align-items:center;gap:7px;padding:11px 20px;border-radius:14px 14px 0 0;font-weight:800;font-size:15px;color:var(--ink-soft);cursor:pointer;border:2px solid transparent;border-bottom:none;transition:.15s;background:transparent;font:inherit}.asset-tab:hover{color:var(--ink)}.asset-tab.active{color:var(--blue-d);background:var(--bg-2)}.asset-status{margin:12px 24px 0;border:2px solid var(--line);border-radius:14px;background:var(--bg-2);color:var(--ink);padding:11px 14px;font-weight:800;font-size:13px;display:flex;align-items:center;gap:10px}.asset-status[hidden]{display:none}.asset-status.error{border-color:var(--red);background:#ffe8ec;color:var(--red-d)}.asset-status.loading{border-color:var(--blue);color:var(--blue-d)}.asset-status .asset-retry{margin-left:auto;border:0;border-radius:999px;background:var(--panel);color:var(--blue-d);padding:7px 12px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.asset-status .asset-retry:hover{filter:brightness(1.04);transform:translateY(-1px)}body.dark .asset-status.error{background:#402633;color:#ff9aa8}.asset-body{flex:1;min-height:0;margin:0 24px 24px;border:2px solid var(--line);border-radius:0 16px 16px 16px;background:var(--bg);padding:30px;overflow:auto}.asset-pane{height:100%;display:none}.asset-pane.active{display:flex;flex-direction:column}.dropzone{flex:1;min-height:240px;border:3px dashed var(--line);border-radius:18px;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--ink-soft);text-align:center;transition:.15s;cursor:pointer}.dropzone:hover{border-color:var(--blue);color:var(--ink)}.dropzone .big-ic{width:80px;height:80px;border-radius:24px;background:var(--bg-2);display:grid;place-items:center;color:var(--blue-d)}.dropzone .big-ic .ti{font-size:42px}.pick-btn{display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(255,255,255,.6);border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--green),var(--blue));color:#fff;font:inherit;font-weight:900;font-size:15px;padding:11px 28px;box-shadow:0 8px 18px rgba(63,201,142,.25),var(--shadow-sm);transition:transform .15s,filter .15s,box-shadow .15s}.pick-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 10px 24px rgba(74,163,255,.3),var(--shadow-sm)}.pick-btn:active{transform:translateY(0) scale(.98);filter:brightness(.98)}.pick-btn:focus-visible{outline:4px solid rgba(74,163,255,.25);outline-offset:3px}.pick-btn:disabled{cursor:not-allowed;background:var(--bg-2);color:var(--ink-soft);border-color:var(--line);box-shadow:none;filter:none;transform:none}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;align-content:start}#assetAudioGrid{display:flex;flex-direction:column;gap:10px}.asset-card{background:var(--panel);border:2px solid var(--line);border-radius:16px;overflow:hidden;transition:.15s;display:flex;flex-direction:column}.asset-card:hover{border-color:var(--blue);transform:translateY(-3px)}.asset-card .thumb{height:126px;max-height:126px;background:var(--bg-2);display:grid;place-items:center;color:var(--blue-d);position:relative;overflow:hidden;flex:0 0 126px}.asset-preview{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}.asset-card .thumb .asset-preview img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:scale-down;object-position:center}.asset-card .thumb .ti{font-size:40px}.asset-card .meta{display:grid;gap:8px;padding:10px 12px;position:relative;z-index:1;background:var(--panel)}.asset-card .name{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-name-input{width:100%;border:2px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px;font-weight:700;padding:7px 9px;outline:none}.asset-name-input:focus{border-color:var(--blue)}.asset-actions{display:flex;gap:6px;flex-wrap:wrap}.asset-action{border:0;border-radius:10px;background:var(--bg-2);color:var(--ink);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:7px 9px;display:inline-flex;align-items:center;gap:4px}.asset-action:hover{color:var(--blue-d);filter:brightness(1.03)}.asset-action.danger:hover{background:#ffe3e7;color:var(--red-d)}.asset-card audio{display:block;width:calc(100% - 16px);height:34px;margin:0 8px 10px}.asset-manager-body{border-radius:0 16px 16px 16px}.asset-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--ink-soft);font-size:13px;font-weight:700}.asset-empty{text-align:center;color:var(--ink-soft);font-weight:700;padding:36px 12px}body.dark .project-author{border-color:rgba(139,177,226,.22);color:#b9c6dc}body.dark .pick-btn{border-color:rgba(232,238,252,.3);box-shadow:0 8px 22px rgba(90,169,255,.22)}body.dark .pick-btn:hover{box-shadow:0 10px 28px rgba(90,169,255,.32)}.project-list{display:flex;flex-direction:column;gap:9px;text-align:left;max-height:360px;overflow:auto}.project-list a{display:block;padding:12px 14px;border:2px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;background:var(--panel)}.project-list a:hover{border-color:var(--blue);background:var(--bg)}.project-list strong{display:block}.project-list small{color:var(--ink-soft)}.asset-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:2px solid var(--line);border-radius:14px;padding:11px 14px;font-weight:700;color:var(--ink);transition:.15s}.asset-row:hover{border-color:var(--blue);transform:translateY(-1px)}.asset-row>.ti{font-size:22px;color:var(--blue-d);flex:0 0 auto}.asset-row .name{flex:1;min-width:0}.asset-row-name{flex:1;min-width:140px}.asset-row .asset-actions{margin-left:auto;justify-content:flex-end;flex-wrap:nowrap}.asset-row .play{margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--bg-2);color:var(--blue-d);display:grid;place-items:center;cursor:pointer}.asset-row .dur{color:var(--ink-soft);font-weight:600;font-size:13px}
.visualizer-current-line{background:rgba(74,163,255,.22)!important;box-shadow:inset 4px 0 0 var(--blue)}.visualizer-current-line-marker{background:var(--blue);border-radius:999px;margin-left:3px;width:5px!important}.visualizer-current-glyph{background:var(--blue);border-radius:999px;margin-left:4px;width:8px!important}body.dark .visualizer-current-line{background:rgba(90,169,255,.28)!important;box-shadow:inset 4px 0 0 var(--blue)}body.dark .visualizer-current-line-marker,body.dark .visualizer-current-glyph{background:#5aa9ff}
