:root{--bg:#000;--fg:#fff;--muted:#8a8a8a;--line:#1f1f1f;--accent:#9b8cff;--bar-top:#2a243812;--bar-bottom:#9b8cff80;--gap:2px;--dock-bg:#0f0f0fcc;--dock-line:#ffffff14;--dock-hover:#ffffff14;--dock-active:#ffffff1a;--dock-muted:#969696;--dock-ease:cubic-bezier(.32, .72, 0, 1);color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);min-height:100%}html.is-locked,html.is-locked body,html.is-locked #root{height:100%}html:has(.admin){background:#02020e}html:has(.gate){background:#060606}html.is-locked,html.is-locked body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html.is-scrollable,html.is-scrollable body,html.is-scrollable #root{height:auto;min-height:100%}html.is-scrollable,html.is-scrollable body{touch-action:pan-x pan-y}html.is-locked img{-webkit-user-drag:none;pointer-events:none}html.is-locked input{-webkit-user-select:text;user-select:text}.hero{width:100%;height:100%;position:relative;overflow:hidden}.bars{align-items:flex-end;gap:var(--gap);display:flex;position:absolute;inset:0}.bar{height:var(--h);background:linear-gradient(to bottom, var(--bar-top) 0%, var(--bar-bottom) 100%);animation:breathe var(--dur) ease-in-out var(--delay) infinite alternate;will-change:height;flex:1}@keyframes breathe{0%{height:var(--h)}to{height:calc(var(--h) + var(--amp))}}.logo{z-index:1;width:min(420px,64vw);position:absolute;top:32%;left:50%;transform:translate(-50%,-50%)}.logo img{width:100%;height:auto;display:block}@media (width<=600px){.logo{top:30%}}@media (prefers-reduced-motion:reduce){.bar{animation:none}}.admin-loading{background:var(--bg);min-height:100vh}.admin{--dock-closed-w:232px;--dock-open-w:380px;--edge:24px;--dock-pad:16px;color:#fff;-webkit-font-smoothing:antialiased;background:#02020e;flex-direction:column;min-height:100%;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow-x:clip}.admin-bg{background:#02020e -webkit-image-set(url(/admin-bg-sm.jpg) 1x,url(/admin-bg.jpg) 2x) 50%/cover no-repeat;background:#02020e image-set("/admin-bg-sm.jpg" 1x,"/admin-bg.jpg" 2x) 50%/cover no-repeat;height:100svh;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 12% 75%,#0000);mask-image:linear-gradient(#0000,#000 12% 75%,#0000)}@media (width>=1100px){.admin-bg{background-image:url(/admin-bg.jpg)}}.admin-content{padding:var(--edge) var(--edge) calc(var(--edge) + 96px);flex-direction:column;flex:1;display:flex;position:relative}.admin-section{width:100%}.bento{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:12px;display:grid}.bento-3{grid-column:span 3}.bento-4{grid-column:span 4}.bento-6{grid-column:span 6}.bento-8{grid-column:span 8}.bento-9{grid-column:span 9}.bento-12{grid-column:span 12}.panel{background:var(--dock-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--dock-line);border-radius:20px;flex-direction:column;gap:20px;min-width:0;padding:20px;display:flex}.panel-title{color:var(--dock-muted);font-size:12px;font-weight:500}@media (width<=900px){.bento-3,.bento-4,.bento-6,.bento-8,.bento-9{grid-column:span 12}}.admin-section h1{letter-spacing:-.01em;margin-bottom:24px;font-size:clamp(28px,3.5vw,40px);font-weight:600}.admin-home{flex:1;place-items:center;display:grid}.admin-home-inner{flex-direction:column;align-items:center;gap:8px;display:flex;translate:0 22svh}.mochi{cursor:pointer;touch-action:manipulation;display:block}.admin-welcome{text-align:center;letter-spacing:-.035em;text-wrap:balance;color:#fff;font-weight:500;line-height:1.05;animation:.6s cubic-bezier(.23,1,.32,1) both admin-welcome-in}@keyframes admin-welcome-in{0%{opacity:0;filter:blur(4px);translate:0 8px}}.admin-weather{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:-16px;font-size:clamp(18px,1.6vw,22px);font-weight:400;animation:.6s cubic-bezier(.23,1,.32,1) .15s both admin-welcome-in}.admin-weather span{background:linear-gradient(270deg,#fff 0% 36%,#ffffffbf 40%,#ffffff73 48%,#ffffffad 56.6%,#fff 59% 100%) 0 0/300% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:4s cubic-bezier(.45,0,.55,1) .6s infinite admin-weather-sweep}@keyframes admin-weather-sweep{0%{background-position:100% 0}60%,to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.admin-welcome,.admin-weather{animation:none}.admin-weather span{background-position:50% 0;animation:none}}.admin-clock{left:var(--edge);bottom:calc(var(--edge) + env(safe-area-inset-bottom) + 1px + var(--dock-pad) + 16px);z-index:20;pointer-events:none;font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;display:flex;position:fixed;translate:0 50%}.clock-date{color:var(--dock-muted);font-size:12px}.clock-date:first-letter{text-transform:uppercase}.clock-time{letter-spacing:-.01em;font-size:20px;font-weight:500}.home-mochi{bottom:calc(var(--edge) + env(safe-area-inset-bottom) + 1px + var(--dock-pad) + 16px);z-index:20;animation:.4s cubic-bezier(.34,1.4,.64,1) both home-mochi-in;position:fixed;translate:-50% 50%}.home-mochi:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px;border-radius:16px}@keyframes home-mochi-in{0%{opacity:0;scale:.6}}@media (prefers-reduced-motion:reduce){.home-mochi{animation:none}}.dock{bottom:calc(var(--edge) + env(safe-area-inset-bottom));z-index:20;width:var(--dock-closed-w);max-width:calc(100vw - 2 * var(--edge));background:var(--dock-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--dock-line);transition:width .4s var(--dock-ease);border-radius:20px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.dock--left{left:var(--edge)}.dock--right{right:var(--edge)}.dock[data-open]{width:var(--dock-open-w);z-index:21}.dock-panel{transition:grid-template-rows .4s var(--dock-ease);grid-template-rows:0fr;display:grid}.dock[data-open] .dock-panel{grid-template-rows:1fr}.dock-panel-inner{opacity:0;min-height:0;transition:opacity .3s var(--dock-ease), translate .4s var(--dock-ease), padding .4s var(--dock-ease);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding:0 16px;display:grid;overflow:hidden;translate:0 8px}.dock[data-open] .dock-panel-inner{opacity:1;padding:16px 16px 8px;transition-delay:60ms;translate:0}.dock-item{color:#fff;height:32px;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 12px 0 8px;font-size:14px;text-decoration:none;transition:background-color .15s;display:flex}.dock-item svg{color:var(--dock-muted);flex-shrink:0;transition:color .15s}.dock-item:hover{background:var(--dock-hover)}.dock-item:hover svg,.dock-item.active svg{color:#fff}.dock-item.active{background:var(--dock-active)}.dock-item:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.dock-top{width:100%;padding:var(--dock-pad);align-items:center;gap:4px;display:flex}.dock-head{color:#fff;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.dock-head:focus-visible{outline:none}.dock:has(.dock-head:focus-visible){outline:1.5px solid var(--accent);outline-offset:2px}.dock-actions{animation:dock-actions-in .3s var(--dock-ease) 60ms both;gap:4px;display:flex}@keyframes dock-actions-in{0%{opacity:0;translate:4px}}.dock-action{width:32px;height:32px;color:var(--dock-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.dock-action:hover{background:var(--dock-hover);color:#fff}.dock-action.active{background:var(--dock-active);color:#fff}.dock-action:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.dock-icon{background:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.dock-icon img{object-fit:contain;width:100%;height:100%}.dock--right .dock-icon{background:#000;padding:4px}.dock-titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dock-title,.dock-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-title{font-size:14px;font-weight:500}.dock-subtitle{color:var(--dock-muted);font-size:12px}.dock-toggle{cursor:pointer;width:32px;height:32px;color:var(--dock-muted);background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.dock-top:hover .dock-toggle{background:var(--dock-hover);color:#fff}.dock-toggle{margin-left:8px}.avatar{border-radius:inherit;background:var(--accent);color:#0b0a12;place-items:center;width:32px;height:32px;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.dock-icon .avatar{border-radius:0}.account-photo{align-items:center;gap:16px;display:flex}.account-photo .avatar{border-radius:16px}.account-photo-actions{flex-wrap:wrap;gap:8px;display:flex}.field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.field>span{color:var(--dock-muted);font-size:12px}.field input{border:1px solid var(--dock-line);color:#fff;height:40px;font:inherit;background:#ffffff0a;border-radius:10px;padding:0 12px;font-size:16px}.field input:focus{border-color:var(--accent);outline:none}.field input:disabled{color:var(--dock-muted)}.field-row{align-items:flex-end;gap:8px;display:flex}.btn{color:#000;height:40px;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:0;border-radius:10px;align-items:center;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{background:var(--dock-hover);color:#fff}.notice{font-size:13px}.notice--ok{color:var(--accent)}.notice--error{color:#ff8a8a}@media (width<=600px){.admin{--edge:16px;--dock-open-w:calc(100vw - 32px)}.admin-clock,.home-mochi{display:none}.dock--right{left:50%;right:auto;translate:-50%}.field-row{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.dock,.dock-panel,.dock-panel-inner{transition:none}.dock-actions{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gate{--gate-bg:#060606;--gate-accent:#9b8cff;--gate-text:#fff8f0;--gate-ease:cubic-bezier(.23, 1, .32, 1);background:var(--gate-bg);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;min-height:100%;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.gate-atmosphere{background:var(--gate-bg);position:absolute;inset:0;overflow:hidden}.gate-liquid{width:100%;height:100%;display:block;position:absolute;inset:0}.gate-veil{background:#0606068c;position:absolute;inset:0}.gate-bloom{border-radius:9999px;position:absolute}.gate-bloom-tr{background:radial-gradient(50% 50%,#9b8cff47 0%,#9b8cff00 68%);width:700px;height:700px;top:-140px;right:-70px}.gate-bloom-bl{background:radial-gradient(50% 50%,#9b8cff29 0%,#9b8cff00 70%);width:820px;height:600px;bottom:-180px;left:-100px}.gate-vignette{background:radial-gradient(50% 50%,#06060600 38%,#060606c2 100%);position:absolute;inset:0}.gate-stage{z-index:10;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:640px;padding:56px 40px;display:flex;position:relative}.gate-eyebrow{letter-spacing:.22em;color:var(--gate-accent);text-align:center;white-space:pre;font-size:12px;font-weight:600}.ac{--gap:10px;--sep-w:6px;--radius:12px;flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.ac-form{width:max-content;max-width:100%;position:relative}.ac-input{opacity:0;color:#0000;caret-color:#0000;z-index:2;cursor:text;background:0 0;border:0;outline:none;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.ac-row{--slot-w:min(48px, calc((100vw - 32px - (var(--n) - 1) * var(--gap) - var(--seps) * (var(--sep-w) + var(--gap))) / var(--n)));z-index:1;justify-content:center;align-items:center;gap:var(--gap);pointer-events:none;transition:transform .14s var(--gate-ease);display:flex;position:relative}.ac-row.is-shaking{animation:.28s ease-in-out ac-shake}.ac-row.is-success{transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform:translateY(-2px)scale(1.02)}@keyframes ac-shake{0%{transform:translate(0)}16%{transform:translate(-7px)}33%{transform:translate(6px)}50%{transform:translate(-5px)}66%{transform:translate(3px)}83%{transform:translate(-2px)}to{transform:translate(0)}}.ac-group{align-items:center;gap:var(--gap);display:flex}.ac-sep{width:var(--sep-w);background:#fff8f038;border-radius:1px;flex-shrink:0;height:2px}.ac-slot{width:var(--slot-w);height:calc(var(--slot-w) * 56 / 48);border-radius:var(--radius);color:var(--gate-text);font-size:calc(var(--slot-w) * 22 / 48);letter-spacing:.06em;font-variant-numeric:tabular-nums;animation:ac-slot-in .5s var(--gate-ease) both;transition:transform .14s var(--gate-ease), border-color .14s var(--gate-ease), box-shadow .14s var(--gate-ease);background:#121214;border:1px solid #fff8f01f;justify-content:center;align-items:center;font-weight:600;line-height:1;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 8px 20px #00000059,0 1px 3px #00000040}@keyframes ac-slot-in{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}.ac-slot.is-active{border-color:#0000;transform:translateY(-2px)scale(1.02)}.ac[data-state=error] .ac-slot{border-color:#ff6b6bbf}.ac[data-state=success] .ac-slot{border-color:color-mix(in srgb, var(--gate-accent) 70%, transparent);box-shadow:0 1px 0 #ffffff0a inset, 0 8px 20px #00000059, 0 1px 3px #00000040, 0 0 0 1px color-mix(in srgb, var(--gate-accent) 55%, transparent), 0 0 22px color-mix(in srgb, var(--gate-accent) 28%, transparent)}.ac-ring{border-radius:calc(var(--radius) + 1px);border:1.5px solid var(--gate-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--gate-accent) 22%, transparent);pointer-events:none;z-index:3;transition:transform .22s var(--gate-ease);position:absolute;top:-1px;left:0}.ac-glow{border-radius:var(--radius);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--gate-accent) 28%, transparent) 0%, transparent 68%);animation:ac-fade .36s var(--gate-ease) both;position:absolute;inset:0}.ac-char{z-index:2;-webkit-user-select:none;user-select:none;animation:ac-char-in .14s var(--gate-ease) both;position:relative}@keyframes ac-char-in{0%{opacity:0;transform:translateY(6px)scale(1.12)}to{opacity:1;transform:translateY(0)scale(1)}}.ac-caret{z-index:2;background:var(--gate-accent);border-radius:1px;width:1.5px;height:1.15em;animation:1.05s step-end infinite ac-caret-blink;position:relative}@keyframes ac-caret-blink{0%,45%{opacity:1}50%,to{opacity:0}}.ac-helper{letter-spacing:.01em;text-align:center;color:#fff8f06b;max-width:320px;min-height:1.35em;font-size:13px;font-weight:500;line-height:1.35}.ac-helper span{animation:ac-fade .16s var(--gate-ease) both;display:block}.ac[data-state=error] .ac-helper{color:#ff9594}.ac[data-state=success] .ac-helper{color:color-mix(in srgb, var(--gate-accent) 85%, #fff8f0)}@keyframes ac-fade{0%{opacity:0}to{opacity:1}}@media (width<=600px){.gate-stage{padding:56px 16px}.ac{--gap:10px;--radius:12px}.ac-row{--slot-w:56px;grid-template-columns:repeat(3,auto);display:grid}.ac-sep{display:none}}@media (prefers-reduced-motion:reduce){.ac-row,.ac-slot,.ac-char,.ac-ring,.ac-glow,.ac-helper span{transition:none;animation:none}.ac-caret{opacity:1;animation:none}}.greeting-loader{z-index:9999;-webkit-user-select:none;user-select:none;background:#000;position:fixed;inset:0;overflow:hidden}.greeting-loader-bg{width:100%;height:100%;display:block;position:absolute;inset:0}.greeting-loader-word{z-index:2;white-space:nowrap;color:#ffffffe6;opacity:0;visibility:hidden;margin:0;font-family:Inter,system-ui,sans-serif;font-size:64px;font-weight:400;line-height:1.1;position:absolute;top:50%;left:50%}.greeting-loader-word--blend{mix-blend-mode:soft-light}.site-loader{z-index:10000;-webkit-user-select:none;user-select:none;opacity:1;background:#060606;justify-content:center;align-items:center;transition:opacity .15s ease-out;display:flex;position:fixed;inset:0}.site-loader[data-phase=hidden]{display:none}.site-loader[data-phase=reveal]{opacity:0;pointer-events:none;transition:opacity .38s cubic-bezier(.65,0,.35,1)}.site-loader-inner{flex-direction:column;align-items:center;gap:30px;display:flex}.site-loader-logo{width:132px;max-width:40vw;height:auto;display:block}.site-loader-track{background:#ffffff24;border-radius:999px;width:280px;max-width:70vw;height:3px;position:relative;overflow:hidden}.site-loader-fill{will-change:width;background:#fff;border-radius:999px;width:0;height:100%;transition:width 2.4s cubic-bezier(.1,.6,.2,1)}.site-loader[data-phase=hidden] .site-loader-fill{transition:none}.site-loader[data-phase=complete] .site-loader-fill,.site-loader[data-phase=reveal] .site-loader-fill{transition:width .22s cubic-bezier(.23,1,.32,1)}@media (prefers-reduced-motion:reduce){.site-loader,.site-loader-fill{transition:none!important}}.drive{--drive-spring:cubic-bezier(.34, 1.4, .64, 1);--drive-ease:cubic-bezier(.23, 1, .32, 1);height:calc(100dvh - 2 * var(--edge) - 96px);grid-template-rows:auto minmax(0,1fr);align-items:stretch;min-height:420px}.drive-bar{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:12px 12px 12px 14px}.drive-side{flex-direction:column;gap:12px;display:flex}.drive-quick{flex-direction:column;gap:4px;margin:-8px -8px 0;list-style:none;display:flex}.drive-quick .dock-item{width:100%}.drive-quick .dock-item[aria-current]{background:var(--dock-active)}.drive-quick .dock-item[aria-current] svg{color:#fff}.drive-storage-head{justify-content:space-between;align-items:center;margin:-8px -8px 0 0;display:flex}.drive-storage-head .dock-action{width:28px;height:28px}.drive-storage-head .dock-action:disabled{cursor:default;color:#fff;background:0 0}.drive-storage-value{margin-top:-12px;font-size:20px;font-weight:500}.drive-storage-value span{color:var(--dock-muted);font-size:13px;font-weight:400}.drive-storage-track{background:#ffffff1a;border-radius:999px;height:4px;margin-top:-8px;overflow:hidden}.drive-storage-fill{border-radius:inherit;background:#fff;height:100%}.drive-main{min-height:0;padding:8px;overflow-y:auto}.drive-side{min-height:0;overflow-y:auto}.drive-crumbs{flex-wrap:wrap;align-items:center;min-width:0;font-size:14px;display:flex}.drive-crumb{color:var(--dock-muted);align-items:center;gap:4px;margin-right:4px;display:inline-flex}.drive-crumb svg{flex-shrink:0}.drive-crumb [aria-current]{color:#fff;padding:4px 6px;font-weight:500}.drive-crumb button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;transition:background-color .15s,color .15s}.drive-crumb button:hover{background:var(--dock-hover);color:#fff}.drive-crumb button:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.search-field{border:1px solid var(--dock-line);width:240px;height:36px;color:var(--dock-muted);background:#ffffff0a;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field:focus-within{border-color:var(--accent)}.search-field input{color:#fff;min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.search-field input::-webkit-search-cancel-button{display:none}.drive-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px;list-style:none;display:grid}.drive-empty{text-align:center;color:var(--dock-muted);padding:64px 0;font-size:14px}.drive-tile{color:#fff;width:100%;font:inherit;text-align:center;cursor:pointer;transition:background-color .25s var(--drive-ease), border-color .25s var(--drive-ease);background:0 0;border:1px solid #0000;border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:20px 12px 16px;display:flex}.drive-tile:hover{background:#ffffff08;border-color:#ffffff12}.drive-tile:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.drive-tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:14px;font-size:14px;font-weight:500;overflow:hidden}.drive-tile-meta{color:#ffffff59;font-size:12px}.folder{perspective:400px;width:120px;height:92px;display:block;position:relative}.folder-back{background:linear-gradient(#474747,#383838);border:1px solid #ffffff14;border-radius:12px;position:absolute;inset:0 0 4px}.folder-paper{color:#b4b4b4;width:50px;height:44px;transition:translate .45s var(--drive-spring), rotate .45s var(--drive-spring), opacity .25s var(--drive-ease);background:#f5f5f5;border-radius:7px;place-items:center;display:grid;position:absolute;top:6px;box-shadow:0 1px 2px #00000040}.folder-paper--1{left:18px;rotate:-5deg}.folder-paper--2{left:54px;rotate:6deg}.folder-paper--3{opacity:0;left:35px;translate:0 10px}.folder-paper--3 .folder-paper-badge{top:6px;bottom:auto}.folder-paper-badge{color:#fff;letter-spacing:.02em;background:#111;border-radius:3px;padding:1px 4px;font-size:7px;font-weight:600;line-height:1.3;position:absolute;bottom:6px;left:50%;translate:-50%}.folder-front{transform-origin:50% 100%;filter:drop-shadow(0 -2px 6px #00000040);width:120px;height:80px;transition:transform .45s var(--drive-spring);position:absolute;bottom:0;left:0;overflow:visible}.drive-tile:hover .folder-paper--1,.drive-tile:focus-visible .folder-paper--1{translate:-6px -12px;rotate:-10deg}.drive-tile:hover .folder-paper--2,.drive-tile:focus-visible .folder-paper--2{translate:6px -10px;rotate:10deg}.drive-tile:hover .folder-paper--3,.drive-tile:focus-visible .folder-paper--3{opacity:1;transition-delay:30ms;translate:0 -18px}.drive-tile:hover .folder-front,.drive-tile:focus-visible .folder-front{transform:rotateX(-20deg)}.file-icon{place-items:center;width:120px;height:92px;display:grid}.file-icon-paper{color:#b4b4b4;width:64px;height:80px;transition:translate .45s var(--drive-spring), rotate .45s var(--drive-spring);background:#f5f5f5;border-radius:9px;place-items:center;padding-bottom:10px;display:grid;position:relative;box-shadow:0 2px 6px #0000004d}.file-icon-paper .folder-paper-badge{font-size:8px;bottom:10px}.file-preview{grid-template:92px/120px;display:grid;position:relative}.file-preview>*{grid-area:1/1}.file-preview .file-icon{transition:opacity .3s}.file-preview img{object-fit:cover;opacity:0;width:100%;height:100%;min-height:0;transition:opacity .35s var(--drive-ease), scale .45s var(--drive-spring), translate .45s var(--drive-spring);border:1px solid #ffffff1a;border-radius:12px;scale:.96;box-shadow:0 2px 8px #00000059}.file-preview[data-loaded] img{opacity:1;scale:1}.file-preview[data-loaded] .file-icon{opacity:0}.drive-tile:hover .file-preview[data-loaded] img,.drive-tile:focus-visible .file-preview[data-loaded] img{translate:0 -4px}.drive-tile:hover .file-icon-paper,.drive-tile:focus-visible .file-icon-paper{translate:0 -6px;rotate:-3deg}@media (width<=900px){.drive{grid-template-rows:none;height:auto}.drive-main{min-height:420px;overflow:visible}.drive-bar,.projects-bar{order:-2}.drive-main,.projects-main{order:-1}}@media (width<=600px){.drive-bar{flex-direction:column;align-items:stretch}.search-field{width:100%}.drive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.folder-paper,.folder-front,.file-icon-paper,.file-preview img,.file-preview .file-icon{transition:none}}.projects-bar{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:12px}.projects-filters{flex-wrap:wrap;gap:4px;display:flex}.projects-filter{height:32px;color:var(--dock-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:14px;transition:background-color .15s,color .15s}.projects-filter:hover{background:var(--dock-hover);color:#fff}.projects-filter[aria-pressed=true]{background:var(--dock-active);color:#fff}.projects-filter:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.projects-bar-actions{align-items:center;gap:8px;display:flex}.projects-bar-actions .btn{gap:6px;height:36px}.projects-empty{min-height:240px;color:var(--dock-muted);justify-content:center;align-items:center;gap:16px;font-size:14px}.projects-empty .btn{gap:8px}.project-editor{color:#fff;background:#121212eb;width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;font-family:Inter,system-ui,sans-serif;overflow-y:auto}.project-editor::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c}.project-editor[open]{animation:.3s cubic-bezier(.23,1,.32,1) project-editor-in}@keyframes project-editor-in{0%{opacity:0;translate:0 12px;scale:.98}}.project-editor form{flex-direction:column;gap:16px;padding:20px;display:flex}.project-editor-head{justify-content:space-between;align-items:center;display:flex}.project-editor-head h2{font-size:16px;font-weight:600}.project-editor-cover{background:#ffffff08;border:1px dashed #ffffff24;border-radius:14px;align-items:flex-end;gap:8px;height:160px;padding:12px;display:flex}.project-editor-cover[style]{border-style:solid;border-color:var(--dock-line)}.project-editor-cover .btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0000008c;gap:6px;height:34px;font-size:13px}.project-editor-year{flex:0 0 110px}.project-editor-actions{justify-content:space-between;gap:8px;display:flex}.project-editor-actions .btn:only-child{margin-left:auto}.btn-danger{color:#ff8a8a;gap:6px}.field select,.field textarea{border:1px solid var(--dock-line);color:#fff;font:inherit;background:#ffffff0a;border-radius:10px;padding:10px 12px;font-size:16px}.field select{height:40px;padding:0 12px}.field select option{background:#141414}.field textarea{resize:vertical;min-height:96px;line-height:1.5}.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#fffc;height:36px;font:inherit;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #0000;border-radius:10px;align-items:center;padding:0 12px;font-size:14px;transition:background-color .2s,color .2s,border-color .2s,padding .25s cubic-bezier(.23,1,.32,1);display:inline-flex}.chip:hover{color:#fff;background:#ffffff1a}.chip:focus-visible{outline:1.5px solid var(--accent);outline-offset:1px}.chip:active{scale:.97}.chip[aria-pressed=true]{color:#0b0a12;background:#fff;padding-left:10px}.chip-check{opacity:0;place-items:center;width:0;margin-right:0;transition:width .25s cubic-bezier(.23,1,.32,1),margin .25s cubic-bezier(.23,1,.32,1),opacity .2s;display:grid;overflow:hidden}.chip[aria-pressed=true] .chip-check{opacity:1;width:14px;margin-right:6px}.chip-add{color:var(--dock-muted);background:0 0;border:1px dashed #ffffff2e;gap:4px}.chip-add:hover{background:0 0;border-color:#ffffff59}.chip-input{cursor:text;border-color:var(--accent);color:#fff;background:#ffffff0a;outline:none;width:140px;font-size:16px}@media (prefers-reduced-motion:reduce){.chip,.chip-check{transition:none}}.projects-tags{gap:16px}.panel-title span{color:#ffffff4d;margin-left:4px}.tag-list{flex-direction:column;gap:2px;margin:0 -8px;list-style:none;display:flex}.tag-row{border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 4px 0 12px;transition:background-color .15s;display:flex}.tag-row:hover{background:var(--dock-hover)}.tag-name{color:#fff;min-width:0;font:inherit;text-align:left;cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0;font-size:14px;overflow:hidden}.tag-input{border:1px solid var(--accent);color:#fff;min-width:0;height:28px;font:inherit;background:#ffffff0a;border-radius:6px;outline:none;flex:1;margin-left:-6px;padding:0 6px;font-size:16px}.tag-count{color:var(--dock-muted);font-variant-numeric:tabular-nums;font-size:12px}.tag-remove{opacity:0;width:28px;height:28px}.tag-row:hover .tag-remove,.tag-remove:focus-visible{opacity:1}@media (hover:none){.tag-remove{opacity:1}}.tag-add{border:1px solid var(--dock-line);background:#ffffff0a;border-radius:10px;align-items:center;gap:4px;height:40px;padding:0 4px 0 12px;display:flex}.tag-add:focus-within{border-color:var(--accent)}.tag-add input{color:#fff;min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.tag-add .dock-action:disabled{opacity:.35;cursor:default}.tag-add .dock-action:disabled:hover{color:var(--dock-muted);background:0 0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;list-style:none;display:grid}.project-card{--card-ease:cubic-bezier(.23, 1, .32, 1);color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;height:100%;min-height:380px;transition:translate .4s var(--card-ease), border-color .4s var(--card-ease), box-shadow .4s var(--card-ease);gap:0;padding:0;position:relative;overflow:hidden}.project-card:has(.project-hit:focus-visible){outline:1.5px solid var(--accent);outline-offset:2px}.project-hit{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.project-hit:focus-visible{outline:none}.project-actions{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex;position:relative}.project-actions>*{pointer-events:auto}.project-link{min-width:0;color:var(--dock-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex;overflow:hidden;pointer-events:none!important}.project-card:hover .project-link{color:#fff}.project-card:hover{border-color:#ffffff24;translate:0 -4px;box-shadow:0 16px 40px #00000073}.project-cover{flex:0 0 38%;min-height:140px;overflow:hidden}.project-cover>div{height:100%;transition:scale .6s var(--card-ease)}.project-card:hover .project-cover>div{scale:1.05}.project-body{flex-direction:column;flex:1;justify-content:space-between;gap:24px;padding:16px 20px 20px;display:flex;position:relative}.project-number{letter-spacing:-.04em;color:#ffffff0a;pointer-events:none;font-variant-numeric:tabular-nums;font-size:88px;font-weight:700;line-height:1;position:absolute;top:-8px;right:16px}.project-tags{flex-wrap:wrap;gap:4px;min-height:18px;padding-right:72px;display:flex}.project-tag{color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase;background:#ffffff0f;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:10.5px;font-weight:500}.project-title{letter-spacing:-.03em;font-size:28px;font-weight:600;line-height:1.1}.project-meta{color:var(--dock-muted);margin-top:4px;font-size:12px}.project-description{color:#ffffff73;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.project-open{color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background-color .2s;display:inline-flex}.project-open svg{transition:translate .3s var(--card-ease)}.project-card:hover .project-open{background:#ffffff29}.project-open:hover{background:#fff3!important}.project-open:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}@media (width<=600px){.projects-bar{flex-direction:column;align-items:stretch}.projects-bar .search-field{flex:1;width:auto}}@media (prefers-reduced-motion:reduce){.project-card,.project-cover>div,.project-open svg{transition:none}}.notes{height:calc(100dvh - 2 * var(--edge) - 96px);grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:420px}.notes-list,.notes-detail{min-height:0;overflow:hidden}.notes-list{gap:12px;padding:16px 12px}.notes-list-head{justify-content:space-between;align-items:center;padding:0 4px 0 8px;display:flex}.notes-list .search-field{width:100%}.notes-items{flex-direction:column;flex:1;gap:2px;min-height:0;list-style:none;display:flex;overflow-y:auto}.note-item{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;transition:background-color .15s;display:flex}.note-item:hover{background:var(--dock-hover)}.note-item[aria-current]{background:var(--dock-active)}.note-item:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.note-item-title,.note-item-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-item-title{font-size:14px;font-weight:500}.note-item-meta{color:var(--dock-muted);font-size:12px}.note-item-meta time{color:#fff9;margin-right:6px}.notes-empty{text-align:center;color:var(--dock-muted);padding:24px 12px;font-size:13px}.notes-detail{gap:0;padding:0}.notes-detail-head{border-bottom:1px solid var(--dock-line);align-items:center;gap:4px;padding:12px 12px 12px 20px;display:flex}.notes-status{min-width:0;color:var(--dock-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.notes-status--error{color:#ff8a8a;white-space:normal}.notes-back{display:none}.notes-placeholder{color:var(--dock-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;font-size:14px;display:flex}.notes-placeholder .btn{gap:8px}.note-editor{flex:1;min-height:0;overflow-y:auto}.note-prose{color:#ffffffe0;max-width:720px;min-height:100%;caret-color:var(--accent);outline:none;margin:0 auto;padding:32px 32px 96px;font-size:16px;line-height:1.65}.note-prose>*+*{margin-top:.6em}.note-prose>:first-child{margin-top:0}.note-prose>p:first-child{letter-spacing:-.02em;color:#fff;font-size:28px;font-weight:600;line-height:1.2}.note-prose h1,.note-prose h2,.note-prose h3{color:#fff;letter-spacing:-.02em;line-height:1.25}.note-prose h1{margin-top:1.4em;font-size:28px;font-weight:600}.note-prose h2{margin-top:1.3em;font-size:21px;font-weight:600}.note-prose h3{margin-top:1.2em;font-size:17px;font-weight:600}.note-prose strong{color:#fff;font-weight:600}.note-prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.note-prose ul,.note-prose ol{padding-left:1.4em}.note-prose li+li{margin-top:.2em}.note-prose li::marker{color:var(--dock-muted)}.note-prose ul[data-type=taskList]{padding-left:.2em;list-style:none}.note-prose ul[data-type=taskList] li{align-items:flex-start;gap:10px;display:flex}.note-prose ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;flex-shrink:0;margin-top:.3em}.note-prose ul[data-type=taskList] li>div{flex:1;min-width:0}.note-prose ul[data-type=taskList] li[data-checked=true]>div{color:var(--dock-muted);text-decoration:line-through}.note-prose input[type=checkbox]{appearance:none;cursor:pointer;border:1.5px solid #ffffff59;border-radius:5px;place-items:center;width:16px;height:16px;display:grid}.note-prose input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.note-prose input[type=checkbox]:checked:after{content:"";border:2px solid #0b0a12;border-width:0 2px 2px 0;width:4px;height:8px;margin-top:-2px;rotate:45deg}.note-prose blockquote{border-left:2px solid var(--accent);color:#ffffffb3;padding-left:14px}.note-prose code{background:#ffffff14;border-radius:5px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.note-prose pre{border:1px solid var(--dock-line);background:#0006;border-radius:12px;padding:14px 16px;overflow-x:auto}.note-prose pre code{background:0 0;padding:0;font-size:13.5px}.note-prose hr{border:0;border-top:1px solid var(--dock-line);margin:1.6em 0}.note-prose .is-empty:before{content:attr(data-placeholder);float:left;color:#ffffff40;pointer-events:none;height:0}.slash-menu{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--dock-line);color:#fff;background:#141414eb;border-radius:14px;width:240px;max-height:320px;padding:6px;font-family:Inter,system-ui,sans-serif;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 16px 40px #00000080}.slash-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;height:36px;padding:0 8px 0 6px;font-size:14px;display:flex}.slash-item[aria-selected=true]{background:var(--dock-hover)}.slash-icon{width:24px;height:24px;color:var(--dock-muted);background:#ffffff0f;border-radius:6px;place-items:center;display:grid}.slash-title{flex:1}.slash-item kbd{color:var(--dock-muted);font-family:ui-monospace,Menlo,monospace;font-size:11px}.notes-list-actions{gap:2px;display:flex}.note-item-title svg{vertical-align:-1px;color:var(--dock-muted);margin-right:6px;display:inline}.notes-gate{flex:1;place-items:center;min-height:0;padding:24px;display:grid;overflow-y:auto}.vault--inline{flex-direction:column;max-width:360px;margin:0;padding:0;display:flex}.bento:has(>.vault){align-content:center;min-height:100%}.vault{justify-self:center;gap:16px;width:100%;max-width:420px;padding:28px}.vault h2{letter-spacing:-.01em;font-size:20px;font-weight:600}.vault p{color:var(--dock-muted);font-size:14px;line-height:1.5}.vault code{color:#fff;word-break:break-all;font-size:12px}.vault .btn{justify-content:center}.vault-icon{background:var(--dock-hover);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}@media (width<=900px){.notes[data-view=list] .notes-detail,.notes[data-view=note] .notes-list{display:none}.notes-back{display:grid}.notes-detail-head{padding-left:8px}.note-prose{padding:24px 20px 96px}}.drive-notice{padding:8px 12px 0}.drive-empty .lucide{color:var(--dock-muted);display:inline}.spin{animation:.9s linear infinite spin}@keyframes spin{to{rotate:360deg}}.lightbox{--lb-ease:cubic-bezier(.23, 1, .32, 1);width:100%;max-width:none;height:100%;max-height:none;padding:max(24px, env(safe-area-inset-top)) clamp(16px, 7vw, 96px) max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;overscroll-behavior:contain;background:#0e0e0ed1;border:0;flex-direction:column;gap:14px;margin:0;font-family:Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.lightbox::backdrop{background:0 0}.lightbox[open]{animation:lightbox-in .35s var(--lb-ease)}.lightbox[open] .lightbox-stage,.lightbox[open] .pdf-viewer{animation:lightbox-pop .45s var(--lb-ease)}@keyframes lightbox-in{0%{opacity:0}}@keyframes lightbox-pop{0%{opacity:0;scale:.96}}.lightbox-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.lightbox-title{min-width:0}.lightbox-title h2{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:600;overflow:hidden}.lightbox-title p{color:#ffffff8c;margin-top:2px;font-size:12px}.lightbox-actions{flex-shrink:0;gap:8px;display:flex}.round-btn{color:#fff;cursor:pointer;width:40px;height:40px;transition:background-color .2s, border-color .2s, scale .2s var(--lb-ease);background:#0000008c;border:1px solid #ffffff24;border-radius:999px;place-items:center;padding:0;display:grid}.round-btn:hover{background:#ffffff1f;border-color:#ffffff40}.round-btn:active{scale:.94}.round-btn:disabled{opacity:.5;cursor:default}.round-btn:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.round-btn--danger:hover{color:#ff9a9a;background:#ff505029;border-color:#ff787866}.lightbox-stage{border:1px solid var(--dock-line);cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none;background:#050505;border-radius:20px;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.lightbox-stage[data-zoomed]{cursor:grab}.lightbox-stage[data-zoomed]:active{cursor:grabbing}.lightbox-stage img{object-fit:scale-down;transform-origin:50%;width:100%;height:100%;transition:transform .35s var(--lb-ease);will-change:transform;position:absolute;inset:0}.lightbox-stage img[data-dragging]{transition:none}.lightbox-spinner{color:var(--dock-muted)}.lightbox-nav{position:absolute;top:50%;translate:0 -50%}.lightbox-nav--prev{left:16px}.lightbox-nav--next{right:16px}.zoom-pill{justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.zoom-pill button{color:#fff;min-width:32px;height:32px;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:0 12px;transition:background-color .2s}.zoom-pill button:first-child,.zoom-pill button:nth-child(3){padding:0}.zoom-pill button:hover:not(:disabled){background:#ffffff24}.zoom-pill button:disabled{opacity:.4;cursor:default}.zoom-pill output{text-align:center;font-variant-numeric:tabular-nums;color:#fffc;min-width:44px}.zoom-reset{color:#ffffffb3!important}.pdf-viewer{border:1px solid var(--dock-line);background:#1b1b1d;border-radius:20px;flex-direction:column;flex:1;width:min(100%,980px);min-height:0;margin:0 auto;display:flex;overflow:hidden}.pdf-viewer:fullscreen{border:0;border-radius:0;width:100%}.pdf-toolbar{border-bottom:1px solid var(--dock-line);scrollbar-width:none;background:#111113;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex;overflow-x:auto}.pdf-group{flex-shrink:0;align-items:center;gap:2px;display:flex}.pdf-toolbar button{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;transition:background-color .15s,color .15s;display:grid}.pdf-toolbar button:hover:not(:disabled){background:var(--dock-hover);color:#fff}.pdf-toolbar button:disabled{opacity:.35;cursor:default}.pdf-toolbar button[aria-pressed=true]{background:var(--accent);color:#0b0a12}.pdf-toolbar button:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.pdf-page-input{border:1px solid var(--dock-line);color:#fff;width:38px;height:28px;font:inherit;text-align:center;background:#ffffff0f;border-radius:7px;outline:none;margin:0 4px;font-size:13px}.pdf-page-input:focus{border-color:var(--accent)}.pdf-count,.pdf-zoom{color:#ffffff8c;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.pdf-count{margin-right:4px}.pdf-zoom{text-align:center;min-width:44px}.pdf-sep{background:var(--dock-line);width:1px;height:18px;margin:0 6px}.pdf-search{align-items:center;gap:2px;margin-right:4px;display:flex}.pdf-search input{border:1px solid var(--dock-line);color:#fff;width:160px;height:30px;font:inherit;background:#ffffff0f;border-radius:8px;outline:none;padding:0 10px;font-size:16px}.pdf-search input:focus{border-color:var(--accent)}.pdf-search input::-webkit-search-cancel-button{display:none}.pdf-search .pdf-count{margin:0 4px}.pdf-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;align-items:center;gap:16px;min-height:0;padding:16px;display:flex;overflow:auto}.pdf-page{background:#fff;border-radius:4px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 8px 28px #00000073}.pdf-page canvas{display:block}.pdf-loading{color:var(--dock-muted);flex:1;place-items:center;font-size:14px;display:grid}.pdf-page .textLayer{--scale-round-x:1px;--scale-round-y:1px;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));text-align:initial;transform-origin:0 0;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;line-height:1;position:absolute;inset:0;overflow:clip}.pdf-page .textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.pdf-page .textLayer>:not(.markedContent),.pdf-page .textLayer .markedContent span:not(.markedContent){--font-height:0;--scale-x:1;--rotate:0deg;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.pdf-page .textLayer .markedContent{display:contents}.pdf-page .textLayer ::selection{background:#9b8cff59}.pdf-page .textLayer .pdf-hit{background:#ffd20073;border-radius:2px}.pdf-page [data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}.pdf-page [data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}.pdf-page [data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}@media (width<=600px){.lightbox{gap:10px;padding-inline:12px}.lightbox-nav{display:none}.round-btn{width:36px;height:36px}.pdf-scroll{gap:8px;padding:8px}}@media (prefers-reduced-motion:reduce){.lightbox[open],.lightbox[open] .lightbox-stage,.lightbox[open] .pdf-viewer{animation:none}.lightbox-stage img{transition:none}}.drive-bar-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.drive-bar-actions .dock-action{width:36px;height:36px}.drive-selection{min-width:0;animation:drive-fade .2s var(--drive-ease);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drive-selection-count{white-space:nowrap;margin:0 6px 0 2px;font-size:14px;font-weight:500}@keyframes drive-fade{0%{opacity:0;translate:0 -4px}}.drive-bar-btn{background:var(--dock-hover);color:#fff;height:32px;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:background-color .15s;display:inline-flex}.drive-bar-btn:hover:not(:disabled){background:#ffffff29}.drive-bar-btn:disabled{opacity:.5;cursor:default}.drive-bar-btn.is-danger{color:#ff9a9a}.drive-bar-btn.is-danger:hover:not(:disabled){background:#ff505029}.drive-cell{border-radius:20px;position:relative}.drive-check{z-index:1;color:#0000;cursor:pointer;opacity:0;width:22px;height:22px;transition:opacity .15s, scale .2s var(--drive-spring), background-color .15s, border-color .15s;background:#00000073;border:1.5px solid #fff6;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:10px;left:10px;scale:.85}.drive-cell:hover .drive-check,.drive-check:focus-visible{opacity:1;scale:1}.drive-grid:has([data-selected]) .drive-check{opacity:1;scale:1}.drive-check:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.drive-check[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:#0b0a12}.drive-cell[data-selected] .drive-tile{background:#9b8cff1f;border-color:#9b8cff73}.drive-cell[data-menu] .drive-tile{background:#ffffff0d;border-color:#ffffff2e}.drive-cell[data-drop] .drive-tile{border-color:var(--accent);background:#9b8cff2e}.drive-cell[data-drop] .folder-front{transform:rotateX(-20deg)}.drive-cell[data-drop] .folder-paper--1{translate:-6px -12px;rotate:-10deg}.drive-cell[data-drop] .folder-paper--2{translate:6px -10px;rotate:10deg}.drive-tile[draggable=true]{-webkit-user-drag:element}.drive-crumb button[data-drop],.drive-quick .dock-item[data-drop]{color:#fff;outline:1.5px solid var(--accent);outline-offset:-1.5px;background:#9b8cff33}.drive-main{position:relative}.drive-main[data-drop]{outline:2px dashed var(--accent);outline-offset:-8px}.drive-drop-hint{background:var(--accent);color:#0b0a12;pointer-events:none;animation:drive-fade .2s var(--drive-ease);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex;position:absolute;bottom:20px;left:50%;translate:-50%}.drive-transfers ul{flex-direction:column;gap:10px;margin-top:-8px;list-style:none;display:flex}.drive-transfers li{justify-content:space-between;gap:8px;padding-bottom:6px;font-size:13px;display:flex;position:relative}.drive-transfer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drive-transfer-status{color:var(--dock-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.drive-transfers li[data-state=error] .drive-transfer-status{color:#ff8a8a}.drive-transfers li[data-state=done] .drive-transfer-status{color:#6fdc9b}.drive-transfer-bar{background:var(--accent);border-radius:999px;height:2px;transition:width .2s;position:absolute;bottom:0;left:0}.drive-transfers li[data-state=error] .drive-transfer-bar{background:#ff8a8a}.context-menu{z-index:60;border:1px solid var(--dock-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform-origin:0 0;background:#161616f0;border-radius:12px;min-width:200px;padding:5px;font-family:Inter,system-ui,sans-serif;animation:.14s cubic-bezier(.23,1,.32,1) context-in;position:fixed;box-shadow:0 12px 32px #00000080}@keyframes context-in{0%{opacity:0;scale:.96}}.context-menu button{color:#ffffffe6;width:100%;height:32px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;display:flex}.context-menu button svg{color:var(--dock-muted);flex-shrink:0}.context-menu button:hover,.context-menu button:focus-visible{background:var(--dock-hover);color:#fff;outline:none}.context-menu button.is-danger,.context-menu button.is-danger svg{color:#ff9a9a}.context-menu button.is-danger:hover{background:#ff505024}.context-menu hr{border:0;border-top:1px solid var(--dock-line);margin:5px 6px}.small-dialog{color:#fff;background:#121212f0;gap:16px;width:min(420px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:20px;font-family:Inter,system-ui,sans-serif}.small-dialog[open]{animation:.25s cubic-bezier(.23,1,.32,1) project-editor-in;display:flex}.small-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c}.small-dialog form{flex-direction:column;gap:16px;display:flex}.small-dialog h2{overflow-wrap:anywhere;font-size:16px;font-weight:600}.small-dialog footer{justify-content:flex-end;gap:8px;display:flex}.move-list{flex-direction:column;gap:2px;height:260px;margin:0 -8px;padding:0 8px;list-style:none;display:flex;overflow-y:auto}.move-list .dock-item{width:100%}.move-list .dock-item:disabled{opacity:.4;cursor:default}.move-chevron{margin-left:auto}.move-empty{height:100%;color:var(--dock-muted);place-items:center;font-size:13px;display:grid}.move-dialog footer .btn:last-child{text-overflow:ellipsis;max-width:260px;display:block;overflow:hidden}@media (width<=600px){.drive-bar-actions{width:100%}.drive-bar-actions .search-field{flex:1;width:auto}.drive-bar-btn .btn-label,.projects-bar-actions .btn-label{display:none}.drive-bar-btn{justify-content:center;width:32px;padding:0}.drive-selection{flex-wrap:nowrap}.drive-selection-count{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.projects-bar-actions{width:100%}.projects-bar-actions .search-field{flex:1;width:auto}.projects-bar-actions .btn{flex-shrink:0;justify-content:center;width:36px;padding:0}.pdf-toolbar{flex-wrap:wrap;row-gap:4px;overflow:visible}.pdf-group{flex-wrap:wrap}.pdf-search input{width:120px}.drive-check{opacity:1;scale:1}}@media (hover:none){.drive-check{opacity:1;scale:1}}.tracker{--good:#9fd36b;--bad:#ff8a9a;--weight:#9b8cff;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:12px;display:grid}.tracker-calendar{gap:24px;padding:24px}.tracker-head{align-items:center;gap:16px;display:flex}.tracker-nav{background:var(--dock-hover);color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;width:32px;height:32px;transition:background-color .15s;display:grid}.tracker-nav:hover{background:#ffffff29}.tracker-nav:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.tracker-score{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.tracker-score p{color:var(--dock-muted);text-align:center;font-size:13px}.tracker-bar{background:#ffffff14;border-radius:999px;gap:3px;width:min(360px,100%);height:6px;display:flex;overflow:hidden}.tracker-bar span{transition:flex-grow .4s var(--dock-ease);border-radius:999px;flex-basis:0}.tracker-bar [data-tone=good]{background:var(--good)}.tracker-bar [data-tone=bad]{background:var(--bad)}.tracker-months{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;display:grid}.tracker-month{flex-direction:column;gap:16px;min-width:0;display:flex}.tracker-month-title{text-align:center;letter-spacing:-.01em;font-size:18px;font-weight:500}.tracker-month-title:first-letter{text-transform:uppercase}.tracker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.tracker-weekday{color:var(--dock-muted);text-align:center;padding-bottom:4px;font-size:12px}.tracker-day{aspect-ratio:1;color:#fff;min-width:0;font:inherit;cursor:pointer;transition:background-color .15s, scale .15s var(--dock-ease);-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative}.tracker-day:hover{background:#ffffff1f}.tracker-day:active{scale:.94}.tracker-day:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.tracker-day[data-future]{color:#fff6}.tracker-day[data-today]{box-shadow:inset 0 0 0 1.5px #ffffff80}.tracker-day[aria-pressed=true]{box-shadow:0 0 0 2px #fff}.tracker-day[data-state=good]{background:var(--good);color:#0d1a05}.tracker-day[data-state=bad]{background:var(--bad);color:#2a0509}.tracker-day-num{font-variant-numeric:tabular-nums;font-size:clamp(13px,1.2vw,16px);font-weight:500}.tracker-day-weight{font-variant-numeric:tabular-nums;opacity:.75;font-size:10px}.tracker-day-sport{color:#000;background:#fff;border-radius:999px;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 4px #0006}.tracker-legend{color:var(--dock-muted);flex-wrap:wrap;gap:8px 20px;font-size:12px;display:flex}.tracker-legend span{align-items:center;gap:8px;display:inline-flex}.tracker-legend span:before{content:"";border-radius:999px;width:8px;height:8px}.tracker-legend [data-tone=good]:before{background:var(--good)}.tracker-legend [data-tone=bad]:before{background:var(--bad)}.tracker-legend [data-tone=sport]:before{background:#fff}.tracker-legend [data-tone=weight]:before{background:var(--dock-muted);width:14px;height:2px}.tracker-side{flex-direction:column;gap:12px;min-width:0;display:flex}.tracker-detail header{flex-direction:column;gap:4px;display:flex}.tracker-detail-title{letter-spacing:-.01em;font-size:18px;font-weight:500}.tracker-detail-title:first-letter{text-transform:uppercase}.tracker-detail-today{color:var(--accent);font-size:12px}.tracker-choice{flex-direction:column;gap:6px;display:flex}.tracker-choice>span{color:var(--dock-muted);font-size:12px}.tracker-choice>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tracker-choice button{border:1px solid var(--dock-line);color:#fff;height:40px;font:inherit;cursor:pointer;background:#ffffff0a;border-radius:10px;font-size:14px;transition:background-color .15s,color .15s,border-color .15s}.tracker-choice button:hover{background:var(--dock-hover)}.tracker-choice button:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.tracker-choice [data-tone=good][aria-pressed=true]{background:var(--good);border-color:var(--good);color:#0d1a05}.tracker-choice [data-tone=bad][aria-pressed=true]{background:var(--bad);border-color:var(--bad);color:#2a0509}.tracker-stats{flex-direction:row;gap:0;padding:16px 4px}.tracker-stats>div{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.tracker-stats>div+div{border-left:1px solid var(--dock-line)}.tracker-stats span{color:var(--dock-muted);font-size:12px}.tracker-stats strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:500}.tracker-stats small{color:var(--dock-muted);font-size:12px;font-weight:400}.tracker-stats em{font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}.tracker-stats em[data-tone=good]{color:var(--good)}.tracker-stats em[data-tone=bad]{color:var(--bad)}@media (width<=1100px){.tracker{grid-template-columns:minmax(0,1fr)}}.tracker-dialog .tracker-detail{flex-direction:column;gap:20px;padding:20px;display:flex;position:relative}.tracker-dialog .tracker-detail header{padding-right:40px}.tracker-dialog-close{position:absolute;top:16px;right:16px}@media (width<=600px){.tracker-calendar{padding:16px}.tracker-grid{gap:4px}.tracker-day{border-radius:10px}}@media (prefers-reduced-motion:reduce){.tracker-day,.tracker-bar span{transition:none}}.music{height:calc(100dvh - 2 * var(--edge) - 96px);grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:420px}:is(.admin:has(.player) .admin-clock,.admin:has(.player) .home-mochi){display:none}.music-side{gap:12px;min-height:0;padding:16px 12px;overflow:hidden}.music-side-head{align-items:center;gap:12px;padding:0 0 0 4px;display:flex}.music-side-avatar{background:var(--dock-hover);width:32px;height:32px;color:var(--dock-muted);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.music-side-avatar img{object-fit:cover;width:100%;height:100%}.music-side-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.music-side-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.music-side-name small{color:var(--dock-muted);font-size:12px}.music-library{flex-direction:column;flex:1;gap:2px;min-height:0;list-style:none;display:flex;overflow-y:auto}.music-lib-item{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:6px;transition:background-color .15s;display:flex}.music-lib-item:hover{background:var(--dock-hover)}.music-lib-item[aria-current]{background:var(--dock-active)}.music-lib-item:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.music-lib-item .music-art{border-radius:6px;flex:none;width:40px}.music-lib-text{flex-direction:column;gap:2px;min-width:0;display:flex}.music-lib-text strong,.music-lib-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-lib-text strong{font-size:14px;font-weight:500}.music-lib-text small{color:var(--dock-muted);font-size:12px}.music-lib-item[data-playing] strong{color:var(--accent)}.music-main{gap:0;min-height:0;padding:0;overflow:hidden}.music-bar{border-bottom:1px solid var(--dock-line);align-items:center;gap:8px;padding:12px;display:flex}.music-bar .tracker-nav{width:36px;height:36px}.music-bar .tracker-nav[aria-current]{background:var(--dock-active);color:var(--accent)}.music-search{flex:1;width:auto;max-width:440px;height:36px}.music-search-clear{background:var(--dock-hover);color:#fff;cursor:pointer;border:0;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;display:grid}.music-filters{padding:12px 12px 0}.music-scroll{flex-direction:column;flex:1;gap:32px;min-height:0;padding:20px 24px 32px;display:flex;overflow-y:auto}.music-shelf-title{letter-spacing:-.01em;margin-bottom:12px;font-size:18px;font-weight:600}.music-empty{text-align:center;color:var(--dock-muted);padding:48px 0;font-size:14px;line-height:1.5}.music-more{align-self:center}.music-loading{place-items:center;min-height:200px;display:grid}.music-loading:after{content:"";border:2px solid #ffffff1f;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.9s linear infinite spin}.music-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.music-link:hover{color:#fff;text-underline-offset:2px;text-decoration:underline}.music-art{aspect-ratio:1;width:100%;color:var(--dock-muted);background:#ffffff0f;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.music-art img{object-fit:cover;width:100%;height:100%}.music-art[data-round]{border-radius:50%}.music-liked-art{background:linear-gradient(135deg, #4a3bc4, var(--accent) 60%, #d6cfff);color:#fff}.music-play{background:var(--accent);color:#0b0a12;cursor:pointer;border:0;border-radius:999px;place-items:center;width:44px;height:44px;padding:0;transition:scale .2s cubic-bezier(.34,1.4,.64,1),background-color .15s;display:grid;box-shadow:0 8px 20px #00000073}.music-play:hover{background:#b0a4ff;scale:1.06}.music-play:focus-visible{outline-offset:2px;outline:1.5px solid #fff}.music-eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.music-eq i{background:var(--accent);border-radius:1px;width:3px;height:100%;animation:.9s ease-in-out infinite alternate music-eq}.music-eq i:nth-child(2){animation-duration:.7s;animation-delay:-.3s}.music-eq i:nth-child(3){animation-duration:1.1s;animation-delay:-.6s}@keyframes music-eq{0%{scale:1 .25}to{scale:1}}.music-eq i{transform-origin:bottom}.music-tracks{flex-direction:column;margin:0 -8px;list-style:none;display:flex}.music-track{cursor:pointer;border-radius:10px;grid-template-columns:40px minmax(0,1fr) 32px 44px;align-items:center;gap:12px;padding:6px 8px;transition:background-color .15s;display:grid}.music-tracks[data-album] .music-track{grid-template-columns:40px minmax(0,1.5fr) minmax(0,1fr) 32px 44px}.music-track:hover{background:var(--dock-hover)}.music-track-index{width:40px;height:40px;color:var(--dock-muted);font-variant-numeric:tabular-nums;place-items:center;font-size:14px;display:grid;position:relative}.music-track-index .music-art{border-radius:6px;transition:filter .15s}.music-track-hover{color:#fff;opacity:0;margin:auto;transition:opacity .15s;position:absolute;inset:0}.music-track:hover .music-track-hover{opacity:1}.music-track:hover .music-track-num,.music-track:hover .music-track-index .music-eq{opacity:0}.music-track:hover .music-track-index .music-art{filter:brightness(.4)}.music-track-main{flex-direction:column;gap:2px;min-width:0;display:flex}.music-track-title{color:#fff;max-width:100%;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:500;overflow:hidden}.music-track-title:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px;border-radius:4px}.music-track[data-current] .music-track-title{color:var(--accent)}.music-track-artists,.music-track-album{color:var(--dock-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.music-explicit{color:#000;vertical-align:1px;background:#ffffff73;border-radius:3px;place-items:center;width:15px;height:15px;margin-right:6px;font-size:9px;font-weight:600;display:inline-grid}.music-track-queue{opacity:0}.music-track:hover .music-track-queue,.music-track-queue:focus-visible{opacity:1}.music-track-time{color:var(--dock-muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.music-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;margin:0 -10px;list-style:none;display:grid}.music-card{border-radius:14px;padding:10px;transition:background-color .25s;position:relative}.music-card:hover{background:#ffffff0a}.music-card-art{position:relative}.music-card-art .music-art{box-shadow:0 8px 24px #00000059}.music-card-play{z-index:2;opacity:0;transition:opacity .2s,translate .25s cubic-bezier(.23,1,.32,1),scale .2s,background-color .15s;position:absolute;bottom:8px;right:8px;translate:0 6px}.music-card:hover .music-card-play,.music-card:focus-within .music-card-play{opacity:1;translate:0}.music-card-open{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;margin-top:10px;padding:0;display:flex}.music-card-open:after{content:"";border-radius:inherit;position:absolute;inset:0}.music-card-open:focus-visible{outline:none}.music-card:has(.music-card-open:focus-visible){outline:1.5px solid var(--accent);outline-offset:-1.5px}.music-card-title,.music-card-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-card-title{font-size:14px;font-weight:500}.music-card-sub{color:var(--dock-muted);font-size:12px}.music-hero{align-items:flex-end;gap:24px;display:flex}.music-hero-art{flex:none;width:180px}.music-hero-art .music-art{box-shadow:0 16px 40px #00000080}.music-hero-text{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.music-hero-kind{color:var(--dock-muted);font-size:12px;font-weight:500}.music-hero-title{letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(28px,4vw,56px);font-weight:600;line-height:1.02}.music-hero-meta{color:var(--dock-muted);font-size:13px}.music-hero-meta .music-link{color:#fff;font-weight:500}.music-hero-play{flex:none;width:56px;height:56px}.player{left:var(--edge);right:calc(var(--edge) + var(--dock-closed-w) + 12px);bottom:calc(var(--edge) + env(safe-area-inset-bottom));z-index:19;height:calc(2 * var(--dock-pad) + 34px);border:1px solid var(--dock-line);background:var(--dock-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(240px,520px) minmax(0,1fr);align-items:center;gap:16px;padding:0 12px 0 9px;display:grid;position:fixed}.player .dock-action:disabled{opacity:.35;cursor:default;color:var(--dock-muted);background:0 0}.player .dock-action[data-on]{color:var(--accent);position:relative}.player-controls .dock-action[data-on]:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:50%;translate:-50%}.player-track{align-items:center;gap:12px;min-width:0;display:flex}.player-cover{background:var(--dock-hover);width:48px;height:48px;color:var(--dock-muted);cursor:pointer;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid;overflow:hidden}.player-cover:disabled{cursor:default}.player-cover img{object-fit:cover;width:100%;height:100%}.player-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.player-title{color:#fff;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:14px;font-weight:500;overflow:hidden}button.player-title{cursor:pointer}button.player-title:hover{text-underline-offset:2px;text-decoration:underline}.player-artists{color:var(--dock-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.player-like{flex:none}.player-center{flex-direction:column;align-items:center;gap:0;min-width:0;display:flex}.player-controls{align-items:center;gap:6px;display:flex}.player-play{color:#000;cursor:pointer;background:#fff;border:0;border-radius:999px;place-items:center;width:32px;height:32px;margin:0 4px;padding:0;transition:scale .15s;display:grid}.player-play:hover:not(:disabled){scale:1.06}.player-play:disabled{opacity:.35;cursor:default}.player-play:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.player-progress{align-items:center;gap:8px;width:100%;display:flex}.player-progress span{min-width:34px;color:var(--dock-muted);font-variant-numeric:tabular-nums;font-size:11px}.player-progress span:first-child{text-align:right}.player-side{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.player-volume{align-items:center;gap:4px;width:140px;display:flex}.player-line{display:none}.music-slider{--fill:#fff;appearance:none;cursor:pointer;touch-action:none;background:0 0;flex:1;min-width:0;height:16px}.music-slider:hover:not(:disabled),.music-slider:focus-visible{--fill:var(--accent)}.music-slider:focus-visible{outline:none}.music-slider:disabled{opacity:.35;cursor:default}.music-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--fill) var(--pct), #ffffff26 var(--pct));border-radius:999px;height:4px}.music-slider::-webkit-slider-thumb{-webkit-appearance:none;opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;margin-top:-4px;transition:opacity .15s}.music-slider::-moz-range-track{background:#ffffff26;border-radius:999px;height:4px}.music-slider::-moz-range-progress{background:var(--fill);border-radius:999px;height:4px}.music-slider::-moz-range-thumb{opacity:0;background:#fff;border:0;border-radius:50%;width:12px;height:12px}.music-slider:hover:not(:disabled)::-webkit-slider-thumb{opacity:1}.music-slider:focus-visible::-webkit-slider-thumb{opacity:1}.music-slider:active::-webkit-slider-thumb{opacity:1}.music-slider:hover:not(:disabled)::-moz-range-thumb{opacity:1}.music-slider:focus-visible::-moz-range-thumb{opacity:1}.music-devices{position:relative}.music-devices-menu{transform-origin:100% 100%;width:260px;position:absolute;bottom:calc(100% + 16px);right:-4px}.music-devices-title{color:var(--dock-muted);padding:6px 10px 4px;font-size:12px;font-weight:500}.music-devices-note{color:var(--dock-muted);padding:6px 10px;font-size:12.5px;line-height:1.4}.music-devices-menu button span:not(.music-eq){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.music-devices-menu button[data-active],.music-devices-menu button[data-active] svg{color:var(--accent)}.music-devices-menu button:disabled{opacity:.4;cursor:default}.music-toast{border:1px solid var(--dock-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);white-space:nowrap;text-overflow:ellipsis;background:#161616f0;border-radius:12px;max-width:calc(100% - 24px);padding:10px 14px;font-size:13px;animation:.18s cubic-bezier(.23,1,.32,1) context-in;position:absolute;bottom:calc(100% + 12px);left:50%;overflow:hidden;translate:-50%;box-shadow:0 12px 32px #00000080}.music-toast[data-tone=error]{color:#ff8a8a}.music-toast[data-tone=ok]{color:var(--accent)}@media (width>=901px){.music-compact-only{display:none}}@media (width<=1100px){.player{grid-template-columns:minmax(0,1fr) minmax(200px,360px) auto}.player-volume{width:auto}.player-volume .music-slider{display:none}}@media (width<=900px){.music-side{display:none}.music-tracks[data-album] .music-track{grid-template-columns:40px minmax(0,1fr) 32px 44px}.music-track-album{display:none}.music-track-queue{opacity:1}.player{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.player-progress,.player-secondary,.player-volume,.player-like{display:none}.player-play{order:2}.player-line{background:#ffffff1a;border-radius:999px;height:2px;display:block;position:absolute;bottom:0;left:16px;right:16px;overflow:hidden}.player-line:after{content:"";width:var(--pct);background:#fff;position:absolute;inset:0 auto 0 0}}@media (width<=600px){.music{height:calc(100dvh - 2 * var(--edge) - 96px - 74px)}.player{right:var(--edge);bottom:calc(var(--edge) + env(safe-area-inset-bottom) + 2 * var(--dock-pad) + 34px + 8px)}.music-scroll{gap:28px;padding:16px 16px 24px}.music-bar{padding:10px}.music-hero{flex-wrap:wrap;gap:16px}.music-hero-art{width:140px}.music-hero-text{flex-basis:100%;order:2}.music-hero-play{order:3;margin-top:-8px;margin-left:auto}.music-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.music-track-time{display:none}.music-track,.music-tracks[data-album] .music-track{grid-template-columns:40px minmax(0,1fr) 32px}}@media (hover:none){.music-card-play{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.music-eq i{animation:none;scale:1 .6}.music-card-play,.music-play,.player-play{transition:none}}.now-playing{left:50%;bottom:calc(var(--edge) + env(safe-area-inset-bottom));z-index:19;width:min(360px, calc(100vw - 2 * var(--edge) - 2 * var(--dock-closed-w) - 24px));padding:var(--dock-pad) 12px var(--dock-pad) var(--dock-pad);border:1px solid var(--dock-line);background:var(--dock-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;align-items:center;gap:4px;animation:.45s cubic-bezier(.34,1.4,.64,1) both now-playing-in;display:flex;position:fixed;overflow:hidden;translate:-50%}@keyframes now-playing-in{0%{opacity:0;translate:-50% 12px;scale:.96}}.now-playing-open{color:#fff;flex:1;align-items:center;gap:12px;min-width:0;margin-right:4px;text-decoration:none;display:flex}.now-playing-open:focus-visible{outline:none}.now-playing:has(.now-playing-open:focus-visible){outline:1.5px solid var(--accent);outline-offset:2px}.now-playing-open:hover .dock-title{text-underline-offset:2px;text-decoration:underline}.now-playing-cover{background:var(--dock-hover);width:32px;height:32px;color:var(--dock-muted);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.now-playing-cover img{object-fit:cover;width:100%;height:100%}.now-playing-line{background:#ffffff14;border-radius:999px;height:2px;position:absolute;bottom:0;left:16px;right:16px;overflow:hidden}.now-playing-line:after{content:"";width:var(--pct);background:var(--accent);transition:width 1s linear;position:absolute;inset:0 auto 0 0}@media (width<=900px){.now-playing{left:var(--edge);right:var(--edge);width:auto;bottom:calc(var(--edge) + env(safe-area-inset-bottom) + 2 * var(--dock-pad) + 34px + 8px);translate:none}@keyframes now-playing-in{0%{opacity:0;translate:0 12px}}}@media (width>=601px) and (width<=900px){.now-playing{width:var(--dock-closed-w);left:auto}}@media (prefers-reduced-motion:reduce){.now-playing{animation:none}.now-playing-line:after{transition:none}}.vercel{--ready:#9fd36b;--building:#f5c065;--failed:#ff8a9a;height:calc(100dvh - 2 * var(--edge) - 96px);grid-template-rows:auto minmax(0,1fr);align-items:stretch;min-height:420px}.vercel-bar{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:12px 12px 12px 20px}.vercel-summary{color:var(--dock-muted);flex-wrap:wrap;align-items:center;gap:20px;font-size:14px;display:flex}.vercel-summary span{align-items:center;gap:6px;display:inline-flex}.vercel-summary strong{color:#fff;font-variant-numeric:tabular-nums;font-weight:500}.vercel-bar-end{align-items:center;gap:16px;display:flex}.vercel-live{color:var(--dock-muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.vercel-live:before{content:"";background:var(--ready);width:6px;height:6px;box-shadow:0 0 0 0 color-mix(in srgb, var(--ready) 60%, transparent);border-radius:50%;animation:2s ease-out infinite vercel-ping}.vercel-live[data-off]:before{background:var(--dock-muted);animation:none}@keyframes vercel-ping{to{box-shadow:0 0 0 6px #0000}}.vercel-status{background:#ffffff40;border-radius:50%;flex:none;width:8px;height:8px}.vercel-status[data-state=READY]{background:var(--ready)}.vercel-status[data-state=ERROR]{background:var(--failed)}.vercel-status[data-state=BUILDING],.vercel-status[data-state=INITIALIZING]{background:var(--building);animation:1.2s ease-in-out infinite vercel-pulse}.vercel-status[data-state=QUEUED]{box-shadow:inset 0 0 0 1.5px var(--building);background:0 0}@keyframes vercel-pulse{50%{opacity:.35;scale:.8}}.vercel-projects,.vercel-feed{gap:12px;min-height:0;padding:16px;overflow-y:auto}.vercel-projects .panel-title,.vercel-feed .panel-title{padding:0 4px}.vercel-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;list-style:none;display:grid}.vercel-card{border:1px solid var(--dock-line);background:#ffffff06;border-radius:14px;flex-direction:column;gap:14px;min-width:0;padding:16px;transition:background-color .2s,border-color .2s;display:flex;position:relative}.vercel-card:hover{background:#ffffff0d;border-color:#ffffff24}.vercel-card[data-state=ERROR]{border-color:color-mix(in srgb, var(--failed) 35%, transparent)}.vercel-card[data-state=BUILDING]{border-color:color-mix(in srgb, var(--building) 35%, transparent)}.vercel-card-open{color:#fff;flex-direction:column;gap:4px;min-width:0;padding-right:32px;text-decoration:none;display:flex}.vercel-card-open:after{content:"";border-radius:inherit;position:absolute;inset:0}.vercel-card-open:focus-visible{outline:none}.vercel-card:has(.vercel-card-open:focus-visible){outline:1.5px solid var(--accent);outline-offset:2px}.vercel-card-head{align-items:center;gap:8px;min-width:0;display:flex}.vercel-card-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.vercel-card-domain{color:var(--dock-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.vercel-card-dash{z-index:1;position:absolute;top:10px;right:10px}.vercel-card-meta{border-top:1px solid var(--dock-line);flex-direction:column;gap:4px;min-width:0;padding-top:12px;display:flex}.vercel-card-commit,.vercel-card-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vercel-card-commit{color:#ffffffd9;font-size:13px}.vercel-card-sub{color:var(--dock-muted);font-size:12px}.vercel-card-sub svg{vertical-align:-2px;display:inline}.vercel-deploys{flex-direction:column;gap:2px;margin:0 -6px;list-style:none;display:flex}.vercel-deploys li{animation:.4s cubic-bezier(.23,1,.32,1) both vercel-in}@keyframes vercel-in{0%{opacity:0;translate:0 -6px}}.vercel-deploy{color:#fff;border-radius:10px;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px;text-decoration:none;transition:background-color .15s;display:grid}.vercel-deploy:hover{background:var(--dock-hover)}.vercel-deploy:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.vercel-deploy .vercel-status{margin-top:5px}.vercel-deploy-main{flex-direction:column;gap:3px;min-width:0;display:flex}.vercel-deploy-title{align-items:center;gap:8px;min-width:0;display:flex}.vercel-deploy-title strong{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:60%;font-size:14px;font-weight:500;overflow:hidden}.vercel-deploy-project{color:#000;text-transform:uppercase;background:#fff;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:600;display:grid}.vercel-deploy-domain{min-width:0;color:var(--dock-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vercel-target{background:var(--dock-hover);color:var(--dock-muted);border-radius:999px;flex:none;padding:1px 6px;font-size:11px}.vercel-target[data-target=production]{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.vercel-deploy-commit,.vercel-deploy-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vercel-deploy-commit{color:#fffc;font-size:13px}.vercel-deploy-meta{color:var(--dock-muted);font-size:12px}.vercel-deploy-meta svg{vertical-align:-2px;display:inline}.vercel-deploy-time{color:var(--dock-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;font-size:12px;display:flex}.vercel-deploy-time small{font-size:11px}.vercel-deploy[data-state=BUILDING] .vercel-deploy-time{color:var(--building)}.vercel-deploy[data-state=ERROR] .vercel-deploy-time small{color:var(--failed)}@media (width<=1100px){.vercel .bento-8,.vercel .bento-4{grid-column:span 12}.vercel{grid-template-rows:none;height:auto}.vercel-projects,.vercel-feed{overflow:visible}}@media (width<=600px){.vercel-bar{flex-direction:column;align-items:stretch;padding:12px}.vercel-bar-end{justify-content:space-between}.vercel-bar .search-field{flex:1;width:auto}}@media (prefers-reduced-motion:reduce){.vercel-live:before,.vercel-status,.vercel-deploys li{animation:none}}.folder[data-papers="0"] .folder-paper,.folder[data-papers="1"] .folder-paper--2,.folder[data-papers="1"] .folder-paper--3,.folder[data-papers="2"] .folder-paper--3{display:none}.folder-count-layer{transform-origin:50% 100%;width:120px;height:80px;transition:transform .45s var(--drive-spring);pointer-events:none;position:absolute;bottom:0;left:0}.drive-tile:hover .folder-count-layer,.drive-tile:focus-visible .folder-count-layer,.drive-cell[data-drop] .folder-count-layer{transform:rotateX(-20deg)}.folder-count{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-variant-numeric:tabular-nums;min-width:22px;height:20px;animation:folder-count-in .4s var(--drive-spring) both;background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;place-items:center;padding:0 7px;font-size:11px;font-weight:600;line-height:1;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:inset 0 1px #ffffff14,0 2px 6px #00000040}@keyframes folder-count-in{0%{opacity:0;scale:.6}}@media (prefers-reduced-motion:reduce){.folder-count-layer{transition:none}.folder-count{animation:none}}.drive-view-toggle{border:1px solid var(--dock-line);background:#ffffff0a;border-radius:10px;gap:2px;padding:2px;display:flex}.drive-view-toggle .dock-action{width:30px;height:30px}.drive-view-toggle .dock-action[aria-pressed=true]{background:var(--dock-active);color:#fff}.drive-grid[data-view=list]{flex-direction:column;gap:2px;display:flex}.drive-grid[data-view=list] .drive-cell{border-radius:12px}.drive-grid[data-view=list] .drive-tile{text-align:left;border-radius:12px;flex-direction:row;align-items:center;gap:14px;padding:6px 16px 6px 44px}.drive-grid[data-view=list] .folder,.drive-grid[data-view=list] .file-preview,.drive-grid[data-view=list]>li>.drive-tile>.file-icon{zoom:.4;flex:none}.drive-grid[data-view=list] .drive-tile-name{flex:1;min-width:0;margin-top:0}.drive-grid[data-view=list] .drive-tile-meta{text-align:right;flex:none;font-size:13px}.drive-grid[data-view=list] .drive-check{top:50%;left:12px;translate:0 -50%}.drive-grid[data-view=list] .drive-tile:hover .file-icon-paper{translate:0 -3px}@media (width<=600px){.drive-grid[data-view=list]{display:flex}.drive-grid[data-view=list] .drive-tile{padding-right:12px}.drive-grid[data-view=list] .drive-tile-meta{text-overflow:ellipsis;white-space:nowrap;max-width:40%;overflow:hidden}}
