:root{
  
  --void:#08080a;--smoke:#131316;--ash:#1b1b1f;--ash2:#232328;--ash3:#2b2b31;
  --hair:rgba(255,255,255,0.08);--hair2:rgba(255,255,255,0.14);
  --star:#f7f7fb;--dim:rgba(247,247,251,0.38);--dim2:rgba(247,247,251,0.62);

  
  --nova:#8b7cf6;--nova2:#6d4fe0;--nova3:#c9bdfb;--halo:rgba(139,124,246,0.32);
  --comet:#ffb454;--tide:#3ddc9b;--flare:#ff7a86;

  
  --r-xs:10px;--r-sm:14px;--r:18px;--r-lg:24px;--r-xl:32px;--r-xxl:40px;--r-pill:999px;
  --spring:cubic-bezier(0.34,1.56,0.64,1);--ease:cubic-bezier(0.4,0,0.2,1);--silk:cubic-bezier(0.16,1,0.3,1);
  --fast:0.16s;--mid:0.32s;--slow:0.55s;

  --nav-h:78px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
  --fs:1;--blur:blur(26px) saturate(190%);
  --font-display:'Unbounded',sans-serif;--font-body:'Inter',sans-serif;--font-mono:'JetBrains Mono',monospace;--font-editor:'Inter',sans-serif;

  --star-op:1;
}


