:root{--color-bg:#0f1021;--color-surface:#1e1f3a;--color-surface-2:#2a2b4d;--color-titlebar:#2d2e54;--color-text:#e8e8f0;--color-text-dim:#a0a0c0;--color-accent:#6c5ce7;--color-accent-2:#00cec9;--color-danger:#e74c3c;--color-border:#ffffff1f;--color-hover:#ffffff14;--color-taskbar:#141428d9;--color-panel:#191a30f7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-window:0 10px 40px #00000080;--shadow-panel:0 6px 20px #0006;--taskbar-height:48px;--titlebar-height:34px;--z-desktop:0;--z-windows:100;--z-taskbar:9000;--z-menu:9500;--z-overlay:9999;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Cascadia Code", "Fira Code", Consolas, monospace;--transition:.15s ease}:root[data-theme=light]{--color-bg:#e9e9f5;--color-surface:#fff;--color-surface-2:#f0f0f8;--color-titlebar:#e2e2ee;--color-text:#1a1a2e;--color-text-dim:#555;--color-border:#0000001f;--color-hover:#0000000f;--color-taskbar:#f0f1fad9;--color-panel:#fffffff7}:root[data-theme=midnight]{--color-bg:#05060f;--color-surface:#0d0e1f;--color-surface-2:#141530;--color-titlebar:#10122a;--color-taskbar:#060712e6;--color-panel:#0d0e1ffa}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-ui);color:var(--color-text);background:var(--color-bg);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.no-select{-webkit-user-select:none;user-select:none}body.dragging{-webkit-user-select:none;user-select:none;cursor:move!important}body.dragging *{cursor:move!important}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface-2);border-radius:5px}.calc{background:var(--color-surface);outline:none;flex-direction:column;height:100%;display:flex}.calc__display{text-align:right;flex-direction:column;flex-shrink:0;justify-content:flex-end;gap:4px;min-height:92px;padding:18px 18px 12px;display:flex}.calc__expr{font-variant-numeric:tabular-nums;white-space:nowrap;scrollbar-width:none;font-size:30px;overflow-x:auto}.calc__expr::-webkit-scrollbar{display:none}.calc__expr--error{color:var(--color-danger);font-size:18px}.calc__preview{color:var(--color-text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;min-height:18px;font-size:15px;overflow:hidden}.calc__pad{background:var(--color-border);flex:1;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.calc__key{background:var(--color-surface-2);transition:background var(--transition), filter var(--transition);justify-content:center;align-items:center;font-size:19px;display:flex}.calc__key:hover{background:var(--color-hover)}.calc__key:active{filter:brightness(1.25)}.calc__key--fn{background:var(--color-titlebar);font-size:16px}.calc__key--op{background:var(--color-titlebar);color:var(--color-accent-2)}.calc__key--accent{background:var(--color-accent);color:#fff}.calc__key--accent:hover{background:var(--color-accent);filter:brightness(1.15)}.calc__key--span3{grid-column:span 3}.save-dialog-overlay{z-index:var(--z-overlay);background:#00000073;justify-content:center;align-items:center;animation:.12s save-fadein;display:flex;position:fixed;inset:0}@keyframes save-fadein{0%{opacity:0}to{opacity:1}}.save-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:460px;max-height:420px;box-shadow:var(--shadow-panel);flex-direction:column;animation:.14s save-scalein;display:flex}@keyframes save-scalein{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}.save-dialog__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.save-dialog__close{width:26px;height:26px;transition:background var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.save-dialog__close:hover{background:var(--color-hover)}.save-dialog__path{color:var(--color-text-dim);border-bottom:1px solid var(--color-border);align-items:center;gap:4px;padding:8px 14px;font-size:12px;display:flex;overflow:hidden}.save-dialog__path-seg{cursor:pointer;white-space:nowrap;transition:background var(--transition);border-radius:4px;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.save-dialog__path-seg:hover{background:var(--color-hover)}.save-dialog__path-sep{color:var(--color-text-dim);opacity:.5;flex-shrink:0}.save-dialog__body{flex:1;min-height:160px;max-height:220px;padding:6px;overflow-y:auto}.save-dialog__item{cursor:pointer;transition:background var(--transition);border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.save-dialog__item:hover{background:var(--color-hover)}.save-dialog__item--folder{color:var(--color-text)}.save-dialog__item--file{color:var(--color-text-dim)}.save-dialog__empty{text-align:center;color:var(--color-text-dim);padding:20px;font-size:12px}.save-dialog__footer{border-top:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 14px;display:flex}.save-dialog__label{color:var(--color-text-dim);white-space:nowrap;font-size:12px}.save-dialog__input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);transition:border-color var(--transition);border-radius:6px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:13px}.save-dialog__input:focus{border-color:var(--color-accent)}.save-dialog__actions{gap:8px;margin-left:auto;display:flex}.save-dialog__btn{transition:background var(--transition), color var(--transition);border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600}.save-dialog__btn--cancel{background:var(--color-surface-2);border:1px solid var(--color-border)}.save-dialog__btn--cancel:hover{background:var(--color-hover)}.save-dialog__btn--save{background:var(--color-accent);color:#fff}.save-dialog__btn--save:hover{filter:brightness(1.1)}.save-dialog__folder-error{color:var(--color-danger);white-space:nowrap;font-size:11px}.save-confirm-overlay{z-index:1;background:#00000059;justify-content:center;align-items:center;animation:.1s save-fadein;display:flex;position:fixed;inset:0}.save-confirm{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:320px;box-shadow:var(--shadow-panel);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px;animation:.12s save-scalein;display:flex}.save-confirm__icon{color:var(--color-danger)}.save-confirm__title{font-size:15px;font-weight:700}.save-confirm__msg{color:var(--color-text-dim);font-size:13px;line-height:1.5}.save-confirm__msg strong{color:var(--color-text)}.save-confirm__actions{gap:10px;margin-top:6px;display:flex}.save-dialog__btn--overwrite{background:var(--color-danger);color:#fff}.save-dialog__btn--overwrite:hover{filter:brightness(1.15)}@media (prefers-reduced-motion:reduce){.save-dialog-overlay,.save-confirm-overlay,.save-dialog,.save-confirm{animation:none}}.editor{flex-direction:column;height:100%;display:flex}.editor__toolbar{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.editor__toolbar .spacer{flex:1}.editor__btn{border-radius:6px;align-items:center;gap:6px;padding:5px 10px;display:flex}.editor__btn:hover{background:var(--color-hover)}.editor__count{color:var(--color-text-dim)}.editor__area{resize:none;background:var(--color-surface);width:100%;color:var(--color-text);font-family:var(--font-mono);border:none;outline:none;flex:1;padding:14px;font-size:14px;line-height:1.6}.ctx-overlay{z-index:var(--z-overlay);position:fixed;inset:0}.ctx-menu{background:var(--color-panel);min-width:200px;color:var(--color-text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);padding:6px;list-style:none;animation:.1s ctx-in;position:absolute}@keyframes ctx-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.ctx-item{cursor:pointer;transition:background var(--transition);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.ctx-item:hover{background:var(--color-hover)}.ctx-item--danger{color:var(--color-danger)}.ctx-sep{background:var(--color-border);height:1px;margin:4px 6px}@media (prefers-reduced-motion:reduce){.ctx-menu{animation:none}}.fd-overlay{z-index:var(--z-overlay);background:#00000073;justify-content:center;align-items:center;animation:.12s fd-fadein;display:flex;position:fixed;inset:0}@keyframes fd-fadein{0%{opacity:0}to{opacity:1}}.fd-dialog{background:var(--color-surface);width:380px;max-height:460px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);flex-direction:column;animation:.14s fd-scalein;display:flex}@keyframes fd-scalein{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}.fd-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.fd-close{width:26px;height:26px;transition:background var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.fd-close:hover{background:var(--color-hover)}.fd-content{flex-direction:column;gap:10px;padding:16px;font-size:13px;display:flex}.fd-content--center{text-align:center;align-items:center}.fd-icon-danger{color:var(--color-danger)}.fd-msg{color:var(--color-text-dim);line-height:1.5}.fd-msg strong{color:var(--color-text)}.fd-label{color:var(--color-text-dim);font-size:12px}.fd-input{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text);transition:border-color var(--transition);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.fd-input:focus{border-color:var(--color-accent)}.fd-error{color:var(--color-danger);min-height:14px;font-size:12px}.fd-path{color:var(--color-text-dim);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:2px;padding:8px 16px;font-size:12px;display:flex}.fd-path-seg{cursor:pointer;white-space:nowrap;transition:background var(--transition);border-radius:4px;padding:2px 6px}.fd-path-seg:hover{background:var(--color-hover)}.fd-path-sep{opacity:.5;flex-shrink:0}.fd-list{flex:1;min-height:150px;max-height:220px;padding:6px;overflow-y:auto}.fd-item{cursor:pointer;text-align:left;width:100%;transition:background var(--transition);border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.fd-item:hover:not(:disabled){background:var(--color-hover)}.fd-item:disabled{opacity:.4;cursor:not-allowed}.fd-empty{text-align:center;color:var(--color-text-dim);padding:20px;font-size:12px}.fd-footer{border-top:1px solid var(--color-border);align-items:center;gap:8px;padding:12px 16px;display:flex}.fd-actions{gap:8px;margin-left:auto;display:flex}.fd-btn{transition:background var(--transition), color var(--transition), filter var(--transition);border-radius:6px;padding:7px 16px;font-size:12px;font-weight:600}.fd-btn:disabled{opacity:.5;cursor:not-allowed}.fd-btn--cancel{background:var(--color-surface-2);border:1px solid var(--color-border)}.fd-btn--cancel:hover{background:var(--color-hover)}.fd-btn--primary{background:var(--color-accent);color:#fff}.fd-btn--primary:hover:not(:disabled){filter:brightness(1.1)}.fd-btn--danger{background:var(--color-danger);color:#fff}.fd-btn--danger:hover:not(:disabled){filter:brightness(1.15)}@media (prefers-reduced-motion:reduce){.fd-overlay,.fd-dialog{animation:none}}.fx{flex-direction:column;height:100%;display:flex}.fx__toolbar{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:6px;padding:6px 8px;display:flex}.fx__path{color:var(--color-text-dim);background:var(--color-bg);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:1;padding:5px 10px;font-size:12px;overflow:hidden}.fx__btn{border-radius:6px;justify-content:center;align-items:center;width:30px;height:28px;display:flex}.fx__btn:hover:not(:disabled){background:var(--color-hover)}.fx__btn:disabled{opacity:.4;cursor:default}.fx__body{flex:1;display:flex;overflow:hidden}.fx__sidebar{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:2px;width:160px;padding:8px;display:flex}.fx__side-item{border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.fx__side-item:hover,.fx__side-item--active{background:var(--color-hover)}.fx__grid{flex:1;grid-template-columns:repeat(auto-fill,96px);align-content:start;gap:8px;padding:12px;display:grid;overflow:auto}.fx__item{text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:12px;display:flex}.fx__item:hover{background:var(--color-hover)}.fx__item span{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fx__empty{text-align:center;color:var(--color-text-dim);grid-column:1/-1;padding:32px;font-size:13px}.fx__item--dragover,.fx__side-item--dragover{outline:1px dashed var(--color-accent);outline-offset:-1px;background:#6c5ce740}.fx__grid--dragover{outline:2px dashed var(--color-accent);outline-offset:-6px;border-radius:var(--radius-md)}.fx__item[draggable=true]{cursor:grab}.term{height:100%;font-family:var(--font-mono);cursor:text;background:#0b0b16;flex-direction:column;padding:10px;font-size:13px;line-height:1.5;display:flex;overflow:hidden}.term__out{white-space:pre-wrap;word-break:break-word;flex:1;overflow:auto}.term__line--err{color:#ff6b6b}.term__line--in{color:var(--color-text-dim)}.term__prompt-row{align-items:center;gap:6px;display:flex}.term__prompt{color:var(--color-accent-2);white-space:nowrap}.term__input{color:var(--color-text);font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1}.settings{height:100%;display:flex}.settings__nav{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:2px;width:170px;padding:10px;display:flex}.settings__nav button{text-align:left;border-radius:8px;padding:9px 12px;font-size:13px}.settings__nav button:hover{background:var(--color-hover)}.settings__nav button.active{background:var(--color-accent);color:#fff}.settings__content{flex:1;padding:20px;overflow:auto}.settings__section-title{margin-bottom:14px;font-size:16px;font-weight:600}.settings__row{margin-bottom:22px}.settings__label{color:var(--color-text-dim);margin-bottom:8px;font-size:13px}.settings__wallpapers{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.settings__wallpaper{cursor:pointer;border:2px solid #0000;border-radius:8px;height:64px}.settings__wallpaper.active{outline:2px solid var(--color-accent);border-color:#fff}.settings__swatches{gap:10px;display:flex}.settings__swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px}.settings__swatch.active{border-color:#fff}.settings__input{background:var(--color-bg);border:1px solid var(--color-border);width:100%;max-width:280px;color:var(--color-text);border-radius:8px;outline:none;padding:9px 12px;font-size:14px}.settings__danger{color:var(--color-danger);border:1px solid var(--color-danger);border-radius:8px;padding:8px 14px}.settings__danger:hover{background:#e74c3c26}.settings__themes{gap:8px;display:flex}.settings__theme-btn{border:1px solid var(--color-border);border-radius:8px;padding:8px 18px;font-size:13px}.settings__theme-btn:hover{background:var(--color-hover)}.settings__theme-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.settings__avatar-preview{background:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:12px;font-size:20px;font-weight:600;display:flex}.settings__switch{cursor:pointer;align-items:center;gap:10px;font-size:13px;display:flex}.settings__toggle{background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;border-radius:11px;width:40px;height:22px;transition:background .15s;position:relative}.settings__toggle.on{background:var(--color-accent)}.settings__toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.settings__toggle.on:after{transform:translate(18px)}.browser{background:var(--color-surface);flex-direction:column;height:100%;display:flex}.browser__bar{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:6px;padding:6px 8px;display:flex}.browser__btn{width:30px;height:30px;transition:background var(--transition);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.browser__btn:hover:not(:disabled){background:var(--color-hover)}.browser__btn:disabled{opacity:.35}.browser__spin{animation:.8s linear infinite browser-spin}@keyframes browser-spin{to{transform:rotate(360deg)}}.browser__url{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);transition:border-color var(--transition);border-radius:18px;outline:none;flex:1;min-width:0;padding:7px 12px;font-size:13px}.browser__url:focus{border-color:var(--color-accent)}.browser__progress{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-2));transform-origin:0;flex-shrink:0;height:2px;animation:1.2s ease-in-out infinite browser-progress}@keyframes browser-progress{0%{transform:scaleX(0)}60%{transform:scaleX(.8)}to{opacity:.4;transform:scaleX(1)}}.browser__frame{background:#fff;border:none;flex:1;width:100%}.browser__start{flex-direction:column;flex:1;align-items:center;gap:26px;padding:48px 24px 24px;display:flex;overflow-y:auto}.browser__start-clock{letter-spacing:-1px;font-size:44px;font-weight:700}.browser__search{background:var(--color-bg);border:1px solid var(--color-border);width:min(440px,100%);color:var(--color-text-dim);transition:border-color var(--transition), box-shadow var(--transition);border-radius:24px;align-items:center;gap:10px;padding:11px 18px;display:flex}.browser__search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #6c5ce72e}.browser__search input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.browser__dial{grid-template-columns:repeat(3,110px);gap:12px;display:grid}.browser__tile{border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);transition:var(--transition);flex-direction:column;align-items:center;gap:8px;padding:16px 8px;font-size:12px;display:flex}.browser__tile:hover{border-color:var(--color-accent);color:var(--color-accent-2);transform:translateY(-2px)}.browser__start-note{color:var(--color-text-dim);text-align:center;max-width:380px;margin-top:auto;font-size:11px;line-height:1.5}.about{height:100%;padding:0 0 30px;position:relative;overflow:auto}.about__topbar{z-index:5;background:linear-gradient(to bottom, var(--color-surface) 55%, transparent);justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0}.about__btn{transition:var(--transition);border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.about__btn--edit{background:var(--color-surface-2);border:1px solid var(--color-border)}.about__btn--edit:hover,.about__btn--save{background:var(--color-accent);color:#fff}.about__btn--save:hover{filter:brightness(1.1)}.about__btn--ghost{border:1px solid var(--color-border);color:var(--color-text-dim);background:0 0}.about__btn--ghost:hover{background:var(--color-hover);color:var(--color-text)}.about__edit{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text);transition:var(--transition);border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.about__edit:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #6c5ce740}.about__edit--initials{text-align:center;text-transform:uppercase;width:90px;margin:0 auto 10px;font-weight:700}.about__edit--name{text-align:center;max-width:320px;margin:0 auto 8px;font-size:20px;font-weight:700}.about__edit--tagline{text-align:center;max-width:380px;margin:0 auto}.about__edit--strong{font-size:15px;font-weight:600}.about__edit--bio{resize:vertical;line-height:1.6}.about__social-edits{flex-direction:column;gap:8px;max-width:360px;margin:18px auto 0;display:flex}.about__social-edit{align-items:center;gap:8px;display:flex}.about__social-edit-icon{background:var(--color-surface-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.about__chip--edit{align-items:center;gap:6px;padding-right:6px;display:inline-flex}.about__chip-x{color:var(--color-text-dim);border-radius:50%;justify-content:center;align-items:center;padding:2px;display:inline-flex}.about__chip-x:hover{color:var(--color-danger);background:var(--color-hover)}.about__skill-add{gap:8px;max-width:420px;margin-top:12px;display:flex}.about__card--edit{gap:10px}.about__card-head{align-items:center;gap:8px;display:flex}.about__card--edit textarea.about__edit{resize:vertical}.about__addcard{border:1px dashed var(--color-border);color:var(--color-text-dim);width:100%;transition:var(--transition);border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:14px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.about__addcard:hover{border-color:var(--color-accent);color:var(--color-accent-2)}.about__hero{text-align:center;background:linear-gradient(160deg,#6c5ce740,#0000);padding:34px 28px 24px}.about__avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;width:96px;height:96px;box-shadow:var(--shadow-panel);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:34px;font-weight:700;display:flex}.about__name{font-size:26px;font-weight:700}.about__tagline{color:var(--color-text-dim);margin-top:4px}.about__socials{justify-content:center;gap:10px;margin-top:16px;display:flex}.about__social{background:var(--color-surface-2);width:40px;height:40px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.about__social:hover{background:var(--color-accent);color:#fff;transform:translateY(-2px)}.about__section{padding:18px 28px}.about__h{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-dim);margin-bottom:12px;font-size:15px;font-weight:600}.about__chips{flex-wrap:wrap;gap:8px;display:flex}.about__chip{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:20px;padding:6px 12px;font-size:12px}.about__projects{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.about__card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition);flex-direction:column;gap:8px;padding:16px;display:flex}.about__card:hover{border-color:var(--color-accent);transform:translateY(-3px)}.about__card h4{font-size:15px}.about__card p{color:var(--color-text-dim);flex:1;font-size:12px}.about__tags{flex-wrap:wrap;gap:6px;display:flex}.about__tag{color:var(--color-accent-2);background:#6c5ce733;border-radius:10px;padding:3px 8px;font-size:10px}.about__view{color:var(--color-accent-2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.about__view:hover{text-decoration:underline}.about__cta{border-radius:var(--radius-md);text-align:center;background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;margin:6px 28px 0;padding:18px}.about__cta p{margin-bottom:12px;font-size:14px}.about__cta a{color:#fff;transition:var(--transition);border:1px solid #fff6;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:600;text-decoration:none}.about__cta a:hover{background:#ffffff26}.paint{background:var(--color-surface);flex-direction:column;height:100%;display:flex}.paint__toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;padding:8px 12px;display:flex}.paint__tools,.paint__actions,.paint__sizes{align-items:center;gap:4px;display:flex}.paint__actions{margin-left:auto}.paint__tool{width:30px;height:30px;transition:background var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.paint__tool:hover:not(:disabled){background:var(--color-hover)}.paint__tool:disabled{opacity:.35}.paint__tool--active{background:var(--color-accent);color:#fff}.paint__tool--active:hover:not(:disabled){background:var(--color-accent)}.paint__size{width:28px;height:28px;transition:background var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.paint__size span{background:var(--color-text-dim);border-radius:50%;display:block}.paint__size--active{background:var(--color-hover)}.paint__size--active span{background:var(--color-accent)}.paint__colors{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.paint__color{border:2px solid var(--color-border);width:20px;height:20px;transition:transform var(--transition), border-color var(--transition);border-radius:50%}.paint__color:hover{transform:scale(1.15)}.paint__color--active{border-color:var(--color-accent);transform:scale(1.2);box-shadow:0 0 0 2px #6c5ce759}.paint__stage{background:var(--color-bg);flex:1;justify-content:center;align-items:center;padding:12px;display:flex;overflow:hidden}.paint__canvas{aspect-ratio:1000/620;max-width:100%;max-height:100%;box-shadow:var(--shadow-panel);cursor:crosshair;touch-action:none;border-radius:6px}.clock{background:var(--color-surface);flex-direction:column;height:100%;display:flex}.clock__tabs{border-bottom:1px solid var(--color-border);flex-shrink:0;gap:4px;padding:8px 10px;display:flex}.clock__tab{color:var(--color-text-dim);transition:var(--transition);border-radius:8px;flex:1;padding:7px 0;font-size:13px;font-weight:500}.clock__tab:hover{background:var(--color-hover)}.clock__tab--active{background:var(--color-accent);color:#fff}.clock__panel{flex-direction:column;flex:1;align-items:center;gap:16px;padding:28px 20px 20px;display:flex;overflow-y:auto}.clock__big{letter-spacing:-1px;font-size:44px;font-weight:700}.clock__big--mono{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.clock__big--finished{color:var(--color-accent-2);animation:.8s ease-in-out infinite clock-flash}@keyframes clock-flash{0%,to{opacity:1}50%{opacity:.35}}.clock__date{color:var(--color-text-dim);margin-top:-8px;font-size:14px}.clock__world{flex-direction:column;gap:6px;width:100%;max-width:300px;margin-top:8px;display:flex}.clock__zone{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;padding:9px 14px;font-size:13px;display:flex}.clock__zone span{color:var(--color-text-dim)}.clock__controls{gap:10px;display:flex}.clock__ctrl{background:var(--color-surface-2);border:1px solid var(--color-border);width:48px;height:48px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.clock__ctrl:hover:not(:disabled){background:var(--color-hover)}.clock__ctrl:disabled{opacity:.35}.clock__ctrl--primary{background:var(--color-accent);color:#fff;border-color:#0000}.clock__ctrl--primary:hover:not(:disabled){background:var(--color-accent);filter:brightness(1.15)}.clock__laps{flex-direction:column;gap:4px;width:100%;max-width:280px;display:flex}.clock__lap{background:var(--color-surface-2);font-variant-numeric:tabular-nums;border-radius:6px;justify-content:space-between;padding:7px 12px;font-size:12px;display:flex}.clock__lap span{color:var(--color-text-dim)}.clock__setter{gap:14px;display:flex}.clock__setter label{color:var(--color-text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.clock__setter input{background:var(--color-bg);border:1px solid var(--color-border);width:58px;color:var(--color-text);text-align:center;font-variant-numeric:tabular-nums;border-radius:8px;outline:none;padding:8px 10px;font-size:16px}.clock__setter input:focus{border-color:var(--color-accent)}.clock__done{color:var(--color-accent-2);font-size:14px;font-weight:600}.tm{background:var(--color-surface);flex-direction:column;height:100%;display:flex}.tm__stats{border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;display:grid}.tm__stat{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.tm__stat span{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-dim);font-size:10px}.tm__stat strong{font-variant-numeric:tabular-nums;font-size:14px}.tm__header{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-dim);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px 6px;font-size:12px;font-weight:600;display:flex}.tm__endall{border:1px solid var(--color-border);color:var(--color-danger);text-transform:none;letter-spacing:0;transition:var(--transition);border-radius:6px;padding:4px 10px;font-size:11px}.tm__endall:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger);color:#fff}.tm__endall:disabled{opacity:.4}.tm__list{flex-direction:column;flex:1;gap:3px;padding:4px 8px 10px;display:flex;overflow-y:auto}.tm__row{transition:var(--transition);border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.tm__row:hover{background:var(--color-hover)}.tm__row--focused{background:var(--color-surface-2);border-color:var(--color-border)}.tm__row-icon{color:var(--color-accent-2);flex-shrink:0}.tm__row-info{flex:1;min-width:0}.tm__row-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.tm__row-sub{color:var(--color-text-dim);font-size:11px}.tm__row-btn{width:26px;height:26px;transition:var(--transition);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tm__row-btn:hover:not(:disabled){background:var(--color-hover)}.tm__row-btn--danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.tm__row-btn:disabled{opacity:.3}.desktop{width:100vw;height:100vh;z-index:var(--z-desktop);position:fixed;inset:0;overflow:hidden}.desktop__icons{pointer-events:none;position:absolute;inset:0}.desktop__icon{pointer-events:auto;color:#fff;text-shadow:0 1px 3px #0009;width:88px;transition:background var(--transition), transform var(--transition);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:12px;display:flex;position:absolute}.desktop__icon:hover{background:#ffffff1f;transform:translateY(-2px)}.desktop__icon--selected{background:#6c5ce759;outline:1px solid #ffffff4d}.desktop__icon span{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.desktop__icon--dragover{outline-offset:-1px;background:#6c5ce759;outline:1px dashed #fff9}.desktop__icon[draggable=true]{cursor:grab}.window{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-window);flex-direction:column;min-width:240px;min-height:160px;animation:.16s window-open;display:flex;position:absolute}@keyframes window-open{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:none}}.window--focused{border-color:#6c5ce780;box-shadow:0 16px 52px #0000008c,0 4px 16px #6c5ce71f}.window--maximized{border:none;border-radius:0}.window__titlebar{height:var(--titlebar-height);padding:0 var(--space-2) 0 var(--space-3);background:var(--color-titlebar);cursor:move;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;overflow:hidden}.window__title-left{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:13px;display:flex;overflow:hidden}.window__controls{align-items:center;gap:2px;display:flex}.window__btn{width:30px;height:24px;transition:background var(--transition), color var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.window__btn:hover{background:var(--color-hover)}.window__btn--close:hover{background:var(--color-danger);color:#fff}.window__body{background:var(--color-surface);flex:1;overflow:auto}.window__resize{z-index:5;position:absolute}.window__resize--n{cursor:ns-resize;height:8px;top:-4px;left:0;right:0}.window__resize--s{cursor:ns-resize;height:8px;bottom:-4px;left:0;right:0}.window__resize--e{cursor:ew-resize;width:8px;top:0;bottom:0;right:-4px}.window__resize--w{cursor:ew-resize;width:8px;top:0;bottom:0;left:-4px}.window__resize--ne{cursor:nesw-resize;width:12px;height:12px;top:-4px;right:-4px}.window__resize--nw{cursor:nwse-resize;width:12px;height:12px;top:-4px;left:-4px}.window__resize--se{cursor:nwse-resize;width:12px;height:12px;bottom:-4px;right:-4px}.window__resize--sw{cursor:nesw-resize;width:12px;height:12px;bottom:-4px;left:-4px}body.is-resizing{-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.window{animation:none}}.taskbar{height:var(--taskbar-height);background:var(--color-taskbar);color:var(--color-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);z-index:var(--z-taskbar);align-items:center;gap:8px;padding:0 8px;display:flex;position:fixed;bottom:0;left:0;right:0}.taskbar__start{transition:background var(--transition);border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.taskbar__start:hover,.taskbar__start--active{background:var(--color-hover)}.taskbar__apps{flex:1;align-items:center;gap:4px;display:flex;overflow:hidden}.taskbar__app{white-space:nowrap;max-width:180px;transition:background var(--transition), opacity var(--transition);border-bottom:2px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex;overflow:hidden}.taskbar__app:hover{background:var(--color-hover)}.taskbar__app--active{background:var(--color-hover);border-bottom-color:var(--color-accent)}.taskbar__app--min{opacity:.6}.taskbar__app--pinned{opacity:.55;border-bottom:2px dotted var(--color-accent)}.taskbar__app--pinned:hover{opacity:1}.taskbar__app--pinned-running{border-bottom:2px solid var(--color-accent)}.taskbar__app span{text-overflow:ellipsis;overflow:hidden}.taskbar__tray{align-items:center;gap:12px;padding-right:6px;font-size:12px;display:flex}.taskbar__clock{text-align:right;line-height:1.2}.taskbar__clock small{color:var(--color-text-dim);font-size:10px;display:block}.startmenu-overlay{z-index:var(--z-menu);position:fixed;inset:0}.startmenu{bottom:calc(var(--taskbar-height) + 8px);background:var(--color-panel);width:380px;max-height:520px;color:var(--color-text);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);flex-direction:column;gap:14px;padding:16px;animation:.15s startmenu-in;display:flex;position:absolute;left:8px}@keyframes startmenu-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.startmenu__header{align-items:center;gap:10px;display:flex}.startmenu__avatar{background:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:600;display:flex}.startmenu__grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.startmenu__app{text-align:center;transition:background var(--transition);border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:11px;display:flex}.startmenu__app:hover{background:var(--color-hover)}.startmenu__footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:10px;display:flex}@media (prefers-reduced-motion:reduce){.startmenu{animation:none}}.boot{z-index:var(--z-overlay);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:28px;animation:.4s boot-fadein;display:flex;position:fixed;inset:0}@keyframes boot-fadein{0%{opacity:0}to{opacity:1}}.boot__icon{color:var(--color-accent);animation:1.4s ease-in-out infinite boot-pulse}@keyframes boot-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.boot__logo{letter-spacing:-1px;color:var(--color-text);font-size:42px;font-weight:700}.boot__logo span{color:var(--color-accent)}.boot__bar{background:var(--color-surface-2);border-radius:2px;width:200px;height:4px;overflow:hidden}.boot__fill{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-2));border-radius:2px;width:0;height:100%;animation:2s forwards boot-fill}@keyframes boot-fill{to{width:100%}}.boot__fadeout{animation:.3s forwards boot-fadeout}@keyframes boot-fadeout{to{opacity:0}}.lock{z-index:var(--z-overlay);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;animation:.35s lock-fadein;display:flex;position:fixed;inset:0}@keyframes lock-fadein{0%{opacity:0}to{opacity:1}}.lock__bg{filter:blur(18px)brightness(.55);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.1)}.lock__overlay{background:#00000040;position:absolute;inset:0}.lock__content{text-align:center;color:#fff;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.lock__clock{letter-spacing:-2px;text-shadow:0 2px 20px #00000080;font-size:64px;font-weight:700}.lock__date{opacity:.85;text-shadow:0 1px 8px #0006;font-size:18px;font-weight:500}.lock__avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-top:10px;font-size:28px;font-weight:700;display:flex;box-shadow:0 4px 20px #0006}.lock__user{text-shadow:0 1px 8px #0006;font-size:18px;font-weight:600}.lock__hint{opacity:.6;margin-top:8px;font-size:13px;animation:2s ease-in-out infinite lock-hint-pulse}@keyframes lock-hint-pulse{0%,to{opacity:.4}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.boot,.boot__fadeout,.lock,.lock__hint,.boot__icon{animation:none}.boot__fill{width:100%;animation:none}}
