:root{color-scheme:light;--surface: 210 30% 99%;--surface-sunken: 214 20% 96%;--surface-raised: 214 16% 94%;--text: 218 16% 19%;--text-muted: 218 9% 45%;--border: 214 15% 90%;--accent: 216 83% 49%;--accent-glow: 216 90% 60%;--success: 150 30% 40%;--warn: 32 80% 45%;--danger: 0 72% 58%;--gold: 43 92% 55%;--font-sans: ui-sans-serif, -apple-system, "SF Pro Text", "Segoe UI", system-ui, "Inter", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 6px;--font-scale: 1;--cat-gray-bg: 220 14% 93%;--cat-gray-fg: 220 9% 40%;--cat-brown-bg: 25 30% 90%;--cat-brown-fg: 25 40% 35%;--cat-orange-bg: 24 85% 92%;--cat-orange-fg: 24 75% 42%;--cat-yellow-bg: 45 90% 88%;--cat-yellow-fg: 42 70% 36%;--cat-green-bg: 145 40% 90%;--cat-green-fg: 145 55% 32%;--cat-blue-bg: 212 70% 92%;--cat-blue-fg: 212 70% 42%;--cat-purple-bg: 270 50% 93%;--cat-purple-fg: 270 45% 50%;--cat-pink-bg: 330 65% 93%;--cat-pink-fg: 330 60% 48%;--cat-red-bg: 0 75% 93%;--cat-red-fg: 0 68% 48%;--flask-s: 68%;--flask-l: 44%}.dark{color-scheme:dark;--surface: 222 24% 11%;--surface-sunken: 222 22% 13%;--surface-raised: 222 18% 17%;--text: 216 18% 84%;--text-muted: 218 12% 60%;--border: 222 16% 21%;--accent: 215 85% 74%;--accent-glow: 218 100% 72%;--success: 150 28% 55%;--warn: 36 85% 58%;--danger: 0 68% 65%;--gold: 43 92% 55%;--cat-gray-bg: 220 10% 26%;--cat-gray-fg: 220 10% 72%;--cat-brown-bg: 25 20% 26%;--cat-brown-fg: 25 35% 70%;--cat-orange-bg: 24 40% 28%;--cat-orange-fg: 24 85% 68%;--cat-yellow-bg: 45 35% 26%;--cat-yellow-fg: 45 80% 66%;--cat-green-bg: 145 25% 24%;--cat-green-fg: 145 50% 62%;--cat-blue-bg: 212 35% 28%;--cat-blue-fg: 212 70% 68%;--cat-purple-bg: 270 25% 30%;--cat-purple-fg: 270 55% 74%;--cat-pink-bg: 330 30% 30%;--cat-pink-fg: 330 60% 74%;--cat-red-bg: 0 35% 30%;--cat-red-fg: 0 70% 70%;--flask-s: 68%;--flask-l: 68%}:root{--accio: 266 72% 74%;--spring: cubic-bezier(.22, 1, .36, 1);--spring-soft: cubic-bezier(.34, 1.56, .64, 1);--ease: cubic-bezier(.4, 0, .2, 1);--slot: 84px;--kb: 0px;--font: -apple-system, "SF Pro Text", system-ui, sans-serif;--cat-blue: 212 70% 68%;--cat-purple: 270 55% 74%;--cat-green: 145 50% 62%;--cat-pink: 330 60% 74%;--cat-orange: 24 85% 68%;--cat-yellow: 45 80% 66%;--cat-red: 0 70% 70%;--dock-h: 64px;--dock-gap: 10px;--spell: 52px;--spell-hero: 56px;--accio-h: 56px;--ctrl-blur: 18px;--gold-glow: 43 100% 64%;--gold-mid: 43 92% 48%;--gold-deep: 38 90% 42%;--spell-scrim: 222 32% 5%;--conditional: 215 85% 74%;--conditional-glow: 218 100% 72%;--glyph-stroke: 1.75;--spell-node: 224 30% 6.5%;--accio-glow: 266 90% 78%;--ring-cy: 60%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:var(--radius)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);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)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}html,body,#root{height:100%}body{margin:0;background:hsl(var(--surface));color:hsl(var(--text));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html,body,#root{overflow:hidden;overscroll-behavior:none}html,body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.screen{position:relative;width:100%;height:100%;border-radius:0;overflow:hidden;overscroll-behavior:none;background:hsl(var(--surface));isolation:isolate;background-image:radial-gradient(120% 70% at 20% -5%,hsl(var(--accent-glow) / .1),transparent 55%),radial-gradient(90% 60% at 95% 8%,hsl(var(--cat-purple) / .08),transparent 50%),radial-gradient(140% 90% at 50% 120%,hsl(218 60% 20% / .35),transparent 60%)}.home-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:134px;height:5px;border-radius:3px;background:hsl(var(--text) / .5);z-index:200;pointer-events:none}@media(max-width:420px),(display-mode:standalone){.home-indicator{display:none}}.app{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding-top:calc(14px + env(safe-area-inset-top))}.header{padding:6px 24px;display:flex;align-items:baseline;justify-content:space-between;flex:none}.header h1{margin:0;font-size:25px;font-weight:700;letter-spacing:-.4px}.header .count{font-size:13px;color:hsl(var(--text-muted));font-variant-numeric:tabular-nums}.reel{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;position:relative;z-index:0;isolation:isolate;padding:0 16px;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%)}.reel::-webkit-scrollbar{display:none}.slot{height:var(--slot);display:flex;align-items:center;position:relative}.card{width:100%;display:flex;align-items:center;gap:13px;padding:9px 13px;border-radius:14px;position:relative;cursor:pointer;opacity:1}.card .flask{width:calc(36px * var(--m, 1));height:calc(48px * var(--m, 1));flex:none}.card .body{min-width:0;flex:1;display:flex;flex-direction:column}.card .title{font-size:calc(14.5px * var(--m, 1));font-weight:600;letter-spacing:-.1px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .meta{font-size:calc(11.5px * var(--m, 1));color:hsl(var(--text-muted));margin-top:calc(1px * var(--m, 1))}.card .snippet{pointer-events:none;opacity:0;max-height:0;overflow:hidden;padding-top:3px;font-size:13.5px;line-height:1.42;color:hsl(var(--text-muted));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card:active{filter:brightness(1.12)}.glass{position:absolute;left:14px;right:14px;z-index:30;pointer-events:none;overflow:hidden;border-radius:22px;border:1.5px solid hsl(var(--accent) / .5);background:linear-gradient(158deg,hsl(0 0% 100% / .08) 0%,hsl(0 0% 100% / .02) 20%,transparent 40%);box-shadow:inset 0 1px #ffffff2e,inset 0 0 0 1px hsl(var(--accent-glow) / .14),0 0 46px -10px hsl(var(--accent-glow) / .34),0 22px 56px -30px #000000d1}.glass:before{content:"";position:absolute;left:7%;right:42%;top:7px;height:9px;border-radius:9px;background:linear-gradient(90deg,hsl(0 0% 100% / .18),transparent);filter:blur(2px);opacity:.75}.glass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;pointer-events:none;box-shadow:inset 0 1.5px #6ee0f71c,inset 0 -1.5px #f76ec91c}.glass.empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;color:hsl(var(--text-muted));font-size:14px;border-style:dashed;background:none;box-shadow:none}.corner-glow{position:absolute;right:-60px;bottom:-60px;width:340px;height:340px;z-index:87;pointer-events:none;background:radial-gradient(circle at 70% 70%,hsl(var(--accent-glow) / .13),transparent 62%);transition:opacity .28s var(--ease)}.app-root.side-left .corner-glow{left:-60px;right:auto;background:radial-gradient(circle at 30% 70%,hsl(var(--accent-glow) / .13),transparent 62%)}.wheel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none;transition:opacity .28s var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.wact{position:absolute;left:0;top:0;width:58px;height:58px;border-radius:50%;border:1px solid hsl(var(--border));background:hsl(var(--surface-raised) / .82);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);color:hsl(var(--text-muted));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px -14px #000000b3;will-change:transform,opacity;pointer-events:auto;touch-action:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;transition:border-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)}.wact:active{cursor:grabbing}.wact.hero{width:66px;height:66px;border:none;color:#fff;background:radial-gradient(130% 130% at 30% 25%,hsl(var(--accent)),hsl(var(--accent-glow)) 55%,#2374e7);box-shadow:0 0 0 1px hsl(var(--accent-glow) / .5),0 14px 34px -8px hsl(var(--accent-glow) / .55),inset 0 2px 4px #fff6,inset 0 -6px 12px #1458b880}.wact.hero:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;background:radial-gradient(circle,hsl(var(--accent-glow) / .3),transparent 70%);z-index:-1;opacity:0;transition:opacity .3s}.wact.hero.centered:before{opacity:1;animation:breathe 4s var(--ease) infinite}@keyframes breathe{0%,to{transform:scale(.85);opacity:.5}50%{transform:scale(1.12);opacity:.9}}.wact.centered:not(.hero){color:hsl(var(--text));border-color:hsl(var(--accent) / .45);box-shadow:0 10px 30px -12px #000000bf,0 0 0 1px hsl(var(--accent) / .25)}.wact.flash{animation:wflash .42s var(--ease)}@keyframes wflash{0%{filter:brightness(1.9)}to{filter:brightness(1)}}.wact.holding{filter:brightness(1.15)}.wact[data-key=accio]{background:radial-gradient(130% 130% at 30% 25%,hsl(var(--accio) / .26),hsl(var(--accio) / .09) 72%),hsl(var(--surface-raised) / .62);border-color:hsl(var(--accio) / .5);color:hsl(var(--accio))}.wact[data-key=accio].centered{color:hsl(var(--accio));border-color:hsl(var(--accio) / .85);box-shadow:0 10px 30px -12px #000000bf,0 0 0 1px hsl(var(--accio) / .4)}.wact[data-key=sync][data-state=reminder]{color:hsl(var(--warn));border-color:hsl(var(--warn) / .5);box-shadow:0 10px 28px -14px #000000b3,0 0 0 1px hsl(var(--warn) / .35)}.wact[data-key=sync][data-state=syncing]{color:hsl(var(--warn));border-color:hsl(var(--warn) / .6)}.wact[data-key=sync][data-state=failed]{color:hsl(var(--danger));border-color:hsl(var(--danger) / .6);animation:syncAlert 1.8s var(--ease) infinite}.wact[data-key=sync][data-state=offline]{color:hsl(var(--danger));border-color:hsl(var(--danger) / .45)}@keyframes syncAlert{0%,to{box-shadow:0 10px 28px -14px #000000b3,0 0 0 1px hsl(var(--danger) / .3)}50%{box-shadow:0 10px 28px -14px #000000b3,0 0 0 2px hsl(var(--danger) / .65)}}.lemniscate{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.575 .425;stroke-dashoffset:-.2125}.wact[data-state=syncing] .lemniscate{animation:sync-flow 1.1s linear infinite;filter:drop-shadow(0 0 1.5px hsl(var(--warn) / .9))}@keyframes sync-flow{0%{stroke-dashoffset:-.2125}to{stroke-dashoffset:.7875}}.wheel-label{position:absolute;left:0;top:0;z-index:151;pointer-events:none;font-size:11px;font-weight:600;letter-spacing:.4px;color:hsl(var(--text) / .8);text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;transform:translate(-50%,-50%);text-shadow:0 1px 6px hsl(var(--surface) / .9);transition:opacity .18s var(--ease);white-space:nowrap}.app-root.side-left .sync-panel{left:16px;right:auto;transform-origin:bottom left}.design-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:152;pointer-events:none;opacity:0;transition:opacity .18s var(--ease)}.design-layer.on{opacity:1}.design-layer .ring{fill:none;stroke:hsl(var(--accent) / .7);stroke-width:1.4;stroke-dasharray:5 7}.design-layer .spoke{stroke:hsl(var(--accent) / .85);stroke-width:1.4;stroke-dasharray:4 5}.design-layer .dot{fill:hsl(var(--accent))}.design-num{position:absolute;left:0;top:0;z-index:153;pointer-events:none;transform:translate(-50%,-50%);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:hsl(var(--accent));background:hsl(var(--surface-sunken) / .94);border:1px solid hsl(var(--accent) / .45);border-radius:8px;padding:3px 8px;opacity:0;transition:opacity .18s var(--ease);white-space:nowrap}.design-num.on{opacity:1}.wact.adjust{background:hsl(var(--surface-raised) / .5);border-style:dashed;border-color:hsl(var(--text-muted) / .6)}.wact.adjust.centered{border-style:solid;border-color:hsl(var(--accent) / .6);color:hsl(var(--accent))}.grip{position:absolute;left:0;top:0;z-index:154;width:74px;height:74px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.grip.live{pointer-events:auto}.grip:active{cursor:grabbing}.grip .fill{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg);opacity:0;transition:opacity .15s var(--ease)}.grip.holding .fill{opacity:1}.grip .fill circle{fill:none;stroke:hsl(var(--gold));stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px hsl(var(--gold) / .8))}.app-root.kb-open .wheel,.app-root.kb-open .wheel-label,.app-root.kb-open .corner-glow,.app-root.searching .wheel,.app-root.searching .wheel-label,.app-root.searching .corner-glow,.app-root.kb-open .wact,.app-root.kb-open .grip,.app-root.searching .wact,.app-root.searching .grip{opacity:0;pointer-events:none}.sync-panel{position:absolute;right:16px;bottom:calc(120px + env(safe-area-inset-bottom));z-index:156;width:286px;border-radius:16px;border:1px solid hsl(var(--border));background:hsl(var(--surface-raised) / .98);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);padding:15px;box-shadow:0 24px 60px -18px #000000d9;transform:translateY(12px) scale(.96);transform-origin:bottom right;opacity:0;pointer-events:none;transition:transform .32s var(--spring),opacity .24s var(--ease)}.sync-panel.open{transform:none;opacity:1;pointer-events:auto}.sync-panel .ph{display:flex;gap:11px;align-items:flex-start}.sync-panel .glyph{margin-top:1px;flex:none;color:hsl(var(--text-muted))}.sync-panel .title{font-size:15px;font-weight:600}.sync-panel .sub{margin-top:4px;font-size:12.5px;line-height:1.45;color:hsl(var(--text-muted))}.sync-panel[data-state=offline] .glyph,.sync-panel[data-state=failed] .glyph{color:hsl(var(--danger))}.sync-panel[data-state=reminder] .glyph,.sync-panel[data-state=syncing] .glyph{color:hsl(var(--warn))}.sync-panel .primary{margin-top:14px;width:100%;height:38px;border-radius:11px;border:1px solid hsl(var(--accent) / .5);background:hsl(var(--accent) / .14);color:hsl(var(--accent));font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:background .2s var(--ease)}.sync-panel .primary:active{background:hsl(var(--accent) / .24)}.sync-panel .primary[disabled]{opacity:.5;border-color:hsl(var(--border));background:transparent;color:hsl(var(--text-muted));cursor:default}.sync-panel[data-state=offline] .primary{border-color:hsl(var(--danger) / .5);background:transparent;color:hsl(var(--danger))}.sync-panel[data-state=failed] .primary{border-color:hsl(var(--danger) / .55);background:hsl(var(--danger) / .12);color:hsl(var(--danger))}.sync-panel[data-state=failed] .primary:active{background:hsl(var(--danger) / .22)}.sync-panel[data-state=reminder] .primary{border-color:hsl(var(--warn) / .55);background:hsl(var(--warn) / .14);color:hsl(var(--warn))}.sync-panel[data-state=reminder] .primary:active{background:hsl(var(--warn) / .24)}.sync-panel .foot{margin-top:14px;padding-top:12px;border-top:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:hsl(var(--text-muted))}.sync-panel .foot .acct{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-panel .foot button{border:none;background:none;color:hsl(var(--text-muted));font-size:12px;cursor:pointer;flex:none}.spell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:158;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s var(--ease)}.spell.show{opacity:1}.spell .ring{position:absolute;width:64px;height:64px;border-radius:50%;border:1.5px solid hsl(var(--gold) / .6)}.spell .ring.go{animation:ripple 1.7s var(--ease) forwards}@keyframes ripple{0%{transform:scale(.2);opacity:.9}to{transform:scale(9);opacity:0}}.spell .rune{width:76px;height:76px;color:hsl(var(--gold));filter:drop-shadow(0 0 16px hsl(var(--gold) / .7))}.spell .rune .lemniscate{stroke-width:1.4;animation:sync-flow .9s linear infinite}.spell .rune.go{animation:runePop 1.7s var(--spring) forwards}@keyframes runePop{0%{transform:scale(.4);opacity:0}25%{opacity:1}80%{transform:scale(1.08);opacity:1}to{transform:scale(.7);opacity:0}}.spell .label{position:absolute;bottom:180px;font-size:13px;font-weight:600;letter-spacing:.4px;color:hsl(var(--gold))}.summon{position:absolute;left:0;right:0;bottom:0;z-index:132;pointer-events:none;margin:0 16px calc(14px + env(safe-area-inset-bottom) + var(--kb));display:flex;align-items:center;gap:12px;height:60px;padding:0 8px 0 18px;border-radius:30px;background:hsl(var(--surface-raised) / .98);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid hsl(var(--accio) / .5);box-shadow:0 0 40px -6px hsl(var(--accio) / .4),0 20px 50px -16px #000c;transform:translateY(160%);opacity:0;transition:transform .42s var(--spring),opacity .2s var(--ease)}.app-root.searching .summon{transform:none;opacity:1;pointer-events:auto}.app-root.kb-open .summon{margin-bottom:calc(4px + var(--kb))}.summon .sigil{color:hsl(var(--accio));flex:none;display:flex}.summon input{flex:1;min-width:0;background:none;border:none;outline:none;color:hsl(var(--text));font-size:17px;font-family:var(--font)}.summon input::-moz-placeholder{color:hsl(var(--text-muted))}.summon input::placeholder{color:hsl(var(--text-muted))}.accio-pill{flex:none;display:none;align-items:center;gap:8px;align-self:flex-start;margin:2px 24px 4px;max-width:calc(100% - 48px);height:30px;padding:0 13px;border-radius:16px;background:hsl(var(--accio) / .14);border:1px solid hsl(var(--accio) / .45);color:hsl(var(--accio));font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;transition:background .18s var(--ease)}.app-root.filtering:not(.searching) .accio-pill{display:flex}.accio-pill:active{background:hsl(var(--accio) / .26)}.accio-pill.pop{animation:pillPop .26s var(--spring-soft)}@keyframes pillPop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(.6);opacity:0}}.accio-pill .glyph{flex:none;display:flex;opacity:.9}.accio-pill .q{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card mark,.glass mark,.sr mark{background:hsl(var(--accio) / .22);color:hsl(var(--accio));border-radius:3px}.summon .scount{flex:none;font-size:12px;color:hsl(var(--text-muted));font-variant-numeric:tabular-nums;min-width:16px;text-align:center;padding-right:6px}.search-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:128;pointer-events:none;opacity:0;background:#0b0d1400;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);display:flex;flex-direction:column;justify-content:flex-end;transition:opacity .22s var(--ease),background .26s var(--ease),backdrop-filter .26s var(--ease)}.app-root.searching .search-sheet{opacity:1;pointer-events:auto;background:#0b0d14a8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.search-results{display:flex;flex-direction:column;gap:7px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 16px 8px;max-height:100%;margin-bottom:calc(var(--kb) + 94px + env(safe-area-inset-bottom))}.search-results.overflowing{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%);mask-image:linear-gradient(180deg,transparent 0,#000 12%)}.search-results::-webkit-scrollbar{display:none}.sr{flex:none;display:flex;align-items:center;gap:12px;padding:9px 13px;border-radius:13px;background:hsl(var(--surface-raised) / .72);border:1px solid hsl(var(--border) / .6);animation:srIn .26s var(--spring) both;cursor:pointer}@keyframes srIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.sr:active{filter:brightness(1.1)}.sr .flask{width:30px;height:40px;flex:none}.sr .body{min-width:0;flex:1}.sr .title{font-size:15px;font-weight:600;letter-spacing:-.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr .snip{font-size:12.5px;color:hsl(var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.sr .when{flex:none;font-size:11px;color:hsl(var(--text-muted));align-self:flex-start;margin-top:2px}.sr:last-child{background:hsl(var(--surface-raised) / .96);border-color:hsl(var(--accio) / .55);box-shadow:0 0 28px -10px hsl(var(--accio) / .55)}.sr-empty{text-align:center;color:hsl(var(--text-muted));font-size:14px;padding:22px 24px}.mic{width:44px;height:44px;border-radius:50%;flex:none;border:none;background:hsl(var(--surface-sunken));color:hsl(var(--text-muted));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s var(--ease)}.mic.listening{background:hsl(var(--accent) / .2);color:hsl(var(--accent));animation:pulse 1.4s var(--ease) infinite}@keyframes pulse{0%,to{box-shadow:0 0 hsl(var(--accent) / .4)}50%{box-shadow:0 0 0 10px hsl(var(--accent) / 0)}}.note{position:absolute;top:0;right:0;bottom:0;left:0;z-index:140;background:hsl(var(--surface));background-image:radial-gradient(120% 60% at 50% -10%,hsl(var(--accent-glow) / .12),transparent 55%);display:flex;flex-direction:column;padding-top:calc(14px + env(safe-area-inset-top));transform:translateY(100%);visibility:hidden;transition:transform .5s var(--spring),visibility 0s linear .5s}.note.open{transform:none;visibility:visible;transition:transform .5s var(--spring),visibility 0s linear 0s}.note-top{display:flex;align-items:center;justify-content:space-between;padding:4px 14px 0;flex:none;transition:opacity .25s var(--ease)}.app-root.editing-note .note-top{opacity:0;pointer-events:none}.note-top button{border:none;background:none;cursor:pointer;color:hsl(var(--text-muted));padding:10px;display:flex;align-items:center;gap:5px;font-family:var(--font);font-size:15px}.app-root.editing-note .dock{opacity:0;pointer-events:none}.note-saved{font-size:12px;color:hsl(var(--text-muted));display:flex;align-items:center;gap:5px;opacity:0;transition:opacity .3s var(--ease)}.note-saved.show{opacity:1}.note-saved i{width:5px;height:5px;border-radius:50%;background:hsl(var(--success));display:block}.note-surface{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 24px calc(40vh + var(--kb) + 54px);scrollbar-width:none}.note-surface::-webkit-scrollbar{display:none}.note-date{flex:1;min-width:0;text-align:center;font-size:12.5px;color:hsl(var(--text-muted))}.note-body{font-size:17px;line-height:1.6;outline:none;min-height:60vh;-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default;cursor:text}.note-body h1{font-size:27px;font-weight:700;letter-spacing:-.5px;line-height:1.25;margin:0 0 .4em}.note-body div,.note-body p{margin:0 0 .15em}.note-body ul{margin:.1em 0 .4em;padding-left:1.25em}.note-body li{margin:0 0 .12em}.note-body.title-empty>h1:first-child:before{content:"Title";color:hsl(var(--text-muted) / .5);pointer-events:none}.note-toolbar{position:absolute;left:0;right:0;bottom:var(--kb);z-index:8;height:52px;display:flex;align-items:center;gap:10px;padding:0 10px env(safe-area-inset-bottom);background:hsl(var(--surface-raised) / .97);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-top:1px solid hsl(var(--border));transform:translateY(130%);opacity:0;pointer-events:none;transition:transform .26s var(--spring),opacity .18s var(--ease)}.app-root.kb-open.editing-note .note-toolbar{transform:none;opacity:1;pointer-events:auto}.app-root.kb-open .note-toolbar{padding-bottom:0}.note-toolbar .fmt{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.note-toolbar .fmt::-webkit-scrollbar{display:none}.note-toolbar .tb{flex:none;height:36px;padding:0 13px;border-radius:9px;border:1px solid hsl(var(--border));background:hsl(var(--surface-sunken));color:hsl(var(--text));font-family:var(--font);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.note-toolbar .tb:active{background:hsl(var(--surface))}.note-toolbar .tb.active{border-color:hsl(var(--accent) / .6);color:hsl(var(--accent));background:hsl(var(--accent) / .12)}.note-toolbar .tb-right{display:flex;align-items:center;gap:6px;flex:none}.note-toolbar .tb.mic{width:40px;padding:0}.note-toolbar .tb.mic.listening{color:hsl(var(--accent));border-color:hsl(var(--accent) / .5);background:hsl(var(--accent) / .14);animation:pulse 1.4s var(--ease) infinite}.note-toolbar .tb.done{border:none;background:none;color:hsl(var(--accent));font-weight:700}.ph-media{position:relative;margin:.55em 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.ph-grip{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;background:#0006;opacity:.55;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.ph-grip:active{cursor:grabbing;opacity:.9}.ph-media.ph-dragging{opacity:.3}.ph-block-ghost{position:fixed;z-index:300;margin:0;pointer-events:none;border-radius:var(--radius);box-shadow:0 14px 30px #0006;opacity:.98;will-change:transform}.ph-block-ghost .ph-grip{display:none}.drop-before,.drop-after{position:relative}.drop-before:before,.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:999px;background:hsl(var(--accent));box-shadow:0 0 10px hsl(var(--accent) / .7)}.drop-before:before{top:-6px}.drop-after:after{bottom:-6px}.ph-media.drop-merge{outline:2px solid hsl(var(--accent));outline-offset:2px;border-radius:var(--radius);box-shadow:0 0 0 4px hsl(var(--accent) / .25)}.note-surface.ph-reordering{touch-action:none}.ph-image figure{margin:0}.ph-image img{display:block;max-width:100%;width:auto;height:auto;max-height:56vh;border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--surface-raised))}.ph-image figcaption{margin-top:5px;font-size:12px;color:hsl(var(--text-muted))}.ph-media img.loading{min-height:160px;width:100%;background:hsl(var(--surface-raised));animation:ph-shimmer 1.6s var(--ease) infinite}.ph-media img.missing{min-height:120px;background:hsl(var(--surface-raised))}@keyframes ph-shimmer{0%,to{opacity:.55}50%{opacity:1}}.ph-gallery{position:relative}.ph-cover{display:grid;gap:3px;width:100%;aspect-ratio:3 / 2;padding:0;border:none;border-radius:14px;overflow:hidden;background:hsl(var(--text) / .06);cursor:pointer}.ph-cover-1{grid-template-columns:1fr}.ph-cover-2{grid-template-columns:1fr 1fr}.ph-cover-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.ph-cover-3 .ph-cover-cell:first-child{grid-row:1 / span 2}.ph-cover-cell{position:relative;overflow:hidden;min-height:0}.ph-cover-cell img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ph-cover-more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000006b;color:#fff;font-size:22px;font-weight:600;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.ph-collection{position:fixed;top:0;right:0;bottom:0;left:0;z-index:145;display:flex;flex-direction:column;background:hsl(var(--surface));will-change:transform,opacity}.ph-collection-grab{display:flex;align-items:center;justify-content:center;padding:8px 0;padding-top:max(8px,env(safe-area-inset-top,0px));flex:none;touch-action:none}.ph-collection-grabber{width:40px;height:5px;border-radius:999px;background:hsl(var(--text) / .25)}.ph-collection-masonry{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 10px calc(96px + env(safe-area-inset-bottom,0px));-moz-column-count:2;column-count:2;-moz-column-gap:8px;column-gap:8px;overscroll-behavior:contain;touch-action:pan-y}.ph-collection-masonry.reordering{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ph-collection-tile{position:relative;-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:8px;border-radius:12px;overflow:hidden;background:hsl(var(--text) / .06)}.ph-collection-tile img{width:100%;height:auto;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.ph-drag-ghost{position:fixed;margin:0;z-index:200;pointer-events:none;border-radius:12px;overflow:hidden;box-shadow:0 14px 30px #0006;opacity:.98;will-change:transform}.ph-collection-tile.drag-source img{opacity:.25}.ph-collection-tile.drop-before:after,.ph-collection-tile.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;z-index:6;background:hsl(var(--accent));box-shadow:0 0 6px hsl(var(--accent-glow) / .85);pointer-events:none}.ph-collection-tile.drop-before:after{top:0}.ph-collection-tile.drop-after:after{bottom:0}.ph-collection-caption{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 6px;font-size:12px;color:#fff;background:linear-gradient(transparent,#0009)}.ph-collection-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;border-radius:999px;background:#00000080;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.ph-collection-grip{position:absolute;right:6px;bottom:6px;width:30px;height:30px;border-radius:10px;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ph-collection-pullout{position:absolute;top:6px;left:6px;width:26px;height:26px;border:none;border-radius:999px;background:hsl(var(--accent) / .92);color:hsl(var(--surface));cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 6px #00000059}.ph-gallery-track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius);touch-action:pan-x pan-y}.ph-gallery-track::-webkit-scrollbar{display:none}.ph-frame{position:relative;flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--surface-raised))}.ph-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.ph-dots{display:flex;justify-content:center;gap:6px;margin-top:7px}.ph-dots span{width:6px;height:6px;border-radius:50%;background:hsl(var(--text-muted) / .4);transition:background .2s var(--ease)}.ph-dots span.on{background:hsl(var(--accent))}.ph-gallery.editing{outline:2px solid hsl(var(--accent) / .55);outline-offset:3px;border-radius:var(--radius)}.ph-gallery.editing .ph-gallery-track{scroll-snap-type:none}.ph-frame-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:hsl(var(--surface) / .85);color:hsl(var(--text));font-size:17px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ph-gallery.editing .ph-frame-remove{display:flex}.ph-frame.dragging{opacity:.55}.ph-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:hsl(var(--surface) / .92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;animation:ph-fade .18s var(--ease)}@keyframes ph-fade{0%{opacity:0}}.ph-lightbox-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;transition:transform .2s var(--ease),opacity .2s var(--ease)}.ph-lightbox-track::-webkit-scrollbar{display:none}.ph-lightbox-frame{flex:0 0 100%;scroll-snap-align:center;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.ph-lightbox-frame img{max-width:100%;max-height:82vh;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius);box-shadow:0 40px 120px -24px #0000008c}.ph-lightbox-frame figcaption{margin-top:12px;font-size:13px;color:hsl(var(--text-muted));text-align:center}.ph-lightbox-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:none;background:hsl(var(--surface-raised) / .85);color:hsl(var(--text));display:flex;align-items:center;justify-content:center;cursor:pointer}.ph-lightbox-dots{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:center;gap:7px;pointer-events:none}.ph-lightbox-dots span{width:7px;height:7px;border-radius:50%;background:hsl(var(--text-muted) / .4)}.ph-lightbox-dots span.on{background:hsl(var(--accent))}.note-toolbar .tb.pic{width:40px;padding:0}.thread{position:absolute;top:0;right:0;bottom:0;left:0;z-index:145;pointer-events:none}@media(prefers-reduced-motion:reduce){*{animation-duration:1ms!important;transition-duration:.08s!important}.wact.hero:before{animation:none}.lemniscate{animation:none!important}}.dock{position:absolute;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));margin:0 16px;height:var(--dock-h);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--dock-gap);align-items:center;z-index:134;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}.dock>*{pointer-events:auto}.app-root.kb-open .dock,.app-root.searching .dock{opacity:0;transform:translateY(8px);pointer-events:none}.dock-cell{grid-row:1;display:flex;align-items:center;justify-content:center;min-width:0}.dock-exp{justify-content:stretch}.spell-fab{position:relative;width:var(--spell-hero);height:var(--spell-hero);border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;background:none;color:hsl(var(--gold));cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s var(--ease)}.spell-fab svg{overflow:visible;filter:drop-shadow(0 0 2px hsl(var(--gold-glow) / .9)) drop-shadow(0 0 6px hsl(var(--gold-mid) / .5)) drop-shadow(0 0 12px hsl(var(--gold-deep) / .32));animation:fab-flicker 4.4s var(--ease) infinite;will-change:opacity}.spell-fab:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;z-index:-1;background:radial-gradient(circle,hsl(var(--gold-mid) / .22),hsl(var(--gold-deep) / .1) 55%,transparent 72%);animation:breathe 4s var(--ease) infinite;will-change:transform,opacity}.spell-fab:active{transform:scale(.92);filter:brightness(1.12)}@keyframes fab-flicker{0%,to{opacity:1}18%{opacity:.9}33%{opacity:.97}52%{opacity:.86}71%{opacity:.95}88%{opacity:.91}}@media(prefers-reduced-motion:reduce){.spell-fab:before,.spell-fab svg{animation:none}.spell-fab svg{opacity:1}}.spell-fab[data-alert]:after{content:"";position:absolute;top:-1px;right:-1px;width:11px;height:11px;border-radius:50%;border:2px solid hsl(var(--surface))}.spell-fab[data-alert=warn]:after{background:hsl(var(--warn))}.spell-fab[data-alert=danger]:after{background:hsl(var(--danger));animation:syncAlert 1.4s var(--ease) infinite}.dock-spell{position:relative;width:var(--spell);height:var(--spell);border-radius:50%;display:flex;align-items:center;justify-content:center;background:hsl(var(--surface-raised) / .82);backdrop-filter:blur(var(--ctrl-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--ctrl-blur)) saturate(1.3);border:1px solid hsl(var(--border));color:hsl(var(--text-muted));cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s var(--ease)}.dock-spell:active{transform:scale(.94);filter:brightness(1.12)}.dock-spell[aria-label=back]{background:hsl(var(--conditional) / .12);border-color:hsl(var(--conditional) / .5);color:hsl(var(--conditional))}.dock-spell[aria-label=back] svg{overflow:visible;filter:drop-shadow(0 0 3px hsl(var(--conditional-glow) / .85)) drop-shadow(0 0 7px hsl(var(--conditional) / .45))}.dock-spell[aria-label=back]:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;z-index:-1;background:radial-gradient(circle,hsl(var(--conditional) / .18),hsl(var(--conditional) / .06) 55%,transparent 72%)}.accio-bar{width:100%;height:var(--accio-h);display:flex;align-items:center;gap:10px;padding:0 10px 0 16px;border-radius:999px;background:hsl(var(--surface-raised) / .96);backdrop-filter:blur(var(--ctrl-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--ctrl-blur)) saturate(1.3);border:1px solid hsl(var(--accio) / .6);box-shadow:0 0 20px -6px hsl(var(--accio) / .5),0 6px 20px -8px #000000b3,inset 0 1px #ffffff0f;color:hsl(var(--text));cursor:text;min-width:0}.accio-sigil{color:hsl(var(--accio));flex:none;display:flex}.accio-ph,.accio-held{flex:1;min-width:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accio-ph{color:hsl(var(--text-muted))}.accio-held{color:hsl(var(--accio));font-weight:600}.accio-count{flex:none;color:hsl(var(--text-muted));font-size:12px;font-variant-numeric:tabular-nums}.accio-clear{flex:none;display:flex;padding:4px;background:none;border:none;color:hsl(var(--text-muted));cursor:pointer}.accio-recent{flex:none;max-width:42%;padding:4px 11px;border-radius:999px;background:hsl(var(--accio) / .14);border:none;color:hsl(var(--accio));font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.dock-settings{position:absolute;left:0;right:0;margin:0 16px;bottom:calc(var(--kb) + env(safe-area-inset-bottom) + 76px);display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;z-index:135;pointer-events:auto;animation:dock-settings-in .22s var(--spring)}.dock-settings::-webkit-scrollbar{display:none}.dock-chip{flex:none;height:28px;padding:0 12px;border-radius:999px;background:hsl(var(--surface-raised) / .7);border:1px solid hsl(var(--border));color:hsl(var(--text-muted));font-size:12px;white-space:nowrap;cursor:pointer}@keyframes dock-settings-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spell-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:160;padding:10px 18px;border-radius:999px;background:hsl(var(--surface-raised) / .96);backdrop-filter:blur(var(--ctrl-blur));-webkit-backdrop-filter:blur(var(--ctrl-blur));border:1px solid hsl(var(--gold) / .4);color:hsl(var(--text));font-size:14px;font-weight:600;box-shadow:0 10px 30px -10px #000000b3;pointer-events:none;animation:spell-toast-in .24s var(--spring-soft)}@keyframes spell-toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.spell-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:hsl(var(--spell-scrim) / .64);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);animation:spell-overlay-in .18s var(--ease)}.spell-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 70% at 50% 112%,hsl(var(--spell-scrim) / .92),transparent 58%)}@keyframes spell-overlay-in{0%{opacity:0}to{opacity:1}}.spell-ring{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.spell-node{position:absolute;left:50%;top:var(--ring-cy);display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .3s var(--spring),opacity .2s var(--ease);will-change:transform,opacity}.spell-ring.spinning .spell-node{transition:none}.spell-bloom{position:relative;animation:spell-ignite .2s var(--spring) var(--bloom-delay, 0ms) backwards}@keyframes spell-ignite{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.spell-btn{--sh: var(--gold);--sh-glow: var(--gold-glow)}.spell-ring.hue-accent .spell-btn{--sh: var(--conditional);--sh-glow: var(--conditional-glow)}.spell-ring .spell-btn.spell-violet{--sh: var(--accio);--sh-glow: var(--accio-glow)}.spell-ring .spell-btn.spell-syncgold{--sh: var(--gold);--sh-glow: var(--gold-glow)}.spell-btn{position:relative;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;--glyph-stroke: 2;color:hsl(var(--sh));background:hsl(var(--spell-node));border:1.5px solid hsl(var(--sh-glow) / .9);box-shadow:0 0 8px -1px hsl(var(--sh-glow) / .5),0 0 16px -10px hsl(var(--sh-glow) / .3),inset 0 0 10px -4px hsl(var(--sh-glow) / .5);transition:transform .16s var(--spring),box-shadow .16s var(--ease),border-color .16s var(--ease)}.spell-btn>svg,.spell-has-more{position:relative;z-index:1}.spell-btn>svg{filter:drop-shadow(0 0 4px hsl(var(--sh-glow) / .55)) drop-shadow(0 0 1px hsl(var(--sh-glow) / .8))}.spell-node.focus .spell-btn{transform:scale(1.12);border-width:2.5px;border-color:hsl(var(--sh-glow));box-shadow:0 0 16px hsl(var(--sh-glow) / .6),0 0 34px -6px hsl(var(--sh-glow) / .45),inset 0 0 12px -4px hsl(var(--sh-glow) / .6)}.spell-node.focus .spell-btn:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:1.5px solid hsl(var(--sh-glow) / .45);pointer-events:none}.spell-node.focus .spell-btn>svg{filter:drop-shadow(0 0 6px hsl(var(--sh-glow) / .8)) drop-shadow(0 0 2px hsl(var(--sh-glow) / .95))}.spell-btn:active{transform:scale(.94);filter:brightness(1.12)}.spell-node.focus .spell-btn:active{transform:scale(1.02)}.spell-has-more{position:absolute;bottom:-1px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:hsl(var(--sh-glow) / .95);box-shadow:0 0 5px hsl(var(--sh-glow) / .8);pointer-events:none}.spell-hold-hint{position:absolute;top:5px;right:6px;width:4px;height:4px;border-radius:50%;background:hsl(var(--sh) / .85);box-shadow:0 -5px 0 -1px hsl(var(--sh) / .6);pointer-events:none}.spell-label{position:absolute;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:hsl(var(--text) / .85);text-shadow:0 1px 6px hsl(var(--surface) / .95);max-width:84px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity .15s var(--ease)}.spell-node.label-above .spell-label{opacity:1;bottom:calc(100% + 5px);top:auto}.spell-node.label-below .spell-label{opacity:1;top:calc(100% + 5px);bottom:auto}.spell-center,.spell-core{position:absolute;left:50%;top:var(--ring-cy);transform:translate(-50%,-50%)}.spell-core{width:36px;height:36px;border-radius:50%;border:1px solid hsl(var(--gold) / .12);pointer-events:none}.spell-center{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:none;padding:10px;color:hsl(var(--gold));cursor:pointer;-webkit-tap-highlight-color:transparent}.spell-center.conditional{color:hsl(var(--conditional))}.spell-center.back{color:hsl(var(--gold))}.spell-center.back:active{transform:translate(-50%,-50%) scale(.9) rotate(-12deg)}.spell-center-label{font-size:12px;font-weight:600;letter-spacing:.4px;color:hsl(var(--text) / .85);text-shadow:0 1px 6px hsl(var(--surface) / .9)}.bk{overflow:visible;filter:drop-shadow(0 0 6px hsl(var(--gold-glow) / .7));animation:spell-ignite .2s var(--spring) backwards}.spell-center.back.conditional .bk{filter:drop-shadow(0 0 6px hsl(var(--conditional-glow) / .7))}.spell-hidden{position:absolute;top:calc(var(--ring-cy) + 128px);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:hsl(var(--gold-glow) / .8);text-shadow:0 1px 4px hsl(var(--spell-scrim));pointer-events:none;z-index:151}.spell-ring.hue-accent .spell-hidden{color:hsl(var(--conditional-glow) / .85)}.spell-hidden.left{left:13%}.spell-hidden.right{right:13%}.spell-hidden.is-zero{display:none}.rh-num{line-height:1}.spell-ring.leaving .spell-bloom{animation:spell-fade-out .15s var(--ease) forwards}@keyframes spell-fade-out{to{opacity:0;transform:scale(.96)}}.spell-sparkle{position:fixed;left:50%;top:var(--ring-cy);width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;pointer-events:none;z-index:156;background:hsl(var(--gold-glow));box-shadow:0 0 7px 1px hsl(var(--gold-glow) / .85),17px -8px 0 -1px hsl(var(--gold-glow) / .9),-15px -10px 0 -1.5px hsl(var(--gold-glow) / .8),6px 17px 0 -1.5px hsl(var(--gold-glow) / .7),-9px 14px 0 -2px hsl(var(--gold-glow) / .7);animation:spell-sparkle .26s var(--ease) forwards}@keyframes spell-sparkle{0%{opacity:0;transform:scale(.4)}40%{opacity:1}to{opacity:0;transform:scale(1.35)}}.spell-overlay.windowed .spell-ring{filter:blur(8px);opacity:.5;pointer-events:none}.spell-window-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:152;display:flex;align-items:center;justify-content:center;padding:0 24px}.spell-window{width:100%;max-width:360px;background:hsl(var(--surface-raised) / .98);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid hsl(var(--border));border-radius:20px;padding:20px;box-shadow:0 30px 70px -20px #000c;animation:spell-window-in .24s var(--spring)}@keyframes spell-window-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.sw-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.sw-rune{flex:none;color:hsl(var(--gold));display:flex}.spell-window[data-state=failed] .sw-rune,.spell-window[data-state=offline] .sw-rune{color:hsl(var(--danger))}.spell-window[data-state=reminder] .sw-rune,.spell-window[data-state=syncing] .sw-rune{color:hsl(var(--warn))}.sw-copy{min-width:0;flex:1}.sw-title{font-size:16px;font-weight:700;color:hsl(var(--text))}.sw-sub{margin-top:4px;font-size:14px;line-height:1.4;color:hsl(var(--text-muted))}.sw-primary{width:100%;height:46px;border-radius:14px;border:none;background:hsl(var(--gold) / .18);color:hsl(var(--gold));font-size:16px;font-weight:600;cursor:pointer}.sw-primary:disabled{opacity:.5;cursor:default}.sw-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:12px;color:hsl(var(--text-muted))}.sw-close{background:none;border:none;color:hsl(var(--accent));font-size:13px;font-weight:600;cursor:pointer}.sw-restore-row{margin-top:12px;text-align:center}.sw-restore{background:none;border:none;padding:0;font-size:12px;color:hsl(var(--text-muted));-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px;cursor:pointer;transition:color .15s ease}.sw-restore[data-armed=true]{color:hsl(var(--danger));font-weight:600}@media(prefers-reduced-motion:reduce){.spell-bloom,.bk,.spell-overlay,.spell-window,.spell-ring,.spell-sparkle,.rh-motes i{animation:none!important}.spell-bloom{opacity:1;transform:none}}.spell-overlay.reduce .spell-bloom,.spell-overlay.reduce .bk,.spell-overlay.reduce .rh-motes i{animation:none!important}.spell-overlay.reduce .spell-bloom{opacity:1;transform:none}