[data-theme="smoke"]{--void:#08080a;--smoke:#131316;--ash:#1b1b1f;--ash2:#232328;--ash3:#2b2b31;--star:#f7f7fb;--nova:#8b7cf6;--nova2:#6d4fe0;--nova3:#c9bdfb;--halo:rgba(139,124,246,0.32);}
[data-theme="paper"]{--void:#f1eef7;--smoke:#fbfaff;--ash:#ffffff;--ash2:#f0ecfa;--ash3:#e6e0f5;--hair:rgba(20,10,40,0.08);--hair2:rgba(20,10,40,0.14);--star:#171225;--dim:rgba(23,18,37,0.42);--dim2:rgba(23,18,37,0.66);--nova:#7c5cf0;--nova2:#5b34d6;--nova3:#8b6cf2;--halo:rgba(91,52,214,0.16);--star-op:0;}
[data-theme="professional"]{--void:#0a0a0c;--smoke:#131315;--ash:#1a1a1d;--ash2:#222225;--ash3:#2a2a2e;--star:#f2f3f5;--nova:#8a94a3;--nova2:#52606d;--nova3:#c3cad3;--halo:rgba(82,96,109,0.30);}
[data-theme="enterprise"]{--void:#060a12;--smoke:#0b1220;--ash:#111a2c;--ash2:#182437;--ash3:#202e44;--star:#f0f4fb;--nova:#5b86e8;--nova2:#2f5fd6;--nova3:#9fbdf7;--halo:rgba(47,95,214,0.32);}
[data-theme="light"]{--void:#f4f5f7;--smoke:#ffffff;--ash:#ffffff;--ash2:#eef0f3;--ash3:#e2e5ea;--hair:rgba(20,24,32,0.08);--hair2:rgba(20,24,32,0.14);--star:#14171c;--dim:rgba(20,23,28,0.42);--dim2:rgba(20,23,28,0.66);--nova:#3b6fe0;--nova2:#2563eb;--nova3:#6d9bf5;--halo:rgba(37,99,235,0.14);--star-op:0;}
[data-theme="nebula"]{--void:#05060f;--smoke:#0b0e1e;--ash:#121629;--ash2:#191f38;--ash3:#212948;--nova:#7c9dfb;--nova2:#4361ee;--nova3:#a8c0ff;--halo:rgba(67,97,238,0.34);}
[data-theme="ember"]{--void:#0c0704;--smoke:#160d07;--ash:#1e120a;--ash2:#28170c;--ash3:#331d0f;--nova:#ff9d52;--nova2:#e2620f;--nova3:#ffc899;--halo:rgba(255,157,82,0.32);}
[data-theme="jade"]{--void:#040c09;--smoke:#08130e;--ash:#0e1d15;--ash2:#12271b;--ash3:#173322;--nova:#4fe897;--nova2:#159a5b;--nova3:#a3f5c9;--halo:rgba(79,232,151,0.3);}
[data-theme="rosequartz"]{--void:#0c0508;--smoke:#150a0f;--ash:#1d0f16;--ash2:#26131c;--ash3:#301824;--nova:#ff7ab3;--nova2:#c9337c;--nova3:#ffb8d6;--halo:rgba(255,122,179,0.32);}
[data-theme="crimson"]{--void:#0a0405;--smoke:#160709;--ash:#1f0a0d;--ash2:#2b0e12;--ash3:#371218;--nova:#ff3b54;--nova2:#c40f2b;--nova3:#ff8b9a;--halo:rgba(255,59,84,0.34);--comet:#ff8b3d;}
[data-theme="aurora"]{--void:#05090f;--smoke:#0a1119;--ash:#101b28;--ash2:#152233;--ash3:#1b2c40;--nova:#43c6f8;--nova2:#0d84c4;--nova3:#8fdcfb;--halo:rgba(67,198,248,0.32);}
[data-theme="pride"]{--void:#08080a;--smoke:#131316;--ash:#1b1b1f;--ash2:#232328;--ash3:#2b2b31;--nova:#ff5c8a;--nova2:#7c3aed;--nova3:#5cc9ff;--halo:rgba(124,58,237,0.34);}
[data-theme="heritage"]{--void:#0a0805;--smoke:#120e08;--ash:#191309;--ash2:#22190c;--ash3:#2b2010;--nova:#e6a817;--nova2:#c8102e;--nova3:#2a9d5c;--halo:rgba(200,16,46,0.3);--comet:#e6a817;}
[data-theme="lagoon"]{--void:#03100f;--smoke:#071c1a;--ash:#0c2825;--ash2:#103531;--ash3:#15423d;--nova:#2dd4bf;--nova2:#0d9488;--nova3:#99f6e4;--halo:rgba(45,212,191,0.3);}
[data-theme="midnight-gold"]{--void:#07070b;--smoke:#0e0e14;--ash:#15151d;--ash2:#1c1c26;--ash3:#232330;--nova:#f2c14e;--nova2:#c9962a;--nova3:#f7dc93;--halo:rgba(242,193,78,0.28);}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{font-size:calc(15px * var(--fs));height:100%;overscroll-behavior:none;}
body{font-family:var(--font-body);background:var(--void);color:var(--star);height:100%;overflow:hidden;position:fixed;width:100%;transition:background .4s var(--ease),color .4s var(--ease);}
::selection{background:var(--nova2);color:#fff;}
::-webkit-scrollbar{width:0;height:0;}
button,select,input,textarea{font-family:inherit;color:inherit;}
button{cursor:pointer;border:none;background:transparent;outline:none;-webkit-user-select:none;user-select:none;}
input,textarea,select{outline:none;}
::placeholder{color:var(--dim);}
select option{background:var(--ash);color:var(--star);}
a{color:inherit;}


#starfield{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--star-op);transition:opacity .5s var(--ease);}
#appGlow{position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(ellipse 60% 40% at 15% 0%,var(--halo),transparent 60%),
  radial-gradient(ellipse 50% 35% at 100% 30%,color-mix(in srgb,var(--nova3) 14%,transparent),transparent 65%);
  opacity:.75;}

#app{position:relative;z-index:1;display:flex;flex-direction:column;height:100dvh;overflow:hidden;}

.ib{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dim2);transition:all var(--fast) var(--spring);flex-shrink:0;}
.ib:active{background:var(--ash2);color:var(--nova3);transform:scale(0.88);}
.ib .material-icons-round{font-size:19px;}
.avatar-btn{width:38px;height:38px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--nova2),var(--nova));color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 14px var(--halo);transition:transform var(--fast) var(--spring);flex-shrink:0;border:2px solid rgba(255,255,255,0.16);}
.avatar-btn:active{transform:scale(0.86);}
.avatar-btn img{width:100%;height:100%;object-fit:cover;display:block;}

#content{flex:1;overflow:hidden;position:relative;}
.mod{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:none;opacity:0;padding-bottom:calc(var(--nav-h) + 20px);}
#mod-maps{overflow:hidden;padding-bottom:0;}
#mod-art{overflow:hidden;padding-bottom:0;}
.mod.active{display:block;}
.mod.in{animation:modIn var(--mid) var(--silk) forwards;}
@keyframes modIn{from{opacity:0;transform:translateY(18px) scale(0.98);}to{opacity:1;transform:none;}}


#bottomnav{position:fixed;bottom:calc(12px + var(--safe-b));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:520px;height:70px;background:color-mix(in srgb,var(--ash) 82%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);border-radius:var(--r-pill);display:flex;align-items:center;padding:7px;gap:2px;z-index:1000;box-shadow:0 16px 46px -10px rgba(0,0,0,0.6),inset 0 1px 0 rgba(255,255,255,0.06);}
#bottomnav.edit-mode{border:1.5px dashed var(--nova);box-shadow:0 0 0 4px var(--halo),0 12px 40px rgba(0,0,0,0.5);}
.nav-item{flex:1;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:var(--r-pill);transition:all var(--fast) var(--spring);position:relative;cursor:pointer;min-width:0;z-index:2;}
.nav-item:active{transform:scale(0.86);}
.nav-icon .material-icons-round{font-size:21px;color:var(--dim);transition:color var(--mid) var(--ease),transform var(--mid) var(--spring);}
.nav-label{font-size:9px;font-weight:700;color:var(--dim);letter-spacing:.4px;transition:color var(--mid) var(--ease);text-transform:uppercase;white-space:nowrap;}
.nav-item.active .nav-icon .material-icons-round{color:var(--nova3);transform:translateY(-1px);}
.nav-item.active .nav-label{color:var(--nova3);}
.nav-blob{position:absolute;top:7px;height:56px;border-radius:var(--r-pill);background:linear-gradient(160deg,color-mix(in srgb,var(--nova2) 24%,transparent),color-mix(in srgb,var(--nova) 10%,transparent));transition:left var(--mid) var(--spring),width var(--mid) var(--spring);z-index:1;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);}
.nav-create-wrap{position:relative;flex-shrink:0;}
.nav-create{width:58px;height:58px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));display:flex;align-items:center;justify-content:center;box-shadow:0 0 26px var(--halo),0 6px 18px rgba(0,0,0,0.4);transition:all var(--fast) var(--spring);border:2px solid rgba(255,255,255,0.18);}
.nav-create:active{transform:scale(0.86) rotate(8deg);}
.nav-create .material-icons-round{font-size:27px;color:#fff;transition:transform var(--fast) var(--spring);}
.create-menu{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(10px) scale(0.9);background:color-mix(in srgb,var(--smoke) 92%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);border-radius:var(--r-xl);padding:9px;min-width:190px;opacity:0;pointer-events:none;transition:all var(--mid) var(--spring);z-index:2000;box-shadow:0 18px 50px rgba(0,0,0,0.55);}
.create-menu.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0) scale(1);}
.cm-item{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--r);font-size:13.5px;font-weight:600;transition:background var(--fast);cursor:pointer;}
.cm-item:active{background:var(--ash2);}
.cm-item .material-icons-round{font-size:18px;color:var(--nova3);}
.cm-div{height:1px;background:var(--hair);margin:4px 6px;}

.page-pad{padding:calc(var(--safe-t) + 14px) 14px 8px;}
.section-label{font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:2.2px;color:var(--dim);text-transform:uppercase;margin-bottom:13px;display:flex;align-items:center;gap:8px;padding:0 2px;}
.section-label .material-icons-round{font-size:14px;color:var(--nova3);}
.section-label .sl-act{margin-left:auto;color:var(--nova3);font-size:11px;letter-spacing:1px;text-transform:none;font-family:var(--font-body);font-weight:700;}


.card{background:linear-gradient(155deg,var(--ash),var(--ash2));border:1px solid var(--hair);border-radius:var(--r-xl);box-shadow:0 10px 30px -14px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.04);position:relative;overflow:hidden;}
.card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,0.05),transparent 55%);pointer-events:none;}

#homeGrid{position:relative;display:flex;flex-wrap:wrap;gap:13px;align-items:flex-start;}
.hw{position:relative;border-radius:var(--r-xxl);transition:box-shadow .2s,outline-color .2s;width:100%;flex-shrink:0;}
.hw.editing{outline:2px dashed var(--nova);outline-offset:4px;box-shadow:0 0 0 7px var(--halo);z-index:50;animation:wobble 2.2s ease-in-out infinite;}
@keyframes wobble{0%,100%{transform:rotate(0deg);}50%{transform:rotate(0.35deg);}}
.hw-handle{position:absolute;bottom:-7px;right:-7px;width:30px;height:30px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));display:none;align-items:center;justify-content:center;z-index:60;box-shadow:0 3px 12px rgba(0,0,0,.45);touch-action:none;}
.hw.editing .hw-handle{display:flex;}
.hw-handle .material-icons-round{font-size:15px;color:#fff;}
.hw-drag{position:absolute;top:-7px;left:-7px;width:30px;height:30px;border-radius:50%;background:var(--ash2);border:1px solid var(--hair2);display:none;align-items:center;justify-content:center;z-index:60;touch-action:none;}
.hw.editing .hw-drag{display:flex;}
.hw-drag .material-icons-round{font-size:15px;color:var(--dim2);}
.hw.dragging{opacity:.5;}
.hw-order-ph{border-radius:var(--r-xxl);border:2px dashed var(--nova);background:var(--halo);height:0;transition:height .18s;}


.profile-card{display:flex;align-items:center;gap:13px;padding:14px 16px;}
.profile-card-info{flex:1;min-width:0;}
.profile-card-name{font-family:var(--font-display);font-size:15.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-card-sub{font-size:11.5px;color:var(--dim2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-card-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.profile-card .avatar-btn{width:46px;height:46px;font-size:17px;}
.recent-work-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;}
.recent-work-row::-webkit-scrollbar{display:none;}
.recent-work-item{flex-shrink:0;width:128px;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:transform var(--fast) var(--spring);border:1px solid var(--hair);}
.recent-work-item:active{transform:scale(0.96);}
.rw-thumb{width:100%;height:76px;object-fit:cover;display:block;background:linear-gradient(155deg,var(--ash2),var(--ash3));}
.rw-thumb-doc{width:100%;height:76px;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,var(--ash2),var(--ash3));}
.rw-thumb-doc .material-icons-round{font-size:24px;color:var(--nova3);}
.rw-info{padding:8px 9px;}
.rw-title{font-size:11.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rw-time{font-size:9.5px;color:var(--dim);margin-top:2px;}
.dash-hero{padding:24px 20px;position:relative;border-radius:var(--r-xxl);}
.dash-hero::after{content:'';position:absolute;bottom:-90px;left:-30px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--halo),transparent 72%);opacity:.7;pointer-events:none;}
.greet-pill{display:inline-flex;align-items:center;gap:7px;background:color-mix(in srgb,var(--nova2) 16%,transparent);border:1px solid color-mix(in srgb,var(--nova2) 26%,transparent);color:var(--nova3);border-radius:var(--r-pill);padding:5px 13px;font-size:11px;font-weight:600;margin-bottom:14px;letter-spacing:.3px;position:relative;z-index:1;}
.greet-pill .material-icons-round{font-size:14px;}
.dash-hl{font-family:var(--font-display);font-size:23px;font-weight:700;letter-spacing:-0.5px;line-height:1.22;margin-bottom:7px;position:relative;z-index:1;}
.dash-hl em{font-style:normal;font-weight:800;background:linear-gradient(100deg,var(--nova3),var(--comet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.dash-sub{font-size:12.5px;color:var(--dim2);position:relative;z-index:1;}
.mood-hero-row{margin-top:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;z-index:1;}
.mood-hero-lbl{font-size:10px;color:var(--dim);font-weight:700;letter-spacing:1px;}
.mood-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:var(--r-pill);border:1px solid var(--hair2);background:color-mix(in srgb,var(--ash) 40%,transparent);font-size:12px;font-weight:600;color:var(--dim2);transition:all var(--fast) var(--spring);}
.mood-chip .material-icons-round{font-size:15px;}
.mood-chip.active{border-color:var(--nova);background:color-mix(in srgb,var(--nova2) 22%,transparent);color:var(--nova3);transform:translateY(-1px);}
.mood-chip:active{transform:scale(0.93);}

.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;}
.stat-pill{border-radius:var(--r-xl);padding:16px;display:flex;align-items:center;gap:11px;transition:all var(--fast) var(--spring);cursor:pointer;position:relative;overflow:hidden;}
.stat-pill:active{transform:scale(0.95);}
.sp-ico{width:40px;height:40px;border-radius:var(--r);flex-shrink:0;background:color-mix(in srgb,var(--nova2) 16%,transparent);display:flex;align-items:center;justify-content:center;}
.sp-ico .material-icons-round{font-size:18px;color:var(--nova3);}
.sp-num{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1;}
.sp-lbl{font-size:11px;color:var(--dim2);margin-top:3px;}

.timer-card{padding:20px;height:100%;}
.timer-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;}
.timer-ring-wrap{position:relative;width:148px;height:148px;}
.timer-ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg);}
.ring-bg{fill:none;stroke:var(--hair2);stroke-width:7;}
.ring-fill{fill:none;stroke:url(#tg);stroke-width:7;stroke-linecap:round;stroke-dasharray:377;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;}
.timer-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:26px;font-weight:500;letter-spacing:-1px;text-align:center;}
.timer-num small{display:block;font-size:10px;color:var(--dim);letter-spacing:1.5px;font-family:var(--font-body);margin-top:3px;font-weight:700;}
.timer-btns{display:flex;gap:11px;}
.tbtn{width:48px;height:48px;border-radius:50%;background:var(--ash2);border:1px solid var(--hair2);display:flex;align-items:center;justify-content:center;transition:all var(--fast) var(--spring);}
.tbtn:active{transform:scale(0.86);}
.tbtn.primary{background:linear-gradient(150deg,var(--nova3),var(--nova2));border-color:transparent;color:#fff;box-shadow:0 0 18px var(--halo);}
.tbtn .material-icons-round{font-size:20px;color:var(--dim2);}
.tbtn.primary .material-icons-round{color:#fff;}

.focus-mode-card{padding:16px;height:100%;}
.focus-modes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}
.fmode{padding:14px;border-radius:var(--r-lg);border:1px solid var(--hair2);background:color-mix(in srgb,var(--ash) 30%,transparent);display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:all var(--fast) var(--spring);}
.fmode:active{transform:scale(0.95);}
.fmode.active{border-color:var(--nova);background:color-mix(in srgb,var(--nova2) 14%,transparent);}
.fmode .material-icons-round{font-size:21px;color:var(--dim2);}
.fmode.active .material-icons-round{color:var(--nova3);}
.fmode-name{font-size:13px;font-weight:700;}
.fmode-desc{font-size:11px;color:var(--dim2);}

.mood-graph-wrap{padding:16px;}
.mood-canvas-wrap{overflow-x:auto;margin-top:11px;}

.stickies-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;}
.sticky{min-height:100px;border-radius:var(--r-lg);padding:12px;position:relative;border:1px solid rgba(255,255,255,0.08);box-shadow:0 8px 18px -10px rgba(0,0,0,0.4);transform:rotate(var(--tilt,0deg));}
.sticky textarea{width:100%;min-height:72px;background:transparent;border:none;resize:none;font-family:var(--font-mono);font-size:12px;line-height:1.65;}
.sticky-del-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,0.3);display:flex;align-items:center;justify-content:center;opacity:.75;}
.sticky-del-btn .material-icons-round{font-size:12px;color:rgba(0,0,0,0.7);}
.add-sticky-btn{aspect-ratio:1;border-radius:var(--r-lg);border:2px dashed var(--hair2);background:transparent;display:flex;align-items:center;justify-content:center;min-height:100px;transition:all var(--fast);color:var(--dim);}
.add-sticky-btn:active{border-color:var(--nova);color:var(--nova3);}
.add-sticky-btn .material-icons-round{font-size:27px;}

