*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,Fira Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.inset-0{inset:0}.block{display:block}.h-full{height:100%}.w-full{width:100%}.resize{resize:both}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;background:#06060f;color:#f0f0f8;font-family:JetBrains Mono,Fira Code,monospace;-webkit-font-smoothing:antialiased}::-moz-selection{background:rgba(150,120,255,.4);color:#fff}::selection{background:rgba(150,120,255,.4);color:#fff}.glass{background:hsla(0,0%,100%,.055);backdrop-filter:blur(24px) saturate(160%);border:1px solid hsla(0,0%,100%,.1);border-radius:18px}.glass-sm{background:hsla(0,0%,100%,.045);backdrop-filter:blur(16px) saturate(140%);border:1px solid hsla(0,0%,100%,.08);border-radius:12px}.clock-root{display:flex;flex-direction:column;align-items:center;gap:.4rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.clock-time{display:flex;align-items:flex-end;gap:.2rem;line-height:1}.clock-hm{font-size:clamp(5rem,15vw,10rem);font-weight:200;letter-spacing:-.03em;color:hsla(0,0%,100%,.95);text-shadow:0 0 60px rgba(160,120,255,.25)}.clock-sec{font-size:clamp(1.6rem,4vw,3.2rem);font-weight:300;color:hsla(0,0%,100%,.35);margin-bottom:.6rem}.clock-date{font-size:clamp(.65rem,1.2vw,.85rem);font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:hsla(0,0%,100%,.28)}.dim-overlay{position:fixed;inset:0;background:transparent;transition:background 2s ease;pointer-events:none;z-index:5}.dim-overlay.is-dim{background:rgba(0,0,0,.58)}.content-layer{position:relative;z-index:10;width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem}.widget-row{display:flex;gap:1rem;align-items:stretch;width:100%;max-width:680px}.widget-row>*{flex:1}.links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1.1rem}.link-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-decoration:none;color:inherit;transition:transform .15s ease}.link-item:hover{transform:scale(1.1)}.link-icon{width:44px;height:44px;border-radius:10px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.08);display:flex;align-items:center;justify-content:center;transition:border-color .2s,box-shadow .2s}.link-item:hover .link-icon{border-color:hsla(0,0%,100%,.25);box-shadow:0 0 14px rgba(150,120,255,.2)}.link-label{font-size:.6rem;letter-spacing:.05em;color:hsla(0,0%,100%,.3);text-align:center}.link-fallback{font-size:.65rem;font-weight:600;color:hsla(0,0%,100%,.5)}.weather-widget{padding:1rem 1.2rem;display:flex;align-items:center;gap:.75rem}.weather-temp{font-size:1.6rem;font-weight:200;color:hsla(0,0%,100%,.9)}.weather-meta{font-size:.65rem;color:hsla(0,0%,100%,.3);letter-spacing:.05em}.todos-widget{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}.todos-header{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:hsla(0,0%,100%,.25);margin-bottom:.15rem}.todo-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:hsla(0,0%,100%,.7);cursor:pointer;transition:opacity .15s}.todo-item.done{opacity:.3;text-decoration:line-through}.todo-check{width:14px;height:14px;border-radius:4px;border:1px solid hsla(0,0%,100%,.2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;transition:background .15s,border-color .15s}.todo-item.done .todo-check{background:rgba(150,120,255,.4);border-color:rgba(150,120,255,.6)}.todos-empty{font-size:.65rem;color:hsla(0,0%,100%,.18);font-style:italic}.cmdk-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.cmdk-dialog{width:min(580px,90vw);background:rgba(12,10,22,.9);backdrop-filter:blur(40px) saturate(160%);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px hsla(0,0%,100%,.05)}[cmdk-input]{width:100%;background:transparent;border:none;border-bottom:1px solid hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.9);font-family:JetBrains Mono,monospace;font-size:.95rem;padding:1rem 1.1rem;outline:none}[cmdk-input]::-moz-placeholder{color:hsla(0,0%,100%,.25)}[cmdk-input]::placeholder{color:hsla(0,0%,100%,.25)}[cmdk-list]{max-height:320px;overflow-y:auto}[cmdk-item]{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;border-radius:8px;font-size:.82rem;color:hsla(0,0%,100%,.65);cursor:pointer;transition:background .1s,color .1s;margin:0 .4rem}[cmdk-item][aria-selected=true]{background:rgba(150,120,255,.18);color:hsla(0,0%,100%,.95)}[cmdk-item] .cmdk-icon{font-size:.9rem;width:18px;text-align:center}[cmdk-item] .cmdk-shortcut{margin-left:auto;font-size:.65rem;color:hsla(0,0%,100%,.2)}[cmdk-group-heading]{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:hsla(0,0%,100%,.2);padding:.6rem 1.15rem .3rem}[cmdk-empty]{padding:1.2rem;text-align:center;font-size:.78rem;color:hsla(0,0%,100%,.2)}.toast-stack{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.toast-item{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;border-radius:12px;min-width:240px;max-width:320px;animation:slideUp .25s ease-out;background:rgba(12,10,22,.88);backdrop-filter:blur(24px);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 24px rgba(0,0,0,.4)}.toast-source{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.toast-title{font-size:.7rem;color:hsla(0,0%,100%,.4)}.toast-body{font-size:.8rem;color:hsla(0,0%,100%,.85)}.toast-dismiss{margin-left:auto;background:none;border:none;color:hsla(0,0%,100%,.25);cursor:pointer;font-size:.75rem;flex-shrink:0;transition:color .15s}.toast-dismiss:hover{color:hsla(0,0%,100%,.7)}.toast-icon{font-size:1rem;flex-shrink:0}.toast-content{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.toast-meta{display:flex;align-items:center;gap:.4rem}.weather-info{display:flex;flex-direction:column;gap:.1rem}.weather-emoji{font-size:1.6rem}.weather-loading{font-size:.65rem;color:hsla(0,0%,100%,.25)}.kbd-hint{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.12);z-index:10;pointer-events:none}.access-root{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#06060f}.access-card{display:flex;flex-direction:column;gap:.75rem;padding:1.8rem 2rem;width:min(320px,90vw)}.access-label{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:hsla(0,0%,100%,.25)}.access-input{background:transparent;border:none;border-bottom:1px solid hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.9);font-family:JetBrains Mono,monospace;font-size:1.1rem;letter-spacing:.2em;padding:.4rem 0;outline:none;width:100%;transition:border-color .15s}.access-input:focus{border-bottom-color:rgba(150,120,255,.5)}.access-input-error{border-bottom-color:rgba(255,80,80,.5)!important}.access-error{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:hsla(0,100%,70%,.6)}@keyframes slideUp{0%{transform:translateY(.75rem);opacity:0}to{transform:translateY(0);opacity:1}}