html{scrollbar-gutter:stable}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#0d1320;border-left:1px solid #ffffff0d}::-webkit-scrollbar-thumb{background:#00e5ff4d padding-box padding-box;border:3px solid #0d1320;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00e5ffb3 padding-box padding-box;border:3px solid #0d1320}*{scrollbar-width:thin;scrollbar-color:#00e5ff4d #0d1320}:root{--bg:#0b1120;--bg2:#0f172a;--text:#f8fafc;--muted:#94a3b8;--cyan:#00e5ff;--cyan2:#00b8cc;--violet:#a855f7;--pink:#f472b6;--border:#ffffff1a;--glass-bg:#0f172a99;--glass-brd:#ffffff0d;--r:8px;--r2:16px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);min-height:100vh;font-family:system-ui,-apple-system,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.swal2-popup{-webkit-backdrop-filter:blur(20px)!important;color:#fff!important;background:#0d1320e6!important;border:1px solid #ffffff1a!important;border-radius:16px!important;box-shadow:0 25px 50px -12px #00000080!important}.swal2-title{color:#fff!important}.swal2-html-container{color:#94a3b8!important}.swal2-confirm{background:linear-gradient(90deg,#00e5ff,#a855f7)!important;border:none!important;border-radius:8px!important;font-weight:600!important}.swal2-cancel{color:#fff!important;background:#ffffff1a!important;border:none!important}#global-math-container{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.math-float{font-family:var(--font-mono,monospace);font-size:var(--size);color:var(--cyan);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:transform, opacity;animation:float-random var(--dur) linear var(--delay) infinite;position:absolute;top:0;left:0;transform:translateZ(0)}@keyframes float-random{0%{transform:translate(var(--startX), var(--startY)) rotate(var(--rotStart));opacity:0}10%{opacity:var(--base-opacity)}90%{opacity:var(--base-opacity)}to{transform:translate(var(--endX), var(--endY)) rotate(var(--rotEnd));opacity:0}}.math-background-fixed-wrapper{z-index:-1;pointer-events:none;contain:strict;background-color:#0d1320;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:50px 50px;position:absolute;inset:0}.hero-canvas{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-glow-1{background:radial-gradient(circle,#00e5ff26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;animation:4s ease-in-out infinite pulse-glow;position:absolute;top:-100px;right:-100px}.hero-glow-2{background:radial-gradient(circle,#a855f71f 0%,#0000 70%);border-radius:50%;width:300px;height:300px;animation:5s ease-in-out infinite reverse pulse-glow;position:absolute;bottom:0;left:-80px}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.hero-shape{pointer-events:none;z-index:5;position:absolute}.hero-shape-1{perspective:900px;width:250px;height:250px;top:10%;right:5%}.hero-shape-2{perspective:700px;width:200px;height:200px;bottom:12%;left:5%}.hero-shape-3{perspective:1200px;opacity:.2;width:380px;height:380px;top:50%;left:50%;transform:translate(-50%,-50%)}.cube{width:100%;height:100%;transform-style:preserve-3d;animation:12s linear infinite rotate-cube;position:relative}@keyframes rotate-cube{0%{transform:rotateX(20deg)rotateY(0)}to{transform:rotateX(20deg)rotateY(360deg)}}.cube-face{width:120px;height:120px;font-family:var(--font-mono,monospace);color:#00e5ff66;backface-visibility:hidden;background:#00e5ff0a;border:2px solid #00e5ff4d;justify-content:center;align-items:center;margin:-60px 0 0 -60px;font-size:1.8rem;display:flex;position:absolute;top:50%;left:50%}.cf-front{transform:translateZ(60px)}.cf-back{transform:rotateY(180deg)translateZ(60px)}.cf-right{transform:rotateY(90deg)translateZ(60px)}.cf-left{transform:rotateY(-90deg)translateZ(60px)}.cf-top{transform:rotateX(90deg)translateZ(60px)}.cf-bottom{transform:rotateX(-90deg)translateZ(60px)}.center-face{color:#a855f766;background:#a855f70a;border-color:#a855f74d;width:180px;height:180px;margin:-90px 0 0 -90px;font-size:2.5rem}.hero-shape-3 .cf-front{transform:translateZ(90px)}.hero-shape-3 .cf-back{transform:rotateY(180deg)translateZ(90px)}.hero-shape-3 .cf-right{transform:rotateY(90deg)translateZ(90px)}.hero-shape-3 .cf-left{transform:rotateY(-90deg)translateZ(90px)}.hero-shape-3 .cf-top{transform:rotateX(90deg)translateZ(90px)}.hero-shape-3 .cf-bottom{transform:rotateX(-90deg)translateZ(90px)}.tri-spin{width:100%;height:100%;transform-style:preserve-3d;animation:8s linear infinite reverse rotate-tri}@keyframes rotate-tri{0%{transform:rotateX(35deg)rotateY(0)}to{transform:rotateX(35deg)rotateY(360deg)}}.tri-face{width:90px;height:90px;font-family:var(--font-mono,monospace);color:#a855f766;backface-visibility:hidden;background:#a855f70a;border:2px solid #a855f759;justify-content:center;align-items:center;margin:-45px 0 0 -45px;font-size:1.5rem;display:flex;position:absolute;top:50%;left:50%}.tf1{transform:rotateY(0)translateZ(45px)}.tf2{transform:rotateY(90deg)translateZ(45px)}.tf3{transform:rotateY(180deg)translateZ(45px)}.tf4{transform:rotateY(270deg)translateZ(45px)}.tf5{transform:rotateX(90deg)translateZ(45px)}.tf6{transform:rotateX(-90deg)translateZ(45px)}.login-container{z-index:10;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-brd);border-radius:var(--r2);flex-direction:column;justify-content:center;width:100%;max-width:400px;min-height:560px;padding:40px;animation:2.4s cubic-bezier(.25,.8,.25,1) cardFadeIn;display:flex;position:relative;box-shadow:0 10px 40px #0009}.login-card:before{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);height:2px;position:absolute;top:0;left:0;right:0}.login-title{color:var(--text);text-align:center;margin-bottom:5px;font-size:2rem;font-weight:700}.login-subtitle{text-align:center;color:var(--cyan);text-transform:uppercase;letter-spacing:2px;margin-bottom:30px;font-size:.85rem}.login-form{flex-direction:column;gap:20px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--muted);font-size:.85rem}.input-group input{border-radius:var(--r);color:var(--text);background:#0003;border:1px solid #ffffff1a;outline:none;padding:14px 16px;font-size:1rem;transition:border-color .3s,box-shadow .3s}.input-group input:focus{border-color:var(--cyan);box-shadow:0 0 15px #00e5ff26}.login-btn{background:linear-gradient(90deg, var(--cyan), var(--violet));color:#fff;border-radius:var(--r);cursor:pointer;border:none;margin-top:10px;padding:14px;font-size:1rem;font-weight:600;transition:opacity .3s,transform .2s,box-shadow .3s}.login-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 5px 15px #a855f74d}.login-error{color:#ef4444;border-radius:var(--r);text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ef44441a;border:1px solid #ef44444d;margin-bottom:20px;padding:12px;font-size:.85rem}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{z-index:1;min-height:100vh;padding:20px;position:relative;background-color:#0000!important}.dashboard-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-brd);border-radius:var(--r2);justify-content:space-between;align-items:center;max-width:1200px;margin-bottom:40px;margin-left:auto;margin-right:auto;padding:15px 30px;display:flex}.user-info{flex-direction:column;display:flex}.user-email{color:var(--cyan);font-size:1.1rem;font-weight:700}.user-role{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-size:.75rem}.btn-logout{color:var(--muted);border-radius:var(--r);cursor:pointer;background:0 0;border:1px solid #ffffff26;padding:10px 20px;transition:all .3s}.btn-logout:hover{color:#ef4444;background:#ef44440d;border-color:#ef4444}.dashboard-main{gap:40px;max-width:1200px;margin:0 auto;display:grid}.welcome-section{border:1px solid var(--glass-brd);border-radius:var(--r2);text-align:center;background:linear-gradient(135deg,#00e5ff0d,#a855f70d);padding:50px 30px;box-shadow:0 10px 30px #0003}.welcome-section h1{margin-bottom:15px;font-size:2.5rem}.welcome-section p{color:var(--muted);margin-bottom:35px;font-size:1.1rem}.btn-join-room{background:linear-gradient(90deg, var(--cyan), var(--violet));color:#fff;border-radius:var(--r);cursor:pointer;border:none;padding:16px 36px;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .3s}.btn-join-room:hover{transform:translateY(-2px);box-shadow:0 5px 25px #a855f766}.history-section h2{color:var(--cyan);margin-bottom:20px;font-size:1.5rem}.gallery-placeholder{border-radius:var(--r2);text-align:center;color:var(--muted);background:#0003;border:1px dashed #ffffff1a;padding:80px 20px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:20px;display:grid}.gallery-card{border-radius:var(--r2);will-change:transform;contain:content;background:#0d1320;border:1px solid #ffffff1a;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;overflow:hidden;transform:translateZ(0)}.gallery-card:hover{border-color:#00e5ff4d;transform:translateY(-5px);box-shadow:0 10px 25px #00e5ff26}.gallery-image-wrapper{aspect-ratio:16/9;background:#000;border-bottom:1px solid #ffffff0d;width:100%;overflow:hidden}.gallery-image-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-card:hover .gallery-image-wrapper img{transform:scale(1.05)}.gallery-info{background:#0f172a;justify-content:space-between;align-items:center;padding:16px;display:flex;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.gallery-info span{color:var(--muted);font-size:.85rem;font-family:var(--font-mono,monospace)}.btn-download{color:var(--cyan);border:1px solid var(--cyan);background:0 0;border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s}.tutor-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin-top:30px;display:flex}.tutor-input{border-radius:var(--r);color:var(--text);background:#0003;border:1px solid #ffffff1a;outline:none;width:100%;max-width:400px;padding:16px 20px;font-size:1rem;transition:border-color .3s,box-shadow .3s}.tutor-input:focus{border-color:var(--cyan);box-shadow:0 0 15px #00e5ff26}.section-title{color:var(--cyan);margin-bottom:20px;font-size:1.5rem}.tutor-layout{grid-template-columns:320px 1fr;align-items:start;gap:40px;display:grid}.student-list-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-brd);border-radius:var(--r2);padding:25px}.student-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.student-item{border-radius:var(--r);cursor:pointer;font-family:var(--font-mono,monospace);color:var(--muted);background:#0003;border:1px solid #ffffff0d;padding:15px;font-size:.9rem;transition:all .2s}.student-item:hover{color:var(--cyan);background:#00e5ff0d;border-color:#00e5ff4d}.student-item.active{border-color:var(--cyan);color:var(--cyan);background:#00e5ff26;font-weight:700}@media (width<=900px){.tutor-layout{grid-template-columns:1fr}}.gallery-actions{align-items:center;gap:10px;display:flex}.btn-delete{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s}.gallery-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-action{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:6px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-preview{color:#a855f7;border-color:#a855f7}.btn-preview:hover{background:#a855f71a;box-shadow:0 0 10px #a855f733}.btn-download{color:var(--cyan);border-color:var(--cyan)}.btn-download:hover{background:#00e5ff1a;box-shadow:0 0 10px #00e5ff33}.btn-delete{color:#ef4444;border-color:#ef4444}.btn-delete:hover{background:#ef44441a;box-shadow:0 0 10px #ef444433}.gallery-image-wrapper{cursor:zoom-in;position:relative}.gallery-image-overlay{opacity:0;background:#0d1320b3;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-image-overlay span{color:#fff;pointer-events:none;font-size:1.1rem;font-weight:600}.gallery-image-wrapper:hover .gallery-image-overlay{opacity:1}.preview-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-modal-content{background:var(--bg);border:1px solid var(--glass-brd);border-radius:var(--r2);flex-direction:column;width:95vw;height:95vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.preview-toolbar{background:var(--glass-bg);border-bottom:1px solid var(--glass-brd);justify-content:flex-end;align-items:center;gap:15px;padding:15px 20px;display:flex}.zoom-level{color:var(--muted);font-family:var(--font-mono,monospace);margin-right:auto;font-size:.9rem}.btn-zoom{color:#fff;border-radius:var(--r);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex}.btn-zoom:hover{background:#ffffff26}.btn-close-modal{color:#fff;border-radius:var(--r);cursor:pointer;background:#ef4444;border:none;margin-left:10px;padding:8px 16px;font-weight:700;transition:opacity .2s}.btn-close-modal:hover{opacity:.8}.preview-image-container{flex:1;justify-content:center;align-items:center;padding:20px;display:flex;overflow:auto}.preview-img{object-fit:contain;transform-origin:50%;max-width:100%;max-height:100%;transition:transform .2s ease-out}.table-responsive{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;color:var(--text)}.users-table th,.users-table td{text-align:left;border-bottom:1px solid #ffffff0d;padding:15px}.users-table th{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:.85rem}.fw-bold{font-weight:600}.empty-state{text-align:center;color:var(--muted);padding:40px}.status-badge{border-radius:20px;padding:6px 12px;font-size:.8rem;font-weight:600}.status-badge.approved{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.status-badge.pending{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.btn-approve{color:#fff;background:#10b981}.btn-block{color:#ef4444;background:0 0;border:1px solid #ef444466}.btn-filter{color:var(--muted);border-radius:var(--r);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;padding:10px 20px;font-weight:600;transition:all .2s}.btn-filter:hover{color:#fff;background:#ffffff1a}.btn-filter.active{border-color:var(--cyan);color:var(--cyan);background:#00e5ff26}.room-container{width:100vw;height:100vh;transition:background-color .3s;position:relative;overflow:hidden}.canvas-wrapper{cursor:crosshair;width:100%;height:100%}.canvas-wrapper.panning{cursor:grabbing!important}.left-toolbar{z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-brd);border-radius:var(--r2);-ms-overflow-style:none;scrollbar-width:none;flex-direction:column;align-items:center;width:95px;max-height:95vh;padding:10px 0;transition:all .3s;display:flex;position:absolute;top:50%;left:20px;overflow-y:auto;transform:translateY(-50%);box-shadow:0 10px 40px #0006}.left-toolbar::-webkit-scrollbar{display:none}.left-toolbar.theme-light{background:#ffffffd9;border-color:#00000040;box-shadow:0 10px 40px #00000026}.toolbar-section{border-bottom:1px solid #ffffff14;flex-direction:column;align-items:center;gap:12px;width:100%;padding:15px 0;transition:opacity .3s;display:flex}.toolbar-section.no-border{border-bottom:none}.left-toolbar.theme-light .toolbar-section{border-bottom-color:#0000001a}.disabled-ui{opacity:.25;pointer-events:none;filter:grayscale()}.btn-leave{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:5px;font-size:.8rem;font-weight:600;transition:color .3s}.btn-leave:hover{color:var(--cyan)}.left-toolbar.theme-light .btn-leave{color:#334155}.left-toolbar.theme-light .btn-leave:hover{color:#0284c7}.btn-save{background:linear-gradient(135deg, var(--cyan), var(--violet));color:#fff;border-radius:var(--r);cursor:pointer;border:none;width:85%;padding:10px 0;font-size:.8rem;font-weight:600;transition:opacity .3s,transform .2s}.btn-save:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-clear{color:#ef4444;border-radius:var(--r);cursor:pointer;background:0 0;border:1px solid #ef444466;width:85%;margin-top:5px;padding:8px 0;font-size:.75rem;font-weight:600;transition:all .3s}.btn-clear:hover{background:#ef44441a;border-color:#ef4444;box-shadow:0 0 10px #ef444433}.left-toolbar.theme-light .btn-clear{color:#dc2626;border-color:#dc262666}.left-toolbar.theme-light .btn-clear:hover{background:#dc26261a;border-color:#dc2626}.tools-grid{box-sizing:border-box;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;margin-bottom:16px;padding:6px;display:grid}.tools-grid .tool-icon-btn:first-child{aspect-ratio:auto;grid-column:1/-1;height:38px}.tool-icon-btn{color:var(--text-muted,#94a3b8);cursor:pointer;aspect-ratio:1;box-sizing:border-box;will-change:transform, border-color, box-shadow;background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid #ffffff0f;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex;transform:translateZ(0)}.tool-icon-btn svg{width:18px;height:18px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.tool-icon-btn:hover{color:var(--text-color,#f8fafc);background:linear-gradient(145deg,#ffffff14,#ffffff08);border-color:#ffffff26;transform:translateY(-2px)translateZ(0);box-shadow:0 4px 12px #0003}.tool-icon-btn:hover svg{transform:scale(1.15)}.tool-icon-btn.active{border-color:var(--cyan,#00e5ff);color:var(--cyan,#00e5ff);background:#00e5ff14;transform:translateY(0)translateZ(0);box-shadow:0 0 12px #00e5ff33,inset 0 0 8px #00e5ff0d}.theme-light .tool-icon-btn{color:#64748b;background:linear-gradient(145deg,#fff,#f8fafc);border-color:#00000038;box-shadow:0 2px 4px #00000005}.theme-light .tool-icon-btn:hover{color:#0f172a;background:#fff;border-color:#0000001f;box-shadow:0 4px 12px #0000000f}.theme-light .tool-icon-btn.active{color:#0ea5e9;background:#f0f9ff;border-color:#0ea5e9;box-shadow:0 0 12px #0ea5e933,inset 0 0 8px #0ea5e90d}.tool-btn{color:var(--text-muted,#94a3b8);cursor:pointer;text-align:center;will-change:transform, border-color, box-shadow;background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid #ffffff0f;border-radius:10px;width:85%;padding:8px 0;font-size:.75rem;font-weight:500;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s,border-color .2s,box-shadow .2s,color .2s;transform:translateZ(0)}.tool-btn:hover{color:var(--text-color,#f8fafc);background:linear-gradient(145deg,#ffffff14,#ffffff08);border-color:#ffffff26;transform:translateY(-2px)translateZ(0);box-shadow:0 4px 12px #0003}.tool-btn.active{border-color:var(--cyan,#00e5ff);color:var(--cyan,#00e5ff);background:#00e5ff14;transform:translateY(0)translateZ(0);box-shadow:0 0 12px #00e5ff33,inset 0 0 8px #00e5ff0d}.left-toolbar.theme-light .tool-btn{color:#64748b;background:linear-gradient(145deg,#fff,#f8fafc);border-color:#00000026;box-shadow:0 2px 4px #00000005}.left-toolbar.theme-light .tool-btn:hover{color:#0f172a;background:#fff;border-color:#00000040;box-shadow:0 4px 12px #0000000f}.left-toolbar.theme-light .tool-btn.active{color:#0ea5e9;background:#f0f9ff;border-color:#0ea5e9;box-shadow:0 0 12px #0ea5e933,inset 0 0 8px #0ea5e90d}.bg-options{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.bg-toggle.active{color:#a855f7!important;background:#a855f714!important;border-color:#a855f7!important;box-shadow:0 0 12px #a855f733,inset 0 0 8px #a855f70d!important}.left-toolbar.theme-light .bg-toggle.active{color:#9333ea!important;background:#faf5ff!important;border-color:#9333ea!important;box-shadow:0 0 12px #9333ea33,inset 0 0 8px #9333ea0d!important}.color-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 10px;display:grid}.color-swatch{cursor:pointer;border:1px solid #ffffff59;border-radius:50%;width:24px;height:24px;transition:transform .2s,border-color .2s,box-shadow .2s}.theme-light .color-swatch{border-color:#0000004d}.color-swatch:hover{border-color:#fff6;transform:scale(1.15)}.theme-light .color-swatch:hover{border-color:#0000004d}.color-swatch.active{box-shadow:0 0 0 2px var(--cyan);border-color:#0000;transform:scale(1.15)}.theme-light .color-swatch.active{box-shadow:0 0 0 2px #0ea5e9}.thickness-picker{flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:5px;display:flex}.tool-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.left-toolbar.theme-light .tool-label{color:#334155}.vertical-slider{appearance:none;cursor:pointer;background:0 0;outline:none;width:75%;margin:8px 0}.vertical-slider::-webkit-slider-runnable-track{background:#ffffff1a;border:1px solid #ffffff0d;border-radius:4px;width:100%;height:6px;transition:background .3s}.vertical-slider::-moz-range-track{background:#ffffff1a;border:1px solid #ffffff0d;border-radius:4px;width:100%;height:6px;transition:background .3s}.vertical-slider::-webkit-slider-thumb{appearance:none;background:var(--cyan,#00e5ff);border:2px solid #0d1320;border-radius:50%;width:16px;height:16px;margin-top:-6px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 0 10px #00e5ff66,inset 0 0 4px #fff9}.vertical-slider::-moz-range-thumb{background:var(--cyan,#00e5ff);border:2px solid #0d1320;border-radius:50%;width:14px;height:14px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 0 10px #00e5ff66,inset 0 0 4px #fff9}.vertical-slider:hover::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 14px #00e5ff99,inset 0 0 4px #fffc}.vertical-slider:hover::-moz-range-thumb{transform:scale(1.25);box-shadow:0 0 14px #00e5ff99,inset 0 0 4px #fffc}.theme-light .vertical-slider::-webkit-slider-runnable-track{background:#0000001a;border-color:#0000000d}.theme-light .vertical-slider::-moz-range-track{background:#0000001a;border-color:#0000000d}.theme-light .vertical-slider::-webkit-slider-thumb{background:#0ea5e9;border-color:#fff;box-shadow:0 0 10px #0ea5e94d}.theme-light .vertical-slider::-moz-range-thumb{background:#0ea5e9;border-color:#fff;box-shadow:0 0 10px #0ea5e94d}.theme-light .vertical-slider:hover::-webkit-slider-thumb{box-shadow:0 0 14px #0ea5e980}.theme-light .vertical-slider:hover::-moz-range-thumb{box-shadow:0 0 14px #0ea5e980}.remote-cursors-overlay{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.remote-cursor{pointer-events:none;will-change:transform;flex-direction:column;align-items:flex-start;transition:transform .12s cubic-bezier(.33,1,.68,1);display:flex;position:absolute;top:0;left:0}.remote-cursor svg{filter:drop-shadow(0 3px 6px #0006);transform-origin:0 0}.remote-cursor-label{font-size:.75rem;font-weight:700;font-family:var(--font-sans,system-ui, sans-serif);letter-spacing:.3px;white-space:nowrap;-webkit-backdrop-filter:blur(4px);border:1.5px solid;border-radius:12px;margin-top:4px;margin-left:14px;padding:4px 12px;box-shadow:0 4px 12px #00000026}.label-theme-dark{color:#0f172a;background:#fffffff2;border:1px solid #ffffff4d;box-shadow:0 4px 12px #0000004d}.label-theme-light{color:#fff;background:#0f172af2;border:1px solid #0000000d;box-shadow:0 4px 12px #00000026}.context-menu{z-index:1000;background:var(--glass-bg,#0d1320cc);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-brd,#ffffff1a);border-radius:8px;flex-direction:column;min-width:150px;padding:8px;display:flex;position:absolute;box-shadow:0 4px 15px #00000080}.context-menu.theme-light{background:#fffffff2;border-color:#0000001a;box-shadow:0 4px 15px #0000001a}.context-menu button{color:#ef4444;text-align:left;cursor:pointer;font-family:var(--font-sans,system-ui, sans-serif);background:0 0;border:none;border-radius:4px;padding:8px 12px;font-size:.9rem;font-weight:600;transition:background .2s}.context-menu button:hover{background:#ef44441a}.context-menu-empty{color:var(--muted,#94a3b8);text-align:center;padding:8px 12px;font-size:.85rem}.context-menu.theme-light .context-menu-empty{color:#64748b}@media (width<=850px){.left-toolbar{flex-direction:row;align-items:stretch;width:95%;max-width:100%;height:auto;padding:10px 15px;top:auto;bottom:20px;left:50%;overflow-x:auto;transform:translate(-50%)}.toolbar-section{border-bottom:none;border-right:1px solid #ffffff14;flex-direction:row;gap:10px;width:auto;padding:0 15px}.left-toolbar.theme-light .toolbar-section{border-bottom-color:#0000;border-right-color:#0000001a}.toolbar-section.no-border{border-right:none}.tool-btn,.btn-save,.btn-clear{white-space:nowrap;width:max-content;padding:8px 16px}.tools-grid{flex-direction:row;width:auto;margin-bottom:0;padding:0;display:flex}.tools-grid .tool-icon-btn:first-child{aspect-ratio:1}.tool-icon-btn{width:38px;height:38px}.color-grid{grid-template-columns:repeat(6,1fr)}.thickness-picker,.bg-options{flex-direction:row}}.shapes-flyout-container{z-index:100;background:var(--glass-bg,#0d1320cc);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-brd,#ffffff1a);border-radius:16px;width:max-content;padding:16px;position:absolute;top:50%;left:130px;transform:translateY(-50%);box-shadow:0 15px 50px #00000080}.shapes-flyout-container.theme-light{background:#fffffff2;border-color:#00000026;box-shadow:0 15px 50px #00000026}.shapes-panel-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.shape-select-btn{color:var(--text-color,#f8fafc);cursor:pointer;background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid #ffffff0f;border-radius:12px;justify-content:center;align-items:center;padding:10px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateZ(0)}.shape-select-btn svg{transition:transform .25s}.shape-select-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.shape-select-btn:hover svg{transform:scale(1.15)}.shape-select-btn.active{border-color:var(--cyan,#00e5ff);color:var(--cyan,#00e5ff);background:#00e5ff1a;box-shadow:0 0 16px #00e5ff40}.theme-light .shape-select-btn{color:#334155;background:#f8fafc;border-color:#0000001a}.theme-light .shape-select-btn:hover{background:#fff;border-color:#0003}.theme-light .shape-select-btn.active{color:#0ea5e9;background:#f0f9ff;border-color:#0ea5e9;box-shadow:0 0 12px #0ea5e933}@media (width<=850px){.shapes-flyout-container{top:auto;bottom:90px;left:50%;transform:translate(-50%)}}