.task-widget{padding:18px;}
.task-input-row{display:flex;gap:9px;margin-bottom:12px;}
.task-inp{flex:1;background:var(--ash2);border:1px solid var(--hair2);border-radius:var(--r-pill);padding:12px 17px;font-size:14px;color:var(--star);transition:border-color var(--fast);}
.task-inp:focus{border-color:color-mix(in srgb,var(--nova2) 60%,transparent);}
.add-btn{width:46px;height:46px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px var(--halo);flex-shrink:0;transition:all var(--fast) var(--spring);}
.add-btn:active{transform:scale(0.86);}
.add-btn .material-icons-round{font-size:21px;color:#fff;}
.task-item{display:flex;align-items:center;gap:11px;background:var(--ash2);border:1px solid var(--hair);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:7px;animation:taskIn .3s var(--spring);transition:opacity .2s,transform .2s;}
.task-item.removing{opacity:0;transform:translateX(24px) scale(0.95);}
@keyframes taskIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.task-cb{width:22px;height:22px;border-radius:50%;border:2px solid var(--hair2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--fast) var(--spring);}
.task-cb.checked{background:linear-gradient(150deg,var(--nova3),var(--nova2));border-color:transparent;}
.task-cb.checked::after{content:'✓';color:#fff;font-size:11px;font-weight:800;}
.task-txt{flex:1;font-size:13.5px;}
.task-item.done .task-txt{text-decoration:line-through;color:var(--dim);}
.task-rm{color:var(--dim);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.task-rm:active{background:var(--ash3);}
.task-rm .material-icons-round{font-size:16px;}

.act-widget{padding:16px;}
.act-item{display:flex;align-items:center;gap:11px;background:var(--ash2);border-radius:var(--r-lg);padding:11px 13px;margin-bottom:6px;}
.act-ico{font-size:16px;color:var(--nova3);flex-shrink:0;}
.act-msg{flex:1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.act-time{font-size:10px;color:var(--dim);white-space:nowrap;}

.wgt-title{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--dim);text-transform:uppercase;margin-bottom:11px;display:flex;align-items:center;gap:7px;}
.wgt-title .material-icons-round{font-size:13px;color:var(--nova3);}


.writer-layout{display:flex;flex-direction:column;height:100%;}
.writer-toolbar{flex-shrink:0;margin:calc(var(--safe-t) + 10px) 12px 0;padding:8px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--ash) 85%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);display:flex;align-items:center;gap:5px;overflow-x:auto;box-shadow:0 8px 24px -12px rgba(0,0,0,0.5);}
.writer-toolbar::-webkit-scrollbar{display:none;}
.wt-grp{display:flex;align-items:center;gap:3px;flex-shrink:0;}
.wt-div{width:1px;height:20px;background:var(--hair2);margin:0 4px;flex-shrink:0;}
.wt-btn{width:33px;height:33px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--dim2);transition:all var(--fast) var(--spring);flex-shrink:0;}
.wt-btn:active,.wt-btn.on{background:linear-gradient(150deg,var(--nova3),var(--nova2));color:#fff;}
.wt-btn .material-icons-round{font-size:16px;}
.wt-sel{height:33px;padding:0 8px;border-radius:var(--r-sm);background:var(--ash2);border:1px solid var(--hair2);color:var(--star);font-size:12px;flex-shrink:0;max-width:150px;}
.writer-docs{flex-shrink:0;padding:10px 14px 4px;display:flex;gap:7px;overflow-x:auto;}
.writer-docs::-webkit-scrollbar{display:none;}
.doc-chip{display:flex;align-items:center;gap:6px;background:var(--ash);border:1px solid var(--hair2);border-radius:var(--r-pill);padding:6px 13px;white-space:nowrap;font-size:12px;font-weight:500;flex-shrink:0;cursor:pointer;transition:all var(--fast) var(--spring);}
.doc-chip.active{background:linear-gradient(150deg,var(--nova3),var(--nova2));border-color:transparent;color:#fff;}
.doc-chip:active{transform:scale(0.94);}
.doc-chip .material-icons-round{font-size:13px;}
.new-doc-chip{display:flex;align-items:center;gap:4px;border:1px dashed var(--hair2);border-radius:var(--r-pill);padding:6px 13px;font-size:12px;color:var(--dim2);flex-shrink:0;transition:all var(--fast);cursor:pointer;}
.new-doc-chip:active{border-color:var(--nova);color:var(--nova3);}
.new-doc-chip .material-icons-round{font-size:13px;}
.writer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 18px 120px;}
.writer-body-inner{max-width:720px;margin:0 auto;width:100%;}
.doc-title-inp{width:100%;background:transparent;border:none;font-family:var(--font-editor);font-size:1.4667rem;font-weight:700;letter-spacing:-.4px;color:var(--star);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--hair2);}
.editor{min-height:400px;outline:none;font-family:var(--font-editor);font-size:1.0667rem;line-height:1.85;color:var(--star);-webkit-user-select:text;user-select:text;}
.editor p{margin-bottom:.75em;}
.editor h1{font-family:var(--font-display);font-size:1.6em;font-weight:700;margin-bottom:.4em;letter-spacing:-.4px;}
.editor h2{font-family:var(--font-display);font-size:1.28em;font-weight:600;margin-bottom:.3em;}
.editor blockquote{border-left:3px solid var(--nova2);padding-left:15px;color:var(--dim2);font-style:italic;margin:1em 0;}
.editor pre{background:var(--ash2);border:1px solid var(--hair2);border-radius:var(--r);padding:14px;font-family:var(--font-mono);font-size:0.8rem;overflow-x:auto;margin:.75em 0;}
.editor a{color:var(--nova3);text-decoration:underline;text-underline-offset:2px;}
.writer-status{margin:0 14px;padding:9px 16px;border-radius:var(--r-pill);display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:0.7333rem;color:var(--dim);background:var(--ash);border:1px solid var(--hair);flex-shrink:0;}
.font-panel{padding:16px 18px;display:flex;flex-direction:column;gap:11px;}
.font-search{width:100%;background:var(--ash2);border:1px solid var(--hair2);border-radius:var(--r-pill);padding:11px 16px;font-size:13px;}
.font-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;}
.font-opt{padding:12px 14px;border-radius:var(--r);font-size:15px;transition:background .15s;cursor:pointer;display:flex;align-items:center;justify-content:space-between;}
.font-opt:active{background:var(--ash2);}
.font-opt.active{background:color-mix(in srgb,var(--nova2) 16%,transparent);color:var(--nova3);}
.font-opt small{font-size:10px;color:var(--dim);font-family:var(--font-body)!important;letter-spacing:1px;text-transform:uppercase;}
.font-import-row{display:flex;gap:9px;}
.font-import-row input{flex:1;}


