.nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:stretch;background:var(--nav-bg);border-top:1px solid var(--nav-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding-bottom:env(safe-area-inset-bottom,0px);transition:background .3s;will-change:auto}[data-theme=paper] .nav{backdrop-filter:none;-webkit-backdrop-filter:none}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;padding:10px 0;border:none;background:transparent;color:var(--text-faint);text-decoration:none;cursor:pointer;transition:color .2s;font-family:var(--font)}.nav-btn span{font-size:10px;letter-spacing:.04em;font-weight:400}.nav-btn:hover{color:var(--text-mid)}.nav-btn.active{color:var(--gold)}[data-theme=paper] .nav-btn:hover{background:#0000000d}[data-theme=paper] .nav-btn.active{color:#000}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}@layer app{@scope (#butler-wrap){#butler-btn{--c: var(--gold);--cl: #e8d48b;--cd: #8b6914;--cdd: #5a3e08;--cr: 201;--cg: 168;--cb: 76;background:radial-gradient(circle at 40% 38%,var(--text, #2a2a2a) 0%,var(--text, #181818) 60%,var(--text, #111) 100%);border:none;border-radius:50%;overflow:visible}#butler-btn[data-butler-id=iris]{--c: var(--info, #a890d4);--cl: var(--info, #d4c8f0);--cd: var(--info, #7a68a8);--cdd: var(--info, #4a3870);--cr: 168;--cg: 144;--cb: 212}#butler-btn[data-butler-id=william]{--c: var(--success, #5a9b7a);--cl: var(--success, #8bc4a8);--cd: var(--success, #3a7a5a);--cdd: var(--success, #1a4a2a);--cr: 90;--cg: 155;--cb: 122}.br-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--c);box-shadow:0 0 0 1px rgb(var(--cr) var(--cg) var(--cb) / 8%)}.br-accent{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;pointer-events:none}[data-butler-id=iris] .br-accent{border-top-color:var(--cl);border-right-color:#a890d466;animation:br-spin 6s linear infinite;filter:drop-shadow(0 0 var(--space-0h) rgb(168 144 212 / 50%))}[data-butler-id=william] .br-accent{border-top-color:var(--cl);animation:br-spin 8s linear infinite}.br-inner{position:absolute;inset:var(--space-0h);border-radius:50%;border:1px solid rgb(var(--cr) var(--cg) var(--cb) / 12%);pointer-events:none}[data-butler-id=iris] .br-inner,[data-butler-id=william] .br-inner{display:none}.br-echo{position:absolute;inset:calc(-1 * var(--space-0h));border-radius:50%;border:1px solid transparent;pointer-events:none}.br-echo2{position:absolute;inset:calc(-1 * var(--space-2));border-radius:50%;border:1px solid transparent;pointer-events:none}.br-glow{position:absolute;inset:calc(-1 * var(--space-0h));border-radius:50%;pointer-events:none}.br-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--text-xs);line-height:1;color:var(--c);opacity:.7;transition:opacity .3s,color .3s;font-family:inherit;letter-spacing:0}.br-name-svg{position:absolute;inset:calc(-1 * var(--space-1-5));width:calc(100% + var(--space-3));height:calc(100% + var(--space-3));pointer-events:none;animation:br-name-orbit 12s linear infinite}.br-name-text{font-size:var(--text-3xs);letter-spacing:.25em;text-transform:uppercase;fill:rgb(var(--cr) var(--cg) var(--cb) / 50%);font-family:inherit}@keyframes br-name-orbit{to{transform:rotate(360deg)}}@keyframes br-spin{to{transform:rotate(360deg)}}[data-butler-state=idle] .br-ring{animation:br-idle 3s ease-in-out infinite}@keyframes br-idle{0%,to{transform:scale(1);box-shadow:0 0 0 1px rgb(var(--cr) var(--cg) var(--cb) / 8%)}50%{transform:scale(1.05);box-shadow:0 0 var(--space-1) rgb(var(--cr) var(--cg) var(--cb) / 25%)}}[data-butler-state=listening] .br-ring{animation:br-listen 1.8s ease-in-out infinite}[data-butler-state=listening] .br-echo{border-color:rgb(var(--cr) var(--cg) var(--cb) / 25%);animation:br-listen 1.8s ease-in-out infinite .2s}@keyframes br-listen{0%,to{transform:scale(1)}50%{transform:scale(1.06);box-shadow:0 0 14px rgb(var(--cr) var(--cg) var(--cb) / 30%)}}[data-butler-state=thinking] .br-ring{border-color:transparent;border-top-color:var(--cl);border-right-color:rgb(var(--cr) var(--cg) var(--cb) / 40%);animation:br-spin 1.5s linear infinite}[data-butler-state=thinking] .br-face{opacity:.4}[data-butler-state=speaking] .br-ring{animation:br-speak-ring .55s ease-in-out infinite}[data-butler-state=speaking] .br-echo{border-color:rgb(var(--cr) var(--cg) var(--cb) / 25%);animation:br-speak-echo 1.1s ease-out infinite}@keyframes br-speak-ring{0%,to{transform:scaleX(1) scaleY(1)}25%{transform:scaleX(1.07) scaleY(.94);box-shadow:0 0 12px rgb(var(--cr) var(--cg) var(--cb) / 35%)}50%{transform:scaleX(.95) scaleY(1.07)}75%{transform:scaleX(1.04) scaleY(.97)}}@keyframes br-speak-echo{0%{transform:scale(1);opacity:.5}to{transform:scale(1.3);opacity:0}}[data-butler-state=happy] .br-ring{animation:br-happy-ring 1s ease-in-out infinite}@keyframes br-happy-ring{0%,to{transform:translateY(0) scale(1);box-shadow:0 0 var(--space-0h) rgb(var(--cr) var(--cg) var(--cb) / 20%)}50%{transform:translateY(-3px) scale(1.07);box-shadow:0 0 var(--space-2) rgb(var(--cr) var(--cg) var(--cb) / 50%)}}[data-butler-state=eureka] .br-ring{animation:br-eureka-ring 5s ease-in-out infinite}[data-butler-state=eureka] .br-echo{animation:br-eureka-burst 5s ease-out infinite}[data-butler-state=eureka] .br-echo2{animation:br-eureka-burst 5s ease-out infinite .12s}@keyframes br-eureka-ring{0%,60%{transform:scale(1);box-shadow:none}70%{transform:scale(1.15);box-shadow:0 0 30px rgb(var(--cr) var(--cg) var(--cb) / 70%)}80%{transform:scale(1.05);box-shadow:0 0 18px rgb(var(--cr) var(--cg) var(--cb) / 50%)}95%,to{transform:scale(1);box-shadow:none}}@keyframes br-eureka-burst{0%,60%{transform:scale(1);opacity:0;border-color:transparent}68%{transform:scale(1);opacity:1;border-color:rgb(var(--cr) var(--cg) var(--cb) / 80%)}90%,to{transform:scale(1.6);opacity:0;border-color:transparent}}[data-butler-state=concern] .br-ring{animation:br-concern-ring 2.5s ease-in-out infinite}@keyframes br-concern-ring{0%,to{border-color:color-mix(in srgb,var(--warning) 50%,transparent);box-shadow:0 0 var(--space-1) color-mix(in srgb,var(--warning) 20%,transparent);transform:scale(.98)}50%{border-color:color-mix(in srgb,var(--error) 70%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--error) 30%,transparent);transform:scale(1)}}[data-butler-state=waiting] .br-ring{animation:br-wait 8s ease-in-out infinite}@keyframes br-wait{0%,to{transform:scale(1)}50%{transform:scale(1.03);box-shadow:0 0 var(--space-0h) rgb(var(--cr) var(--cg) var(--cb) / 15%)}}[data-butler-state=night] .br-ring{border-color:rgb(var(--cr) var(--cg) var(--cb) / 15%);animation:br-night 7s ease-in-out infinite}[data-butler-state=night] .br-accent{opacity:.2}[data-butler-state=night] .br-inner{opacity:.1}[data-butler-state=night] .br-face{opacity:.3}@keyframes br-night{0%,to{opacity:.35}50%{opacity:.15}}[data-butler-state=waking] .br-ring{animation:br-wake-ring 4s ease-in-out forwards}[data-butler-state=waking] .br-glow{animation:br-wake-glow 4s ease-in-out forwards}[data-butler-state=waking] .br-face{animation:br-wake-face 4s ease-in-out forwards}@keyframes br-wake-ring{0%{border-color:rgb(var(--cr) var(--cg) var(--cb) / 10%);box-shadow:none}60%{border-color:var(--c);box-shadow:0 0 18px rgb(var(--cr) var(--cg) var(--cb) / 40%)}to{border-color:var(--c);box-shadow:0 0 var(--space-1) rgb(var(--cr) var(--cg) var(--cb) / 25%)}}@keyframes br-wake-glow{0%,20%{box-shadow:none}60%{box-shadow:0 0 30px rgb(var(--cr) var(--cg) var(--cb) / 30%)}to{box-shadow:none}}@keyframes br-wake-face{0%,15%{opacity:.1}80%,to{opacity:.7}}[data-butler-state=alert] .br-ring{animation:br-alert-ring .7s ease-in-out infinite}@keyframes br-alert-ring{0%,to{box-shadow:0 0 var(--space-0h) rgb(var(--cr) var(--cg) var(--cb) / 30%)}50%{border-color:var(--error);box-shadow:0 0 14px color-mix(in srgb,var(--error) 50%,transparent)}}[data-butler-state=notification] .br-ring{animation:br-notif-nudge 2s ease-in-out infinite}[data-butler-state=notification] .br-echo{border-color:rgb(var(--cr) var(--cg) var(--cb) / 50%);animation:br-notif-ping 2s ease-out infinite}[data-butler-state=notification] .br-echo2{border-color:rgb(var(--cr) var(--cg) var(--cb) / 20%);animation:br-notif-ping 2s ease-out infinite .3s}@keyframes br-notif-nudge{0%,8%,to{transform:rotate(0)}2%{transform:rotate(6deg)}4%{transform:rotate(-6deg)}6%{transform:rotate(3deg)}}@keyframes br-notif-ping{0%{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}[data-butler-id=ace] .br-ring,#butler-btn:not([data-butler-id]) .br-ring{border-color:transparent;border-color:var(--cl) var(--c) var(--cd) var(--c)}#butler-btn:active .br-ring{transform:scale(.88);animation-play-state:paused}}}#butler-wrap{position:fixed;inset:0;pointer-events:none;z-index:900}#butler-btn{position:absolute;right:16px;bottom:82px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}#butler-btn.open{transform:scale(.88)}#butler-btn.snapping{transition:left .45s cubic-bezier(.34,1.56,.64,1),top .45s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}#butler-panel{position:absolute;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column;box-shadow:0 16px 48px #0000002e,0 4px 16px #0000001a;transform:scale(0);opacity:0;pointer-events:none;visibility:hidden;z-index:100}#butler-panel.opening{animation:bp-open .44s cubic-bezier(.34,1.38,.64,1) forwards;pointer-events:auto;visibility:visible}#butler-panel.open{transform:scale(1);opacity:1;pointer-events:auto;visibility:visible}#butler-panel.closing{animation:bp-close .3s cubic-bezier(.4,0,.7,1) forwards;pointer-events:none}@keyframes bp-open{0%{transform:scale(.04);opacity:0}18%{opacity:1}80%{transform:scale(1.026)}to{transform:scale(1);opacity:1}}@keyframes bp-close{0%{transform:scale(1);opacity:1}to{transform:scale(.04);opacity:0}}#butler-panel-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem .6rem 1.1rem;border-bottom:1px solid var(--border)}#butler-pill-wrap{position:relative}.butler-pill{background:none;border:none;font-family:var(--font);font-weight:300;font-size:1rem;letter-spacing:.14em;color:var(--gold);cursor:default;padding:.15rem 0;border-radius:99px;-webkit-tap-highlight-color:transparent}.butler-pill.multi{border:1px solid var(--border);padding:.15rem .7rem;cursor:pointer;transition:border-color .15s}.butler-pill.multi:hover{border-color:var(--gold)}.butler-pill-list{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:140px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #0000001f;z-index:10;overflow:hidden}.butler-pill-list.open{display:block}.butler-pill-item{width:100%;background:none;border:none;padding:.55rem .85rem;font-family:var(--font);font-size:.9rem;color:var(--text);text-align:left;cursor:pointer;letter-spacing:.06em;transition:background .12s}.butler-pill-item:hover{background:#c9a84c12}.butler-pill-item.active{color:var(--gold)}#butler-menu-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:.2rem;display:flex;align-items:center;border-radius:6px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .15s}#butler-menu-btn:hover{color:var(--text-mid)}#butler-menu-drop{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px #00000024;z-index:20;overflow:hidden}#butler-menu-drop.open{display:block}.bm-item{width:100%;background:none;border:none;padding:.6rem .9rem;font-family:var(--font);font-size:.875rem;color:var(--text);text-align:left;cursor:pointer;letter-spacing:.04em;display:flex;align-items:center;gap:.55rem;transition:background .1s;-webkit-tap-highlight-color:transparent}.bm-item:hover{background:#c9a84c0f}.bm-item+.bm-item{border-top:1px solid var(--border)}.bm-item svg{flex-shrink:0;color:var(--text-faint)}#butler-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.6rem}.b-wrap{display:flex;flex-direction:column;max-width:85%}.b-wrap.ace{align-self:flex-start}.b-wrap.user{align-self:flex-end}.b-sender{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.25rem;padding:0 .15rem}.b-wrap.ace .b-sender{display:none}.b-wrap.user .b-sender{text-align:right}.b-msg{padding:.5rem .8rem;border-radius:14px;font-size:var(--text-base);line-height:1.55;word-break:break-word}.b-msg.ace{background:#c9a84c12;border:1px solid var(--border);color:var(--text);border-bottom-right-radius:4px;white-space:pre-wrap}.b-msg.ace.md{white-space:normal}.b-msg.ace.md p{margin:0 0 .45em}.b-msg.ace.md p:last-child{margin-bottom:0}.b-msg.ace.md ul,.b-msg.ace.md ol{padding-left:1.3em;margin:0 0 .45em}.b-msg.ace.md code{background:#0000000f;border-radius:3px;padding:.1em .3em;font-size:.85em;font-family:monospace}[data-theme=night] .b-msg.ace.md code{background:#ffffff14}.b-msg.ace.md strong{font-weight:600}.b-msg.user{background:var(--text);color:var(--bg);border-bottom-right-radius:4px;white-space:pre-wrap}.b-msg.user.has-image{padding:0;overflow:hidden;white-space:normal}.b-msg-img{width:100%;display:block}.b-msg-text-below{padding:.45rem .8rem;font-size:var(--text-base);line-height:1.5}.b-msg.typing:after{content:"▋";animation:b-blink .8s step-end infinite;color:var(--gold)}@keyframes b-blink{50%{opacity:0}}.b-local-notice{text-align:center;font-size:.62rem;color:var(--text-faint);opacity:.5;padding:.15rem 0 .3rem}.b-speak-btn{background:none;border:none;padding:.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-faint);-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .15s;align-self:flex-start;margin-top:.25rem}.b-speak-btn:hover{color:var(--text-mid)}.b-speak-btn.generating{color:#c9a84c99}.b-speak-btn.playing{color:var(--gold)}@keyframes b-spin{to{transform:rotate(360deg)}}.b-speak-btn.generating svg{animation:b-spin 1s linear infinite}#butler-composer{flex-shrink:0;border-top:1px solid var(--border)}.bm-badge{display:none;margin-left:auto;background:var(--gold);color:var(--bg);font-size:.62rem;font-weight:600;min-width:16px;height:16px;border-radius:99px;padding:0 4px;line-height:16px;text-align:center}.bm-badge:not(:empty){display:inline-block}#butler-memo-panel{display:none;flex-direction:column;flex:1;padding:1rem;gap:.65rem;overflow:hidden}#butler-memo-panel.open{display:flex}#butler-memo-title{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0;flex-shrink:0}#butler-memo-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.35rem;min-height:0}.bm-memo-item{display:flex;align-items:flex-start;gap:.45rem;background:#00000008;border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem}[data-theme=night] .bm-memo-item{background:#ffffff0a}.bm-memo-item span{flex:1;font-size:.855rem;line-height:1.45;color:var(--text);word-break:break-word}.bm-memo-del{background:none;border:none;padding:.1rem;cursor:pointer;color:var(--text-faint);flex-shrink:0;display:flex;align-items:center;opacity:.5;transition:opacity .12s;-webkit-tap-highlight-color:transparent;margin-top:1px}.bm-memo-del:hover{opacity:1}.bm-memo-empty{font-size:.82rem;color:var(--text-faint);text-align:center;padding:.8rem 0;opacity:.5}#butler-memo-add-row{display:flex;gap:.45rem;flex-shrink:0}#butler-memo-input{flex:1;background:#00000008;border:1px solid var(--border);border-radius:8px;padding:.42rem .65rem;font-family:var(--font);font-size:.875rem;color:var(--text);min-width:0}[data-theme=night] #butler-memo-input{background:#ffffff0a}#butler-memo-input:focus{outline:none;border-color:#c9a84c59}#butler-memo-add{background:none;border:1px solid var(--border);border-radius:8px;padding:.42rem .75rem;font-family:var(--font);font-size:.82rem;color:var(--text-mid);cursor:pointer;white-space:nowrap;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:border-color .15s}#butler-memo-add:hover{border-color:var(--text-mid)}#butler-memo-footer{display:flex;gap:.5rem;justify-content:flex-end;flex-shrink:0}#butler-memo-cancel{background:none;border:1px solid var(--border);border-radius:8px;padding:.42rem .9rem;font-family:var(--font);font-size:.82rem;color:var(--text-mid);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s}#butler-memo-cancel:hover{border-color:var(--text-mid)}#butler-memo-process{background:#c9a84c1a;border:1px solid rgba(201,168,76,.35);border-radius:8px;padding:.42rem .9rem;font-family:var(--font);font-size:.82rem;color:var(--gold);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}#butler-memo-process:hover:not(:disabled){background:#c9a84c33}#butler-memo-process:disabled{opacity:.4;cursor:default}#butler-report-panel{display:none;flex-direction:column;flex:1;padding:1.1rem 1rem 1rem;gap:.75rem;overflow:hidden}#butler-report-panel.open{display:flex}#butler-report-title{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0}#butler-report-type-row{display:flex;gap:.5rem}.brt-type{flex:1;background:none;border:1px solid var(--border);border-radius:8px;padding:.45rem .5rem;font-family:var(--font);font-size:.82rem;color:var(--text-mid);cursor:pointer;letter-spacing:.03em;transition:border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.brt-type.active{border-color:var(--gold);color:var(--gold)}#butler-report-note{flex:1;min-height:72px;background:#00000008;border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;font-family:var(--font);font-size:.875rem;color:var(--text);resize:none;line-height:1.5}[data-theme=night] #butler-report-note{background:#ffffff0a}#butler-report-note:focus{outline:none;border-color:#c9a84c59}#butler-report-footer{display:flex;gap:.5rem;justify-content:flex-end}#butler-report-cancel{background:none;border:1px solid var(--border);border-radius:8px;padding:.42rem .9rem;font-family:var(--font);font-size:.82rem;color:var(--text-mid);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s}#butler-report-cancel:hover{border-color:var(--text-mid)}#butler-report-send{background:#c9a84c1a;border:1px solid rgba(201,168,76,.35);border-radius:8px;padding:.42rem .9rem;font-family:var(--font);font-size:.82rem;color:var(--gold);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}#butler-report-send:hover{background:#c9a84c33}#butler-report-send:disabled{opacity:.5;cursor:default}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer platform,sdk,app;@font-face{font-family:Optimistic Text;font-weight:300;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Light.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:400;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Normal.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:500;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Medium.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:700;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Bold.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:800;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-ExtraBold.woff2) format("woff2")}@layer platform{*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd,fieldset{margin:0;padding:0}:root{--nav-h: 70px;--topbar-h: 56px;--wordmark-h: 44px;--font: "Optimistic Text", system-ui, -apple-system, sans-serif;--text-3xs: .6rem;--text-2xs: .68rem;--text-xs: .75rem;--text-sm: .8rem;--text-md: .85rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--space-0\.5: 4px;--space-0h: 4px;--space-1: 8px;--space-1-5: 12px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--space-7: 56px;--space-8: 64px;--col-80: 80px;--col-88: 88px;--col-100: 100px;--col-120: 120px;--col-140: 140px;--col-160: 160px;--col-180: 180px;--col-200: 200px;--col-220: 220px;--col-240: 240px;--col-260: 260px;--col-280: 280px;--col-300: 300px;--col-320: 320px;--col-340: 340px;--col-400: 400px;--col-420: 420px;--col-480: 480px;--col-560: 560px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--gold: #c9a84c;--gold-dim: #a8895a;--gold-bright: #e0c060;--gold-muted: #a8895a;--gold-faint: rgba(201, 168, 76, .08);--gold-subtle: rgba(201, 168, 76, .15);--primary: var(--gold);--primary-dim: var(--gold-dim);--primary-bright: var(--gold-bright);--text: #2a2118;--text-secondary: #6b5b45;--text-muted: #b0a090;--text-mid: var(--text-secondary);--text-faint: var(--text-muted);--bg: #faf8f4;--bg-elevated: rgba(255, 255, 255, .6);--bg-sunken: #ede8dc;--card: var(--bg-elevated);--border: rgba(201, 168, 76, .18);--border-subtle: rgba(201, 168, 76, .1);--border-strong: rgba(201, 168, 76, .35);--surface: #f0ebe2;--surface-hover: #e8e2d8;--surface-active: #ddd7cc;--success: #85a894;--success-dark: #6e9478;--success-light: #9cbea8;--success-faint: #b4d0c0;--warning: #cca050;--warning-dark: #b88c3c;--warning-light: #e0ba6e;--warning-faint: #ecd088;--error: #c07060;--error-dark: #a85848;--error-light: #d48878;--error-faint: #e4a498;--info: #7e98b0;--info-dark: #6884a0;--info-light: #96aec4;--info-faint: #b0c4d6;--nav-bg: rgba(250, 248, 244, .85);--nav-border: rgba(201, 168, 76, .18);--toggle-off: #d8cebc;--toggle-on: var(--gold)}[data-theme=night]{--bg: #131110;--bg-elevated: rgba(255, 255, 255, .04);--bg-sunken: #0c0b0a;--card: var(--bg-elevated);--gold: #c9a84c;--gold-dim: #9a7a50;--gold-bright: #dbb84e;--gold-muted: #9a7a50;--gold-faint: rgba(201, 168, 76, .06);--gold-subtle: rgba(201, 168, 76, .12);--text: #ede8e0;--text-secondary: #9a8a74;--text-muted: #554e46;--text-mid: var(--text-secondary);--text-faint: var(--text-muted);--border: var(--gold-subtle);--border-subtle: var(--gold-faint);--border-strong: rgba(201, 168, 76, .3);--surface: #1c1916;--surface-hover: #231f1b;--surface-active: #2a2520;--toggle-off: #3a3020;--nav-bg: rgba(19, 17, 16, .85);--nav-border: var(--gold-subtle);--success: #85a894;--success-dark: #6e9478;--success-light: #9cbea8;--success-faint: #b4d0c0;--error: #c07060;--error-dark: #a85848;--error-light: #d48878;--error-faint: #e4a498;--warning: #cca050;--warning-dark: #b88c3c;--warning-light: #e0ba6e;--warning-faint: #ecd088;--info: #7e98b0;--info-dark: #6884a0;--info-light: #96aec4;--info-faint: #b0c4d6}[data-theme=paper]{--bg: #ffffff;--bg-elevated: #f4f4f4;--bg-sunken: #e8e8e8;--card: var(--bg-elevated);--gold: #000000;--gold-dim: #333333;--gold-bright: #555555;--gold-muted: #333333;--text: #000000;--text-secondary: #444444;--text-muted: #888888;--text-mid: var(--text-secondary);--text-faint: var(--text-muted);--border: #cccccc;--border-subtle: #e0e0e0;--border-strong: #999999;--surface: #eeeeee;--surface-hover: #e4e4e4;--surface-active: #d8d8d8;--toggle-off: #bbbbbb;--toggle-on: #000000;--nav-bg: #ffffff;--nav-border: #cccccc;--success: #444444;--success-dark: #333333;--success-light: #666666;--success-faint: #999999;--error: #444444;--error-dark: #333333;--error-light: #666666;--error-faint: #999999;--warning: #444444;--warning-dark: #333333;--warning-light: #666666;--warning-faint: #999999;--info: #444444;--info-dark: #333333;--info-light: #666666;--info-faint: #999999}[data-theme=paper] *{transition:none!important;animation:none!important}html{overflow-x:hidden;touch-action:pan-x pan-y}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden;transition:background .3s,color .3s;padding-top:env(safe-area-inset-top);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.subpage{position:relative;z-index:1;margin:0 auto;padding:var(--space-2) var(--space-3)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:.4rem}.page-header-l{display:flex;align-items:center;gap:var(--space-2)}.back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--card);border:1px solid var(--border);color:var(--text-secondary);text-decoration:none;transition:color .2s;flex-shrink:0}.back-btn:hover{color:var(--text)}.page-title{font-family:var(--font);font-weight:500;font-size:var(--text-2xl);letter-spacing:.02em;color:var(--text)}.page-sub{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em;margin-bottom:var(--space-3);padding-left:calc(36px + var(--space-2))}.app-wordmark{margin:0 auto;padding:var(--space-3) var(--space-2) 0;display:flex;align-items:baseline;gap:0;user-select:none}.app-wordmark-palace{font-family:var(--font);font-size:var(--text-xl);font-weight:400;color:var(--gold);text-decoration:none;letter-spacing:.04em;line-height:1}.app-wordmark-sep{margin:0 .1em}.app-wordmark-name{font-family:var(--font);font-size:var(--text-xl);font-weight:400;color:var(--text);text-decoration:none;letter-spacing:.04em;line-height:1}.palace-app{display:contents}}@font-face{font-family:Optimistic Text;font-weight:300;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Light.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:400;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Normal.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:500;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Medium.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:700;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-Normal.woff2) format("woff2")}@font-face{font-family:Optimistic Text;font-weight:800;font-style:normal;font-display:block;src:url(/fonts/OptimisticText-ExtraBold.woff2) format("woff2")}html,body{font-family:Optimistic Text,system-ui,-apple-system,sans-serif}
