@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0c12;--surface:#11141d;--control:#181c27;--segment:#141824;--line:#1e2330;--text:#f2f4f8;--dim:#8a90a2;--dimmer:#6b7186;--accent:#4d7cff;--ink:#0a0c12;--ink2:#0a0c12b8;--danger:#ff7b7b;--hh:56px;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-family:Manrope Variable,Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:500;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.app{background:var(--bg);height:100dvh;display:flex}.main{min-width:0;padding-top:env(safe-area-inset-top);flex-direction:column;flex:1;display:flex}.stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.hdr{flex:none}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:13px;font-weight:800}.hdr h1{letter-spacing:-.01em;white-space:nowrap;margin-top:2px;font-size:24px;font-weight:800;line-height:1.15}.ctl{background:var(--control);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 14px;font-size:15px;font-weight:700;display:inline-flex;position:relative}.ctl:disabled{opacity:.4;cursor:default}.ctl:not(:disabled):hover{background:#202534}.ctl.icon{padding:0}.ctl.bare{background:0 0}.ctl.today{color:var(--accent);font-size:18px;font-weight:800}.segment{background:var(--segment);border-radius:14px;gap:2px;padding:4px;display:flex}.segment button{min-height:44px;color:var(--dim);transition:background .18s var(--ease), color .18s;border-radius:10px;flex:1;padding:0 18px;font-size:16px;font-weight:700}.segment button.on{background:var(--text);color:var(--ink)}.modepill{background:var(--control);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;min-height:44px;padding:0 6px 0 16px;font-size:15px;font-weight:700;display:inline-flex}.modepill>span:first-child{color:var(--dim)}.modepill.on>span:first-child{color:var(--text)}.toggle{background:#2b3144;border-radius:999px;flex:none;width:48px;height:32px;transition:background .18s;position:relative}.toggle i{width:24px;height:24px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:4px;left:4px}.modepill.on .toggle{background:var(--accent)}.modepill.on .toggle i{transform:translate(16px)}.syncdot{border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.syncdot.ok{background:#3ddc84}.syncdot.busy{background:var(--accent)}.syncdot.idle{background:var(--dimmer)}.syncdot.bad{background:#ff7b7b}.hdr.mobile{padding:12px 16px 0}.hdr-top{justify-content:space-between;align-items:flex-start;gap:8px;min-height:48px;margin-bottom:14px;display:flex}.hdr-top .hdr-title{flex:1;min-width:0;padding-top:2px}.hdr-top h1{text-overflow:ellipsis;overflow:hidden}.hdr-actions{flex:none;gap:6px;display:flex}.ctl.back{background:var(--segment);border-radius:14px;gap:4px;height:48px;padding:0 12px 0 8px;font-size:16px}.hdr-top .ctl.icon{background:var(--segment);border-radius:14px;height:48px}.hdr-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 2px;padding:8px 0;display:flex}.navgroup{align-items:center;display:flex}.navgroup .ctl.icon.bare{min-width:34px}.navgroup .ctl.today{padding:0 4px}.navgroup.undo{margin-right:auto}.navgroup.undo .ctl{background:0 0;min-width:38px;padding:0}.mobile .modepill{gap:6px;padding:0 4px 0 12px;font-size:14px}.mobile .toggle{width:44px;height:28px}.mobile .toggle i{width:20px;height:20px}.mobile .modepill.on .toggle i{transform:translate(16px)}.mobile .hdr-title h1{font-size:min(24px,6.3vw)}.mobile .ctl.today{font-size:16px}.mobile .ctl-text{display:none}.hdr.desktop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:18px 24px 14px;display:flex}.hdr-left,.hdr-right{align-items:center;gap:8px;display:flex}.hdr-left .hdr-title{margin-left:10px}.hdr.desktop .segment{min-width:300px}@media (width<=1279px){.desktop .ctl-text{display:none}.desktop .ctl.ctl-ico,.hdr-right .ctl{padding:0}}.grid-root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;min-height:0;display:flex}.grid-scroll{touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#2a3042 transparent;overscroll-behavior:contain;flex:1;position:relative;overflow:hidden auto}.grid-end{height:40px}.grid-body{grid-template-columns:56px 1fr;padding-top:12px;display:grid}.gutter{position:relative}.lbl{color:var(--dim);font-size:10px;font-weight:600;line-height:1;position:absolute;right:10px;transform:translateY(-50%)}.lbl.hour{color:var(--text);font-size:13px;font-weight:800}.cols{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));display:grid;position:relative}.col{--l1:#ffffff57;--l2:#ffffff1f;--l4:#ffffff0b;background-image:linear-gradient(to bottom, var(--l1) 1.5px, transparent 1.5px), linear-gradient(to bottom, var(--l2) 1px, transparent 1px), linear-gradient(to bottom, var(--l4) 1px, transparent 1px);background-size:100% var(--hh), 100% var(--hh), 100% calc(var(--hh) / 2);background-position:0 0, 0 calc(var(--hh) / 2), 0 calc(var(--hh) / 4);box-shadow:inset 0 -1.5px 0 var(--l1);touch-action:pan-y;position:relative}.is-dragging .col{--l4:#ffffff1c}.is-week .col{border-left:1px solid var(--line)}.is-week .col.today{background-color:#ffffff08}.gutter-head{background:var(--bg)}.dayheads{z-index:30;background:var(--bg);grid-template-columns:56px repeat(7,minmax(0,1fr));padding:4px 0 2px;display:grid;position:sticky;top:0}.dayhead{border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:2px 0;display:flex}.dayhead:hover{background:#ffffff0a}.dh-wd{letter-spacing:.1em;color:var(--dim);text-transform:uppercase;font-size:11px;font-weight:800}.dh-num{border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid}.dayhead.today .dh-num{background:var(--accent);color:#fff}.is-compact .dh-num{width:30px;height:30px;font-size:15px}.is-compact .dayheads,.is-compact .grid-body{grid-template-columns:44px repeat(7,minmax(0,1fr))}.is-compact .grid-body{grid-template-columns:44px 1fr}.is-compact .lbl{right:6px}.expand{background:var(--control);width:calc(100% - 24px);min-height:44px;color:var(--dim);border-radius:12px;margin:8px 12px 0;font-size:13px;font-weight:700;display:block}.grid-end+.expand{margin-top:0}.now{background:var(--accent);z-index:25;pointer-events:none;height:2px;position:absolute;left:0;right:0;transform:translateY(-1px)}.now:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.hint{text-align:center;color:var(--dim);pointer-events:none;z-index:2;grid-column:1/-1;font-size:14px;font-weight:700;line-height:1.4;position:absolute;left:16px;right:16px}.hint-coarse{display:none}@media (pointer:coarse){.hint-fine{display:none}.hint-coarse{display:inline}}.block{background:var(--c);color:var(--ink);z-index:10;cursor:grab;touch-action:pan-y;transition:top .2s var(--ease), height .2s var(--ease), box-shadow .15s, opacity .15s;border-radius:14px;padding:10px 12px;position:absolute;left:4px;right:12px}.is-week .block{left:3px;right:3px}.block.mid,.block.tiny{border-radius:12px;align-items:center;padding:0 12px;display:flex}.block.tiny{padding:0 10px}.is-week .block.tall{padding:8px 10px}.is-week .block.mid,.is-week .block.tiny{padding:0 10px}.b-body{width:100%;min-width:0;padding-right:30px;overflow:hidden}.mid .b-body,.tiny .b-body{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.b-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:16px;font-weight:800;line-height:1.2;display:block;overflow:hidden}.is-week .b-title{font-size:13px}.tiny .b-title{font-size:12px}.b-time,.b-dur{color:var(--ink2);white-space:nowrap;font-size:12px;font-weight:600}.b-time{margin-top:2px}.is-compact .block{border-radius:10px;padding:5px 4px;left:2px;right:2px}.is-compact .block.mid,.is-compact .block.tiny{padding:0 4px}.is-compact .b-body{padding-right:0}.is-compact .b-title{white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.15;display:-webkit-box}.is-compact .mid .b-title,.is-compact .tiny .b-title{white-space:nowrap;display:block}.b-input{width:100%;font:inherit;color:var(--ink);outline:2px solid var(--ink);background:#ffffff59;border:0;border-radius:8px;margin:-4px -8px;padding:4px 8px;font-size:16px;font-weight:800}.is-week .b-input{font-size:13px}.b-input::placeholder{color:var(--ink2)}.b-check{cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:2px;right:2px}.mid .b-check,.tiny .b-check{height:36px;top:50%;transform:translateY(-50%)}.b-check span{color:#fff;border:2px solid #0a0c1273;border-radius:50%;place-items:center;width:20px;height:20px;transition:background .15s,border-color .15s;display:grid}.b-check:hover span{border-color:var(--ink)}.b-check.on span{background:var(--ink);border-color:var(--ink)}.block.tiny .b-check span{border-width:1.5px;width:14px;height:14px}.block.micro .b-check:not(.on){display:none}.block:focus-visible{outline:2px solid var(--text);outline-offset:2px}.b-handle{cursor:ns-resize;touch-action:none;justify-content:center;align-items:flex-end;height:22px;padding-bottom:5px;display:flex;position:absolute;bottom:0;left:0;right:0}.b-handle i{background:#0a0c124d;border-radius:99px;width:28px;height:4px;transition:width .15s,height .15s,background .15s}.mid .b-handle{height:16px;padding-bottom:3px}.tiny .b-handle{height:8px;padding-bottom:0}.tiny .b-handle i{display:none}@media (pointer:coarse){.tall .b-handle{height:32px}.mid .b-handle{height:22px}.tiny .b-handle{height:12px}}.block:hover .b-handle i{background:#0a0c1280}.block.selected,.block.active,.block.lifted{box-shadow:0 0 0 2px var(--text), 0 10px 28px color-mix(in srgb, var(--c) 45%, transparent);z-index:30}.block.active .b-handle i,.block.lifted .b-handle i{background:var(--ink);width:40px;height:6px}.block.dim{opacity:.28}.block.reject{box-shadow:0 0 0 2px #ff5a5f}.block.ghost{pointer-events:none;cursor:default;background:color-mix(in srgb, var(--c) 16%, transparent);border:2px dashed var(--c);color:color-mix(in srgb, var(--c) 55%, #fff);z-index:12;padding:6px 10px;left:4px;right:12px}.is-week .block.ghost{left:3px;right:3px}.block.ghost .b-body{padding-right:0}.block.ghost.reject{box-shadow:none;background:#ff5a5f24;border-color:#ff5a5f}.block.proxy{z-index:100;pointer-events:none;cursor:grabbing;opacity:.96;transition:none;position:fixed;top:0;left:0;right:auto}.proxy.to-tray{opacity:.85}.proxy .b-handle{pointer-events:none}.b-plus,.b-count{border-radius:99px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:800;display:grid;position:absolute;top:-9px}.b-plus{background:var(--text);color:var(--ink);left:-9px}.b-count{background:var(--accent);color:var(--ink);right:-9px}.bubble{background:var(--bg);border:1.5px solid var(--accent);color:var(--text);white-space:nowrap;z-index:50;pointer-events:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;position:absolute;bottom:-16px;right:10px}.is-week .bubble{right:4px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.block.shake{animation:.42s shake;box-shadow:0 0 0 2px #ff5a5f}.tray{background:var(--surface);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow .15s}.tray.drop{box-shadow:inset 0 0 0 2px var(--accent)}.tray-title{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:800}.tray-hint{color:var(--dim);font-size:13px;line-height:1.4}.tpl{background:var(--c);color:var(--ink);cursor:grab;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.tpl-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.tpl-dur{color:var(--ink2);flex:none;font-size:12px;font-weight:600}.tpl-new{color:var(--dim);border:1.5px dashed #3a4156;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.tpl-new:hover{border-color:var(--dim);color:var(--text)}.tray.side{border-right:1px solid var(--line);flex-direction:column;flex:none;gap:0;width:248px;padding:24px 14px 16px;display:flex;overflow-y:auto}.tray.side .tray-hint{margin:8px 0 16px}.tray.side .tpl-list{touch-action:pan-y;flex-direction:column;gap:10px;display:flex}.tray.side .tpl{height:52px;padding:0 14px}.tray.side .tpl-new{height:52px;margin-top:14px}.tray-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.tray.side{transition:width .2s var(--ease)}.tray.side.collapsed{align-items:center;gap:18px;width:64px;padding:14px 8px}.tray-vert{writing-mode:vertical-rl;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:12px;font-weight:800;transform:rotate(180deg)}.tray-tip{color:var(--dim);margin-top:16px;font-size:13px;line-height:1.45}.tray.bottom{padding:0 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);flex:none}.tray-head{text-align:left;align-items:center;gap:12px;width:100%;min-height:44px;display:flex}.tray-head .tray-hint{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tray-chev{color:var(--dim);transition:transform .2s var(--ease);flex:none;transform:rotate(90deg)}.tray.bottom.open .tray-chev{transform:rotate(-90deg)}.tpl-row{touch-action:pan-x;scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tray.bottom .tpl{flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:0;width:112px;height:56px;padding:6px 12px;font-size:13px;line-height:1.15}.tray.bottom .tpl-name{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.tray.bottom .tpl-new{flex:none;width:90px;height:56px}.month{flex-direction:column;flex:1;min-height:0;padding:4px 12px 12px;display:flex}.m-head{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);grid-template-columns:repeat(7,1fr);gap:4px;padding:8px 0;font-size:11px;font-weight:800;display:grid}.m-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-height:0;display:grid}.m-cell{background:var(--surface);text-align:left;border:1px solid #0000;border-radius:10px;min-height:0;transition:background .15s,border-color .15s;position:relative;overflow:hidden}.m-cell:hover{background:#181c28}.m-cell.other{opacity:.45}.m-cell.today{border-color:var(--accent)}.m-num{font-size:12px;font-weight:800;position:absolute;top:4px;left:7px}.m-cell.today .m-num{color:var(--accent)}.m-strips{position:absolute;inset:24px 5px 6px}.m-strips i{border-radius:2px;position:absolute;left:0;right:0}.m-more{border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:-4px;position:absolute;left:50%}.m-more.top{border-bottom:4px solid var(--c);top:21px}.m-more.bottom{border-top:4px solid var(--c);bottom:1px}.selbar{left:50%;bottom:calc(var(--tray-h,0px) + 14px + env(safe-area-inset-bottom));z-index:80;white-space:nowrap;background:#1f2432;border:1px solid #2c3347;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 16px;font-size:14px;font-weight:800;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000080}.selbar .btn{border-radius:999px}@keyframes pop{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.toast{left:50%;bottom:calc(var(--tray-h,0px) + 74px + env(safe-area-inset-bottom));z-index:90;max-width:calc(100vw - 24px);min-height:48px;animation:pop .2s var(--ease);background:#1f2432;border:1px solid #2c3347;border-radius:999px;align-items:center;gap:12px;padding:0 8px 0 18px;font-size:14px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000080}.toast button{color:#8fb0ff;white-space:nowrap;border-radius:999px;min-height:44px;padding:0 14px;font-weight:800}.btn{background:var(--control);border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:15px;font-weight:700;display:inline-flex}.btn:hover:not(:disabled){background:#202534}.btn.primary{background:var(--accent);color:var(--ink)}.btn.primary:hover{background:#6a92ff}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5}.sheet-backdrop{z-index:200;background:#03040899;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes slideup{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet{background:var(--surface);width:100%;max-width:520px;max-height:92dvh;padding:10px 20px calc(20px + env(safe-area-inset-bottom));animation:slideup .2s var(--ease);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;overflow-y:auto}@media (width>=860px){.sheet-backdrop{align-items:center}.sheet{border-bottom:1px solid var(--line);border-radius:22px;max-width:460px;padding:22px 24px 24px}.sheet-grab{display:none}}.sheet-grab{background:#2b3144;border-radius:99px;width:40px;height:4px;margin:0 auto 14px}.sheet-title{margin-bottom:4px;font-size:20px;font-weight:800}.sheet-sub{color:var(--dim);margin:6px 0 12px;font-size:13px;line-height:1.45}.sheet-sub.warn{color:#ffb020}.field{flex-direction:column;flex:1;gap:6px;margin:14px 0;display:flex}.field>span{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:800}.field small{color:var(--dim);font-size:12px}.field input,.field select{background:var(--control);min-height:44px;color:var(--text);border:1px solid var(--line);font:inherit;border-radius:12px;padding:0 14px;font-size:16px;font-weight:600}.field-row{gap:12px;display:flex}.swatches{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.swatch{min-height:44px;color:var(--ink);border-radius:12px;place-items:center;display:grid}.swatch.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.stepper{justify-content:space-between;align-items:center;gap:12px;display:flex}.stepper strong{font-size:18px;font-weight:800}.stepper .btn{min-width:56px;font-size:22px}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.account{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.account h3{align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.zoombar{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#181c27f0;border:1px solid #2c3347;border-radius:14px;flex-direction:column;display:flex;position:absolute;bottom:14px;right:14px;overflow:hidden;box-shadow:0 8px 24px #00000073}.zoombar button{place-items:center;width:44px;height:44px;display:grid}.zoombar button:not(:disabled):hover{background:#202534}.zoombar button:disabled{opacity:.35;cursor:default}.zoombar .zoom-reset{height:30px;color:var(--dim);border-top:1px solid #2c3347;border-bottom:1px solid #2c3347;font-size:11px;font-weight:800}