#mod-art.active{position:fixed;inset:0;z-index:1;}
.art-full{position:relative;height:100%;width:100%;background:var(--void);}
#artCanvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;position:absolute;inset:0;}
.art-quick-actions{position:absolute;top:calc(var(--safe-t) + 14px);right:12px;z-index:60;display:flex;align-items:center;gap:2px;padding:6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--ash) 88%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);box-shadow:0 14px 34px -12px rgba(0,0,0,0.55);}
.at-color{width:32px;height:32px;border-radius:50%;border:1px solid var(--hair2);padding:2px;cursor:pointer;background:var(--ash);flex-shrink:0;}
.at-range{width:100%;accent-color:var(--nova);}
.at-label{font-size:11px;color:var(--dim2);white-space:nowrap;flex-shrink:0;font-weight:600;}
.art-tools-row{flex-shrink:0;padding:7px;border-radius:var(--r-pill);background:var(--smoke);border:1px solid var(--hair);display:flex;align-items:center;gap:4px;overflow-x:auto;}
.art-tools-row::-webkit-scrollbar{display:none;}
.at-tool{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dim2);transition:all var(--fast) var(--spring);flex-shrink:0;position:relative;}
.at-tool:active,.at-tool.on{background:linear-gradient(150deg,var(--nova3),var(--nova2));color:#fff;}
.at-tool .material-icons-round{font-size:18px;}
.color-dots{display:flex;gap:6px;align-items:center;flex-shrink:0;}
.cdot{width:20px;height:20px;border-radius:50%;border:2px solid transparent;flex-shrink:0;transition:transform var(--fast) var(--spring);}
.cdot:active{transform:scale(1.3);}
.cdot.active{border-color:var(--star);box-shadow:0 0 0 2px var(--nova2);}
.art-panel{position:absolute;left:12px;right:12px;bottom:calc(var(--nav-h) + 88px);z-index:55;display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--ash) 90%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);box-shadow:0 16px 40px -12px rgba(0,0,0,0.6);max-height:52dvh;overflow-y:auto;}
.art-color-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.art-sliders-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.art-sliders-row .at-range{width:74px;flex:none;}
.art-tabbar{position:absolute;left:12px;right:12px;bottom:calc(var(--nav-h) + 12px);z-index:56;height:60px;display:flex;align-items:center;gap:4px;padding:6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--ash) 90%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);box-shadow:0 16px 44px -10px rgba(0,0,0,0.6);}
.art-tab{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--r-pill);color:var(--dim);transition:all var(--fast) var(--spring);}
.art-tab .material-icons-round{font-size:19px;}
.art-tab span:last-child{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;}
.art-tab.active{background:linear-gradient(160deg,color-mix(in srgb,var(--nova2) 24%,transparent),color-mix(in srgb,var(--nova) 10%,transparent));color:var(--nova3);}
.art-full.side-toolbar .art-tabbar{left:12px;right:auto;top:calc(var(--safe-t) + 14px);bottom:calc(var(--nav-h) + 12px);width:64px;height:auto;flex-direction:column;padding:8px 6px;}
.art-full.side-toolbar .art-tab{width:100%;height:56px;flex-shrink:0;}
.art-full.side-toolbar .art-panel{left:84px;right:12px;bottom:calc(var(--nav-h) + 12px);}
.art-full.side-toolbar .art-quick-actions{top:calc(var(--safe-t) + 14px);}
.art-full.side-toolbar.rail-collapsed .art-tabbar{width:48px;}
.art-full.side-toolbar.rail-collapsed .art-tab span:last-child{display:none;}
.art-full.side-toolbar.rail-collapsed .art-panel{left:66px;}
.blend-sel{flex:1;min-width:72px;height:32px;padding:0 8px;border-radius:var(--r-sm);background:var(--ash2);border:1px solid var(--hair2);color:var(--star);font-size:11px;}
.palette-strip{display:flex;gap:6px;padding:9px 12px;background:var(--smoke);border-radius:var(--r-pill);border:1px solid var(--hair);overflow-x:auto;flex-shrink:0;}
.palette-strip::-webkit-scrollbar{display:none;}
.pgen-swatch{width:27px;height:27px;border-radius:50%;flex-shrink:0;border:2px solid var(--hair2);transition:transform .15s var(--spring);}
.pgen-swatch:active{transform:scale(1.25);}
.pgen-btn{width:27px;height:27px;border-radius:50%;flex-shrink:0;border:1px dashed var(--hair2);display:flex;align-items:center;justify-content:center;color:var(--dim);}
.pgen-btn .material-icons-round{font-size:14px;}
.layers-toolbar{display:flex;align-items:center;gap:6px;}
.layers-list{display:flex;flex-direction:column;gap:8px;}
.layer-row{display:flex;align-items:center;gap:9px;padding:8px;border-radius:var(--r-lg);background:var(--ash2);border:1px solid var(--hair);transition:border-color var(--fast);}
.layer-row.active{border-color:var(--nova);box-shadow:0 0 0 2px var(--halo);}
.layer-thumb{width:38px;height:38px;border-radius:var(--r-sm);object-fit:cover;background:repeating-conic-gradient(#00000022 0% 25%,#ffffff11 0% 50%) 50%/10px 10px;flex-shrink:0;border:1px solid var(--hair2);}
.layer-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.layer-name{font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.layer-opacity{display:flex;align-items:center;gap:6px;}
.layer-opacity input{width:100%;accent-color:var(--nova);}
.layer-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.layer-btn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dim2);transition:all var(--fast) var(--spring);}
.layer-btn:active{background:var(--ash3);}
.layer-btn.danger:active{color:var(--flare);}
.layer-btn .material-icons-round{font-size:16px;}
.layer-btn.off .material-icons-round{opacity:.35;}


#mod-maps.active{position:fixed;inset:0;z-index:1;}
.maps-layout{position:relative;height:100%;}
#mapEl{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.map-wrap{position:absolute;inset:0;z-index:0;}
.maps-overlay-top{position:absolute;top:calc(var(--safe-t) + 14px);left:12px;right:12px;z-index:450;display:flex;flex-direction:column;gap:9px;pointer-events:none;}
.maps-overlay-top>*{pointer-events:auto;}
.weather-banner{border-radius:var(--r-xl);padding:14px 16px;cursor:pointer;transition:padding .3s var(--ease);background:color-mix(in srgb,var(--ash) 88%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);box-shadow:0 14px 34px -12px rgba(0,0,0,0.55);}
.wb-top{display:flex;align-items:center;gap:13px;}
.wb-icon{font-size:32px;color:var(--nova3);}
.wb-temp{font-size:23px;font-weight:800;letter-spacing:-1px;font-family:var(--font-display);}
.wb-info{flex:1;min-width:0;}
.wb-desc{font-size:12px;color:var(--dim2);}
.wb-loc{font-size:11px;color:var(--dim);display:flex;align-items:center;gap:3px;}
.wb-loc .material-icons-round{font-size:12px;}
.wb-detail{text-align:right;font-size:11px;color:var(--dim2);}
.wb-detail span{display:block;font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:1px;}
.wb-expand-ico{color:var(--dim);transition:transform .3s var(--spring);}
.weather-banner.open .wb-expand-ico{transform:rotate(180deg);}
.wb-detail-grid{max-height:0;overflow:hidden;transition:max-height .35s var(--ease),margin-top .35s var(--ease);display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:0;}
.weather-banner.open .wb-detail-grid{max-height:200px;margin-top:15px;}
.wb-stat{background:var(--ash2);border-radius:var(--r);padding:11px 6px;text-align:center;}
.wb-stat .material-icons-round{font-size:17px;color:var(--nova3);}
.wb-stat-val{font-family:var(--font-mono);font-size:13px;font-weight:600;margin-top:4px;}
.wb-stat-lbl{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin-top:1px;}
.wb-hourly{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);display:flex;gap:11px;overflow-x:auto;}
.weather-banner.open .wb-hourly{max-height:90px;margin-top:13px;}
.wb-hour{flex-shrink:0;text-align:center;font-size:10px;color:var(--dim2);}
.wb-hour .material-icons-round{font-size:19px;color:var(--nova3);margin:4px 0;}
.maps-search-island{display:flex;gap:7px;border-radius:var(--r-pill);padding:6px;background:color-mix(in srgb,var(--ash) 88%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);box-shadow:0 14px 34px -12px rgba(0,0,0,0.55);transition:box-shadow .3s;}
.map-search-inp{flex:1;background:transparent;border:none;border-radius:var(--r-pill);padding:8px 8px 8px 14px;font-size:13.5px;color:var(--star);}
.map-search-inp:focus{outline:none;}
.maps-style-island{display:flex;gap:6px;overflow-x:auto;padding:2px;align-self:flex-start;}
.maps-style-island::-webkit-scrollbar{display:none;}
.msp{padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--hair2);background:color-mix(in srgb,var(--ash) 88%,transparent);backdrop-filter:var(--blur);font-size:11.5px;font-weight:600;color:var(--dim2);white-space:nowrap;flex-shrink:0;transition:all var(--fast) var(--spring);box-shadow:0 8px 22px -10px rgba(0,0,0,0.5);}
.msp.active{background:linear-gradient(150deg,var(--nova3),var(--nova2));border-color:transparent;color:#fff;}
.map-fab{position:absolute;bottom:calc(var(--nav-h) + 26px);right:14px;width:50px;height:50px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));box-shadow:0 8px 22px var(--halo);display:flex;align-items:center;justify-content:center;transition:transform var(--fast) var(--spring);z-index:450;}
.map-fab:active{transform:scale(0.86);}
.map-fab .material-icons-round{font-size:22px;color:#fff;}
.map-fab.secondary{bottom:calc(var(--nav-h) + 84px);background:color-mix(in srgb,var(--ash) 90%,transparent);backdrop-filter:var(--blur);border:1px solid var(--hair2);box-shadow:0 8px 20px -8px rgba(0,0,0,0.5);}
.map-fab.secondary .material-icons-round{color:var(--star);}


.tpl-filter{display:flex;gap:7px;overflow-x:auto;padding:calc(var(--safe-t) + 14px) 14px 4px;}
.tpl-filter::-webkit-scrollbar{display:none;}
.fpill{padding:7px 15px;border-radius:var(--r-pill);border:1px solid var(--hair2);background:transparent;font-size:12px;font-weight:600;color:var(--dim2);white-space:nowrap;flex-shrink:0;transition:all var(--fast) var(--spring);cursor:pointer;}
.fpill.active{background:linear-gradient(150deg,var(--nova3),var(--nova2));border-color:transparent;color:#fff;}
.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:11px 14px 24px;}
.tpl-card{border-radius:var(--r-xl);overflow:hidden;cursor:pointer;transition:transform var(--fast) var(--spring),border-color var(--fast);}
.tpl-card:active{transform:scale(0.95);}
.tc-icon{height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,var(--ash2),var(--ash3));position:relative;z-index:1;}
.tc-icon .material-icons-round{font-size:35px;color:var(--nova3);}
.tc-info{padding:12px;position:relative;z-index:1;}
.tc-info h3{font-size:13.5px;font-weight:700;margin-bottom:3px;}
.tc-info p{font-size:11px;color:var(--dim2);margin-bottom:8px;}
.tc-cat{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:8px;}
.tc-use{display:inline-flex;align-items:center;gap:4px;padding:6px 13px;border-radius:var(--r-pill);border:1px solid var(--hair2);font-size:11px;font-weight:600;color:var(--nova3);transition:all var(--fast) var(--spring);cursor:pointer;}
.tc-use:active{background:linear-gradient(150deg,var(--nova3),var(--nova2));color:#fff;border-color:transparent;}


.vault-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:calc(var(--safe-t) + 16px) 14px 16px;}
.vi{border-radius:var(--r-xl);overflow:hidden;cursor:pointer;position:relative;transition:transform var(--fast) var(--spring);}
.vi:active{transform:scale(0.96);}
.vi-thumb{width:100%;height:112px;object-fit:cover;display:block;}
.vi-doc{width:100%;height:112px;background:linear-gradient(155deg,var(--ash2),var(--ash3));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.vi-doc .material-icons-round{font-size:29px;color:var(--nova3);}
.vi-doc p{font-size:11px;color:var(--dim2);padding:0 9px;text-align:center;}
.vi-info{padding:9px 11px;position:relative;z-index:1;}
.vi-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vi-date{font-size:10px;color:var(--dim);}
.vi-del{position:absolute;top:6px;right:6px;width:25px;height:25px;border-radius:50%;background:rgba(0,0,0,0.55);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);}
.vi-del .material-icons-round{font-size:13px;color:#fff;}


.moodboard-layout{padding:calc(var(--safe-t) + 18px) 14px 18px;}
.mb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px;}
.mb-card{border-radius:var(--r-lg);overflow:hidden;position:relative;cursor:pointer;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);}
.mb-card img{width:100%;height:100%;object-fit:cover;}
.mb-card-empty{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--dim);}
.mb-card-empty .material-icons-round{font-size:31px;}
.mb-card-empty span{font-size:11px;font-weight:600;}
.mb-del{position:absolute;top:5px;right:5px;width:23px;height:23px;border-radius:50%;background:rgba(0,0,0,0.65);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.mb-del .material-icons-round{font-size:13px;color:#fff;}
.color-palette-row{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap;}
.palette-swatch{width:36px;height:36px;border-radius:50%;border:2px solid var(--hair2);cursor:pointer;transition:transform var(--fast) var(--spring);}
.palette-swatch:active{transform:scale(1.2);}
.palette-add{width:36px;height:36px;border-radius:50%;border:2px dashed var(--hair2);display:flex;align-items:center;justify-content:center;color:var(--dim);cursor:pointer;position:relative;}
.palette-add .material-icons-round{font-size:18px;}


.calc-wrap{padding:calc(var(--safe-t) + 18px) 14px 18px;display:flex;flex-direction:column;gap:11px;}
.calc-disp{border-radius:var(--r-xl);padding:18px 20px;}
.calc-disp input{width:100%;background:transparent;border:none;font-family:var(--font-mono);font-size:29px;text-align:right;color:var(--star);}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.cbt{aspect-ratio:1.1;border-radius:var(--r-lg);font-size:17px;font-weight:600;background:var(--ash);border:1px solid var(--hair);transition:all var(--fast) var(--spring);cursor:pointer;}
.cbt:active{transform:scale(0.88);}
.cbt.fn{background:var(--ash2);color:var(--dim2);}
.cbt.op{background:color-mix(in srgb,var(--nova2) 18%,transparent);color:var(--nova3);border-color:color-mix(in srgb,var(--nova2) 24%,transparent);}
.cbt.eq{background:linear-gradient(150deg,var(--nova3),var(--nova2));color:#fff;border-color:transparent;box-shadow:0 0 16px var(--halo);}
.cbt.zero{grid-column:span 2;aspect-ratio:auto;padding:14px;text-align:left;padding-left:20px;}


.themes-hero{padding:20px;margin:calc(var(--safe-t) + 14px) 14px 14px;border-radius:var(--r-xxl);text-align:center;}
.themes-hero .material-icons-round{font-size:32px;color:var(--nova3);margin-bottom:8px;}
.themes-hero h2{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:6px;}
.themes-hero p{font-size:12.5px;color:var(--dim2);max-width:280px;margin:0 auto;}
.theme-showcase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 14px 20px;}
.theme-card-lg{border-radius:var(--r-xl);overflow:hidden;cursor:pointer;position:relative;border:2px solid transparent;transition:all var(--fast) var(--spring);}
.theme-card-lg:active{transform:scale(0.95);}
.theme-card-lg.active{border-color:var(--nova3);box-shadow:0 0 0 4px var(--halo);}
.tcl-preview{height:92px;position:relative;display:flex;align-items:flex-end;padding:10px;gap:5px;}
.tcl-swatch{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.25);}
.tcl-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--nova3);display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.4);}
.tcl-check .material-icons-round{font-size:13px;color:#08080a;}
.theme-card-lg.active .tcl-check{display:flex;}
.tcl-info{padding:11px 12px;}
.tcl-name{font-size:12.5px;font-weight:700;}
.tcl-desc{font-size:10.5px;color:var(--dim2);margin-top:2px;}
.custom-theme-panel{margin:0 14px 20px;padding:18px;border-radius:var(--r-xl);}
.color-builder{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.cb-swatch{background:var(--ash2);border:1px solid var(--hair);border-radius:var(--r-lg);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;}
.cb-swatch input[type=color]{width:30px;height:30px;border-radius:50%;border:1px solid var(--hair2);padding:2px;cursor:pointer;background:var(--ash);}
.star-toggle-row{display:flex;align-items:center;justify-content:space-between;margin:0 14px 14px;padding:16px 18px;border-radius:var(--r-xl);}


#focusOverlay{position:fixed;inset:0;z-index:2000;background:var(--void);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity var(--mid) var(--ease);}
#focusOverlay.open{opacity:1;pointer-events:all;}
.focus-top{padding:16px 20px;padding-top:calc(16px + var(--safe-t));display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.focus-title{font-weight:700;font-size:14px;color:var(--dim2);font-family:var(--font-display);}
#focusEditor{flex:1;padding:22px 20px 80px;overflow-y:auto;-webkit-overflow-scrolling:touch;outline:none;font-family:var(--font-editor);font-size:1.1333rem;line-height:2;-webkit-user-select:text;user-select:text;max-width:640px;margin:0 auto;width:100%;}
.focus-bar{padding:10px 20px;font-size:11px;color:var(--dim);text-align:center;flex-shrink:0;}


.sheet{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;background:rgba(3,3,5,0.7);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity var(--mid) var(--ease);}
.sheet.open{opacity:1;pointer-events:all;}
.sheet-body{width:100%;background:linear-gradient(180deg,var(--smoke),var(--void));border-radius:32px 32px 0 0;border:1px solid var(--hair2);border-bottom:none;padding:0 0 max(var(--safe-b),18px);max-height:92dvh;overflow-y:auto;transform:translateY(100%);transition:transform var(--slow) var(--spring);box-shadow:0 -20px 60px rgba(0,0,0,0.5);}
.sheet.open .sheet-body{transform:translateY(0);}
.sheet-handle{width:40px;height:4px;border-radius:99px;background:var(--hair2);margin:13px auto 0;}
.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 12px;}
.sheet-header h2{font-family:var(--font-display);font-size:15.5px;font-weight:700;}
.sh-section{padding:15px 18px 4px;}
.sh-section h3{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--dim);text-transform:uppercase;margin-bottom:12px;}
.sh-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:14px;gap:12px;}
.sh-sel{height:33px;padding:0 10px;border-radius:var(--r-sm);background:var(--ash2);border:1px solid var(--hair2);color:var(--star);font-size:13px;min-width:112px;}
.sh-range{flex:1;accent-color:var(--nova);max-width:140px;}
.sh-btn{width:100%;display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:var(--r-lg);background:var(--ash);border:1px solid var(--hair);font-size:14px;color:var(--star);margin-bottom:7px;transition:all var(--fast) var(--spring);cursor:pointer;}
.sh-btn:active{background:var(--ash2);transform:scale(0.98);}
.sh-btn .material-icons-round{font-size:18px;color:var(--nova3);}
.sh-btn.danger .material-icons-round{color:var(--flare);}
.sh-btn.danger{color:var(--flare);}
.tgl{width:44px;height:26px;border-radius:99px;background:var(--hair2);position:relative;cursor:pointer;transition:background var(--fast);flex-shrink:0;}
.tgl.on{background:linear-gradient(150deg,var(--nova3),var(--nova2));}
.tgl::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--fast) var(--spring);box-shadow:0 1px 3px rgba(0,0,0,0.3);}
.tgl.on::after{transform:translateX(18px);}
.settings-quick-link{display:flex;align-items:center;justify-content:space-between;margin:0 18px 6px;padding:16px 17px;border-radius:var(--r-xl);cursor:pointer;transition:transform var(--fast) var(--spring);}
.settings-quick-link:active{transform:scale(0.97);}
.sql-left{display:flex;align-items:center;gap:12px;}
.sql-ico{width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--nova2) 18%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sql-ico .material-icons-round{font-size:18px;color:var(--nova3);}
.sql-title{font-size:14px;font-weight:700;}
.sql-sub{font-size:11px;color:var(--dim2);margin-top:1px;}

