/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:host,:root{--v:0}*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--p:0%;--n:0}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-bold:700;--tracking-tight:-.025em;--radius-lg:.5rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-right-1{right:calc(var(--spacing) * -1)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table\!{display:table!important}.h-7{height:calc(var(--spacing) * 7)}.h-20{height:calc(var(--spacing) * 20)}.h-full{height:100%}.min-h-\[calc\(100vh-80px\)\]{min-height:calc(100vh - 80px)}.min-h-full{min-height:100%}.w-7{width:calc(var(--spacing) * 7)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.p-8{padding:calc(var(--spacing) * 8)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.ring,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}}}:root{--font-sans:var(--font-geist-sans),Arial,Helvetica,sans-serif;--font-mono:var(--font-geist-mono),monospace}:root,[data-theme=light]{--background:#cbe0de;--foreground:#173b47;--panel:#fff;--panel-soft:#cbe0de73;--line:#173b471f;--border-width:1px;--muted:#537882;--accent:#245260;--accent-strong:#1a3e4b;--accent-ink:#fff;--accent-secondary:#356272;--teal:#2f6b7a;--gold:#e8a33d;--gold-strong:#d18e28;--flame-bg:#2452601f;--flame-border:#24526040;--success:#2e7d62;--danger:#d64545;--info:#2b6979;--shadow:0 10px 30px -6px #173b471f;--mesh-1:#24526014;--mesh-2:#2b69790f;--sidebar-bg:#204856;--sidebar-fg:#e6f3f4;--sidebar-muted:#8fb4bc;--sidebar-active-bg:#ffffff29;--sidebar-active-fg:#fff;--sidebar-hover-bg:#ffffff17;--sidebar-border:#ffffff17;--sidebar-btn-bg:#ffffff14;--sidebar-btn-hover:#ffffff24}[data-theme=dark]{--background:#111d22;--foreground:#e3f1f3;--panel:#18272e;--panel-soft:#20363fa6;--line:#8fb4bc26;--border-width:1px;--muted:#8fb0b7;--accent:#3a8396;--accent-strong:#4ca0b5;--accent-ink:#fff;--accent-secondary:#58b0c4;--teal:#4ca0b5;--gold:#f5b754;--gold-strong:#ffc872;--flame-bg:#4ca0b533;--flame-border:#4ca0b566;--success:#38c193;--danger:#ff6b6b;--info:#4ca0b5;--shadow:0 10px 40px -10px #000000b3;--mesh-1:#3a839626;--mesh-2:#58b0c41a;--sidebar-bg:#142329;--sidebar-fg:#e6f3f4;--sidebar-muted:#8fb4bc;--sidebar-active-bg:#ffffff24;--sidebar-active-fg:#fff;--sidebar-hover-bg:#ffffff14;--sidebar-border:#ffffff14;--sidebar-btn-bg:#ffffff14;--sidebar-btn-hover:#ffffff24}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);transition:background-color .3s,color .3s}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:where(:not(.dot):not(.cat-stage):not(.icon-button):not(.theme-toggle):not(.lang-toggle):not(.drawer-close-btn):not(.mobile-toggle-btn):not(.desktop-sidebar-expand-btn):not(.challenge-modal-close-btn):not(.onboarding-close-btn):not(.nav-link):not(.notification-trigger):not(.pill):not([class*=tab]):not([class*=close]):not([class*=toggle]):not([class*=icon]):not(.password-toggle-btn)){background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.5rem 1.5rem;font-weight:600;transition:all .2s;display:inline-flex}button:where(:not(.dot):not(.cat-stage):not(.icon-button):not(.theme-toggle):not(.lang-toggle):not(.drawer-close-btn):not(.mobile-toggle-btn):not(.desktop-sidebar-expand-btn):not(.challenge-modal-close-btn):not(.onboarding-close-btn):not(.nav-link):not(.notification-trigger):not(.pill):not([class*=tab]):not([class*=close]):not([class*=toggle]):not([class*=icon]):not(.password-toggle-btn)):hover:not(:disabled){background:var(--accent-strong);box-shadow:0 8px 20px -6px var(--accent);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--foreground);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;outline:none;padding:.875rem 1.25rem;transition:all .2s}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px #d946ef26}select{appearance:none}.site-shell{background-image:radial-gradient(circle at 15% 50%,var(--mesh-1),transparent 45%),radial-gradient(circle at 85% 30%,var(--mesh-2),transparent 45%);background-attachment:fixed;min-height:100vh}.app-layout{width:100%;min-height:100vh;display:flex;position:relative}.main-layout{flex-direction:column;flex:1;min-width:0;transition:margin-left .35s cubic-bezier(.16,1,.3,1);display:flex}.mobile-header{display:none}.mobile-header .brand-link{color:var(--foreground)!important}.mobile-header .brand-link:hover{background:var(--panel-soft)!important}.mobile-header .brand-title{letter-spacing:-.01em;color:var(--foreground)!important;font-weight:800!important}.sidebar-backdrop{display:none}.drawer-close-btn{background:var(--sidebar-btn-bg);border:1px solid var(--sidebar-border);width:2.25rem;height:2.25rem;min-height:2.25rem;color:var(--sidebar-fg);cursor:pointer;box-shadow:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:none;padding:0!important}.drawer-close-btn:hover{background:var(--sidebar-btn-hover);color:#fff}.drawer-close-btn svg{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1.25rem!important;height:1.25rem!important;display:block!important}.desktop-sidebar-expand-btn{z-index:45;background:var(--panel);border:1px solid var(--line);color:var(--foreground);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;animation:sidebar-btn-fade-in .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed;top:1rem;left:1rem;box-shadow:0 4px 20px -4px #00000026}@keyframes sidebar-btn-fade-in{0%{opacity:0;transform:translate(-10px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.desktop-sidebar-expand-btn:hover{background:var(--panel-soft);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 24px -4px #0003}.desktop-sidebar-expand-btn .expand-btn-brand{letter-spacing:-.01em;font-weight:700}.navbar{z-index:50;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:space-between;width:270px;height:100vh;max-height:100vh;margin-left:0;padding:1.25rem 1rem 1.15rem;transition:transform .35s cubic-bezier(.16,1,.3,1),margin-left .35s cubic-bezier(.16,1,.3,1),background-color .3s,border-color .3s;display:flex;position:sticky;top:0;left:0;transform:translate(0)}.navbar.collapsed{pointer-events:none;visibility:hidden;margin-left:-270px;transition:transform .35s cubic-bezier(.16,1,.3,1),margin-left .35s cubic-bezier(.16,1,.3,1),visibility .35s step-end;transform:translate(-100%)}.navbar-top-section{flex-direction:column;flex-shrink:0;gap:1rem;display:flex}.navbar-brand-row{justify-content:space-between;align-items:center;width:100%;display:flex}.brand-link{color:var(--sidebar-fg);letter-spacing:-.02em;white-space:nowrap;border-radius:12px;flex-shrink:0;align-items:center;gap:.75rem;padding:.25rem .4rem;font-size:1.25rem;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-flex}.brand-link:hover{background:var(--sidebar-hover-bg)}.brand-mark{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-title{color:var(--sidebar-fg);font-weight:700}.navbar-toolbar{background:var(--sidebar-btn-bg);border:1px solid var(--sidebar-border);box-sizing:border-box;border-radius:12px;align-items:center;gap:.35rem;padding:.35rem .5rem;display:flex}.toolbar-item{justify-content:center;align-items:center;display:inline-flex}.navbar-toolbar .icon-button,.navbar-toolbar .theme-toggle{transition:all .2s;background:var(--sidebar-btn-bg)!important;border:1px solid var(--sidebar-border)!important;width:2rem!important;height:2rem!important;min-height:2rem!important;max-height:2rem!important;color:var(--sidebar-fg)!important;box-shadow:none!important;cursor:pointer!important;border-radius:9999px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.navbar-toolbar .icon-button:hover:not(:disabled),.navbar-toolbar .theme-toggle:hover:not(:disabled){transform:translateY(-1px);background:var(--sidebar-btn-hover)!important;color:#fff!important;border-color:#fff3!important}.navbar-toolbar .icon-button svg,.navbar-toolbar .theme-toggle svg{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1.05rem!important;height:1.05rem!important;display:block!important}.navbar-toolbar .lang-toggle{transition:all .2s;background:var(--sidebar-btn-bg)!important;border:1px solid var(--sidebar-border)!important;height:2rem!important;min-height:2rem!important;color:var(--sidebar-fg)!important;box-sizing:border-box!important;box-shadow:none!important;cursor:pointer!important;border-radius:9999px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;gap:.35rem!important;padding:.2rem .55rem!important;font-size:.75rem!important;display:inline-flex!important}.navbar-toolbar .lang-toggle:hover{transform:translateY(-1px);background:var(--sidebar-btn-hover)!important;color:#fff!important;border-color:#fff3!important}.navbar-toolbar .lang-toggle .lang-icon{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1rem!important;height:1rem!important;display:block!important}.navbar-toolbar .lang-toggle .lang-text{color:inherit!important;font-size:.75rem!important;font-weight:700!important}.navbar-toolbar .notification-trigger{width:2rem;height:2rem;min-height:2rem;color:var(--sidebar-fg);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;padding:0!important}.navbar-toolbar .notification-trigger:hover{color:#fff;background:var(--sidebar-btn-hover)}.navbar-toolbar .nav-toggle{color:var(--sidebar-fg);margin-left:auto;transition:all .2s;display:inline-flex}.navbar-toolbar .nav-toggle:hover{color:#fff;background:var(--sidebar-btn-hover)}.desktop-install-item{display:inline-flex}.mobile-install-item{display:none}.phone-only-install{display:inline-flex}@media (min-width:1024px){.phone-only-install{display:none!important}}.mobile-install-item .nav-link{background:var(--accent);border-radius:10px;justify-content:flex-start;width:100%;padding:.6rem .85rem!important;font-size:.88rem!important;font-weight:650!important}@supports (color:color-mix(in lab,red,red)){.mobile-install-item .nav-link{background:color-mix(in srgb,var(--accent) 12%,transparent)}}.mobile-install-item .nav-link{color:var(--accent)!important;border:1px solid var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.mobile-install-item .nav-link{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)!important}}.mobile-install-item .nav-link{box-sizing:border-box;gap:.6rem;margin-bottom:0;transition:background .18s,transform .15s}.mobile-install-item .nav-link:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.mobile-install-item .nav-link:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}}.mobile-install-item .nav-link:hover{transform:translateY(-1px)}.install-toolbar-btn{background:var(--accent);height:2rem;min-height:2rem;color:var(--accent-ink);cursor:pointer;white-space:nowrap;border:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0000001a}.install-toolbar-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.install-toolbar-btn:active{transform:translateY(0)}.navbar-toolbar .install-toolbar-btn{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.navbar-toolbar .install-toolbar-btn{background:color-mix(in srgb,var(--accent) 25%,transparent)}}.navbar-toolbar .install-toolbar-btn{color:var(--sidebar-fg);border:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.navbar-toolbar .install-toolbar-btn{border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}}.navbar-toolbar .install-toolbar-btn{box-shadow:none}.navbar-toolbar .install-toolbar-btn:hover{background:var(--accent);color:var(--accent-ink)}@media (max-width:400px){.install-toolbar-text{display:none}.install-toolbar-btn{justify-content:center;width:2rem;height:2rem;padding:0}}.nav-menu-wrapper{justify-content:space-between;min-height:0;margin-top:.85rem;overflow:hidden}.nav-links-scroll,.nav-menu-wrapper{flex-direction:column;flex:1;display:flex}.nav-links-scroll{scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent;gap:.25rem;margin-bottom:.75rem;padding-right:.25rem;overflow:hidden auto}.nav-links-scroll::-webkit-scrollbar{width:4px}.nav-links-scroll::-webkit-scrollbar-track{background:0 0}.nav-links-scroll::-webkit-scrollbar-thumb{background:var(--sidebar-border);border-radius:4px}.nav-link{white-space:nowrap;box-sizing:border-box;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.65rem .85rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .18s;display:flex;position:relative}.nav-link,.nav-link-icon{color:var(--sidebar-muted)}.nav-link-icon{flex-shrink:0;transition:color .18s,transform .18s}.nav-link:hover:not(.active){background:var(--sidebar-hover-bg);color:#fff;transform:translate(2px)}.nav-link:hover:not(.active) .nav-link-icon{color:#fff}.nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-fg);border-left:none;padding-left:.85rem;font-weight:600}.nav-link.active:hover{background:var(--sidebar-active-bg);transform:translate(2px)}.nav-link.active .nav-link-icon{color:var(--sidebar-active-fg)}.navbar-footer{border-top:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;gap:.5rem;padding-top:.75rem;display:flex}.nav-logout-btn{width:100%;height:2.35rem;min-height:2.35rem;color:var(--sidebar-fg);background:var(--sidebar-btn-bg);border:1px solid var(--sidebar-border);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.nav-logout-btn:hover{background:var(--sidebar-btn-hover);border-color:var(--sidebar-border);color:#fff;box-shadow:0 4px 12px -4px #00000040}.auth-buttons-group{flex-direction:column;gap:.5rem;width:100%;display:flex}.auth-buttons-group .nav-action{border-radius:10px;justify-content:center;width:100%;font-size:.85rem}.nav-action{background:var(--panel-soft);height:2.25rem;min-height:2.25rem;color:var(--foreground);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:9999px;justify-content:center;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.825rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-action:hover:not(:disabled){background:var(--panel);border-color:var(--line);color:var(--foreground);box-shadow:none;transform:translateY(-1px)}.nav-action-primary{background:var(--accent);color:var(--accent-ink);border:1px solid #0000}.nav-action-primary:hover:not(:disabled){background:var(--accent-strong);color:var(--accent-ink);box-shadow:0 4px 14px -4px var(--accent);transform:translateY(-1px)}.button-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.button-danger:hover:not(:disabled){background:var(--danger);color:#fff;box-shadow:0 8px 20px -6px #ef444466}.button-outline{color:var(--foreground);border:1px solid var(--line);background:0 0}.button-outline:hover:not(:disabled){background:var(--panel-soft);box-shadow:none}.page{width:min(1200px,100% - 2rem);color:var(--foreground);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 0}.page-narrow{flex-direction:column;justify-content:center;width:min(480px,100% - 2rem);min-height:calc(100vh - 5rem);display:flex}.hero-title{letter-spacing:-.02em;text-align:center;background:linear-gradient(to right,var(--foreground),var(--muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 1rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--muted);text-align:center;max-width:600px;margin:0 auto 3rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.page-title{letter-spacing:-.01em;margin:0 0 .5rem;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1}.section-title{letter-spacing:-.01em;margin:0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600}.muted,.page-kicker{color:var(--muted)}.page-kicker{max-width:38rem;margin:.65rem 0 0;line-height:1.6}.panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:16px;transition:transform .2s,box-shadow .2s}.panel-hover:hover{transform:translateY(-2px);box-shadow:0 12px 48px -12px #0000001a}.auth-panel{border-color:var(--line);max-width:480px;box-shadow:0 24px 60px -20px #c026d359,var(--shadow);margin:0 auto;padding:clamp(1.75rem,5vw,2.5rem);position:relative;overflow:hidden}.auth-panel:before{content:"";background:linear-gradient(90deg,var(--accent),var(--info));height:4px;position:absolute;top:0;left:0;right:0}.auth-panel .page-title{text-align:center}.auth-panel .page-kicker{text-align:center;margin-left:auto;margin-right:auto}.auth-tabs{background:var(--panel-soft);border:1px solid var(--line);border-radius:9999px;gap:.25rem;margin-bottom:1.5rem;padding:.35rem;display:flex}.auth-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:auto;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.auth-tab:hover:not(.active){color:var(--foreground);box-shadow:none;background:#0000000a;transform:none}[data-theme=dark] .auth-tab:hover:not(.active){background:#ffffff0f}.auth-tab.active{color:var(--foreground);background:var(--background);border:1px solid var(--line);transform:none;box-shadow:0 2px 10px #00000014}.auth-helper-card{text-align:left;background:#6b8e2317;border:1px solid #6b8e2340;border-radius:12px;flex-direction:column;gap:.65rem;margin-top:.25rem;padding:.9rem 1rem;font-size:.875rem;display:flex}[data-theme=dark] .auth-helper-card{background:#8fa85b1f;border-color:#8fa85b4d}.auth-helper-card-btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;min-height:2.1rem;padding:.55rem .9rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.auth-helper-card-btn:hover{background:var(--accent-strong);transform:translateY(-1px)}.password-input-wrap{align-items:center;width:100%;display:flex;position:relative}.password-input-wrap input{width:100%;margin:0;padding-right:3rem}.password-input-wrap input::-webkit-contacts-auto-fill-button,.password-input-wrap input::-webkit-credentials-auto-fill-button{visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;margin:0!important;display:none!important}.password-input-wrap input::-ms-clear,.password-input-wrap input::-ms-reveal{display:none!important}.password-toggle-btn{color:var(--muted);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:auto 0;padding:0;transition:color .15s,background-color .15s;display:flex;position:absolute;top:0;bottom:0;right:.75rem;width:2.25rem!important;height:2.25rem!important;min-height:unset!important;max-height:2.25rem!important}.password-toggle-btn,.password-toggle-btn:hover{box-shadow:none!important;transform:none!important}.password-toggle-btn:hover{color:var(--foreground);background:#0000000f}[data-theme=dark] .password-toggle-btn:hover{background:#ffffff1a}.form-stack{flex-direction:column;gap:1.15rem;margin-top:1.25rem;display:flex}.form-grid-2{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (max-width:480px){.form-grid-2{grid-template-columns:1fr}}.auth-checkbox-group{flex-direction:column;gap:.65rem;padding:.2rem 0;display:flex}.auth-checkbox-label{color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;font-size:.88rem;font-weight:500;line-height:1.4;display:flex}.auth-checkbox-label input[type=checkbox]{appearance:none;border:1.5px solid var(--line);background:var(--background);cursor:pointer;border-radius:4px;flex-shrink:0;place-content:center;width:1.15rem;height:1.15rem;margin:0;padding:0;transition:all .15s;display:grid}.auth-checkbox-label input[type=checkbox]:hover{border-color:var(--accent)}.auth-checkbox-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.auth-checkbox-label input[type=checkbox]:checked:before{content:"";border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);width:.6rem;height:.35rem;transform:rotate(-45deg)translate(1px,-1px)}.auth-email-field-anim{animation:authNoticeFadeIn .2s ease-out}@keyframes authNoticeFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-fallback-box{color:var(--foreground);text-align:left;background:#eab3081a;border:1px solid #eab3084d;border-radius:12px;align-items:flex-start;gap:.75rem;margin-top:1rem;margin-bottom:1rem;padding:.9rem 1.1rem;font-size:.88rem;line-height:1.5;display:flex}[data-theme=dark] .auth-fallback-box{background:#eab3081f;border-color:#eab30861}.auth-fallback-box svg{color:#d97706;flex-shrink:0;margin-top:.15rem}[data-theme=dark] .auth-fallback-box svg{color:#facc15}.auth-account-select-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;font-size:.85rem;display:flex}.auth-account-select-title{color:var(--foreground);margin-bottom:.25rem;font-weight:600}.auth-account-option-btn{background:var(--background);border:1px solid var(--line);cursor:pointer;text-align:left;min-height:auto;color:var(--foreground);border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.825rem;transition:all .15s;display:flex}.auth-account-option-btn:hover{border-color:var(--accent);background:#6b8e230d;transform:none}.auth-account-option-btn.selected{border-color:var(--accent);background:#6b8e231a;font-weight:600}.auth-faq-top-link{color:var(--accent);background:var(--panel-soft);border:1px solid var(--line);border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.auth-faq-top-link:hover{color:var(--foreground);border-color:var(--accent);transform:translateY(-1px)}.auth-faq-section{border-top:1px dashed var(--line);margin-top:1.75rem;padding-top:1.25rem}.auth-faq-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.auth-faq-title{color:var(--foreground);letter-spacing:-.01em;font-size:.875rem;font-weight:700}.auth-faq-link-subtle{color:var(--accent);font-size:.8rem;font-weight:600;text-decoration:none;transition:color .15s}.auth-faq-link-subtle:hover{color:var(--accent-strong);text-decoration:underline}.auth-faq-list{flex-direction:column;gap:.45rem;display:flex}.auth-faq-item{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;transition:all .2s;overflow:hidden}.auth-faq-item.open{background:#6b8e230a;border-color:#6b8e2366}[data-theme=dark] .auth-faq-item.open{background:#8fa85b14;border-color:#8fa85b66}.auth-faq-trigger{width:100%;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;min-height:auto;padding:.65rem .85rem;font-size:.825rem;font-weight:600;display:flex;box-shadow:none!important;transform:none!important}.auth-faq-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s}.auth-faq-item.open .auth-faq-chevron{color:var(--accent);transform:rotate(180deg)}.auth-faq-body{color:var(--muted);padding:0 .85rem .75rem;font-size:.8rem;line-height:1.5}.auth-faq-body p{margin:0}.auth-faq-btn-full{background:var(--panel-soft);color:var(--accent);border:1px solid var(--line);border-radius:9999px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8rem;font-weight:650;text-decoration:none;transition:all .2s;display:inline-flex}.auth-faq-btn-full:hover{background:var(--panel);border-color:var(--accent);color:var(--foreground);transform:translateY(-1px)}.guest-banner{background:linear-gradient(135deg,var(--panel),var(--panel-soft));border:1.5px solid var(--line);max-width:760px;box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;margin:0 auto 2.5rem;padding:1.75rem clamp(1.25rem,4vw,2.25rem);position:relative;overflow:hidden}.guest-banner:before{content:"";background:linear-gradient(90deg,var(--accent),var(--info));height:3px;position:absolute;top:0;left:0;right:0}.guest-banner-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;background:#6b8e231a;border-radius:9999px;align-items:center;gap:.35rem;margin-bottom:.65rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.guest-banner-title{letter-spacing:-.02em;color:var(--foreground);margin:0 0 .5rem;font-size:clamp(1.25rem,3.5vw,1.65rem);font-weight:800}.guest-banner-desc{color:var(--muted);max-width:580px;margin:0 auto 1.25rem;font-size:.9rem;line-height:1.55}.guest-banner-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.guest-banner-faq-btn{background:var(--panel-soft);border:1px solid var(--line);color:var(--foreground);border-radius:9999px;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:650;text-decoration:none;transition:all .2s;display:inline-flex}.guest-banner-faq-btn:hover{background:var(--panel);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.guest-banner-signup-btn{background:var(--accent);color:var(--accent-ink);border-radius:9999px;align-items:center;gap:.4rem;padding:.6rem 1.35rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #6b8e2359}.guest-banner-signup-btn:hover{background:var(--accent-strong);transform:translateY(-1px)}.guest-tutorial-container{max-width:820px;margin:0 auto 3rem}.tutorial-hero{text-align:center;margin-bottom:2.5rem}.physical-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;background:#6b8e231f;border:1px solid #6b8e2340;border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.tutorial-hero-title{letter-spacing:-.035em;color:var(--foreground);margin:.65rem 0 .5rem;font-size:clamp(1.75rem,5vw,2.65rem);font-weight:900;line-height:1.15}.highlight-text{color:var(--accent);-webkit-text-decoration:underline #6b8e2366;text-decoration:underline #6b8e2366}.tutorial-hero-subtitle{color:var(--muted);max-width:580px;margin:0 auto 1.5rem;font-size:clamp(.95rem,2.5vw,1.05rem);line-height:1.55}.physical-disclaimer-card{text-align:left;background:#ef444414;border:1.5px solid #ef44444d;border-radius:14px;align-items:flex-start;gap:.85rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.disclaimer-icon-wrap{width:36px;height:36px;color:var(--danger);background:#ef444426;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.disclaimer-content strong{color:var(--danger);margin-bottom:.2rem;font-size:.95rem;font-weight:800;display:block}.disclaimer-content p{color:var(--foreground);margin:0;font-size:.86rem;line-height:1.5}.tutorial-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.btn-hero-primary{background:var(--accent);color:var(--accent-ink);border-radius:9999px;align-items:center;gap:.45rem;padding:.7rem 1.6rem;font-size:.92rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 16px #6b8e2359}.btn-hero-primary:hover{background:var(--accent-strong);transform:translateY(-2px);box-shadow:0 6px 20px #6b8e2373}.btn-hero-secondary{background:var(--panel-soft);border:1px solid var(--line);color:var(--foreground);border-radius:9999px;align-items:center;gap:.4rem;padding:.7rem 1.35rem;font-size:.92rem;font-weight:650;text-decoration:none;transition:all .2s;display:inline-flex}.btn-hero-secondary:hover{background:var(--panel);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn-hero-outline{border:1.5px solid var(--line);color:var(--muted);background:0 0;border-radius:9999px;align-items:center;gap:.4rem;padding:.7rem 1.35rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-hero-outline:hover{border-color:var(--accent);color:var(--foreground)}.tutorial-video-card{box-shadow:var(--shadow);border-color:#6b8e234d;border-radius:20px;margin-bottom:2.5rem;padding:clamp(1.25rem,3.5vw,1.75rem)}.tutorial-video-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tutorial-video-wrapper{background:#000;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 8px 30px #00000040}.tutorial-video-player{background:#000;border-radius:14px;width:100%;max-height:520px;display:block}.tutorial-lang-toggle{background:var(--panel-soft);border:1px solid var(--line);border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.tutorial-lang-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.tutorial-lang-btn.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px #6b8e2340}.tutorial-translate-btn{color:var(--accent);cursor:pointer;background:#6b8e231f;border:1px solid #6b8e2340;border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.76rem;font-weight:700;transition:all .2s;display:inline-flex}.tutorial-translate-btn:hover{background:var(--accent);color:var(--accent-ink)}.tutorial-cat-chip{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.82rem;font-weight:650;transition:all .2s;display:inline-flex}.tutorial-cat-chip:hover{border-color:var(--accent);color:var(--foreground)}.tutorial-cat-chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 2px 8px #6b8e2340}.tutorial-guide-card{background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:clamp(1.25rem,3.5vw,1.85rem);transition:border-color .2s,box-shadow .2s}.tutorial-guide-card:hover{border-color:#6b8e2373}.tutorial-steps-section{margin-bottom:2.5rem}.tutorial-steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.tutorial-step-box{border-radius:14px;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.tutorial-step-header{justify-content:space-between;align-items:center;display:flex}.step-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:#6b8e231f;border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:800}.tutorial-step-box h3{color:var(--foreground);margin:0;font-size:1.02rem;font-weight:750}.tutorial-step-box p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.5}.tutorial-quick-faq{border-radius:18px;margin-bottom:1.5rem;padding:clamp(1.25rem,3.5vw,1.75rem)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:2rem;display:flex}.search-container{width:min(100%,640px);margin:0 auto 2rem;position:relative}.search-box{align-items:center;width:100%;display:flex;position:relative}.search-icon{color:var(--muted);position:absolute;left:1.25rem}.search-input{background:var(--panel);border:1px solid var(--line);height:3.5rem;box-shadow:var(--shadow);border-radius:9999px;padding-left:3rem;padding-right:1.25rem;font-size:1.125rem}.pills-container{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:3rem;display:flex}.pill{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.pill.active,.pill:hover{background:var(--panel);color:var(--foreground);border-color:var(--accent)}.pill.active{box-shadow:0 0 0 1px var(--accent)}.icon-button,.theme-toggle{transition:all .2s;background:var(--panel-soft)!important;width:2.25rem!important;height:2.25rem!important;min-height:2.25rem!important;max-height:2.25rem!important;color:var(--foreground)!important;border:1px solid var(--line)!important;cursor:pointer!important;box-shadow:none!important;box-sizing:border-box!important;border-radius:9999px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.icon-button:hover:not(:disabled),.theme-toggle:hover:not(:disabled){transform:translateY(-1px);background:var(--panel)!important;color:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 4px 12px -2px #0000001f!important}.icon-button svg,.theme-toggle svg{pointer-events:none;color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1.15rem!important;height:1.15rem!important;display:block!important}.status-message{color:var(--success);background:#10b9811a;border:1px solid #10b98133;border-radius:8px;margin:1rem 0;padding:.75rem 1rem}.empty-state{color:var(--muted);text-align:center;background:var(--panel-soft);border:1px dashed var(--line);border-radius:16px;margin-top:2rem;padding:3rem 1rem}.book-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.75rem;margin-top:1.5rem;display:grid}.book-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s cubic-bezier(.2,.8,.3,1),border-color .2s;display:flex;position:relative;overflow:visible}.book-card:hover{box-shadow:var(--shadow);border-color:#00000026;transform:translateY(-2px)}[data-theme=dark] .book-card:hover{border-color:#ffffff2e}.book-cover-3d{perspective:800px;cursor:pointer;justify-content:center;width:100%;height:220px;margin-bottom:.85rem;display:flex;position:relative}.book-cover-inner{width:160px;height:100%;transform-style:preserve-3d;border-radius:3px 8px 8px 3px;transition:transform .35s cubic-bezier(.2,.8,.3,1);position:relative}.book-card:hover .book-cover-inner,.book-cover-3d:hover .book-cover-inner{transform:rotateY(-18deg)translateY(-8px)scale(1.02)}.book-cover-inner .cover{border-radius:3px 8px 8px 3px;flex-direction:column;justify-content:flex-end;padding:14px 12px;transition:box-shadow .35s cubic-bezier(.2,.8,.3,1);display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 10px 20px -8px #00000073,0 2px 5px #00000040}.book-card:hover .book-cover-inner .cover{box-shadow:0 16px 28px -8px #0000008c,0 4px 10px #0000004d}.book-cover-inner .cover:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#00000061,#0000);width:14px;position:absolute;top:0;bottom:0;left:0}.book-cover-inner .cover:after{content:"";z-index:2;pointer-events:none;background:#ffffff40;width:1px;position:absolute;top:14px;bottom:14px;left:20px}.book-cover-inner .pages{z-index:1;background:repeating-linear-gradient(#f4ecd8 0 2px,#e4d9bd 2px 3px);border-radius:0 3px 3px 0;width:8px;position:absolute;top:4px;bottom:4px;right:-6px;box-shadow:1px 0 3px #0003}.book-cover-inner .badge{font-size:9px;font-family:var(--font-sans),-apple-system,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.8px;color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3;background:#0003;border:1px solid #ffffff8c;border-radius:20px;padding:2px 7px;font-weight:700;position:absolute;top:10px;left:14px}.book-cover-inner .cover-title-area{z-index:3;margin-bottom:2px;margin-left:6px}.book-cover-inner .title{color:#fffffffa;text-shadow:0 1px 3px #00000080;-webkit-line-clamp:3;letter-spacing:.2px;-webkit-box-orient:vertical;margin:0 0 4px;font-family:Georgia,Iowan Old Style,serif;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.book-cover-inner .author{color:#ffffffd9;font-size:11px;font-family:var(--font-sans),-apple-system,system-ui,sans-serif;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0006;margin:0;overflow:hidden}.book-cover-sm{height:150px;margin-bottom:0}.book-cover-sm .book-cover-inner{width:105px}.book-cover-sm .book-cover-inner .title{-webkit-line-clamp:2;font-size:11px}.book-cover-sm .book-cover-inner .author{font-size:9px}.book-title{margin:0 0 .5rem;font-size:1.15rem;font-weight:600;line-height:1.3}.book-meta{color:var(--muted);margin:0;font-size:.9rem}.book-subtle{color:var(--muted);background:var(--panel-soft);border-radius:8px;gap:.45rem;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.85rem;display:flex}.book-subtle,.tag{align-items:center}.tag{border:1px solid var(--accent);width:fit-content;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;background:#d946ef1a;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.button-row,.toolbar{flex-wrap:wrap;display:flex}.button-row{gap:.75rem}.error-text{color:var(--danger);background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin:0;padding:.75rem 1rem;font-size:.9rem}@media (max-width:1023px){.app-layout{flex-direction:column}.main-layout{width:100%;margin-left:0!important}.desktop-sidebar-expand-btn{display:none!important}.mobile-header{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:50;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;height:3.75rem;padding:0 1rem;position:sticky;top:0;left:0;right:0;display:flex!important}.mobile-header-left{align-items:center;gap:.65rem;display:flex}.mobile-header .brand-link{color:var(--foreground)!important}.mobile-header .brand-link:hover{background:var(--panel-soft)!important}.mobile-header .brand-title{letter-spacing:-.01em;color:var(--foreground)!important;font-weight:800!important}.mobile-header-right{align-items:center;gap:.35rem;display:flex}.mobile-header-right .toolbar-item{justify-content:center;align-items:center;display:inline-flex}.mobile-header-right .theme-toggle{background:var(--panel-soft)!important;border:1px solid var(--line)!important;width:2.25rem!important;height:2.25rem!important;min-height:2.25rem!important;max-height:2.25rem!important;color:var(--foreground)!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.mobile-header-right .theme-toggle:hover{background:var(--panel)!important;border-color:var(--accent)!important;color:var(--accent)!important}.mobile-header-right .theme-toggle svg{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1.15rem!important;height:1.15rem!important;display:block!important}.mobile-header-right .lang-toggle{background:var(--panel-soft)!important;border:1px solid var(--line)!important;height:2.25rem!important;min-height:2.25rem!important;color:var(--foreground)!important;border-radius:9999px!important;padding:.25rem .65rem!important}.mobile-header-right .lang-toggle:hover{background:var(--panel)!important;border-color:var(--accent)!important;color:var(--accent)!important}.mobile-header-right .notification-trigger{background:0 0!important;border:none!important;border-radius:9999px!important}.mobile-header-right .notification-trigger,.mobile-toggle-btn{width:2.25rem!important;height:2.25rem!important;min-height:2.25rem!important;color:var(--foreground)!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.mobile-toggle-btn{transition:all .2s;background:var(--panel-soft)!important;border:1px solid var(--line)!important;max-height:2.25rem!important;cursor:pointer!important;box-shadow:none!important;border-radius:9999px!important;flex-shrink:0!important}.mobile-toggle-btn:hover{background:var(--panel)!important;border-color:var(--accent)!important;color:var(--accent)!important}.mobile-toggle-btn svg{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1.25rem!important;height:1.25rem!important;display:block!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .35s cubic-bezier(.16,1,.3,1);position:fixed;inset:0;display:block!important}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.navbar{border-right:1px solid var(--line);visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s step-end;box-shadow:0 0 50px #0000004d;z-index:100!important;background:var(--background)!important;border-bottom:none!important;width:min(300px,85vw)!important;height:100vh!important;max-height:100vh!important;margin-left:0!important;padding:1.25rem 1rem 1.15rem!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:translate(-100%)!important}.navbar.open{transition:transform .35s cubic-bezier(.16,1,.3,1),visibility linear;visibility:visible!important;pointer-events:auto!important;transform:translate(0)!important}.navbar.collapsed{visibility:hidden!important;margin-left:0!important;transform:translate(-100%)!important}.drawer-close-btn{display:inline-flex!important}.desktop-install-item,.navbar-toolbar .nav-toggle{display:none!important}.mobile-install-item{margin-bottom:.35rem;display:block}.nav-links-scroll{gap:.35rem;margin-bottom:1rem;padding-right:0;overflow-y:auto}.nav-link{padding:.65rem .85rem}.nav-link.active:hover,.nav-link:hover:not(.active){transform:none}.navbar-footer{border-top:1px solid var(--line);padding-top:.75rem}.auth-buttons-group{flex-direction:row}.auth-buttons-group .nav-action{flex:1}:root:not([data-theme=dark]) .navbar{background:var(--background)!important;border-right:1px solid var(--line)!important}:root:not([data-theme=dark]) .navbar .brand-title{color:var(--foreground)!important;font-weight:800!important}:root:not([data-theme=dark]) .navbar .drawer-close-btn{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--foreground)!important}:root:not([data-theme=dark]) .navbar .drawer-close-btn:hover{background:var(--panel-soft)!important;color:var(--accent)!important}:root:not([data-theme=dark]) .navbar .navbar-toolbar .lang-toggle,:root:not([data-theme=dark]) .navbar .navbar-toolbar .notification-trigger,:root:not([data-theme=dark]) .navbar .navbar-toolbar .theme-toggle,:root:not([data-theme=dark]) .navbar .navbar-toolbar .toolbar-item button{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--foreground)!important}:root:not([data-theme=dark]) .navbar .nav-link{color:var(--foreground)!important;font-weight:600!important}:root:not([data-theme=dark]) .navbar .nav-link .nav-link-icon{color:var(--accent)!important}:root:not([data-theme=dark]) .navbar .nav-link:hover:not(.active){color:var(--accent-strong)!important;background:#24526017!important}:root:not([data-theme=dark]) .navbar .nav-link:hover:not(.active) .nav-link-icon{color:var(--accent-strong)!important}:root:not([data-theme=dark]) .navbar .nav-link.active{color:var(--accent-strong)!important;background:#24526029!important;font-weight:750!important}:root:not([data-theme=dark]) .navbar .nav-link.active .nav-link-icon{color:var(--accent-strong)!important}:root:not([data-theme=dark]) .navbar .nav-logout-btn{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--foreground)!important;font-weight:600!important}:root:not([data-theme=dark]) .navbar .nav-logout-btn:hover{color:var(--danger)!important;background:#d645451a!important;border-color:#d645454d!important}.hero-title{font-size:2rem}}@media (max-width:640px){.page{padding:1.5rem 0 3rem}.page,.page-narrow{width:calc(100% - 1.5rem)}.page-narrow{justify-content:flex-start;min-height:calc(100vh - 4rem);padding-top:2rem}.page-title{font-size:1.75rem}.section-title{font-size:1.1rem}.pills-container{gap:.4rem;padding:.35rem}.pill{padding:.4rem .75rem;font-size:.8rem}.search-input{height:3rem;font-size:1rem}.book-grid{grid-template-columns:1fr;gap:1rem;margin-top:1rem}.toolbar{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.toolbar a button,.toolbar button{width:100%}button:not(.dot):not(.cat-stage):not(.password-toggle-btn){min-height:2.75rem}.profile-stats{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1rem 0 1.5rem}.stat-card{padding:1rem}.stat-value{font-size:1.35rem}.stat-label{font-size:.75rem}.notification-card{gap:.75rem;padding:1rem}input,select,textarea{padding:.75rem 1rem;font-size:1rem}.auth-panel{padding:1.5rem 1.25rem}.button-row{flex-direction:column;gap:.5rem}.button-row button{flex:none;width:100%}.duration-grid{grid-template-columns:1fr}.countdown-panel{padding:.85rem 1rem}.book-subtle{font-size:.8rem}.page-header{margin-bottom:1.25rem}}.profile-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0 2rem;display:grid}.stat-card{padding:1.25rem 1.5rem}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.85rem;font-weight:500}.stat-value{letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:700}.activity-list,.notification-card{flex-direction:column;gap:1rem;display:flex}.notification-card{padding:1.5rem}.notification-title{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .35rem;font-size:1.1rem;font-weight:600;display:flex}.notification-topline{justify-content:space-between;align-items:flex-start;display:flex}.notification-label{align-items:center;gap:.5rem;display:flex}.notification-dismiss{width:2rem;height:2rem;min-height:2rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.notification-dismiss:hover{background:var(--panel-soft);color:var(--foreground)}.notification-icon{color:var(--foreground);justify-content:center;align-items:center;display:flex}.notification-actions{flex-direction:column;gap:1.25rem;margin-top:.5rem;display:flex}.notification-copy{margin:0;line-height:1.5}.duration-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.duration-grid label{flex-direction:column;gap:.5rem;font-size:.95rem;font-weight:500;display:flex}.countdown-panel{background:var(--panel-soft);border:1px solid var(--line);border-radius:12px;padding:1rem 1.25rem}.overdue-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.overdue-modal{width:min(440px,100%);padding:clamp(1.5rem,5vw,2.5rem)}.overdue-logout{width:100%;margin-top:1.5rem;display:block}:root,[data-theme=light]{--panel-solid:#fff}[data-theme=dark]{--panel-solid:#18181b}.panel-solid{background:var(--panel-solid);-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes border-shimmer{0%{border-color:#8fa85b;box-shadow:0 0 #8fa85b26,inset 0 0 20px -10px #8fa85b0d}50%{border-color:#6b8e23;box-shadow:0 0 10px 2px #6b8e2326,inset 0 0 20px -10px #6b8e230d}to{border-color:#8fa85b;box-shadow:0 0 #8fa85b26,inset 0 0 20px -10px #8fa85b0d}}[data-theme=dark] .request-card-border,[data-theme=light] .request-card-border{animation:border-shimmer 3s ease-in-out infinite}.hide-spin-button::-webkit-inner-spin-button,.hide-spin-button::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hide-spin-button{-moz-appearance:textfield}.admin-page{max-width:1240px}.admin-loading{min-height:50vh;color:var(--muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.admin-loading svg{color:var(--accent)}.admin-hero{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1rem;padding:clamp(1.5rem,4vw,2.5rem);display:flex;position:relative;overflow:hidden}.admin-hero:after{content:"";background:radial-gradient(circle,var(--mesh-1),transparent 70%);pointer-events:none;border-radius:50%;width:21rem;height:21rem;position:absolute;top:-14rem;right:-8rem}.admin-hero-copy{z-index:1;position:relative}.admin-hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5vw,4rem);line-height:.98}.admin-hero-copy>p:last-child{color:var(--muted);margin:.8rem 0 0;font-size:1rem}.admin-eyebrow{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;gap:.45rem;margin:0 0 .8rem;font-size:.74rem;font-weight:750}.admin-eyebrow,.admin-live{align-items:center;display:inline-flex}.admin-live{z-index:1;color:var(--foreground);background:var(--panel-soft);border:1px solid var(--line);white-space:nowrap;border-radius:999px;gap:.5rem;padding:.55rem .85rem;font-size:.8rem;font-weight:650;position:relative}.admin-live-dot{background:var(--success);width:.5rem;height:.5rem;box-shadow:0 0 0 4px var(--success);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.admin-live-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 13%,transparent)}}.admin-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.admin-metric{align-items:flex-start;gap:.8rem;padding:1.1rem;display:flex}.admin-metric>svg{width:1.15rem;color:var(--accent);margin-top:.2rem}.admin-metric.attention strong,.admin-metric.attention>svg{color:var(--danger)}.admin-metric small,.admin-metric span{color:var(--muted);font-size:.75rem;display:block}.admin-metric span{text-transform:uppercase;letter-spacing:.06em;font-weight:650}.admin-metric strong{letter-spacing:-.05em;margin:.15rem 0 .05rem;font-size:1.7rem;line-height:1;display:block}.admin-workspace{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:clamp(1rem,2vw,1.35rem)}@supports (color:color-mix(in lab,red,red)){.admin-workspace{background:color-mix(in srgb,var(--panel) 80%,transparent)}}.admin-workspace{box-shadow:var(--shadow)}.admin-workspace-bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-tabs{border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;gap:.25rem;padding:.3rem;display:inline-flex}.admin-tabs button{min-height:2.25rem;color:var(--muted);box-shadow:none;background:0 0;padding:.35rem .45rem .35rem .8rem;font-size:.8rem}.admin-tabs button b{background:var(--line);border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;margin-left:.35rem;padding:0 .2rem;font-size:.68rem;display:inline-grid}.admin-tabs button.active,.admin-tabs button:hover{color:var(--foreground);background:var(--panel-solid);box-shadow:var(--shadow);transform:none}.admin-tabs button.active b{color:var(--accent-ink);background:var(--accent)}.admin-tabs button.tab-attention b{color:#fff;background:var(--danger)}.admin-search{align-items:center;width:min(100%,310px);display:flex;position:relative}.admin-search svg{color:var(--muted);pointer-events:none;position:absolute;left:.85rem}.admin-search input{min-height:2.75rem;padding:.6rem .85rem .6rem 2.45rem;font-size:.86rem}.admin-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-content-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-card{padding:1rem;overflow:hidden}.admin-card-top{align-items:center;gap:.65rem;min-width:0;display:flex}.admin-avatar{width:2.3rem;height:2.3rem;color:var(--accent-ink);background:linear-gradient(135deg,var(--accent),var(--info));border-radius:.75rem;flex:none;place-items:center;font-weight:800;display:grid}.admin-avatar.book{color:var(--accent);background:var(--panel-soft);border:1px solid var(--line)}.admin-identity{flex:1;min-width:0}.admin-identity span,.admin-identity strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-identity strong{font-size:.92rem}.admin-identity span{color:var(--muted);margin-top:.15rem;font-size:.75rem}.admin-status{text-transform:capitalize;border-radius:999px;width:fit-content;padding:.25rem .5rem;font-size:.66rem;font-weight:750;display:inline-flex}.admin-status.success{color:var(--success);background:var(--success)}@supports (color:color-mix(in lab,red,red)){.admin-status.success{background:color-mix(in srgb,var(--success) 14%,transparent)}}.admin-status.danger{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.admin-status.danger{background:color-mix(in srgb,var(--danger) 14%,transparent)}}.admin-status.admin{color:var(--info);background:var(--info)}@supports (color:color-mix(in lab,red,red)){.admin-status.admin{background:color-mix(in srgb,var(--info) 14%,transparent)}}.admin-status.neutral{color:var(--muted);background:var(--panel-soft)}.admin-card-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.95rem 0;padding:.75rem 0;display:grid}.admin-card-details span{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.admin-card-details b{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem;font-size:.62rem;font-weight:650;display:block}.admin-card-footer{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.admin-card-footer p{color:var(--muted);margin:0;font-size:.73rem}.admin-card-footer em{color:var(--danger);font-style:normal}.admin-card-footer button{white-space:nowrap;min-height:2.15rem;padding:.35rem .65rem;font-size:.72rem}.admin-no-results{min-height:14rem;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.35rem;display:grid}.admin-no-results p{margin:0}.admin-empty{text-align:center;max-width:580px;margin:4rem auto;padding:2.5rem}.admin-empty svg{color:var(--accent);margin-bottom:1rem}.admin-empty p{color:var(--muted);line-height:1.6}.admin-empty code{color:var(--foreground)}.admin-metric-btn{cursor:pointer;text-align:left;transition:box-shadow .15s,transform .12s}.admin-metric-btn:hover{box-shadow:0 4px 18px var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.admin-metric-btn:hover{box-shadow:0 4px 18px color-mix(in srgb,var(--accent) 12%,transparent)}}.admin-metric-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-avatar.book.overdue{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.admin-avatar.book.overdue{background:color-mix(in srgb,var(--danger) 12%,transparent)}}.admin-avatar.book.overdue{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.admin-avatar.book.overdue{border-color:color-mix(in srgb,var(--danger) 25%,transparent)}}.admin-card-overdue{border:1px solid var(--danger)!important}@supports (color:color-mix(in lab,red,red)){.admin-card-overdue{border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)!important}}.admin-card-due-danger{color:var(--danger)!important}.admin-loan-filters{border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;gap:.25rem;padding:.3rem;display:inline-flex}.admin-loan-filter-btn{min-height:2.1rem;color:var(--muted);box-shadow:none;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.78rem}.admin-loan-filter-btn.active,.admin-loan-filter-btn:hover{color:var(--foreground);background:var(--panel-solid);box-shadow:var(--shadow);transform:none}.admin-avatar-link{cursor:pointer;text-decoration:none;transition:transform .15s,opacity .15s}.admin-avatar-link:hover{opacity:.92;transform:scale(1.06)}.admin-user-name-link{color:var(--foreground);align-items:center;gap:.35rem;max-width:100%;text-decoration:none;transition:color .15s;display:inline-flex}.admin-user-name-link:hover{color:var(--accent)}.admin-user-name-link:hover strong{text-decoration:underline}.admin-user-link-icon{opacity:.45;flex-shrink:0;transition:opacity .15s,transform .15s}.admin-user-name-link:hover .admin-user-link-icon{opacity:1;transform:translate(1px,-1px)}.admin-card-actions{align-items:center;gap:.5rem;display:flex}.admin-profile-link-btn{white-space:nowrap;align-items:center;gap:.35rem;min-height:2.15rem!important;padding:.35rem .65rem!important;font-size:.72rem!important;text-decoration:none!important;display:inline-flex!important}.admin-meta-link{color:var(--accent);font-weight:600;text-decoration:none;transition:opacity .15s}.admin-meta-link:hover{opacity:.85;text-decoration:underline}.onboarding-overlay{z-index:9000;background:var(--background);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.onboarding-overlay{background:color-mix(in srgb,var(--background) 70%,transparent)}}.onboarding-overlay{-webkit-backdrop-filter:blur(10px);animation:onboarding-fade-in .25s}@keyframes onboarding-fade-in{0%{opacity:0}to{opacity:1}}.onboarding-modal{border-radius:20px;flex-direction:column;gap:1rem;width:100%;max-width:420px;padding:2rem 1.6rem 1.6rem;animation:onboarding-slide-in .3s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}@keyframes onboarding-slide-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}.onboarding-close-btn{background:var(--panel-soft);width:2rem;height:2rem;color:var(--muted);box-shadow:none;min-height:unset;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:.85rem;right:.85rem}.onboarding-close-btn:hover{background:var(--line);color:var(--foreground);transform:none}.onboarding-icon-center{justify-content:center;display:flex}.onboarding-icon{background:linear-gradient(135deg,var(--accent),var(--info));width:3rem;height:3rem;color:var(--accent-ink);border-radius:14px;place-items:center;display:grid}.onboarding-title{margin:0;font-size:1.15rem;font-weight:750}.onboarding-subtitle{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.onboarding-subtitle strong{color:var(--foreground)}.onboarding-tip{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);border-radius:12px;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.5;display:flex}.onboarding-tip>svg{color:var(--accent);flex-shrink:0;margin-top:.1rem}.onboarding-tip strong{color:var(--foreground)}.onboarding-footer{flex-direction:column;align-items:stretch;gap:.45rem;margin-top:.25rem;display:flex}.onboarding-finish-btn{background:linear-gradient(135deg,var(--accent),var(--info));width:100%;min-height:2.75rem;color:var(--accent-ink);font-size:.92rem;font-weight:700;transition:opacity .15s,transform .12s}.onboarding-skip-btn{width:100%;min-height:2.25rem;color:var(--muted);box-shadow:none;background:0 0;font-size:.82rem;font-weight:600}.onboarding-input-group{flex-direction:column;gap:.45rem;width:100%;display:flex}.onboarding-input-wrap{background:var(--panel-soft);border:1px solid var(--line);border-radius:12px;align-items:center;width:100%;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.onboarding-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab,red,red)){.onboarding-input-wrap:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}}.onboarding-input-at{color:var(--accent);-webkit-user-select:none;user-select:none;align-items:center;padding-left:.85rem;font-size:1.05rem;font-weight:700;display:flex}.onboarding-input-wrap input{color:var(--foreground);min-height:unset;flex:1;padding:.75rem .85rem .75rem .4rem;font-size:.95rem;font-weight:600;box-shadow:none!important;background:0 0!important;border:none!important}.onboarding-input-wrap input:focus{outline:none}.onboarding-status-hint{align-items:center;gap:.35rem;padding-left:.25rem;font-size:.8rem;line-height:1.35;display:flex}.following-search-section{margin-bottom:2.5rem}.following-search-results{border-radius:16px;overflow:hidden}.following-user-row{border-bottom:1px solid var(--line);align-items:center;gap:.85rem;padding:.85rem 1.25rem;transition:background .15s;display:flex}.following-user-row:last-child{border-bottom:none}.following-user-row:hover{background:var(--panel-soft)}.following-user-avatar{background:linear-gradient(135deg,var(--accent),var(--info));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:800;display:grid}.following-user-avatar--sm{width:2rem;height:2rem;font-size:.8rem}.following-user-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.following-user-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.following-user-name:hover{color:var(--accent)}.following-user-meta{color:var(--muted);font-size:.78rem}.following-toggle-btn{border-radius:9999px;flex-shrink:0;min-height:2rem;padding:.3rem .85rem;font-size:.8rem}.following-member-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;justify-content:space-between;gap:.85rem;padding:1.15rem 1.15rem 1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.following-member-card:hover{border-color:#3a839666;transform:translateY(-2px);box-shadow:0 8px 24px -6px #00000040}.following-add-btn{width:100%;min-height:2.25rem;color:var(--accent);cursor:pointer;background:#3a83961a;border:1px solid #3a839647;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.45rem 1rem;font-size:.82rem;font-weight:650;transition:all .18s;display:inline-flex}.following-add-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px -3px #3a839680}.following-add-btn:hover:not(:disabled) svg{color:#fff!important}.following-add-btn:disabled{opacity:.6;cursor:wait}.following-unfollow-icon-btn{border-radius:50%;place-items:center;width:2rem;height:2rem;min-height:2rem;padding:0;display:grid}.following-columns{grid-template-columns:280px 1fr;align-items:start;gap:1.5rem;display:grid}.following-panel{padding:1.25rem}.following-panel-header{color:var(--foreground);align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.following-count{background:var(--accent);min-width:1.35rem;height:1.35rem;color:var(--accent-ink);border-radius:9999px;place-items:center;margin-left:.4rem;padding:0 .3rem;font-size:.7rem;font-weight:700;display:inline-grid}.following-empty{color:var(--muted);text-align:center;margin:0;padding:1rem .5rem;font-size:.875rem;line-height:1.5}.following-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.following-list-item{border-radius:10px;align-items:center;gap:.65rem;padding:.5rem .65rem;transition:background .15s;display:flex}.following-list-item:hover{background:var(--panel-soft)}.following-feed-section{min-width:0}.following-feed{flex-direction:column;gap:1rem;display:flex}.following-feed-card{flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.following-feed-card--unread{border-left:3px solid var(--accent)}.following-feed-card-top{align-items:flex-start;gap:.75rem;display:flex}.following-feed-avatar{background:linear-gradient(135deg,var(--accent),var(--info));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:800;display:grid}.following-feed-headline{color:var(--foreground);margin:0;font-size:.9rem;line-height:1.4}.following-feed-actor{color:var(--foreground);font-weight:700}.following-feed-actor:hover{color:var(--accent)}.following-feed-time{color:var(--muted);margin:.15rem 0 0;font-size:.75rem}.following-feed-book{background:var(--panel-soft);border-left:2px solid var(--accent);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .85rem;display:flex}.following-feed-book-title{margin:0;font-size:.9rem;font-weight:600;line-height:1.3}.following-feed-book-author{color:var(--muted);margin:.15rem 0 0;font-size:.78rem}@media (max-width:720px){.following-columns{grid-template-columns:1fr}}.admin-bulk-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-bulk-actions>button{white-space:nowrap;min-height:2.25rem;padding:.35rem .85rem;font-size:.8rem}.admin-bulk-remove{align-items:center;gap:.4rem;display:flex}.admin-bulk-remove select{border-radius:9999px;width:auto;min-width:110px;min-height:2.25rem;padding:.35rem .75rem;font-size:.8rem}.admin-bulk-remove button{white-space:nowrap;min-height:2.25rem;padding:.35rem .85rem;font-size:.8rem}@media (max-width:1000px){.admin-content-grid,.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.admin-hero{flex-direction:column;align-items:flex-start;gap:1.2rem}.admin-overview{grid-template-columns:1fr 1fr;gap:.55rem}.admin-metric{gap:.55rem;padding:.85rem}.admin-metric strong{font-size:1.4rem}.admin-metric small{font-size:.65rem}.admin-workspace{padding:.75rem}.admin-workspace-bar{flex-direction:column;align-items:stretch}.admin-tabs{width:100%}.admin-tabs button{flex:1;justify-content:center;padding-left:.35rem}.admin-search{width:100%}.admin-card-grid,.admin-content-grid{grid-template-columns:1fr}.admin-bulk-actions{flex-direction:column;align-items:stretch}.admin-bulk-actions>button,.admin-bulk-remove{width:100%}.admin-bulk-remove button,.admin-bulk-remove select{flex:1}}.lang-toggle{-webkit-user-select:none;user-select:none;transition:all .2s;background:var(--panel-soft)!important;height:2.25rem!important;min-height:2.25rem!important;color:var(--foreground)!important;border:1px solid var(--line)!important;cursor:pointer!important;box-sizing:border-box!important;box-shadow:none!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;gap:.35rem!important;padding:.35rem .65rem!important;font-size:.8rem!important;font-weight:600!important;display:inline-flex!important}.lang-toggle:hover{transform:translateY(-1px);background:var(--panel)!important;border-color:var(--accent)!important;color:var(--accent)!important}.lang-toggle .lang-icon{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:1.05rem!important;height:1.05rem!important;display:block!important}.lang-toggle .lang-text{letter-spacing:.02em;font-size:.75rem;font-weight:700;color:inherit!important}#goog-gt-tt,#google_translate_element,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-SmKA1-fh7Pe-OevHbe,.VIpgJd-ZVi9od-aZ2wEe-OiiCO,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-ZVi9od-hSRGPd,.VIpgJd-ZVi9od-vH1Gmf-ibnC6b,.VIpgJd-ZVi9od-xl07Ob-OevHbe,.goog-logo-link,.goog-te-balloon-frame,.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate,.goog-te-gadget,.goog-te-gadget-icon,.goog-te-spinner-pos,.goog-text-highlight,.goog-tooltip,.goog-tooltip:hover,body>.skiptranslate:not(.navbar):not(.brand-link):not(.brand-mark),body>div[id^=goog],body>iframe.skiptranslate,div[class*=VIpgJd],iframe[class*=VIpgJd],iframe[src*=translate\.google]{opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:-9999!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;width:0!important;height:0!important;display:none!important;position:absolute!important;top:-9999px!important;left:-9999px!important}body{position:static!important;top:0!important}font{box-shadow:none!important;font:inherit!important;color:inherit!important;background-color:#0000!important}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.add-to-list-modal{text-align:center;border:1px solid var(--line);width:min(400px,100% - 2rem);padding:clamp(1.5rem,5vw,2rem);box-shadow:0 25px 60px #0000004d}.smart-prompt-bar{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;animation:prompt-bar-in .35s cubic-bezier(.22,1,.36,1) both;display:flex}@keyframes prompt-bar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.smart-prompt-chip{background:var(--panel-solid,var(--background));border:1px solid var(--line);border-radius:9999px;align-items:center;gap:.5rem;padding:.3rem .45rem .3rem .55rem;font-size:.78rem;animation:chip-pop .25s cubic-bezier(.22,1,.36,1) both;display:flex;box-shadow:0 2px 8px #0000000f}@keyframes chip-pop{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}.smart-prompt-chip-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:flex}.install-chip-icon{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.install-chip-icon{background:color-mix(in srgb,var(--accent) 15%,transparent)}}.install-chip-icon{color:var(--accent)}.notif-chip-icon{background:var(--info)}@supports (color:color-mix(in lab,red,red)){.notif-chip-icon{background:color-mix(in srgb,var(--info) 15%,transparent)}}.notif-chip-icon{color:var(--info)}.notif-chip-icon.denied{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.notif-chip-icon.denied{background:color-mix(in srgb,var(--danger) 12%,transparent)}}.notif-chip-icon.denied{color:var(--danger)}.smart-prompt-chip-label{color:var(--foreground);white-space:nowrap;padding:0 .15rem;font-weight:600}.smart-prompt-chip-label.muted{color:var(--muted);white-space:normal;font-size:.74rem;font-weight:400}.smart-prompt-chip-label.success{color:var(--success);font-weight:600}.smart-prompt-chip-action{min-height:unset;background:var(--accent);color:var(--accent-ink);white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.25rem .7rem;font-size:.74rem;font-weight:700;transition:background .15s,opacity .15s}.smart-prompt-chip-action:hover{background:var(--accent-strong)}.smart-prompt-chip-action:disabled{opacity:.6;cursor:default}.smart-prompt-chip-action.notif-action,.smart-prompt-chip-action.notif-action:hover{background:var(--info)}@supports (color:color-mix(in lab,red,red)){.smart-prompt-chip-action.notif-action:hover{background:color-mix(in srgb,var(--info) 80%,black)}}.smart-prompt-chip-dismiss{color:var(--muted);min-height:unset;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:.2rem;display:flex}.smart-prompt-chip-dismiss:hover{background:var(--line);color:var(--foreground)}.guest-cta-bar{z-index:10;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);border-radius:16px;margin-bottom:1.5rem;padding:.85rem 1.25rem;animation:prompt-bar-in .4s cubic-bezier(.22,1,.36,1) both;position:relative}.guest-cta-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.guest-cta-brand{color:var(--muted);flex-shrink:0;align-items:center;gap:.5rem;font-size:.83rem;font-weight:500;display:flex}.guest-cta-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.guest-cta-link{color:var(--foreground);border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:9999px;align-items:center;gap:.3rem;padding:.38rem .85rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.guest-cta-link:hover{background:var(--line);border-color:var(--muted);color:var(--foreground);transform:translateY(-1px)}.guest-cta-link:active{transform:translateY(0)}.guest-cta-primary{background:var(--accent);color:var(--accent-ink);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.38rem 1rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 2px 10px #6b8e234d}.guest-cta-primary:hover{background:var(--accent-strong);color:var(--accent-ink);transform:translateY(-1px);box-shadow:0 4px 14px #6b8e2366}.guest-cta-primary:active{transform:translateY(0)}.guest-cta-install{color:var(--foreground);border:1px solid var(--line);min-height:unset;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:9999px;align-items:center;gap:.3rem;padding:.38rem .85rem;font-size:.8rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.guest-cta-install:hover{background:var(--panel-soft);transform:translateY(-1px)}.guest-cta-install:active{transform:translateY(0)}@media (max-width:520px){.guest-cta-inner{flex-direction:column;align-items:flex-start}.guest-cta-actions{width:100%}}@property --p{syntax:"<percentage>";inherits:false;initial-value:0}@property --n{syntax:"<integer>";inherits:false;initial-value:0}@property --v{syntax:"<integer>";inherits:true;initial-value:0}.gh-page{--bg:#111d22;--bg-deep:#0b1317;--paper:#e3f1f3;--paper-dim:#c5dcdf;--ink:#111d22;--text:#e3f1f3;--text-muted:#8fb0b7;--text-faint:#5c7b83;--gold:#f5b754;--gold-dim:#d18e28;--rose:#c07c86;--teal:#3a8396;--rust:#b5613f;--hairline:#e3f1f324;--fg:227,241,243;--gold-text:#f5b754;--on-gold:#111d22;--serif:"Spectral",Georgia,"Times New Roman",serif;--sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:20px;background:var(--bg);color:var(--text);font-family:var(--sans);width:100%;margin:0;position:relative;overflow:clip visible}:root:not([data-theme=dark]) .gh-page,[data-theme=light] .gh-page{--bg:#cbe0de;--bg-deep:#b4cecb;--paper:#173b47;--paper-dim:#204856;--ink:#fff;--text:#173b47;--text-muted:#537882;--text-faint:#759ca6;--hairline:#173b4724;--fg:23,59,71;--gold:#e8a33d;--gold-dim:#c68220;--gold-text:#b87414;--on-gold:#111d22;--rose:#c07c86;--teal:#245260;--rust:#b5613f}[data-theme=dark] .gh-page{--bg:#111d22;--bg-deep:#0b1317;--paper:#e3f1f3;--paper-dim:#c5dcdf;--ink:#111d22;--text:#e3f1f3;--text-muted:#8fb0b7;--text-faint:#5c7b83;--gold:#f5b754;--gold-dim:#d18e28;--rose:#c07c86;--teal:#3a8396;--rust:#b5613f;--hairline:#e3f1f324;--fg:227,241,243;--gold-text:#f5b754;--on-gold:#111d22}.gh-page *{box-sizing:border-box}.gh-page img,.gh-page svg{max-width:100%;display:block}.gh-page a{color:inherit;text-decoration:none}.gh-page button{font-family:inherit}.gh-page ::selection{background:var(--gold);color:var(--on-gold)}.gh-page :focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.gh-page .container{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}.gh-page .nav{z-index:40;opacity:0;pointer-events:none;justify-content:space-between;align-items:center;padding:22px clamp(20px,5vw,64px);transition:opacity .4s,transform .4s,background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-8px)}.gh-page .nav.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.gh-page .nav.is-solid{background:var(--bg)}@supports (color:color-mix(in lab,red,red)){.gh-page .nav.is-solid{background:color-mix(in srgb,var(--bg) 88%,transparent)}}.gh-page .nav.is-solid{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}.gh-page .nav-mark{font-family:var(--serif);letter-spacing:.01em;font-size:19px;font-style:italic}.gh-page .gh-nav-link,.gh-page .nav-link{width:auto!important;min-width:0!important;max-width:max-content!important;color:var(--text-muted)!important;border:1px solid var(--hairline)!important;white-space:nowrap!important;box-shadow:none!important;background:0 0!important;border-radius:9999px!important;flex:none!important;justify-content:center!important;align-items:center!important;margin-left:auto!important;padding:6px 16px!important;font-size:13.5px!important;font-weight:500!important;line-height:1.4!important;text-decoration:none!important;transition:color .2s,border-color .2s,background-color .2s!important;display:inline-flex!important;transform:none!important}.gh-page .gh-nav-link:hover,.gh-page .nav-link:hover{color:var(--text)!important;border-color:var(--gold)!important;background:var(--gold)!important}@supports (color:color-mix(in lab,red,red)){.gh-page .gh-nav-link:hover,.gh-page .nav-link:hover{background:color-mix(in srgb,var(--gold) 10%,transparent)!important}}.gh-page .gh-nav-link:hover,.gh-page .nav-link:hover{transform:none!important}.gh-page .hero{flex-direction:column;justify-content:center;min-height:100vh;padding-top:80px;padding-bottom:40px;display:flex;position:relative}.gh-page .hero-stage{grid-template-columns:1.05fr .95fr;align-items:center;gap:32px;display:grid}.gh-page .hero-word{font-family:var(--serif);color:var(--text);margin:0 0 22px;font-size:clamp(56px,8vw,96px);font-style:italic;font-weight:500;line-height:.95}.gh-page .hero-tagline{font-family:var(--serif);color:var(--text);max-width:15ch;margin:0 0 20px;font-size:clamp(22px,2.6vw,30px);line-height:1.3}.gh-page .hero-sub{color:var(--text-muted);max-width:42ch;margin:0 0 36px;font-size:16px;line-height:1.65}.gh-page .hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:34px;display:flex}.gh-page .btn-primary{background:var(--gold);color:var(--on-gold);border-radius:100px;align-items:center;gap:9px;padding:14px 26px;font-size:15px;font-weight:600;transition:transform .18s,background .18s;display:inline-flex}.gh-page .btn-primary:hover{background:#dcb562;transform:translateY(-1px)}.gh-page .btn-primary svg{width:16px;height:16px}.gh-page .btn-secondary{color:var(--text);border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:14px 8px;font-size:15px;font-weight:500;transition:border-color .18s,opacity .18s;display:inline-flex}.gh-page .btn-secondary:hover{border-color:var(--gold)}.gh-page .hero-badges{flex-wrap:wrap;gap:10px;display:flex}.gh-page .pill{color:var(--text-muted);border:1px solid var(--hairline);border-radius:100px;padding:7px 14px;font-size:13px}.gh-page .book-stage{height:440px;position:relative}.gh-page .book{border-radius:5px 10px 10px 5px;flex-direction:column;justify-content:space-between;width:150px;height:210px;padding:20px 16px;display:flex;position:absolute;box-shadow:0 30px 60px -20px #0000008c,inset -6px 0 10px -4px #00000059}.gh-page .book:before{content:"";background:#0000002e;border-radius:5px 0 0 5px;width:10px;position:absolute;top:0;bottom:0;left:0}.gh-page .book-badge{letter-spacing:.04em;color:#ffffffbf;border:1px solid #ffffff4d;border-radius:100px;align-self:flex-start;padding:3px 9px;font-size:11px}.gh-page .book-title{font-family:var(--serif);color:#fff;font-size:18px;line-height:1.25}.gh-page .book-author{color:#ffffffb3;font-size:12px}.gh-page .book-1{background:linear-gradient(150deg,var(--teal),#173b47);animation:float-a 7s ease-in-out infinite;top:2%;left:6%;transform:rotate(-9deg)}.gh-page .book-2{background:linear-gradient(150deg,var(--gold),var(--gold-dim));z-index:2;animation:float-b 8s ease-in-out infinite;top:16%;left:38%;transform:rotate(5deg)}.gh-page .book-3{background:linear-gradient(150deg,var(--rust),#7a3d26);z-index:3;animation:float-c 6.5s ease-in-out infinite;top:44%;left:16%;transform:rotate(-4deg)}.gh-page .book-4{background:linear-gradient(150deg,var(--rose),#7c4750);z-index:1;animation:float-a 7.5s ease-in-out infinite reverse;top:52%;left:48%;transform:rotate(10deg)}@keyframes float-a{0%,to{transform:rotate(-9deg)translateY(0)}50%{transform:rotate(-7deg)translateY(-14px)}}@keyframes float-b{0%,to{transform:rotate(5deg)translateY(0)}50%{transform:rotate(7deg)translateY(-18px)}}@keyframes float-c{0%,to{transform:rotate(-4deg)translateY(0)}50%{transform:rotate(-2deg)translateY(-10px)}}.gh-page .scroll-hint{color:var(--text-faint);animation:bob 2.2s ease-in-out infinite;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,7px)}}.gh-page .arc{background-color:var(--bg);height:400vh;color:var(--text);transition:background-color .9s;position:relative}.gh-page .arc-sticky{align-items:center;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.gh-page .stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,72px);width:100%;display:grid}.gh-page .copy{display:grid}.gh-page .step-copy{opacity:0;visibility:hidden;grid-area:1/1;align-self:center;max-width:520px;transition:opacity .28s,transform .28s,visibility 0s .28s;transform:translateY(16px)}.gh-page .step-copy.is-before{transform:translateY(-16px)}.gh-page .step-copy.is-active{opacity:1;visibility:visible;transition:opacity .5s .28s,transform .5s .28s,visibility;transform:none}.gh-page .s-title{font-family:var(--serif);color:var(--text);margin:0 0 16px;font-size:clamp(38px,5.4vw,68px);font-weight:500;line-height:1.04}.gh-page .s-sub{font-family:var(--serif);color:var(--text-muted);margin:0;font-size:clamp(20px,2.3vw,27px);font-style:italic;line-height:1.35}.gh-page .visual{width:min(100%,460px);height:min(460px,58vh);transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));justify-self:center;transition:transform .35s ease-out;position:relative;container-type:size}.gh-page .scene{opacity:0;visibility:hidden;justify-content:center;align-items:center;transition:opacity .28s,transform .28s,visibility 0s .28s;display:flex;position:absolute;inset:0;transform:scale(.95)translateY(2cqmin)}.gh-page .scene.is-active{opacity:1;visibility:visible;transition:opacity .5s .28s,transform .5s .28s,visibility;transform:none}.gh-page .dots{z-index:5;align-items:center;gap:8px;display:flex;position:absolute;bottom:clamp(14px,3.5vh,34px);left:50%;transform:translate(-50%)}.gh-page .dot{cursor:pointer;outline:none;flex-shrink:0;position:relative;background:rgba(var(--fg),.3)!important;width:6px!important;height:6px!important;min-height:0!important;max-height:6px!important;box-shadow:none!important;border:0!important;border-radius:9999px!important;margin:0!important;padding:0!important;transition:width .3s cubic-bezier(.2,.8,.2,1),background .3s!important}.gh-page .dot:before{content:"";position:absolute;inset:-12px -6px}.gh-page .dot:hover{background:rgba(var(--fg),.6)!important}.gh-page .dot.is-active{background:var(--gold)!important;width:16px!important;height:6px!important;min-height:0!important;max-height:6px!important}.gh-page .card{border:1px solid var(--hairline);background:linear-gradient(160deg,rgba(var(--fg),.1),rgba(var(--fg),.04));border-radius:5cqmin;width:88cqmin;padding:6cqmin;box-shadow:0 4cqmin 10cqmin -4cqmin #00000080}.gh-page .card-head{color:var(--text-muted);justify-content:space-between;display:flex}.gh-page .card-head,.gh-page .chip{align-items:center;font-size:max(11px,2.9cqmin)}.gh-page .chip{color:var(--gold-text);white-space:nowrap;background:#e8a33d1a;border:1px solid #e8a33d80;border-radius:100px;gap:1.4cqmin;padding:1.3cqmin 3cqmin;font-weight:600;display:inline-flex}.gh-page .chip svg{flex:none;width:max(12px,3cqmin);height:max(12px,3cqmin)}.gh-page .av{background:var(--c,var(--gold));color:var(--on-gold);border-radius:50%;flex:none;place-items:center;font-size:max(10px,2.7cqmin);font-weight:700;display:grid}@keyframes fadeUp{0%{opacity:0;translate:0 2cqmin}to{opacity:1;translate:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes blink{50%{opacity:.25}}.gh-page .habit-card{flex-direction:column;align-items:center;gap:5cqmin;display:flex}.gh-page .ring-wrap{width:34cqmin;height:34cqmin;position:relative}.gh-page .ring{background:conic-gradient(var(--gold) var(--p),rgba(var(--fg),.12) 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3.4cqmin),#000 calc(100% - 3.4cqmin));mask:radial-gradient(farthest-side,#0000 calc(100% - 3.4cqmin),#000 calc(100% - 3.4cqmin))}.gh-page .ring-in{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gh-page .cnt{font-family:var(--serif);counter-reset:n var(--n);font-size:max(28px,11cqmin);font-weight:500;line-height:1}.gh-page .cnt:before{content:counter(n)}.gh-page .ring-in span{color:var(--text-muted);margin-top:1cqmin;font-size:max(10px,2.7cqmin)}.gh-page .week{align-items:flex-end;gap:2.6cqmin;width:100%;height:20cqmin;display:flex}.gh-page .day{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:1.6cqmin;height:100%;display:flex}.gh-page .day i{width:100%;height:calc(var(--h) * .15cqmin);background:rgba(var(--fg),.28);transform-origin:bottom;border-radius:1.2cqmin;min-height:2cqmin;display:block;transform:scaleY(0)}.gh-page .day.today i{background:var(--gold)}.gh-page .day em{color:var(--text-faint);font-size:max(9px,2.3cqmin);font-style:normal}.gh-page .arc.is-live .scene.is-active .ring{animation:ringFill 1.3s cubic-bezier(.2,.7,.2,1) .45s both}.gh-page .arc.is-live .scene.is-active .cnt{animation:count20 1.3s cubic-bezier(.2,.7,.2,1) .45s both}.gh-page .arc.is-live .scene.is-active .day i{animation:barUp .6s cubic-bezier(.2,.8,.2,1) var(--d) both}.gh-page .habit-card .chip{opacity:0}.gh-page .arc.is-live .scene.is-active .habit-card .chip{opacity:1;animation:fadeUp .5s 1.6s both}@keyframes ringFill{0%{--p:0%}to{--p:100%}}@keyframes count20{0%{--n:0}to{--n:20}}@keyframes barUp{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.gh-page .focus{width:92cqmin;height:80cqmin;position:relative}.gh-page .phone{border:.8cqmin solid rgba(var(--fg),.28);background:rgba(var(--fg),.06);border-radius:5cqmin;width:30cqmin;height:64cqmin;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gh-page .phone:after{content:"";pointer-events:none;background:linear-gradient(to bottom,var(--bg),transparent 14%,transparent 86%,var(--bg));position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.gh-page .phone:after{background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 60%,transparent),transparent 14%,transparent 86%,color-mix(in srgb,var(--bg) 60%,transparent))}}.gh-page .feed{padding:0 2.4cqmin}.gh-page .feed,.gh-page .post{flex-direction:column;display:flex}.gh-page .post{background:rgba(var(--fg),.08);border-radius:2cqmin;flex:none;gap:1.4cqmin;margin-top:2.4cqmin;padding:2cqmin}.gh-page .post .row{align-items:center;gap:1.2cqmin;display:flex}.gh-page .post .mini{background:var(--c);border-radius:50%;width:3.4cqmin;height:3.4cqmin}.gh-page .post .ln{background:rgba(var(--fg),.22);border-radius:1cqmin;width:50%;height:1cqmin}.gh-page .post .img{background:var(--c2);border-radius:1.4cqmin;height:11cqmin}.gh-page .book-open{opacity:0;filter:drop-shadow(0 3cqmin 4cqmin #00000073);width:56cqmin;height:40cqmin;display:flex;position:absolute;top:44%;left:62%;transform:translate(-50%,-50%)}.gh-page .pg{flex-direction:column;flex:1;gap:2.1cqmin;padding:5cqmin 4.5cqmin;display:flex;position:relative}.gh-page .pg.l{background:linear-gradient(90deg,#f3efe0 82%,#dcd3b6);border-radius:1.4cqmin 0 0 1.4cqmin}.gh-page .pg.r{background:linear-gradient(270deg,#f3efe0 82%,#dcd3b6);border-radius:0 1.4cqmin 1.4cqmin 0}.gh-page .pg span{background:#12201a33;border-radius:1cqmin;height:.9cqmin;display:block}.gh-page .pg span.h{background:var(--gold-dim);width:42%;height:1.7cqmin;margin-bottom:1.2cqmin}.gh-page .ribbon{background:var(--gold);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);width:4cqmin;height:13cqmin;position:absolute;top:-1cqmin;right:7cqmin}.gh-page .timer{opacity:0;justify-content:center;width:56cqmin;display:flex;position:absolute;bottom:2cqmin;left:29cqmin}.gh-page .arc.is-live .scene.is-active .feed{animation:feedScroll 2.2s linear infinite}.gh-page .arc.is-live .scene.is-active .phone{animation:phoneAside .9s cubic-bezier(.6,0,.2,1) 1.4s both}.gh-page .arc.is-live .scene.is-active .book-open{animation:bookIn .9s cubic-bezier(.2,.8,.2,1) 1.8s both}.gh-page .arc.is-live .scene.is-active .timer{animation:fadeUp .5s 2.5s both}@keyframes feedScroll{to{transform:translateY(-50%)}}@keyframes phoneAside{to{opacity:.4;filter:blur(.6px);left:15%;transform:translate(-50%,-50%)scale(.82)}}@keyframes bookIn{0%{opacity:0;transform:translate(-50%,-36%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.gh-page .race-card{flex-direction:column;gap:6cqmin;display:flex}.gh-page .live{color:var(--rose);align-items:center;gap:1cqmin;display:inline-flex}.gh-page .live i{background:currentColor;border-radius:50%;width:1.6cqmin;height:1.6cqmin;animation:blink 1.3s infinite}.gh-page .lane{align-items:center;gap:3cqmin;display:flex}.gh-page .lane.you{--c:var(--gold)}.gh-page .lane.fr{--c:var(--rose)}.gh-page .lane .av{width:9cqmin;height:9cqmin}.gh-page .track{background:rgba(var(--fg),.12);border-radius:100px;flex:1;height:2.6cqmin;margin-right:2cqmin;position:relative}.gh-page .track:after{content:"";background:rgba(var(--fg),.45);width:.5cqmin;position:absolute;top:-2cqmin;bottom:-2cqmin;right:0}.gh-page .fill{width:calc(var(--v) * 1%);border-radius:inherit;top:0;bottom:0;left:0}.gh-page .fill,.gh-page .fill:after{background:var(--c);position:absolute}.gh-page .fill:after{content:"";border-radius:50%;width:4cqmin;height:4cqmin;top:50%;right:-2cqmin;transform:translateY(-50%)}.gh-page .pct{text-align:right;font-variant-numeric:tabular-nums;counter-reset:p var(--v);flex:none;width:9cqmin;font-size:max(11px,3cqmin)}.gh-page .pct:before{content:counter(p) "%"}.gh-page .race-card .chip{opacity:0;align-self:center}.gh-page .arc.is-live .scene.is-active .lane.you{animation:raceYou 3.4s cubic-bezier(.45,0,.3,1) .5s both}.gh-page .arc.is-live .scene.is-active .lane.fr{animation:raceFr 3.4s cubic-bezier(.45,0,.3,1) .5s both}.gh-page .arc.is-live .scene.is-active .race-card .chip{animation:fadeUp .5s 4.1s both}@keyframes raceYou{0%{--v:0}38%{--v:30}68%{--v:56}to{--v:100}}@keyframes raceFr{0%{--v:0}38%{--v:36}68%{--v:62}to{--v:91}}.gh-page .lb-card{flex-direction:column;gap:4cqmin;display:flex}.gh-page .lb-body{gap:3cqmin;display:flex}.gh-page .ranks{flex-direction:column;gap:2.4cqmin;display:flex}.gh-page .ranks span{width:4cqmin;height:9cqmin;font-family:var(--serif);color:var(--text-faint);place-items:center;font-size:max(12px,3.4cqmin);display:grid}.gh-page .rows{flex:1;height:43.2cqmin;position:relative}.gh-page .lrow{border:1px solid var(--hairline);background:rgba(var(--fg),.06);border-radius:3cqmin;align-items:center;gap:2.4cqmin;height:9cqmin;padding:0 3cqmin;display:flex;position:absolute;top:0;left:0;right:0}.gh-page .lrow .dot2{background:var(--c);border-radius:50%;flex:none;width:5cqmin;height:5cqmin}.gh-page .lrow .ln{max-width:var(--w,50%);background:rgba(var(--fg),.2);border-radius:1cqmin;flex:1;height:1.3cqmin}.gh-page .lrow .grow{flex:1}.gh-page .lrow .who-name{color:var(--gold-text);flex:1;font-size:max(11px,3cqmin);font-weight:700}.gh-page .lvl{color:var(--gold-text);border:1px solid #e8a33d99;border-radius:100px;flex:none;padding:.6cqmin 2cqmin;font-size:max(9px,2.3cqmin)}.gh-page .lvl.swap{display:grid}.gh-page .lvl.swap s{text-align:center;grid-area:1/1;text-decoration:none}.gh-page .lvl.swap s:last-child{opacity:0}.gh-page .r1{transform:translateY(0)}.gh-page .r2{transform:translateY(11.4cqmin)}.gh-page .r3{transform:translateY(22.8cqmin)}.gh-page .me{z-index:2;background:#e8a33d29;border-color:#e8a33db3;transform:translateY(34.2cqmin)}.gh-page .arc.is-live .scene.is-active .r2{animation:r2down .9s cubic-bezier(.5,0,.2,1) .8s both}.gh-page .arc.is-live .scene.is-active .r3{animation:r3down .9s cubic-bezier(.5,0,.2,1) .8s both}.gh-page .arc.is-live .scene.is-active .me{animation:meUp 1.1s cubic-bezier(.5,0,.2,1) .7s both}.gh-page .arc.is-live .scene.is-active .lvl.swap s:first-child{animation:fadeOut .3s 1.6s both}.gh-page .arc.is-live .scene.is-active .lvl.swap s:last-child{animation:fadeIn .3s 1.7s both}@keyframes r2down{to{transform:translateY(22.8cqmin)}}@keyframes r3down{to{transform:translateY(34.2cqmin)}}@keyframes meUp{to{transform:translateY(11.4cqmin)}}.gh-page .swap-scene{width:92cqmin;height:70cqmin;position:relative}.gh-page .who{position:absolute;top:2cqmin}.gh-page .who.l{left:14cqmin}.gh-page .who.r{right:14cqmin}.gh-page .who .av{width:12cqmin;height:12cqmin}.gh-page .shelf{border-bottom:.9cqmin solid rgba(var(--fg),.4);align-items:flex-end;gap:1.2cqmin;width:38cqmin;height:22cqmin;padding:0 2cqmin;display:flex;position:absolute;bottom:14cqmin}.gh-page .shelf.l{left:0}.gh-page .shelf.r{right:0}.gh-page .sp{width:5.4cqmin;height:calc(var(--h) * .2cqmin);background:var(--c);border-radius:.6cqmin .6cqmin 0 0}.gh-page .slot{border:.4cqmin dashed rgba(var(--fg),.3);border-bottom:0;border-radius:.6cqmin .6cqmin 0 0;width:5.4cqmin;height:20cqmin}.gh-page .trail{border:.4cqmin dashed rgba(var(--fg),.22);border-bottom:0;border-radius:24cqmin 24cqmin 0 0/16cqmin 16cqmin 0 0;width:47.4cqmin;height:16cqmin;position:absolute;bottom:34.9cqmin;left:24.5cqmin}.gh-page .trav{position:absolute;bottom:14.9cqmin;left:21.8cqmin}.gh-page .tb{background:linear-gradient(var(--rust) 0 24%,var(--gold) 24% 29%,var(--rust) 29% 100%);transform-origin:bottom;border-radius:.6cqmin .6cqmin 0 0;width:5.4cqmin;height:20cqmin}.gh-page .pin-slip{color:#12201a;text-align:center;opacity:0;background:#f3efe0;border-radius:.8cqmin;padding:1.6cqmin 3.4cqmin;position:absolute;bottom:0;right:2cqmin;transform:rotate(-4deg);box-shadow:0 1.6cqmin 3cqmin -1cqmin #00000080}.gh-page .pin-slip small{color:#12201a99;font-size:max(9px,2.2cqmin);display:block}.gh-page .pin-slip b{font-family:var(--serif);letter-spacing:.4cqmin;font-size:max(15px,4.6cqmin);font-weight:600}.gh-page .swap-scene .chip{opacity:0;position:absolute;bottom:2cqmin;left:0}.gh-page .arc.is-live .scene.is-active .trav{animation:travX 2.2s cubic-bezier(.45,0,.35,1) .5s both}.gh-page .arc.is-live .scene.is-active .tb{animation:hop 2.2s .5s both}.gh-page .arc.is-live .scene.is-active .swap-scene .chip{animation:fadeUp .5s 2.9s both}.gh-page .arc.is-live .scene.is-active .pin-slip{animation:slipIn .6s cubic-bezier(.2,.8,.2,1) 3.2s both}@keyframes travX{0%{left:21.8cqmin}to{left:69.2cqmin}}@keyframes hop{0%{animation-timing-function:ease-out;transform:translateY(0)rotate(0)}50%{animation-timing-function:ease-in;transform:translateY(-16cqmin)rotate(-12deg)}to{transform:translateY(0)rotate(0)}}@keyframes slipIn{0%{opacity:0;translate:0 3cqmin}to{opacity:1;translate:0}}.gh-page .finale{padding:min(14vw,140px) 0 80px;position:relative}.gh-page .finale-hero{--mx:30%;--my:20%;isolation:isolate;color:#fff;text-align:center;background:#1f3a4a;border-radius:44px;flex-direction:column;justify-content:center;align-items:center;padding:clamp(48px,8vw,96px) clamp(20px,5vw,64px) 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000038}.gh-page .finale-glow{z-index:-2;filter:blur(70px);pointer-events:none;border-radius:50%;width:520px;height:520px;position:absolute}.gh-page .finale-glow.a{background:#8c9b7859;animation:finale-drift 22s ease-in-out infinite alternate;top:-180px;left:-140px}.gh-page .finale-glow.b{background:#3a828c4d;animation:finale-drift 26s ease-in-out infinite alternate-reverse;bottom:-200px;right:-180px}.gh-page .finale-spot{z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#ffffff1a,transparent 65%);transition:opacity .4s;position:absolute;inset:0}.gh-page .finale-hero:hover .finale-spot{opacity:1}.gh-page .finale-badge{color:#fff;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:112px;height:112px;margin:0 auto 48px;animation:finale-fade .8s backwards;display:grid;position:relative}.gh-page .finale-badge svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:36px;height:36px;transition:transform .5s cubic-bezier(.3,1.5,.5,1)}.gh-page .finale-badge:hover svg{transform:rotate(-10deg)scale(1.12)}.gh-page .finale-orbit{border:1px dashed #ffffff24;border-radius:50%;animation:finale-spin 24s linear infinite;position:absolute;inset:-14px}.gh-page .finale-orbit i{background:#d9a441;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:-4px;left:50%;box-shadow:0 0 12px #d9a441b3}.gh-page .finale-headline{max-width:min(92vw,22em);font-family:var(--serif);letter-spacing:.01em;text-align:center;color:#fff;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.1em .32em;margin:0 auto 26px;font-size:clamp(1.85rem,6.5vw,3.8rem);font-weight:500;line-height:1.22;display:flex}.gh-page .finale-w{white-space:nowrap;vertical-align:top;margin-bottom:-.14em;padding-bottom:.14em;display:inline-block;overflow:hidden}.gh-page .finale-w>span{animation:finale-up .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.2s + var(--d,0s));display:inline-block;transform:translateY(110%)}.gh-page .finale-sub{color:#b4c3c7;max-width:34em;margin:0 auto 44px;font-size:clamp(1rem,2vw,1.3rem);line-height:1.75;animation:finale-fade .8s .9s backwards}.gh-page .finale-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-bottom:36px;animation:finale-fade .8s 1.05s backwards;display:flex}.gh-page .finale-btn{color:#1f3a4a;height:64px;font-family:var(--sans);background:#fff;border-radius:999px;align-items:center;gap:14px;padding:0 34px;font-size:1.125rem;font-weight:500;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 10px 30px #0000002e}.gh-page .finale-btn:hover{box-shadow:0 16px 40px #0000004d}.gh-page .finale-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .25s}.gh-page .finale-btn:hover svg{transform:translate(5px)}.gh-page .finale-login{color:#fff;font-family:var(--sans);border-bottom:1px solid #ffffff4d;padding:12px 16px;font-size:1.125rem;font-weight:400;text-decoration:none;position:relative}.gh-page .finale-login:after{content:"";transform-origin:0;background:#d9a441;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.gh-page .finale-login:hover:after{transform:scaleX(1)}.gh-page .finale-btn:focus-visible,.gh-page .finale-login:focus-visible{outline-offset:4px;outline:2px solid #d9a441}.gh-page .finale-chips{flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 54px;padding:0;list-style:none;animation:finale-fade .8s 1.2s backwards;display:flex}.gh-page .finale-chip{color:#b4c3c7;border:1px solid #fff3;border-radius:999px;align-items:center;gap:10px;padding:12px 22px;font-size:.95rem;transition:border-color .25s,background .25s;display:inline-flex}.gh-page .finale-chip:hover{background:#d9a44114;border-color:#d9a441b3}.gh-page .finale-tick{fill:none;stroke:#d9a441;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.gh-page .finale-tick path{stroke-dasharray:1;stroke-dashoffset:0}.gh-page .finale-chip:hover .finale-tick path{animation:finale-draw .5s}.gh-page .finale-shelf-wrap{width:min(560px,100%)}.gh-page .finale-shelf{--u:1;min-height:calc(160px * var(--u));justify-content:center;align-items:flex-end;gap:6px;padding-top:40px;display:flex}.gh-page .finale-board{background:#ffffff24;border-radius:4px;height:8px}.gh-page .finale-spine{width:calc(var(--w) * var(--u,1) * 1px);height:calc(var(--h) * var(--u,1) * 1px);background:var(--c);color:#1f3a4a;transform-origin:bottom;pointer-events:none;-webkit-user-select:none;user-select:none;animation:finale-rise .7s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(1.3s + var(--i) * 60ms);border:0;border-radius:4px 4px 2px 2px;flex:none;place-items:center;padding:0;display:grid;position:relative}.gh-page .finale-spine:after,.gh-page .finale-spine:before{content:"";background:#1f3a4a4d;height:3px;position:absolute;left:0;right:0}.gh-page .finale-spine:before{top:9px}.gh-page .finale-spine:after{bottom:9px}.gh-page .finale-spine span{max-height:calc(var(--h) * var(--u,1) * 1px - 44px);white-space:nowrap;text-overflow:ellipsis;writing-mode:vertical-rl;font-family:var(--sans);letter-spacing:.05em;font-size:11px;font-weight:500;line-height:1;display:block;overflow:hidden}@keyframes finale-spin{to{transform:rotate(1turn)}}@keyframes finale-drift{to{transform:translate(60px,40px)scale(1.12)}}@keyframes finale-fade{0%{opacity:0}}@keyframes finale-up{to{transform:translateY(0)}}@keyframes finale-rise{0%{opacity:0;transform:translateY(36px)}}@keyframes finale-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.gh-page .foot{text-align:center;color:var(--text-faint);padding:32px 0 40px;font-size:13px}@media (max-width:860px){.gh-page .hero-stage{grid-template-columns:1fr;gap:56px}.gh-page .book-stage{height:300px}.gh-page .book{width:118px;height:168px;padding:16px 13px}.gh-page .book-title{font-size:15px}.gh-page .stage{grid-template-columns:1fr;gap:2.5vh}.gh-page .visual{order:-1;height:min(360px,42vh)}.gh-page .copy{text-align:center;justify-items:center}.gh-page .step-copy{max-width:92%}.gh-page .s-title{margin-bottom:10px;font-size:clamp(32px,9vw,44px)}.gh-page .s-sub{font-size:19px}}@media (max-width:520px){.gh-page .hero-word{font-size:52px}.gh-page .hero-tagline{max-width:none}.gh-page .nav{padding:16px 20px}}@media (max-width:600px){.gh-page .finale-headline{gap:.1em .28em;max-width:95%;margin-bottom:18px;font-size:clamp(1.7rem,7.5vw,2.35rem);line-height:1.22}.gh-page .finale-shelf{--u:.7;gap:4px}.gh-page .finale-hero{border-radius:32px;padding:48px 20px 32px}.gh-page .finale-badge{width:88px;height:88px;margin-bottom:32px}.gh-page .finale-btn{height:54px;padding:0 24px;font-size:1rem}.gh-page .finale-cta{gap:18px}}@media (prefers-reduced-motion:reduce){.gh-page .book-1,.gh-page .book-2,.gh-page .book-3,.gh-page .book-4,.gh-page .scroll-hint{animation:none}.gh-page .finale-w>span{transform:none!important}.gh-page *{transition:none!important}.gh-page .arc *{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.profile-glass-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.profile-glass-card{-webkit-backdrop-filter:blur(20px);background:#ffffffad;border:1px solid #fff6;border-radius:20px;flex-direction:column;justify-content:space-between;padding:1.35rem 1.5rem;transition:all .25s;display:flex;box-shadow:0 8px 32px #1f268712,inset 0 1px #fffc}[data-theme=dark] .profile-glass-card{-webkit-backdrop-filter:blur(20px);background:#111b29a6;border:1px solid #60a5fa29;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff14}.profile-glass-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 40px #00000026,inset 0 1px #fff3}.profile-glass-input{-webkit-backdrop-filter:blur(10px);color:var(--foreground);background:#ffffff80;border:1px solid #0000001a;border-radius:12px;outline:none;flex:1;padding:.65rem 1rem;font-size:.92rem;transition:all .2s}[data-theme=dark] .profile-glass-input{color:#fff;background:#0b131eb3;border-color:#60a5fa2e}.profile-glass-input:focus{border-color:var(--accent);background:#ffffffd9;box-shadow:0 0 0 3px #6b8e2333}[data-theme=dark] .profile-glass-input:focus{border-color:var(--accent);background:#0b131ee6;box-shadow:0 0 0 3px #78a03e4d}.coin{-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 35% 28%,#f7e5a8 0,#c9a227 42%,#8c6d1f 78%,#5a4413 100%);border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:inline-flex;position:relative;box-shadow:inset 0 3px 6px #fff4d68c,inset 0 -8px 14px #0006,0 10px 24px #00000080}.coin:before{content:"";z-index:-1;background:repeating-conic-gradient(#5a4413 0deg 3deg,#8c6d1f 3deg 6deg);border-radius:50%;position:absolute;inset:-6%}.coin .star{color:#5a4413;font-size:.9rem;line-height:1}.level-badge,.tier-badge{color:#fff;letter-spacing:.02em;text-shadow:0 1px 2px #00000059;-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px 1.5px #fff9,inset 0 -1.5px 2px #00000040,0 3px 10px #0000001f}.level-badge--bronze,.tier-badge--bronze{background:linear-gradient(135deg,#e68a5c,#b85324);border:1px solid #d97746}.level-badge--silver,.tier-badge--silver{background:linear-gradient(135deg,#e2e8f0,#94a3b8 50%,#64748b);border:1px solid #cbd5e1}.level-badge--gold,.tier-badge--gold{background:linear-gradient(135deg,#fde047,#f59e0b 50%,#b45309);border:1px solid #fcd34d}.level-badge--platinum,.tier-badge--platinum{background:linear-gradient(135deg,#e0f2fe,#38bdf8 50%,#0369a1);border:1px solid #7dd3fc}.level-badge--diamond,.tier-badge--diamond{background:linear-gradient(135deg,#f3e8ff,#c084fc 50%,#7e22ce);border:1px solid #d8b4fe}.streak-chip{background:var(--flame-bg);border:1.5px solid var(--flame-border);color:#ea580c;border-radius:9999px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.85rem;font-weight:750;display:inline-flex;box-shadow:0 2px 8px #f9731626}.streak-chip .flame-icon{filter:drop-shadow(0 2px 5px #f9731680)}.leaderboard-stat-chip{border:1px solid #ffffff14;border-radius:14px;min-width:125px;padding:.65rem 1.15rem;box-shadow:0 4px 14px #173b4726;color:#fff!important;background:#28505e!important}.leaderboard-stat-label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;font-size:.72rem;font-weight:700;color:#9dc3ca!important}.leaderboard-stat-val{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:800;display:flex;color:#fff!important}.leaderboard-streak-pill{background:#ffffff1f;border-radius:9999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700;color:#9dc3ca!important}.podium-section{box-sizing:border-box;width:100%;max-width:640px;margin:1.5rem auto 2.5rem;padding:0 1rem}.podium-container{box-sizing:border-box;justify-content:center;align-items:flex-end;gap:1.25rem;width:100%;display:flex}.podium-column{box-sizing:border-box;flex-direction:column;flex:1 1 0;width:0;max-width:175px}.podium-column,.podium-user-info{align-items:center;min-width:0;display:flex}.podium-user-info{text-align:center;flex-direction:column;width:100%;margin-bottom:.75rem;position:relative;overflow:hidden}.podium-avatar-wrapper{justify-content:center;align-items:center;margin-bottom:.45rem;display:flex;position:relative}.podium-crown{color:#f59e0b;filter:drop-shadow(0 2px 6px #f59e0b73);animation:floatCrown 2.4s ease-in-out infinite alternate;position:absolute;top:-18px;left:50%;transform:translate(-50%)}@keyframes floatCrown{0%{transform:translate(-50%)translateY(0)}to{transform:translate(-50%)translateY(-4px)}}.podium-avatar{color:#fff;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.4rem;font-weight:800;transition:transform .2s;display:flex;box-shadow:0 8px 20px #00000026}.podium-column.first .podium-avatar{border:3.5px solid #f59e0b;width:72px;height:72px;box-shadow:0 0 24px #f59e0b66}.podium-column.second .podium-avatar{border:3px solid #94a3b8;box-shadow:0 0 16px #94a3b859}.podium-column.third .podium-avatar{border:3px solid #d97706;box-shadow:0 0 16px #d9770659}.podium-name{color:var(--foreground);font-size:.95rem;font-weight:750}.podium-name,.podium-username{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;width:100%;max-width:100%;padding:0 2px;overflow:hidden}.podium-username{color:var(--muted);font-size:.76rem}.podium-score-pill{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#28505e;border:1px solid #ffffff24;border-radius:9999px;max-width:100%;margin-top:.4rem;padding:.22rem .75rem;font-size:.8rem;font-weight:750;overflow:hidden;box-shadow:0 3px 10px #173b472e}.podium-block{border-radius:20px 20px 0 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px -4px #173b473d}.podium-block:before{content:"";background:#ffffff47;border-radius:20px 20px 0 0;height:14px;position:absolute;top:0;left:0;right:0}.podium-column.first .podium-block{background:linear-gradient(#9bb8f0,#688acf);border:1px solid #fff6;border-bottom:none;height:145px}.podium-column.second .podium-block{background:linear-gradient(#8ba8df,#5d7ebe);border:1px solid #ffffff4d;border-bottom:none;height:110px}.podium-column.third .podium-block{background:linear-gradient(#7c9bcf,#5171b0);border:1px solid #ffffff40;border-bottom:none;height:85px}.podium-number{color:#fffffff2;text-shadow:0 3px 12px #173b4759;-webkit-user-select:none;user-select:none;font-size:3.2rem;font-weight:900}.leaderboard-header-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.leaderboard-stat-cards{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.leaderboard-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.leaderboard-toggle-tabs{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9999px;gap:.25rem;padding:.3rem;display:inline-flex}.tab-label-desktop{display:inline}.tab-label-mobile{display:none}.leaderboard-search-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.leaderboard-challenges-link{background:var(--panel);color:var(--foreground);border:1px solid var(--line);borderRadius:9999px;box-shadow:var(--shadow);align-items:center;gap:.45rem;padding:.52rem 1.15rem;font-size:.85rem;font-weight:650;text-decoration:none;transition:all .15s;display:inline-flex}.leaderboard-challenges-link:hover{border-color:var(--accent);transform:translateY(-1px)}.leaderboard-desktop-table{display:block}.leaderboard-mobile-list{display:none}@media (max-width:640px){.leaderboard-header-row{gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem}.leaderboard-stat-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;display:grid}.leaderboard-stat-chip{box-sizing:border-box;border-radius:12px;overflow:hidden;min-width:0!important;padding:.5rem .45rem!important}.leaderboard-stat-label{margin-bottom:.15rem;font-size:.58rem!important}.leaderboard-stat-label,.leaderboard-stat-val{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.leaderboard-stat-val{flex-direction:column;gap:.12rem;align-items:flex-start!important;display:flex!important}.leaderboard-stat-val,.leaderboard-stat-val>span{font-size:.82rem!important}.leaderboard-streak-pill{display:inline-block;padding:.05rem .3rem!important;font-size:.58rem!important}.podium-section{width:100%;margin:1rem auto 1.75rem;padding:0}.podium-container{gap:.35rem;width:100%;padding:0}.podium-column{flex:1 1 0;width:0;min-width:0;max-width:none}.podium-user-info{margin-bottom:.45rem}.podium-avatar-wrapper{margin-bottom:.3rem}.podium-avatar{border-radius:13px;width:clamp(42px,12vw,50px);height:clamp(42px,12vw,50px);font-size:1.1rem}.podium-column.first .podium-avatar{border-width:3px;border-radius:15px;width:clamp(52px,15vw,62px);height:clamp(52px,15vw,62px)}.podium-column.second .podium-avatar,.podium-column.third .podium-avatar{border-width:2.5px}.podium-crown{width:20px;height:20px;top:-15px}.podium-name{padding:0 1px;font-size:clamp(.72rem,2.3vw,.84rem)}.podium-username{padding:0 1px;font-size:clamp(.62rem,1.9vw,.7rem)}.podium-score-pill{margin-top:.2rem;padding:.15rem .4rem;font-size:clamp(.65rem,2vw,.74rem)}.podium-block,.podium-block:before{border-radius:14px 14px 0 0}.podium-block:before{height:9px}.podium-column.first .podium-block{height:clamp(90px,24vw,125px)}.podium-column.second .podium-block{height:clamp(68px,18vw,92px)}.podium-column.third .podium-block{height:clamp(52px,14vw,72px)}.podium-number{font-size:clamp(1.75rem,5.5vw,2.3rem)}.leaderboard-controls-row{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.25rem}.leaderboard-toggle-tabs{box-sizing:border-box;width:100%;display:flex!important}.leaderboard-toggle-tabs button{flex:1;justify-content:center;gap:.3rem!important;padding:.45rem .5rem!important;font-size:.78rem!important}.tab-label-desktop{display:none!important}.tab-label-mobile{display:inline!important}.leaderboard-search-controls{flex-direction:column;width:100%;align-items:stretch!important;gap:.65rem!important}.leaderboard-challenges-link{box-sizing:border-box;justify-content:center;width:100%;padding:.52rem 1rem!important}.leaderboard-search-box{box-sizing:border-box;width:100%!important;max-width:100%!important}.leaderboard-desktop-table{display:none}.leaderboard-mobile-list{flex-direction:column;gap:.55rem;display:flex}.leaderboard-mobile-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem .85rem;display:flex;box-shadow:0 2px 8px #0000000a}.leaderboard-mobile-card.is-me{border-color:var(--accent);background:#6b8e2314}.mobile-card-left{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.mobile-card-rank{text-align:center;flex-shrink:0;width:32px;font-size:.95rem;font-weight:800}.mobile-card-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.92rem;font-weight:800;display:flex;box-shadow:0 2px 6px #00000026}.mobile-card-info{flex:1;min-width:0}.mobile-card-name-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.mobile-card-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.88rem;font-weight:700;text-decoration:none;overflow:hidden}.mobile-me-badge{background:var(--accent);color:var(--accent-ink);border-radius:4px;font-weight:700;line-height:1.3}.mobile-me-badge,.mobile-reader-badge{padding:.08rem .35rem;font-size:.65rem}.mobile-reader-badge{color:#6366f1;background:#6366f11a;border:1px solid #6366f140;border-radius:4px;font-weight:650}.mobile-card-handle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-family:monospace;font-size:.72rem;overflow:hidden}.mobile-card-level,.mobile-card-tier{margin-top:.2rem;font-size:.68rem;font-weight:650}.mobile-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.2rem;display:flex}.mobile-card-points{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.mobile-card-streak{color:#ea580c;font-size:.74rem;font-weight:700}.mobile-card-nostreak{color:var(--muted);font-size:.72rem}}.leaderboard-pagination{background:var(--panel-soft);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.85rem;display:flex}@media (max-width:640px){.leaderboard-pagination{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:.85rem 1rem}}.pagination-btn{background:var(--panel);border:1px solid var(--line);color:var(--foreground);cursor:pointer;border-radius:8px;align-items:center;gap:.35rem;min-height:auto;padding:.4rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.pagination-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-page-indicator{color:var(--foreground);font-weight:700}.challenge-create-overlay{z-index:10000;background:var(--background);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.challenge-create-overlay{background:color-mix(in srgb,var(--background) 72%,transparent)}}.challenge-create-overlay{-webkit-backdrop-filter:blur(14px);animation:onboarding-fade-in .2s ease-out}.challenge-create-modal{border:1px solid var(--line);width:min(640px,100%);max-height:min(88vh,800px);box-shadow:0 25px 65px -10px #00000073,0 0 0 1px var(--line);-webkit-overflow-scrolling:touch;border-radius:22px;padding:1.75rem;animation:modal-pop-in .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden auto;background:var(--panel)!important}.challenge-modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.challenge-modal-icon{width:42px;height:42px;color:var(--accent);background:#2452601f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.challenge-modal-close-btn{background:var(--panel-soft)!important;border:1px solid var(--line)!important;width:36px!important;height:36px!important;min-height:0!important;color:var(--foreground)!important;cursor:pointer!important;box-shadow:none!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;padding:0!important;transition:all .22s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important}.challenge-modal-close-btn:hover{transform:rotate(90deg)scale(1.05);background:var(--panel)!important;border-color:var(--accent)!important;color:var(--accent)!important}.challenge-modal-close-btn svg{color:currentColor!important;stroke:currentColor!important;flex-shrink:0!important;width:18px!important;height:18px!important;display:block!important}.challenge-modal-footer{background:var(--background);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.25rem;padding:.85rem 1.15rem;display:flex}.challenge-modal-actions{align-items:center;gap:.65rem;display:flex}.challenge-step-bar{justify-content:space-between;align-items:center;margin-bottom:1.35rem;padding:.35rem .2rem;display:flex;position:relative}.challenge-step-item{cursor:default;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.55rem;padding:0;transition:all .2s;display:flex}.challenge-step-item.clickable{cursor:pointer}.challenge-step-item.clickable:hover .step-num{border-color:var(--accent);transform:scale(1.08)}.challenge-step-item .step-num{border:1.5px solid var(--line);background:var(--background);width:30px;height:30px;color:var(--muted);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:750;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.challenge-step-item.active .step-num{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:scale(1.06);box-shadow:0 0 0 4px #24526038}.challenge-step-item.completed .step-num{border-color:var(--accent);color:var(--accent);background:#2452602e}.challenge-step-item .step-label{color:var(--muted);font-size:.82rem;font-weight:650;transition:color .25s}.challenge-step-item.active .step-label{color:var(--foreground);font-weight:800}.challenge-step-item.completed .step-label{color:var(--foreground)}.challenge-step-connector{background:var(--line);border-radius:9999px;flex:1;height:3px;margin:0 .75rem;transition:background .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.challenge-step-connector.completed{background:var(--accent)}.challenge-step-content{will-change:transform,opacity;flex-direction:column;min-height:250px;display:flex;position:relative}.challenge-step-content.slide-forward{animation:challenge-step-slide-forward .34s cubic-bezier(.16,1,.3,1) both}.challenge-step-content.slide-backward{animation:challenge-step-slide-backward .34s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-step-slide-forward{0%{opacity:0;transform:translate(24px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes challenge-step-slide-backward{0%{opacity:0;transform:translate(-24px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}.challenge-summary-chip{color:var(--accent);cursor:pointer;background:#2452601a;border:1px solid #24526040;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.35rem .75rem;font-size:.8rem;font-weight:650;transition:all .18s;display:inline-flex}.challenge-summary-chip:hover{border-color:var(--accent);background:#2452602e;transform:translateY(-1px)}@media (max-width:640px){.challenge-create-overlay{align-items:flex-end;padding:.5rem}.challenge-create-modal{border-radius:22px 22px 14px 14px;max-height:92vh;padding:1.25rem 1rem}.challenge-step-item .step-label{display:none}.challenge-step-connector{margin:0 .35rem}.challenge-modal-footer{flex-direction:column;align-items:stretch;padding:.85rem}.challenge-modal-actions{flex-direction:column-reverse;width:100%}.challenge-modal-actions button{justify-content:center;width:100%;min-height:2.75rem}}.challenge-page{min-width:0;overflow-x:clip}.challenge-page button{max-width:100%}.challenge-filter-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.challenge-filter-tabs::-webkit-scrollbar{display:none}.challenge-filter-tabs button{white-space:nowrap;flex-shrink:0}.challenge-modal-footer button{justify-content:center}@media (max-width:640px){.challenge-page{padding:1rem .75rem 5rem!important}.challenge-top-header{flex-direction:column;align-items:stretch!important;gap:1rem!important;margin-bottom:1.25rem!important}.challenge-top-text{min-width:0}.challenge-top-text h1{font-size:1.45rem!important;line-height:1.2!important}.challenge-top-text p{font-size:.85rem!important;line-height:1.5!important}.challenge-header-actions{width:100%;flex-wrap:unset!important;grid-template-columns:1fr 1fr!important;gap:.6rem!important;display:grid!important}#create-challenge-btn{grid-column:1/-1}.challenge-header-actions>*{text-align:center;white-space:nowrap;justify-content:center;min-height:2.65rem}.challenge-filter-row{flex-direction:column;align-items:stretch!important;gap:.75rem!important;margin-bottom:1.1rem!important}.challenge-filter-tabs{gap:.2rem;width:100%;max-width:100%;overflow-x:auto;padding:.25rem!important;display:flex!important}.challenge-filter-tabs button{flex:1 1 0;min-width:max-content;padding:.4rem .65rem!important;font-size:.78rem!important}.challenge-search{width:100%!important;max-width:none!important}.challenge-invite-banner{flex-direction:column;align-items:stretch!important;gap:.75rem!important;margin-bottom:1.25rem!important;padding:1rem!important}.challenge-invite-banner a,.challenge-invite-banner>button{justify-content:center;width:100%;min-height:2.6rem}.challenge-card{border-radius:14px!important;gap:.85rem!important;padding:1rem!important}.challenge-card-head{flex-direction:column;align-items:stretch!important;gap:.75rem!important}.challenge-card-titleblock{min-width:0}.challenge-card-titleblock h3{overflow-wrap:anywhere;font-size:1rem!important;line-height:1.35!important}.challenge-card-titleblock>div:last-child{overflow-wrap:anywhere;font-size:.78rem!important;line-height:1.5!important}.challenge-card-tags{flex-wrap:wrap!important;gap:.35rem!important}.challenge-card-tags span{max-width:100%;line-height:1.4;white-space:normal!important;font-size:.67rem!important}.challenge-card-actions,.challenge-card-actions>div{flex-direction:column!important;gap:.5rem!important;width:100%!important}.challenge-card-actions button,.challenge-card-actions>span{white-space:nowrap;text-align:center!important;justify-content:center!important;width:100%!important;min-height:2.65rem!important}.challenge-card-head>button{justify-content:center!important;width:100%!important;min-height:2.5rem!important}.challenge-participants-grid{grid-template-columns:1fr!important}.challenge-participants-grid>div{word-break:break-word}.challenge-card-foot{flex-direction:column;line-height:1.6;align-items:flex-start!important;gap:.4rem!important;padding-top:.5rem!important;font-size:.75rem!important}.challenge-card-foot>div:first-child{overflow-wrap:anywhere}.challenge-modal-footer{flex-direction:column-reverse!important;padding:.85rem!important}.challenge-modal-footer button{justify-content:center!important;width:100%!important;min-height:2.75rem!important}.challenge-create-modal{max-height:92dvh;padding:1.15rem .9rem!important}.challenge-step-bar{margin-bottom:1rem!important;padding:.25rem .1rem!important}}@media (max-width:400px){.challenge-header-actions{grid-template-columns:1fr!important}#create-challenge-btn{grid-column:unset}.challenge-card-actions>div{flex-direction:column}.challenge-card-actions button{width:100%}.challenge-filter-tabs button{padding:.35rem .5rem!important;font-size:.72rem!important}}.cat-loader{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:2.5rem 1.5rem;display:flex}.cat-stage,.cat-stage:active,.cat-stage:focus,.cat-stage:focus-visible,.cat-stage:hover{box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.cat-stage{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;width:min(290px,80vw);transition:transform .15s cubic-bezier(.34,1.56,.64,1);position:relative;padding:0!important}.cat-stage.compact{width:min(180px,55vw)}.cat-stage:hover{transform:scale(1.02)}.cat-stage:active,.cat-stage:hover{box-shadow:none!important;background:0 0!important}.cat-stage:active{transform:scale(.96)}.cat-stage:focus-visible{box-shadow:none!important;outline:none!important}.cat-stage svg{width:100%;height:auto;display:block}.cat-stage .fur{fill:#2c2c2a;stroke:#888780;stroke-width:1.5px}[data-theme=dark] .cat-stage .fur{fill:#1f2b30;stroke:#4d6d75}.cat-stage .wht{fill:#f1efe8;stroke:#888780;stroke-width:1.5px}[data-theme=dark] .cat-stage .wht{fill:#e8f0f0;stroke:#4d6d75}.cat-stage .ground{fill:#173b471f}[data-theme=dark] .cat-stage .ground{fill:#ffffff14}.cat-stage .tail{transform-origin:240px 262px;animation:cat-wag 1.3s ease-in-out infinite}.cat-stage .head{animation:cat-bob 2.6s ease-in-out infinite}.cat-stage .eye{transform-box:fill-box;transform-origin:50%;animation:cat-blink 4s infinite}.cat-stage .joy{display:none}.cat-stage.happy .tail{animation-duration:.38s}.cat-stage.happy .eye{display:none}.cat-stage.happy .joy{display:block}.cat-heart{fill:#e24b4a;pointer-events:none;filter:drop-shadow(0 2px 5px #e24b4a73);z-index:10;transform-origin:50%;width:12px;height:12px;animation:cat-rise 1.25s cubic-bezier(.22,1,.36,1) forwards;position:absolute}.cat-loader-text{color:var(--foreground);letter-spacing:-.01em;font-size:1.05rem;font-weight:600;font-family:var(--font-sans);min-height:1.6em;margin:1.15rem 0 .25rem}.cat-loader-hint{color:var(--muted);opacity:.85;margin:0;font-size:.82rem;font-style:italic}@keyframes cat-wag{0%,to{transform:rotate(22deg)}50%{transform:rotate(62deg)}}@keyframes cat-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes cat-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cat-rise{0%{opacity:0;transform:translate(0)scale(.35)rotate(0)}16%{opacity:1;transform:translate(calc(var(--drift,0px) * .25),-20px) scale(1) rotate(calc(var(--rot,0deg) * .4))}65%{opacity:.95;transform:translate(calc(var(--drift,0px) * .7),-65px) scale(.95) rotate(var(--rot,0deg))}to{opacity:0;transform:translate(var(--drift,0),-115px) scale(.65) rotate(calc(var(--rot,0deg) * 1.25))}}@media (prefers-reduced-motion:reduce){.cat-stage .tail{animation-duration:5s}.cat-stage .head{animation:none}.cat-heart{animation-duration:1.8s}}.profile-tab-strip{background:var(--panel-soft);border:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:14px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem;display:flex;overflow-x:auto}.profile-tab-strip::-webkit-scrollbar{display:none}.profile-tab-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.55rem;padding:.6rem 1.15rem;font-size:.88rem;font-weight:650;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.profile-tab-btn:hover{color:var(--foreground);background:#ffffff0d}.profile-tab-btn.active{color:var(--foreground);background:var(--panel);border-color:var(--line);font-weight:750;box-shadow:0 2px 8px #00000014}.profile-tab-badge{background:var(--line);color:var(--muted);border-radius:9999px;justify-content:center;align-items:center;padding:.12rem .5rem;font-size:.72rem;font-weight:750;display:inline-flex}.profile-tab-btn.active .profile-tab-badge{color:var(--accent);background:#24526029}.settings-container{max-width:860px;margin:0 auto}.settings-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.settings-section-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;margin-bottom:1.5rem;padding:1.5rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}