:root{--bg:#fffafd;--bg-2:#f3e8ff;--bg-3:#ffd6ec;--purple:#7c3aed;--purple-ink:#7c3aed;--pink:#f472b6;--pink-ink:#be185d;--btn-grad:linear-gradient(130deg, #7c3aed, #be185d);--purple-fill:#7c3aed;--ink:#2e1a47;--ink-soft:#6b5a80;--panel:#ffffffdb;--line:#7c3aed24;--line-strong:#7c3aed4d;--ease-snap:cubic-bezier(.2, .8, .2, 1);--ease-pop:cubic-bezier(.34, 1.4, .64, 1);--lamp:#ffd9a0;--glow:0;--panel-edge:#ffffffeb;--panel-shadow:0 18px 42px -26px #4c1d9580;--hdr-bg:#fffafd;--chip-bg:linear-gradient(120deg, #7c3aed1a, #f472b624);--mint:#3aa88a;--sky-ink:#5b4a74;--round:var(--font-round,ui-rounded, "Hiragino Maru Gothic ProN", "Yu Gothic", system-ui, sans-serif);--mono:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, "Noto Sans Mono", monospace);--gut:clamp(18px, 5vw, 48px);--max:1080px;--hdr-h:60px;--s-wall-1:#fdf5ff;--s-wall-2:#f4e7fb;--s-floor:#eadcf3;--s-floor-2:#dcc9ea;--s-desk:#f8e8d8;--s-desk-2:#eed7c0;--s-desk-edge:#ddbfa4;--s-wood:#ead0b4;--s-wood-2:#d6b48d;--s-frame:#fffdff;--s-frame-2:#eedff4;--s-shell:#f6eefa;--s-shell-2:#e3d4ec;--s-paper:#fffaf4;--s-paper-2:#f0e3d6;--s-fur:#fff;--s-fur-line:#b39bc4;--s-cat-face:#4a2c52;--s-screen:#1d1633;--s-shadow:#6b3a551a}html[data-resolved=dark]{--bg:#1e1630;--bg-2:#241a3d;--bg-3:#2e1a47;--ink:#f3e8ff;--ink-soft:#d1c4ff;--panel:#2e1a47b3;--line:#c4b5fd29;--line-strong:#c4b5fd5c;--glow:1;--panel-edge:#c4b5fd1f;--panel-shadow:0 18px 42px -26px #000c;--hdr-bg:#1e1630;--chip-bg:linear-gradient(120deg, #a78bfa2e, #f472b629);--mint:#7fd8bd;--sky-ink:#d1c4ff;--purple:#a78bfa;--purple-ink:#cdbcff;--pink-ink:#f9a8d4;--s-wall-1:#2a2040;--s-wall-2:#1d1531;--s-floor:#191230;--s-floor-2:#140e26;--s-desk:#4c3b55;--s-desk-2:#3b2c44;--s-desk-edge:#2f2337;--s-wood:#463650;--s-wood-2:#362941;--s-frame:#4f405b;--s-frame-2:#392e48;--s-shell:#443853;--s-shell-2:#312741;--s-paper:#c9b8d0;--s-paper-2:#a895b0;--s-fur:#fff;--s-fur-line:#9d86ad;--s-cat-face:#2b2338;--s-screen:#140f26;--s-shadow:#00000059}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light;overflow-x:hidden}html[data-resolved=dark]{color-scheme:dark}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--round);transition:background-color .4s var(--ease-snap), color .4s var(--ease-snap);margin:0;font-size:16px;line-height:1.85}h1,h2,h3,h4,p,dl,dd,figure,blockquote{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg{max-width:100%}code,kbd,samp{font-family:var(--mono)}::selection{background:var(--pink);color:#fff}:focus-visible{outline:2.5px solid var(--purple);outline-offset:3px;border-radius:8px}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.only-pointer{display:none}@media (hover:hover) and (pointer:fine){.only-touch{display:none}.only-pointer{display:inline}}.skip{z-index:120;background:var(--purple);color:#fff;transition:top .2s var(--ease-snap);border-radius:0 0 14px 14px;padding:10px 18px;font-weight:700;text-decoration:none;position:fixed;top:-70px;left:10px}.skip:focus{top:0}.phrase{word-break:keep-all;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gut);margin-inline:auto}.muted{color:var(--ink-soft)}.small{font-size:.82rem}.circle{z-index:95;pointer-events:none;opacity:0;width:min(58vmin,420px);height:min(58vmin,420px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.circle svg{width:100%;height:100%;display:block}.circle .c-ring{fill:none;stroke:var(--purple);stroke-width:1.2px;opacity:.9}.circle .c-ring2{fill:none;stroke:#fff;stroke-width:2.4px;opacity:.75}.circle .c-star{fill:none;stroke:var(--purple);stroke-width:1.4px;stroke-linejoin:round;opacity:.95}.circle .c-dot{fill:#fff;stroke:var(--purple);stroke-width:1px}.circle.is-on{animation:.6s both circleGo}.circle.is-tail{animation:circleTail .42s var(--ease-snap) both}@keyframes circleGo{0%{opacity:0;animation-timing-function:cubic-bezier(.34,1.4,.64,1);transform:translate(-50%,-50%)scale(.45)rotate(0)}33%{opacity:1;animation-timing-function:cubic-bezier(.2,.8,.2,1);transform:translate(-50%,-50%)scale(1)rotate(8deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.2)rotate(54deg)}}@keyframes circleTail{0%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(8deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.2)rotate(54deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.circle.is-on,.circle.is-tail{opacity:1;transition:opacity .2s linear;animation:none}}html.reduced .circle.is-on,html.reduced .circle.is-tail{animation:none}.particles{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.pt{width:var(--s);height:var(--s);animation:ptLife .6s var(--ease-snap) var(--d,0s) both;background:#ffffffeb;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.pt:after{content:"";background:var(--c);border-radius:inherit;clip-path:inherit;position:absolute;inset:1.6px}.pt--dot{border-radius:50%}.pt--star{clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%)}.pt--heart{color:var(--c);font-size:var(--s);text-shadow:0 0 2px #fff,0 0 4px #fffc;background:0 0;place-items:center;line-height:1;display:grid}.pt--heart:after{display:none}.pt--burst{animation-name:ptBurst}@keyframes ptBurst{0%{opacity:1;transform:translate(-50%,-50%)scale(.7)rotate(0)}55%{opacity:1;transform:translate(calc(-50% + var(--dx) * .85), calc(-50% + var(--dy) * .85)) scale(1) rotate(60deg)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.4) rotate(120deg)}}@keyframes ptLife{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)rotate(0)}22%{opacity:1;transform:translate(calc(-50% + var(--dx) * .3), calc(-50% + var(--dy) * .3)) scale(1) rotate(30deg)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.5) rotate(120deg)}}