.profile-section{padding:20px 18px;display:flex;flex-direction:column;align-items:center;gap:14px;}
.profile-avatar-wrap{position:relative;width:80px;height:80px;}
.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));color:#fff;font-size:29px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px var(--halo);overflow:hidden;}
.profile-avatar img{width:100%;height:100%;object-fit:cover;}
.avatar-upload-btn{position:absolute;bottom:0;right:0;width:27px;height:27px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));display:flex;align-items:center;justify-content:center;border:2px solid var(--smoke);cursor:pointer;}
.avatar-upload-btn .material-icons-round{font-size:13px;color:#fff;}
.profile-inp{width:100%;background:var(--ash);border:1px solid var(--hair2);border-radius:var(--r-lg);padding:11px 15px;font-size:14px;}
.profile-inp:focus{border-color:var(--nova);}
.save-btn{width:100%;padding:14px;border-radius:var(--r-pill);background:linear-gradient(150deg,var(--nova3),var(--nova2));color:#fff;font-size:14px;font-weight:700;box-shadow:0 0 18px var(--halo);transition:all var(--fast) var(--spring);cursor:pointer;}
.save-btn:active{transform:scale(0.96);}
.profile-divider{width:100%;height:1px;background:var(--hair);margin:4px 0;}
.profile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;}
.profile-action{display:flex;flex-direction:column;align-items:center;gap:6px;padding:15px;border-radius:var(--r-lg);background:var(--ash);border:1px solid var(--hair);font-size:12px;font-weight:600;color:var(--dim2);transition:all var(--fast) var(--spring);cursor:pointer;}
.profile-action:active{background:var(--ash2);transform:scale(0.96);}
.profile-action .material-icons-round{font-size:22px;color:var(--nova3);}
.profile-action.danger .material-icons-round{color:var(--flare);}
.profile-action.danger{color:var(--flare);}
.profile-stats-row{display:flex;gap:12px;width:100%;}
.profile-stat{flex:1;text-align:center;background:var(--ash);border:1px solid var(--hair);border-radius:var(--r-lg);padding:12px 8px;}
.profile-stat-num{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--nova3);}
.profile-stat-lbl{font-size:10px;color:var(--dim2);margin-top:2px;text-transform:uppercase;letter-spacing:.5px;}

