:root,[data-theme=ceres]{--bg:#f6f4ef;--bg-tile:#fff;--bg-tile-alt:#f9f7f3;--bg-toolbar:#f6f4efb8;--heading:#686259;--subheading:#716b62;--body-color:#847d73;--muted:#a09a91;--border:#0000000f;--border-strong:#6a6a6a33;--accent:#ad8857;--accent-soft:#ad88571f;--shadow:#0000000f;--chart-1:#ad8857;--chart-2:#c4a97d;--chart-3:#d4c5a9;--chart-4:#847d73;--chart-5:#b8b0a4;--chart-bg:#edeae4;--positive:#6b8f56;--negative:#b85c5c;--font-serif:"Platypi", Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--tile-header-color:var(--heading)}[data-theme=charon]{--bg:#1b1b1b;--bg-tile:#262626;--bg-tile-alt:#2e2e2e;--bg-toolbar:#1b1b1bcc;--heading:#ad8857;--subheading:#af9986;--body-color:#9a9088;--muted:#6b6560;--border:#af998626;--border-strong:#af99864d;--accent:#ad8857;--accent-soft:#ad885733;--shadow:#0003;--chart-1:#ad8857;--chart-2:#c4a97d;--chart-3:#8a7b6b;--chart-4:#6b6560;--chart-5:#4a4540;--chart-bg:#333;--positive:#7ba566;--negative:#c06060;--tile-header-color:#fff}[data-theme=mars]{--bg:#2d2824;--bg-tile:#3a3430;--bg-tile-alt:#453e39;--bg-toolbar:#2d2824cc;--heading:#ff833a;--subheading:#a49283;--body-color:#a49283;--muted:#7a6e63;--border:#a4928326;--border-strong:#a492834d;--accent:#ff833a;--accent-soft:#ff833a26;--shadow:#0003;--chart-1:#ff833a;--chart-2:#ffb07a;--chart-3:#a49283;--chart-4:#7a6e63;--chart-5:#554e48;--chart-bg:#3a3430;--positive:#7ba566;--negative:#c06060;--tile-header-color:#fff}[data-theme=earth]{--bg:#f6fff4;--bg-tile:#e8f5e4;--bg-tile-alt:#dcf0d8;--bg-toolbar:#f6fff4b8;--heading:#0b2b1c;--subheading:#2a6843;--body-color:#3d7a56;--muted:#6b9a7d;--border:#2a68431f;--border-strong:#2a684340;--accent:#2a6843;--accent-soft:#2a68431f;--shadow:#0000000a;--chart-1:#2a6843;--chart-2:#4a9a6d;--chart-3:#7bc09a;--chart-4:#3d7a56;--chart-5:#b0d8c0;--chart-bg:#d0e8d0;--positive:#2a6843;--negative:#b85c5c}[data-theme=frosty]{--bg:#132533;--bg-tile:#1c3448;--bg-tile-alt:#244058;--bg-toolbar:#132533cc;--heading:#649cc7;--subheading:#d6f2ff;--body-color:#a0c4db;--muted:#5a8aa5;--border:#649cc726;--border-strong:#649cc74d;--accent:#649cc7;--accent-soft:#649cc726;--shadow:#0003;--chart-1:#649cc7;--chart-2:#8ec0e6;--chart-3:#a0c4db;--chart-4:#5a8aa5;--chart-5:#3c6a85;--chart-bg:#1c3448;--positive:#6bc090;--negative:#c07070;--tile-header-color:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg);color:var(--body-color);font-family:var(--font-sans);min-height:100vh;transition:background-color .6s,color .6s;overflow-x:hidden}.noise-overlay{z-index:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:fixed;inset:0}.main-container{z-index:1;gap:60px;width:100%;max-width:1280px;margin:0 auto;padding:60px 40px 180px;display:flex;position:relative}@media (width<=900px){.main-container{flex-direction:column;gap:32px;padding:40px 20px 200px}}.profile-sidebar{flex-shrink:0;align-self:flex-start;width:280px;animation:.8s both fadeSlideUp;position:sticky;top:60px}@media (width<=900px){.profile-sidebar{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex;position:relative;top:auto}}.profile-logo{justify-content:flex-start;margin-bottom:32px;display:flex}.logo-img{object-fit:contain;opacity:.9;width:auto;height:48px;transition:opacity .3s}.logo-img:hover{opacity:1}[data-theme=charon] .logo-img,[data-theme=mars] .logo-img,[data-theme=frosty] .logo-img{content:url(/transpsquarewhitelogo.png)}@media (width<=900px){.profile-logo{justify-content:center;margin-bottom:24px}}.profile-avatar{border-radius:var(--radius-lg);width:160px;height:160px;box-shadow:0 8px 32px var(--shadow);margin-bottom:24px;transition:transform .4s;position:relative;overflow:hidden}.profile-avatar-edit{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;opacity:0;z-index:5;background:#00000080;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex;position:absolute;top:10px;right:10px}.profile-avatar:hover .profile-avatar-edit{opacity:1}.profile-avatar-edit:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.15)}.profile-avatar:hover{transform:scale(1.03)}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-name{font-family:var(--font-serif);color:var(--heading);letter-spacing:-.02em;font-size:2.4rem;font-weight:500;line-height:1.15;transition:color .6s}.profile-bio{color:var(--muted);margin-top:8px;font-size:1rem;font-weight:300;transition:color .6s}.profile-stats{gap:24px;margin-top:28px;display:flex}@media (width<=900px){.profile-stats{justify-content:center;gap:40px}}.stat{flex-direction:column;display:flex}.stat-number{font-family:var(--font-serif);color:var(--heading);font-size:1.8rem;font-weight:600;line-height:1;transition:color .6s}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:.72rem}.sidebar-nav{flex-direction:column;gap:8px;width:100%;margin-top:40px;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--body-color);font-family:var(--font-sans);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.nav-item svg{opacity:.6;transition:opacity .2s}.nav-item:hover{background:var(--bg-tile-alt);color:var(--heading)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item.active svg{opacity:1}@media (width<=900px){.sidebar-nav{background:var(--bg-tile-alt);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:row;justify-content:center;gap:4px;max-width:320px;margin-top:24px;margin-left:auto;margin-right:auto;padding:4px;position:relative}.nav-item{border-radius:var(--radius-md);white-space:nowrap;flex:1;justify-content:center;gap:6px;width:auto;padding:10px 12px;font-size:.8rem}.nav-item.active{background:var(--bg-tile);box-shadow:0 4px 12px var(--shadow);color:var(--accent)}.nav-item svg{width:18px;height:18px}}.dashboard-grid-container{flex-direction:column;flex:1;gap:20px;display:flex}.back-btn{background:var(--bg-tile);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--subheading);font-family:var(--font-serif);cursor:pointer;z-index:100;align-items:center;gap:8px;width:fit-content;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .3s;animation:.4s both fadeSlideDown;display:none}.back-btn:hover{background:var(--bg-tile-alt);border-color:var(--accent);color:var(--accent)}.dashboard-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:160px;gap:16px;transition:all .5s cubic-bezier(.22,1,.36,1);display:grid}.dashboard-grid-container.is-expanded .back-btn{display:flex}.dashboard-grid.is-expanded{grid-template-columns:1fr;grid-auto-rows:auto}.dashboard-grid.is-expanded>.tile:not(.active-tile){display:none}.dashboard-grid.is-expanded>.tile.active-tile{cursor:default;min-height:500px;box-shadow:0 4px 12px var(--shadow);grid-area:auto/1/auto/-1;transform:none}@media (width<=1100px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.main-container{padding:30px 16px 140px}.dashboard-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.tile,.tile.size-wide,.tile.size-tall,.tile.size-large,.tile-mind-map,.tile-spotify,.tile-youtube,.tile-reading,.tile-navigation{min-height:180px;padding:20px;grid-area:auto/1/auto/-1!important}.tile-controls{opacity:0!important;pointer-events:none!important}body.edit-mode .tile-controls{top:10px;right:10px;opacity:1!important;pointer-events:auto!important;transform:none!important}}.tile{background:var(--bg-tile);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 1px 3px var(--shadow), inset 0 0 0 1px #00000008;cursor:default;flex-direction:column;padding:24px;transition:background-color .6s,border-color .6s,transform .3s,box-shadow .3s;animation:.7s both fadeSlideUp;display:flex;position:relative;overflow:visible}.control-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;cursor:pointer;z-index:10;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 12px #0000004d}[data-theme=charon] .control-btn,[data-theme=mars] .control-btn,[data-theme=frosty] .control-btn{background:#121212;border-color:#ffffff0d}.control-btn:hover{color:var(--accent);border-color:var(--accent);background:#2a2a2a;transform:scale(1.15)}[data-theme=charon] .control-btn:hover,[data-theme=mars] .control-btn:hover,[data-theme=frosty] .control-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.control-btn.btn-delete:hover{color:#ff4d4d;background:#3a1a1a;border-color:#ff4d4d}.tile-resize-handle{cursor:nwse-resize;z-index:10;opacity:0;background:linear-gradient(135deg, transparent 50%, var(--border-strong) 50%);border-radius:0 0 var(--radius-lg) 0;width:20px;height:20px;transition:opacity .3s;position:absolute;bottom:0;right:0}body.edit-mode .tile:hover{box-shadow:0 12px 40px var(--shadow);transform:translateY(-3px)}body.edit-mode .tile-resize-handle{opacity:1}.tile-header{flex-shrink:0;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tile-icon{color:var(--tile-header-color);font-size:1.1rem;line-height:1}.tile-title{font-family:var(--font-serif);color:var(--tile-header-color);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600;transition:color .6s}.tile-badge{color:var(--muted);background:var(--accent-soft);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;margin-left:auto;padding:2px 8px;font-size:.65rem;font-weight:500}.tile-canvas{flex:1;width:100%;min-height:0}.tile-mind-map{grid-area:span 2/span 2;animation-delay:50ms}.tile-spotify{grid-area:span 2/span 1;animation-delay:.1s}.tile-youtube{grid-area:span 2/span 2}.tile-movies{grid-area:span 1/span 1}.tile-reading{grid-area:span 2/span 1}.tile-navigation,.tile-intention,.tile-agenda{grid-area:span 1/span 2}.tile-photos{grid-area:span 1/span 1}.tile-map{grid-area:span 2/span 2}.tile-focus{grid-area:span 1/span 1}@media (width<=1100px){.tile-heatmap{grid-column:span 2}}@media (width<=600px){.tile-mind-map,.tile-youtube,.tile-navigation,.tile-intention,.tile-heatmap{grid-column:span 1}.tile-mind-map,.tile-spotify,.tile-reading{grid-row:span 1;min-height:280px}.tile-heatmap{min-height:160px}}.spotify-now-playing{background:var(--bg-tile-alt);border-radius:var(--radius-md);align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.album-art{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), var(--chart-2));background-position:50%;background-size:cover;flex-shrink:0;width:44px;height:44px}.track-info{flex-direction:column;min-width:0;display:flex}.track-name{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;transition:color .6s;overflow:hidden}.track-artist{color:var(--muted);font-size:.7rem}.eq-bars{flex-shrink:0;align-items:flex-end;gap:3px;height:20px;margin-left:auto;display:flex}.eq-bar{background:var(--accent);border-radius:2px;width:3px;animation:.8s ease-in-out infinite alternate eqBounce}.eq-bar:first-child{height:8px;animation-delay:0s}.eq-bar:nth-child(2){height:16px;animation-delay:.15s}.eq-bar:nth-child(3){height:10px;animation-delay:.3s}.eq-bar:nth-child(4){height:14px;animation-delay:.45s}.genre-tags{flex-wrap:wrap;gap:6px;display:flex}.genre-tag{border-radius:var(--radius-full);border:1px solid var(--border-strong);color:var(--subheading);cursor:default;padding:4px 10px;font-size:.68rem;font-weight:500;transition:all .3s}.genre-tag:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tile-youtube{flex-direction:column;grid-column:span 2;gap:0;display:flex}.yt-connect-btn{background:var(--accent);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;margin-left:12px;padding:4px 12px;font-size:.7rem;font-weight:600;transition:transform .2s}.yt-connect-btn:hover{background:var(--heading);transform:scale(1.05)}.youtube-layout{flex:1;align-items:center;gap:20px;width:100%;min-height:0;display:flex}.active-tile .youtube-layout{grid-template-columns:1fr 1.2fr;align-items:center;gap:40px;margin-top:20px;display:grid}.youtube-chart-side{width:100%;height:100%;min-height:250px;display:none;position:relative}.youtube-details-side{flex:1;align-items:center;gap:24px;min-width:0;display:flex}.active-tile .youtube-details-side{flex-direction:column;align-items:flex-start;gap:20px}.active-tile .youtube-chart-side{display:flex}.youtube-details-side{flex:1;align-items:center;gap:32px;display:flex}.yt-tabs{border-bottom:1px solid var(--border);gap:16px;margin-bottom:12px;padding-bottom:8px;display:flex}.yt-tab{color:var(--muted);cursor:pointer;padding-bottom:4px;font-size:.75rem;font-weight:600;transition:all .3s;position:relative}.yt-tab.active{color:var(--accent)}.yt-tab.active:after{content:"";background:var(--accent);width:100%;height:2px;position:absolute;bottom:-9px;left:0}.yt-expanded-footer{color:var(--muted);border-top:1px solid var(--border);margin-top:auto;padding-top:12px;font-size:.75rem;font-style:italic}.map-placeholder{background:var(--bg-tile-alt);border-radius:var(--radius-md);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.map-dot{background:var(--accent);width:12px;height:12px;box-shadow:0 0 15px var(--accent);border-radius:50%;animation:2s infinite pulse;position:absolute}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:0;transform:scale(3)}}.yt-details-content{flex-direction:column;flex:1;min-width:0;display:flex}.yt-sub-header{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:.7rem;font-weight:600;display:none}.active-tile .yt-sub-header{display:block}.yt-channels-list{flex-flow:wrap;flex:1;gap:12px;display:flex}.active-tile .yt-channels-list{flex-direction:column;gap:8px}.yt-channel-item{align-items:center;gap:10px;display:flex}.yt-channel-info{flex-direction:column;display:flex}.yt-channel-name{color:var(--heading);letter-spacing:-.01em;font-size:.82rem;font-weight:700}.yt-channel-meta{color:var(--muted);font-size:.68rem;font-weight:500}.yt-alignment-tag{background:var(--accent-soft);color:var(--accent);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.6rem;font-weight:600}.yt-alignment-tag.high{color:var(--positive);background:#6b8f5626}.yt-footer{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.active-tile .yt-footer{display:flex}.yt-alignment-dot{background:var(--positive);width:8px;height:8px;box-shadow:0 0 8px var(--positive);border-radius:50%}#yt-alignment-text{color:var(--subheading);font-size:.72rem;font-weight:500}.youtube-stat{flex-direction:column;display:flex}.big-number{font-family:var(--font-serif);color:var(--heading);font-size:1.5rem;font-weight:700;line-height:1.1;transition:color .6s}.active-tile .big-number{font-size:2.4rem}.big-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.65rem}.book-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow:hidden}.book-item{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px;transition:background .3s;display:flex}.book-item:hover{background:var(--bg-tile-alt)}.book-cover{border-radius:4px;flex-shrink:0;width:32px;height:44px}.book-info{flex-direction:column;min-width:0;display:flex}.book-title{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;transition:color .6s;overflow:hidden}.book-author{color:var(--muted);font-size:.65rem}.book-progress{background:var(--chart-bg);border-radius:2px;width:100%;height:3px;margin-top:4px;overflow:hidden}.book-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width 1s}.intention-content{flex-direction:column;flex:1;justify-content:center;display:flex}.intention-goal{font-family:var(--font-serif);color:var(--heading);margin-bottom:16px;font-size:1.1rem;font-weight:500;transition:color .6s}.intention-bar-container{background:var(--chart-bg);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.intention-bar{background:linear-gradient(90deg, var(--accent), var(--chart-2));border-radius:var(--radius-full);width:0%;height:100%;transition:width 1.5s cubic-bezier(.22,1,.36,1)}.intention-meta{align-items:baseline;gap:6px;margin-top:10px;display:flex}.intention-pct{font-family:var(--font-serif);color:var(--accent);font-size:1.3rem;font-weight:700}.intention-label{color:var(--muted);font-size:.7rem}.focus-stats{gap:16px;margin-top:auto;display:flex}.focus-item{flex-direction:column;display:flex}.focus-val{font-family:var(--font-serif);color:var(--heading);font-size:1rem;font-weight:700;line-height:1;transition:color .6s}.focus-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:.6rem}.toolbar-container{z-index:99999;pointer-events:auto;flex-direction:row;justify-content:flex-end;align-items:center;gap:12px;display:none;position:fixed;bottom:40px;right:40px}body.onboarding-done .toolbar-container,.landing-page.hidden~.toolbar-container{display:flex}.toolbar-trigger{border-radius:var(--radius-md);background:var(--heading);width:56px;height:56px;color:var(--bg);cursor:pointer;box-shadow:0 12px 40px var(--shadow);pointer-events:auto;z-index:100001;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .4s,box-shadow .3s;display:flex}.toolbar-trigger:hover{box-shadow:0 16px 50px var(--shadow);transform:scale(1.08)}.trigger-dots{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:5px;width:19px;height:19px;display:grid}.trigger-dot{background:var(--bg);border-radius:2px;width:7px;height:7px;transition:all .5s cubic-bezier(.34,1.56,.64,1)}.trigger-dot.dot-tr{opacity:0;transform:scale(0)translate(8px,-8px)}.toolbar-container.active .trigger-dot.dot-tr{opacity:1;transform:scale(1)translate(0)}.toolbar-container.active .toolbar-trigger{background:var(--accent);transform:rotate(90deg)}.save-btn{background:var(--heading);width:48px;height:48px;color:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;z-index:100000;opacity:0;pointer-events:none;box-shadow:0 12px 32px var(--shadow);justify-content:center;align-items:center;transition:all .5s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;bottom:80px;right:4px;transform:translateY(20px)scale(.8)}.toolbar-container.active .save-btn{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.save-btn:hover{background:var(--accent);transform:translateY(-5px)}.save-btn.saving{background:var(--positive);transform:scale(.9)}.save-btn svg{width:24px;height:24px}.toolbar-container.active .toolbar-trigger:hover{transform:rotate(90deg)scale(1.08)}.toolbar-bar{background:var(--bg-toolbar);-webkit-backdrop-filter:blur(32px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 16px 48px var(--shadow);opacity:0;white-space:nowrap;pointer-events:none;align-items:center;gap:4px;max-width:0;padding:6px;transition:all .5s cubic-bezier(.34,1.56,.64,1);display:flex;overflow:hidden;transform:translate(20px)}.toolbar-container.active .toolbar-bar{opacity:1;pointer-events:auto;max-width:600px;padding:6px 12px 6px 6px;transform:translate(0)}.toolbar-btn{border-radius:var(--radius-sm);cursor:pointer;width:44px;height:44px;color:var(--body-color);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.toolbar-btn:hover{background:var(--accent-soft);color:var(--heading)}.toolbar-btn.active{background:var(--accent-soft);color:var(--accent)}.toolbar-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 2px}.toolbar-panel{background:var(--bg-tile);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-strong);border-radius:var(--radius-lg);opacity:0;pointer-events:none;z-index:100000;width:340px;max-height:80vh;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:80px;right:0;overflow:hidden;transform:translateY(20px)scale(.95);box-shadow:0 24px 80px #00000026}.toolbar-panel[data-open=true]{opacity:1;pointer-events:auto;overflow-y:auto;transform:translateY(0)scale(1)}.toolbar-panel-header{text-align:center;border-bottom:1px solid var(--border);padding:14px 20px 10px}.toolbar-panel-header h3{font-family:var(--font-serif);color:var(--heading);font-size:.9rem;font-weight:600;transition:color .6s}.theme-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;padding:20px;display:flex;overflow-x:auto}.theme-carousel::-webkit-scrollbar{display:none}.theme-card{cursor:pointer;scroll-snap-align:center;opacity:.5;flex-direction:column;flex-shrink:0;align-items:center;transition:opacity .3s,transform .3s;display:flex}.theme-card:hover{opacity:.85}.theme-card.active{opacity:1;transform:scale(1.05)}.theme-label{color:var(--body-color);text-transform:capitalize;margin-bottom:8px;font-size:.72rem;font-weight:500;transition:color .6s}.theme-preview{border-radius:var(--radius-sm);flex-direction:column;width:90px;height:130px;padding:12px;transition:transform .3s;display:flex}.theme-card:hover .theme-preview{transform:translateY(-2px)}.preview-avatar{background:#8080804d;border-radius:50%;width:22px;height:22px;margin-bottom:8px}.preview-title{font-family:var(--font-serif);margin-bottom:2px;font-size:.6rem;font-weight:600}.preview-sub{font-size:.5rem}.tile-controls{opacity:0;z-index:100;pointer-events:none;gap:6px;transition:all .3s cubic-bezier(.18,.89,.32,1.28);display:flex;position:absolute;top:-10px;right:-10px;transform:translateY(10px)}body.edit-mode .tile-controls{opacity:1;pointer-events:auto;transform:translateY(0)}.control-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--accent);cursor:pointer;box-shadow:0 4px 12px var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;background:#fff!important}.control-btn:hover{color:var(--heading);box-shadow:0 8px 16px var(--shadow);transform:scale(1.1);background:#fff!important}.control-btn.btn-delete:hover{color:#ff4d4d;border-color:#ff4d4d}.tile-resize-handle{cursor:nwse-resize;opacity:0;width:12px;height:12px;transition:opacity .3s;position:absolute;bottom:5px;right:5px}@media (width<=768px){.toolbar-container{bottom:20px;right:20px}.toolbar-panel{width:calc(100vw - 32px);right:-20px}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes eqBounce{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.6}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:var(--accent-soft);color:var(--heading)}.widget-manager-list{grid-template-columns:repeat(3,1fr);gap:12px;max-height:350px;padding:20px;display:grid;overflow-y:auto}@media (width<=480px){.widget-manager-list{grid-template-columns:repeat(2,1fr);gap:8px}}.widget-manager-btn{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;transition:all .2s;display:flex}.widget-manager-btn:hover{background:var(--bg-tile-alt);transform:translateY(-2px)}.widget-manager-btn.active{background:var(--bg-tile-alt);border-color:var(--accent)}.widget-icon-bg{background:var(--bg-tile);width:48px;height:48px;box-shadow:0 4px 12px var(--shadow);border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;transition:transform .3s cubic-bezier(.18,.89,.32,1.28);display:flex}.widget-manager-btn:hover .widget-icon-bg{transform:scale(1.1)}.widget-label{color:var(--subheading);text-transform:capitalize;text-align:center;font-size:.72rem;font-weight:600;transition:color .6s}.widget-manager-btn.active .widget-label{color:var(--heading)}.size-normal{grid-area:span 1/span 1}.size-wide{grid-area:span 1/span 2}.size-tall{grid-area:span 2/span 1}.size-large{grid-area:span 2/span 2}.sortable-ghost{border-radius:var(--radius-lg);background:var(--bg-tile-alt)!important;border:2px dashed var(--border-strong)!important;opacity:.5!important;box-shadow:none!important;transform:none!important}.sortable-ghost>*{visibility:hidden!important}.sortable-drag{cursor:grabbing!important;z-index:10000!important;opacity:1!important;background:var(--bg-tile)!important;border-color:var(--accent)!important;transition:none!important;transform:scale(1.05)!important;box-shadow:0 50px 100px #00000080!important}.tile:not(.sortable-drag){transition:transform .5s cubic-bezier(.2,1,.3,1)!important}.placeholder-text{color:var(--muted);text-align:center;margin-top:20px;font-size:.75rem;font-style:italic}.landing-page{background:var(--bg);z-index:9999;flex-direction:column;justify-content:flex-start;align-items:center;padding:120px 40px;transition:transform .8s cubic-bezier(.8,0,.2,1),opacity .5s;display:flex;position:fixed;inset:0;overflow-y:auto}.landing-page.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}body.onboarding-done .landing-page{display:none}.landing-nav{z-index:10;justify-content:space-between;align-items:center;padding:24px 40px;display:flex;position:absolute;top:0;left:0;right:0}.landing-hero{text-align:center;flex-direction:column;align-items:center;max-width:900px;margin-bottom:80px;animation:1s both fadeSlideUp;display:flex}.landing-title{font-family:var(--font-serif);color:var(--heading);margin-bottom:24px;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.1}.landing-subtitle{color:var(--muted);max-width:600px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:1.1rem}.landing-cta{background:var(--heading);color:var(--bg);border-radius:var(--radius-full);cursor:pointer;font-size:1.1rem;font-weight:600;font-family:var(--font-sans);border:none;padding:18px 36px;transition:all .3s}.landing-cta:hover{box-shadow:0 12px 40px var(--shadow);transform:scale(1.05)}.landing-preview{width:100%;max-width:800px}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:12px;display:grid}.bento-item{background:var(--bg-tile);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;padding:20px;transition:all .3s;display:flex}.bento-item:hover{box-shadow:0 8px 24px var(--shadow);transform:translateY(-2px)}.item-2x2{grid-area:span 2/span 2}.item-2x1{grid-column:span 2}.item-1x2{grid-row:span 2}.bento-icon{font-size:1.5rem}.bento-details{flex-direction:column;display:flex}.bento-val{font-family:var(--font-serif);color:var(--heading);font-size:1.2rem;font-weight:600}.bento-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.onboarding-overlay{-webkit-backdrop-filter:blur(16px);z-index:10000;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;padding:20px;transition:opacity .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s;display:flex;position:fixed;inset:0}.onboarding-overlay.active{opacity:1;pointer-events:all}.onboarding-overlay.hidden{opacity:0;pointer-events:none}body.onboarding-done .onboarding-overlay{display:none}.onboarding-card{background:var(--bg-tile);border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:520px;padding:48px;animation:.6s both fadeSlideUp;box-shadow:0 40px 100px #00000040}.onboarding-card h2{font-family:var(--font-serif);color:var(--heading);margin-bottom:8px;font-size:1.8rem}.onboarding-card p{color:var(--muted);margin-bottom:28px;font-size:.95rem;line-height:1.5}.onboarding-step{display:none}.onboarding-step.active{display:block}.onboarding-input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--heading);font-size:1rem;font-family:var(--font-sans);outline:none;margin-bottom:20px;padding:14px 18px;transition:border-color .3s}.onboarding-input:focus{border-color:var(--accent)}.onboarding-preview-mini{background:var(--bg);border-radius:var(--radius-md);border:1px solid var(--border);align-items:center;gap:16px;margin-bottom:28px;padding:16px;display:flex}.preview-avatar-mini{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), var(--chart-2));flex-shrink:0;width:48px;height:48px}.preview-info-mini{flex-direction:column;display:flex}.preview-name-mini{font-family:var(--font-serif);color:var(--heading);font-size:1.1rem;font-weight:500}.preview-bio-mini{color:var(--muted);font-size:.8rem}.onboarding-footer{justify-content:flex-end;margin-top:24px;display:flex}.onboarding-btn{background:var(--heading);color:var(--bg);border-radius:var(--radius-full);cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font-sans);border:none;padding:14px 32px;transition:all .3s}.onboarding-btn:hover{box-shadow:0 8px 24px var(--shadow);transform:scale(1.05)}.widget-selector-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}.widget-opt{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 12px;transition:all .2s;display:flex}.widget-opt:hover,.widget-opt.selected{border-color:var(--accent);background:var(--accent-soft)}.widget-opt-icon{font-size:1.5rem}.widget-opt-label{color:var(--body-color);font-size:.72rem;font-weight:600}body.mobile-preview-active{background:#2d2d2d!important}body.mobile-preview-active .noise-overlay{opacity:.1;background-color:#2d2d2d}body.mobile-preview-active .main-container{background:var(--bg);border:1px solid #ffffff1a;border-radius:40px;flex-direction:column;max-width:450px;height:calc(100vh - 80px);margin:40px auto;padding:30px;overflow-y:auto;box-shadow:0 50px 100px #00000080,0 0 0 12px #1a1a1a}body.mobile-preview-active .profile-sidebar{text-align:left;border-bottom:1px solid var(--border);grid-template-columns:100px 1fr;grid-template-areas:"avatar name""avatar bio""stats stats";align-items:center;gap:4px 24px;width:100%;margin-bottom:30px;padding-bottom:30px;display:grid;position:relative;top:auto}body.mobile-preview-active .profile-logo{display:none}body.mobile-preview-active .profile-avatar{border-radius:var(--radius-lg);grid-area:avatar;width:100px;height:100px;margin-bottom:0}body.mobile-preview-active .profile-name{grid-area:name;align-self:end;margin:0;font-size:1.8rem}body.mobile-preview-active .profile-bio{grid-area:bio;align-self:start;margin:0;font-size:.9rem}body.mobile-preview-active .profile-stats{grid-area:stats;justify-content:space-around;width:100%;margin-top:20px;display:flex}body.mobile-preview-active .dashboard-main{width:100%}body.mobile-preview-active .bento-grid,body.mobile-preview-active .dashboard-grid{grid-template-columns:1fr;grid-auto-rows:auto}body.mobile-preview-active .tile{grid-area:span 1/span 1!important}.dashboard-controls-top{justify-content:space-between;align-items:center;width:100%;min-height:48px;margin-bottom:24px;padding:0 4px;display:flex}.expanded-actions{animation:.4s both fadeSlideDown;display:none}.dashboard-grid-container.is-expanded .expanded-actions{display:flex}.account-pill{background:var(--bg-tile);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--subheading);font-family:var(--font-sans);cursor:pointer;box-shadow:0 2px 8px var(--shadow);align-items:center;gap:12px;padding:6px 6px 6px 16px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.account-pill:hover{border-color:var(--accent);background:var(--bg-tile-alt);box-shadow:0 4px 12px var(--shadow);transform:translateY(-1px)}.account-pill-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.account-pill:hover .account-pill-icon{background:var(--accent);color:#fff}.reset-floating-btn{background:var(--bg-tile);width:48px;height:48px;color:var(--muted);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;z-index:100000;box-shadow:0 12px 32px var(--shadow);justify-content:center;align-items:center;transition:all .3s;display:none;position:fixed;top:40px;right:40px}body.onboarding-done .reset-floating-btn,.landing-page.hidden~.reset-floating-btn{display:flex}.reset-floating-btn:hover{background:var(--negative);color:#fff;transform:rotate(-45deg)scale(1.1)}.settings-view{flex:1;width:100%;min-width:0;animation:.6s both fadeSlideUp}.settings-header{margin-bottom:40px}.settings-title{font-family:var(--font-serif);color:var(--heading);margin-bottom:8px;font-size:2.22rem}.settings-subtitle{color:var(--muted);font-size:1rem}@media (width<=600px){.settings-title{font-size:1.75rem}.settings-header{text-align:center;margin-bottom:24px}}.settings-list{flex-direction:column;gap:16px;display:flex}.settings-item{background:var(--bg-tile);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:24px;transition:transform .2s,box-shadow .2s;display:flex}.settings-item:hover{box-shadow:0 8px 24px var(--shadow)}.service-info{align-items:center;gap:20px;display:flex}.service-icon{background:var(--bg-tile-alt);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.8rem;display:flex}.service-icon img{object-fit:contain;width:24px;height:24px}.service-details{flex-direction:column;gap:4px;display:flex}.service-name{color:var(--heading);font-size:1.1rem;font-weight:600}.service-status{text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.service-status.disconnected{color:var(--muted)}.service-status.connected{color:var(--positive)}.settings-btn{background:var(--bg-tile-alt);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--heading);font-family:var(--font-sans);cursor:pointer;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.settings-btn:hover:not(:disabled){background:var(--heading);color:#fff}.settings-btn.btn-edit{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}.settings-btn.btn-edit:hover{background:var(--accent);color:#fff}.settings-item.connected{border-color:var(--positive);background:linear-gradient(to right, var(--bg-tile), var(--bg-tile-alt))}.settings-item.disabled{opacity:.7;filter:grayscale(.5)}.landing-nav-actions{align-items:center;gap:16px;display:flex}.nav-btn-link{font-family:var(--font-sans);color:var(--body-color);cursor:pointer;opacity:.7;background:0 0;border:none;font-size:.95rem;font-weight:500;transition:opacity .2s}.nav-btn-link:hover{opacity:1}.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;opacity:0;pointer-events:none;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.auth-modal-overlay.active{opacity:1;pointer-events:auto}.auth-modal{-webkit-backdrop-filter:blur(20px)saturate(180%);text-align:center;background:#ffffffd9;border:1px solid #fff6;border-radius:32px;width:90%;max-width:440px;padding:60px 48px;transition:transform .5s cubic-bezier(.2,1,.3,1);position:relative;transform:translateY(20px);box-shadow:0 40px 100px #00000040}[data-theme=charon] .auth-modal,[data-theme=mars] .auth-modal{background:#1e1e1ed9;border-color:#ffffff1a}.auth-modal-overlay.active .auth-modal{transform:translateY(0)}.auth-close{width:36px;height:36px;color:var(--body-color);cursor:pointer;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:24px;right:24px}.auth-close:hover{background:#0000001a;transform:rotate(90deg)}[data-theme=charon] .auth-close,[data-theme=mars] .auth-close{background:#ffffff1a}.auth-title{font-family:var(--font-serif);color:var(--heading);letter-spacing:-.02em;margin-bottom:12px;font-size:2.2rem;line-height:1.1}.auth-subtitle{opacity:.7;color:var(--body-color);margin-bottom:40px;font-size:1rem}.auth-google-btn{width:100%;font-family:var(--font-sans);color:#3c4043;cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:14px;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 4px #0000000d}.auth-google-btn:hover{background:#f8f9fa;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.auth-google-btn svg{flex-shrink:0}.auth-separator{text-align:center;color:var(--muted);opacity:.5;letter-spacing:.1em;align-items:center;margin:28px 0;font-size:.8rem;font-weight:800;display:flex}.auth-separator:before,.auth-separator:after{content:"";border-bottom:1px solid;flex:1}.auth-separator:before{margin-right:1em}.auth-separator:after{margin-left:1em}.auth-form{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.auth-input{background:var(--chart-bg);border:1px solid var(--border);font-family:var(--font-sans);color:var(--body-color);border-radius:14px;padding:16px;font-size:1rem;transition:all .2s}.auth-input:focus{border-color:var(--accent);background:var(--bg-tile-alt);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.auth-submit-btn{background:var(--heading);color:var(--bg-app);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:14px;margin-top:8px;padding:16px;font-size:1rem;font-weight:700;transition:all .2s}.auth-submit-btn:hover{opacity:.9}.auth-switch{text-align:center;color:var(--body-color);margin-top:10px;font-size:.95rem}.auth-switch a{color:var(--accent);padding-left:4px;font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-policy-note{text-align:center;opacity:.4;margin-top:24px;font-size:.75rem;line-height:1.4}.auth-policy-note a{color:currentColor;text-decoration:underline}.hidden{display:none!important}.ethics-modal{max-width:540px}.ethics-scroll{max-height:350px;margin-bottom:24px;padding-right:12px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 90%,#0000 100%);mask-image:linear-gradient(#000 90%,#0000 100%)}.ethics-scroll h3{color:var(--heading);margin:20px 0 8px;font-size:1.1rem}.ethics-scroll p{opacity:.7;margin-bottom:16px;font-size:.9rem;line-height:1.6}.btn-logout{font-size:.8rem;font-family:var(--font-sans);opacity:.5;cursor:pointer;background:0 0;border:1px solid #0000001a;border-radius:8px;margin-top:auto;padding:8px 16px;transition:all .2s}.btn-logout:hover{opacity:1;background:#0000000d}.crop-modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;opacity:0;pointer-events:none;background:#0006;justify-content:center;align-items:center;transition:opacity .4s cubic-bezier(.165,.84,.44,1);display:flex;position:fixed;inset:0}.crop-modal-overlay.active{opacity:1;pointer-events:auto}.crop-card{background:var(--bg-tile);border-radius:var(--radius-lg);border:1px solid var(--border-strong);flex-direction:column;gap:24px;width:100%;max-width:440px;padding:32px;transition:transform .4s cubic-bezier(.165,.84,.44,1);display:flex;transform:translateY(20px);box-shadow:0 24px 64px #0006}.crop-modal-overlay.active .crop-card{transform:translateY(0)}.crop-header h3{font-family:var(--font-serif);color:var(--heading);margin-bottom:4px;font-size:1.5rem}.crop-header p{color:var(--muted);font-size:.85rem}.crop-viewport-container{aspect-ratio:1;border-radius:var(--radius-md);cursor:move;background:#000;width:100%;position:relative;overflow:hidden}.crop-viewport{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}#crop-preview-img{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;transition:transform .1s ease-out}.crop-controls{flex-direction:column;gap:12px;display:flex}.zoom-control{color:var(--muted);align-items:center;gap:12px;display:flex}#input-zoom{accent-color:var(--accent);cursor:pointer;flex:1}.crop-footer{justify-content:space-between;gap:12px;display:flex}.crop-footer .onboarding-btn{flex:1;padding:12px}.btn-secondary{background:var(--bg-tile-alt);color:var(--subheading);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}
