:root{--pynov-shadow:0 2px 4px rgba(21,24,40,.025),0 12px 32px rgba(21,24,40,.045);--pynov-elevated-shadow:0 24px 80px rgba(21,24,40,.16)}.dark{--pynov-shadow:0 1px 0 hsla(0,0%,100%,.025),0 8px 28px rgba(0,0,0,.15);--pynov-elevated-shadow:0 24px 80px rgba(0,0,0,.45)}body{-webkit-font-smoothing:antialiased}::-moz-selection{background:hsl(var(--primary)/.22)}::selection{background:hsl(var(--primary)/.22)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.pynov-skip-link{position:fixed;top:1rem;left:1rem;z-index:100;padding:.75rem 1rem;border-radius:.75rem;color:hsl(var(--primary-foreground));background:hsl(var(--primary));transform:translateY(-200%)}.pynov-skip-link:focus{transform:translateY(0)}[data-pynov-workspace]{isolation:isolate}.pynov-workspace-fx{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% -25%,hsl(var(--primary)/.085),transparent 65%)}.pynov-workspace-main{position:relative;z-index:1;scroll-padding-top:2rem}.pynov-workspace-content{position:relative}.pynov-workspace-content :where(h1){font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:1.15;font-weight:600;letter-spacing:-.045em;text-transform:none;overflow-wrap:break-word}.pynov-page-header{align-items:flex-start}.glass-panel,.pynov-app-card,.pynov-card{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:var(--pynov-shadow)}.pynov-app-card{transition:border-color .18s,box-shadow .18s}.pynov-app-card:hover{border-color:hsl(var(--primary)/.3);box-shadow:var(--pynov-shadow)}.pynov-app-surface-elevated{background:hsl(var(--popover));border-color:hsl(var(--border));box-shadow:var(--pynov-elevated-shadow)}.pynov-app-input{background:hsl(var(--card));border-color:hsl(var(--input))}.dark .glass-panel{background:hsl(var(--card)/.96)}.gradient-primary{background:linear-gradient(135deg,#6631e3,#7c22dd);color:#fff}[data-pynov-button],[role=combobox],[role=tab]{font-size:.8125rem;font-weight:600;letter-spacing:0;text-transform:none}[data-pynov-button]{max-width:100%}[data-pynov-button]:disabled{cursor:not-allowed}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,[role=combobox]){transition:border-color .15s,box-shadow .15s,background-color .15s}:where(input,textarea)[aria-invalid=true]{border-color:hsl(var(--destructive))}.pynov-dialog{border-color:hsl(var(--border));border-radius:1.5rem;background:hsl(var(--popover));box-shadow:var(--pynov-elevated-shadow)}.pynov-dialog :where(h2){padding-right:2rem;font-weight:600;letter-spacing:-.025em;text-transform:none}[role=menuitem],[role=option]{font-size:.8125rem;line-height:1.5;font-weight:500;letter-spacing:0;text-transform:none}.pynov-table-scroll{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground)/.3) transparent}.pynov-table-scroll th{white-space:nowrap}.pynov-table-scroll td{line-height:1.6}.pynov-sidebar nav a{transform:none}.pynov-sidebar nav a:focus-visible{background:hsl(var(--sidebar-accent))}.pynov-sidebar{box-shadow:1px 0 0 hsl(var(--border)/.25)}.pynov-touch-bottom-nav{box-shadow:0 -4px 24px rgba(16,17,24,.08)}.pynov-touch-bottom-nav a,.pynov-touch-bottom-nav button{transform:none}.pynov-empty{display:flex;min-height:18rem;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;text-align:center;border:1px dashed hsl(var(--border));border-radius:1.5rem;background:radial-gradient(ellipse at 50% 0,hsl(var(--primary)/.06),transparent 70%),hsl(var(--card))}.pynov-empty>svg{box-sizing:content-box;width:1.75rem;height:1.75rem;padding:1rem;border-radius:1.25rem;color:hsl(var(--primary));background:hsl(var(--primary)/.08)}.pynov-empty h2,.pynov-empty h3{font-size:1.125rem;font-weight:600;letter-spacing:-.025em}.pynov-empty p{max-width:24rem;font-size:.875rem;line-height:1.65;color:hsl(var(--muted-foreground))}.pynov-empty [data-pynov-button]{margin-top:.5rem}.pynov-section-label{font-size:.75rem;font-weight:600;letter-spacing:-.01em;color:hsl(var(--muted-foreground));text-transform:none}.pynov-context-box{background:hsl(var(--secondary)/.45);padding:1rem}.pynov-context-box,.pynov-note{border:1px solid hsl(var(--border));border-radius:1rem}.pynov-note{background:hsl(var(--secondary)/.4);padding:.75rem 1rem;font-size:.8125rem;line-height:1.65;color:hsl(var(--muted-foreground))}.pynov-note-warn{border-color:rgba(245,159,10,.28);background:rgba(245,159,10,.1);color:hsl(var(--foreground))}.pynov-create-layout{align-items:start}.pynov-create-step{padding:clamp(1rem,2vw,1.5rem);border:1px solid hsl(var(--border));border-radius:1.5rem;background:hsl(var(--card));box-shadow:var(--pynov-shadow)}.pynov-create-step>label{color:hsl(var(--foreground));font-size:.875rem}.pynov-mode-switch{padding:.3rem;border:1px solid hsl(var(--border));border-radius:.875rem;background:hsl(var(--secondary)/.6)}.pynov-mode-switch button{min-height:2.75rem;border-radius:.625rem}.pynov-create-preview{position:sticky;top:1.5rem}.pynov-create-preview>.pynov-empty{min-height:30rem}.pynov-pin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1.25rem}.pynov-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.25rem}.pynov-board-grid>.pynov-card,.pynov-pin-grid>.pynov-card{border-radius:1.25rem}.pynov-board-grid .pynov-board-cover{aspect-ratio:16/10}.pynov-calendar-layout{display:grid;align-items:start;gap:1.25rem}.pynov-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem}.pynov-calendar-day{position:relative;display:flex;flex-direction:column;min-width:0;min-height:7.5rem;padding:.65rem;border:1px solid hsl(var(--border));border-radius:.875rem;background:hsl(var(--background)/.5);transition:background-color .15s,border-color .15s}.pynov-calendar-day:hover{background:hsl(var(--primary)/.045);border-color:hsl(var(--primary)/.35)}.pynov-calendar-day[data-selected=true]{background:hsl(var(--primary)/.085);border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary))}.pynov-calendar-date{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:1.75rem;font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));border-radius:.375rem}.pynov-calendar-date:after{content:"";position:absolute;inset:0;border-radius:.875rem}.pynov-calendar-date[aria-current=date]>span{display:grid;place-items:center;min-width:1.75rem;min-height:1.75rem;border-radius:.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pynov-calendar-pin{z-index:1}.pynov-calendar-agenda{min-width:0}.pynov-public{padding-bottom:0;--primary:258 90% 66%}.pynov-public h1,.pynov-public h2{text-wrap:balance;letter-spacing:-.045em}.pynov-public p{text-wrap:pretty}.pynov-public main>section{scroll-margin-top:6rem}.pynov-hero{background:radial-gradient(ellipse at 80% 25%,rgba(137,90,246,.12),transparent 55%)}.pynov-hero-stage{position:relative;width:100%;padding:1.25rem;border:1px solid hsla(0,0%,100%,.12);border-radius:1.75rem;background:linear-gradient(145deg,rgba(32,31,55,.95),rgba(17,19,28,.95));box-shadow:0 32px 100px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.08)}.pynov-hero-stage:before{content:"";position:absolute;inset:-12px;border:1px solid rgba(172,139,249,.08);border-radius:2.25rem;pointer-events:none}.pynov-feature-card{position:relative;min-height:10rem;background:linear-gradient(145deg,hsla(0,0%,100%,.045),hsla(0,0%,100%,.015))}.pynov-feature-card:nth-child(-n+3){min-height:13rem;border-color:rgba(172,139,249,.2);background:radial-gradient(ellipse at top right,rgba(137,90,246,.1),transparent 70%),hsla(0,0%,100%,.02)}@media (min-width:1400px){.pynov-calendar-layout:has(.pynov-calendar-agenda){grid-template-columns:minmax(0,1fr) 320px}.pynov-calendar-agenda{position:sticky;top:1.5rem}}@media (max-width:1279px){.pynov-create-preview{position:static}}@media (max-width:767px){.pynov-workspace-content{padding-top:1.25rem}.pynov-calendar-day{min-height:4.25rem;padding:.3rem;border-radius:.625rem}.pynov-calendar-date{font-size:.75rem}.pynov-calendar-date:after{border-radius:.625rem}.pynov-calendar-grid{gap:.25rem}.pynov-create-preview>.pynov-empty{min-height:20rem}.pynov-workspace-content :where(input:not([type=checkbox]):not([type=radio]),textarea,select){font-size:16px}[role=dialog] [data-pynov-button]{min-height:2.75rem}.pynov-hero-stage{max-width:30rem;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.pynov-public .landing-tilt-card{transform:none}}.create-pin-tablet [class*="bg-amber-500/5"][class*="border-amber-500/10"]{display:none!important}