.nav-order-item{display:flex;align-items:center;gap:13px;padding:12px 18px;border-radius:var(--r-lg);margin-bottom:6px;background:var(--ash);border:1px solid var(--hair);font-size:14px;cursor:grab;user-select:none;transition:transform var(--fast) var(--spring);}
.nav-order-item .material-icons-round:first-child{color:var(--dim);font-size:17px;}
.nav-order-item .material-icons-round:last-child{color:var(--nova3);font-size:18px;}
.nav-order-item span{flex:1;}
.nav-order-item.dragging{opacity:.4;transform:scale(0.97);}

.search-inp-full{width:100%;background:var(--ash);border:1px solid var(--hair2);border-radius:var(--r-pill);padding:12px 17px;font-size:14px;color:var(--star);margin-bottom:13px;}
.search-inp-full:focus{border-color:color-mix(in srgb,var(--nova2) 60%,transparent);}

#toasts{position:fixed;bottom:calc(var(--nav-h) + 24px + var(--safe-b));left:14px;right:14px;z-index:5000;display:flex;flex-direction:column;gap:7px;pointer-events:none;align-items:center;}
.toast{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--ash) 92%,transparent);backdrop-filter:blur(20px);border:1px solid var(--hair2);border-radius:var(--r-pill);padding:11px 17px;font-size:13px;font-weight:500;box-shadow:0 10px 34px rgba(0,0,0,0.5);transform:translateY(12px) scale(0.95);opacity:0;transition:transform .3s var(--spring),opacity .3s var(--ease);pointer-events:all;max-width:400px;}
.toast.show{transform:none;opacity:1;}
.toast .material-icons-round{font-size:16px;flex-shrink:0;}
.toast.success .material-icons-round{color:var(--tide);}
.toast.error .material-icons-round{color:var(--flare);}
.toast.info .material-icons-round{color:var(--nova3);}
.toast.warning .material-icons-round{color:var(--comet);}

:focus-visible{outline:2px solid var(--nova3);outline-offset:2px;border-radius:6px;}
.nav-item:focus-visible,.at-tool:focus-visible,.cdot:focus-visible,.ib:focus-visible,.avatar-btn:focus-visible{outline-offset:3px;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important;}
  #starfield{display:none!important;}
}
.empty{font-size:12px;color:var(--dim);text-align:center;padding:30px 0;}
input[type=range]{-webkit-appearance:none;appearance:none;height:4px;background:var(--hair2);border-radius:99px;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(150deg,var(--nova3),var(--nova2));box-shadow:0 0 8px var(--halo);}


.crisis-banner{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;background:rgba(3,3,5,0.8);backdrop-filter:blur(20px);opacity:0;pointer-events:none;transition:opacity .3s;}
.crisis-banner.open{opacity:1;pointer-events:all;}
.crisis-body{width:100%;background:linear-gradient(180deg,var(--smoke),var(--void));border-radius:30px 30px 0 0;border-top:3px solid var(--tide);padding:26px 22px max(var(--safe-b),26px);transform:translateY(100%);transition:transform .45s var(--spring);}
.crisis-banner.open .crisis-body{transform:translateY(0);}
.crisis-heart{margin-bottom:11px;color:var(--tide);}
.crisis-heart .material-icons-round{font-size:34px;}
.crisis-title{font-family:var(--font-display);font-size:21px;font-weight:700;margin-bottom:7px;color:var(--tide);}
.crisis-sub{font-size:14px;color:var(--dim2);margin-bottom:19px;line-height:1.6;}
.crisis-line{display:flex;align-items:center;gap:13px;background:var(--ash);border:1px solid var(--hair2);border-radius:var(--r-lg);padding:15px 17px;margin-bottom:11px;}
.crisis-line .material-icons-round{font-size:23px;color:var(--tide);}
.crisis-line-info{flex:1;}
.crisis-line-name{font-weight:700;font-size:14px;}
.crisis-line-num{font-family:var(--font-mono);font-size:16px;font-weight:500;color:var(--nova3);margin-top:2px;}
.crisis-line-sub{font-size:11px;color:var(--dim2);margin-top:2px;}
.crisis-close{margin-top:15px;width:100%;padding:15px;border-radius:var(--r-pill);background:var(--ash2);border:1px solid var(--hair2);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--fast) var(--spring);}
.crisis-close:active{transform:scale(0.97);}




@media(min-width:640px){.tpl-grid,.vault-grid,.stats-row,.theme-showcase-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:860px){#app{max-width:560px;margin:0 auto;border-left:1px solid var(--hair);border-right:1px solid var(--hair);box-shadow:0 0 80px rgba(0,0,0,0.4);}}