@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@300;400;600;700;900&family=JetBrains+Mono:wght@400;700&display=swap";:root{--red:#d92b2b;--red-dark:#b52020;--black:#0a0a0a;--white:#f2efe8;--gray:#1a1a1a;--mid:#2e2e2e;--accent:#e8d44d;--sidebar-w:72px;--sidebar-expanded:240px;--font-display:"Bebas Neue", sans-serif;--font-body:"Barlow Condensed", sans-serif;--font-mono:"JetBrains Mono", monospace}html,body,#app{min-height:100%}body{background:var(--black);color:var(--white);font-family:var(--font-body);overflow:hidden auto}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--black)}::-webkit-scrollbar-thumb{background:var(--red)}.section{padding:100px 60px;position:relative}.section-header{align-items:flex-end;gap:24px;margin-bottom:60px;display:flex}.section-num{font-family:var(--font-display);color:var(--red);opacity:.3;font-size:80px;line-height:1}.section-title{font-family:var(--font-display);letter-spacing:4px;color:var(--white);text-transform:uppercase;font-size:48px}.section-line{background:linear-gradient(90deg, var(--red), transparent);flex:1;height:2px}.hamburger[data-v-8f5cdb93]{cursor:pointer}.hamburger input[data-v-8f5cdb93]{display:none}.hamburger svg[data-v-8f5cdb93]{height:3em;transition:transform .6s cubic-bezier(.4,0,.2,1)}.line[data-v-8f5cdb93]{fill:none;stroke:#a8afb9;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1),stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.line-top-bottom[data-v-8f5cdb93]{stroke:#71717b;stroke-dasharray:12 63}.hamburger input:checked+svg[data-v-8f5cdb93]{transform:rotate(-45deg)}.hamburger input:checked+svg .line-top-bottom[data-v-8f5cdb93]{stroke-dasharray:20 300;stroke-dashoffset:-32.42px}.minimal-sidebar[data-v-3d83834f]{left:0;top:var(--nav-h);height:calc(100vh - var(--nav-h));width:240px;transform:translateX(calc(-100% + var(--sidebar-rail)));z-index:1200;background:#fffffffa;border-right:1px solid #0f0f0f0f;align-items:flex-start;padding:1.25rem;transition:transform .26s cubic-bezier(.77,0,.18,1);display:flex;position:fixed;box-shadow:4px 0 24px #0f0f0f0a}.minimal-sidebar.open[data-v-3d83834f]{transform:translate(0)}.sidebar-nav[data-v-3d83834f]{flex-direction:column;gap:.75rem;width:100%;display:flex}.peek-toggle[data-v-3d83834f]{justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;top:8px;right:0}.nav-item[data-v-3d83834f]{font-family:var(--mono);width:fit-content;color:var(--ink);border-left:2px solid #0000;align-self:flex-start;padding:8px 6px;font-size:14px;display:inline-block}.nav-item.router-link-active[data-v-3d83834f]{border-left-color:var(--ink)}.sidebar-backdrop[data-v-3d83834f]{bottom:0;left:0;right:0;top:var(--nav-h);z-index:1100;background:#00000040;position:fixed}@media (width<=640px){.minimal-sidebar[data-v-3d83834f],.sidebar-backdrop[data-v-3d83834f]{display:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0f0f0f;--ink-light:#6b6b6b;--ink-faint:#c4c4c4;--paper:#fafaf8;--paper-warm:#f3f1ec;--accent:#0f0f0f;--line:1px solid #e0deda;--serif:"Instrument Serif", Georgia, serif;--mono:"DM Mono", "Courier New", monospace;--sans:"Noto Sans SC", sans-serif;--nav-h:56px;--sidebar-rail:56px;--content-max:72rem;--page-gutter:clamp(1rem, 5vw, 3rem)}html{font-size:16px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300}a{color:inherit;text-decoration:none}.app{flex-direction:column;min-height:100vh;display:flex}.nav{z-index:100;padding:0 var(--page-gutter);min-height:var(--nav-h);background:var(--paper);border-bottom:var(--line);align-items:center;gap:clamp(1rem,3vw,2rem);display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:1px;font-size:13px;font-weight:500;display:flex}.logo-bracket{color:var(--ink-faint)}.logo-text{color:var(--ink)}.nav-links{flex:1;gap:2rem;min-width:0;display:flex}.nav-link{font-family:var(--mono);color:var(--ink-light);letter-spacing:.05em;border-bottom:1px solid #0000;padding-bottom:2px;font-size:12px;transition:color .2s}.nav-link:hover,.nav-link.router-link-active{color:var(--ink);border-bottom-color:var(--ink)}.nav-meta{font-family:var(--mono);color:var(--ink-faint);font-size:11px}.nav-account{min-width:0;font-family:var(--mono);align-items:center;gap:.6rem;font-size:11px;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;color:var(--ink-light);overflow:hidden}.account-link,.logout-button{border:1px solid var(--ink-faint);color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:.35rem .5rem}.account-link:hover,.logout-button:hover{border-color:var(--ink)}.main{padding-left:var(--sidebar-rail);padding-top:var(--nav-h);flex:1;min-width:0}.footer{border-top:var(--line);margin-left:var(--sidebar-rail);padding:clamp(1.5rem, 4vw, 2rem) var(--page-gutter);justify-content:center;display:flex}.footer-line{display:none}.footer-content{font-family:var(--mono);color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:1rem;font-size:11px;display:flex}.footer-sep{color:var(--ink-faint)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}@media (width<=640px){.nav{align-items:center;gap:clamp(.75rem,3vw,1rem);padding-inline:.75rem}.nav-links{gap:clamp(.5rem,3vw,1rem)}.nav-link{white-space:nowrap;font-size:clamp(10px,3vw,12px)}.nav-meta,.account-name{display:none}.nav-logo{flex-shrink:0}.main{padding-left:0}.footer{margin-left:0}}.home[data-v-d49a860c]{width:100%}.hero[data-v-d49a860c]{padding:clamp(4.5rem, 9vw, 7rem) var(--page-gutter) clamp(3rem, 7vw, 5rem);border-bottom:var(--line);position:relative;overflow-x:hidden}.hero-inner[data-v-d49a860c]{z-index:1;max-width:min(52rem,100%);position:relative}.hero-grid-bg[data-v-d49a860c]{opacity:.12;background-image:linear-gradient(var(--ink-faint) 1px, transparent 1px), linear-gradient(90deg, var(--ink-faint) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80% at 80%,#000 0%,#0000 70%);mask-image:radial-gradient(80% 80% at 80%,#000 0%,#0000 70%)}.hero-label[data-v-d49a860c]{align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.label-line[data-v-d49a860c]{background:var(--ink-light);width:32px;height:1px;display:block}.label-text[data-v-d49a860c]{color:var(--ink-light);font-family:var(--mono);letter-spacing:.1em;font-size:11px}.hero-title[data-v-d49a860c]{color:var(--ink);font-family:var(--serif);letter-spacing:-.01em;margin-bottom:1.5rem;font-size:clamp(2.5rem,7vw,5.5rem);font-weight:400;line-height:1.1}.hero-sub[data-v-d49a860c]{max-width:min(32rem,100%);color:var(--ink-light);margin-bottom:2.5rem;font-size:clamp(.9375rem,1.8vw,1rem);line-height:1.7}.hero-actions[data-v-d49a860c]{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.btn-primary[data-v-d49a860c]{background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.05em;padding:10px 24px;font-size:12px;transition:opacity .2s;display:inline-block}.btn-primary[data-v-d49a860c]:hover{opacity:.8}.hero-stat[data-v-d49a860c]{color:var(--ink-faint);font-family:var(--mono);font-size:11px}@media (width<=768px){.hero-actions[data-v-d49a860c]{flex-direction:column;align-items:flex-start;gap:1rem}}.section-rule[data-v-d49a860c]{min-height:48px;padding:0 var(--page-gutter);border-bottom:var(--line);align-items:center;gap:1rem;display:flex}.section-rule[data-v-d49a860c]:before{content:"";opacity:.4;background:var(--ink-faint);flex:1;height:1px}.rule-label[data-v-d49a860c]{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.15em;font-size:10px}.tools-section[data-v-d49a860c]{padding:clamp(1.5rem, 5vw, 3rem) var(--page-gutter)}.tools-grid[data-v-d49a860c]{width:min(100%, var(--content-max));background:var(--ink-faint);border:1px solid var(--ink-faint);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1px;margin:0 auto 2.5rem;display:grid}.tool-card[data-v-d49a860c]{background:var(--paper);flex-direction:column;gap:.5rem;min-height:clamp(12.5rem,20vw,15rem);padding:clamp(1.25rem,3vw,2rem);transition:background .2s;display:flex}.tool-card[data-v-d49a860c]:hover{background:var(--paper-warm)}.tool-card-top[data-v-d49a860c]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tool-icon[data-v-d49a860c]{border:var(--line);width:42px;height:42px;color:var(--ink-light);font-family:var(--mono);object-fit:cover;place-items:center;font-size:14px;font-weight:500;display:grid}.tool-tag[data-v-d49a860c]{border:1px solid var(--ink-faint);color:var(--ink-faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;font-size:9px}.tool-name[data-v-d49a860c]{color:var(--ink);font-family:var(--serif);font-size:1.25rem;font-weight:400}.tool-desc[data-v-d49a860c]{color:var(--ink-light);flex:1;font-size:13px;line-height:1.6}.tool-footer[data-v-d49a860c]{border-top:1px solid #0000;justify-content:flex-end;align-items:center;padding-top:.5rem;transition:border-color .2s;display:flex}.tool-card:hover .tool-footer[data-v-d49a860c]{border-color:var(--ink-faint)}.tool-arrow[data-v-d49a860c]{color:var(--ink-light);font-family:var(--mono);font-size:14px;transition:transform .2s}.tool-card:hover .tool-arrow[data-v-d49a860c]{transform:translate(4px)}.tools-more[data-v-d49a860c]{width:min(100%, var(--content-max));text-align:center;margin-inline:auto}.btn-ghost[data-v-d49a860c]{border-bottom:1px solid var(--ink-faint);color:var(--ink-light);font-family:var(--mono);letter-spacing:.05em;padding:8px 0;font-size:12px;transition:color .2s,border-color .2s;display:inline-block}.btn-ghost[data-v-d49a860c]:hover{border-color:var(--ink);color:var(--ink)}@media (width<=560px){.tools-grid[data-v-d49a860c]{grid-template-columns:1fr}.tool-card[data-v-d49a860c]{min-height:160px}.tool-card-top[data-v-d49a860c]{align-items:flex-start;gap:.75rem}}.features[data-v-d49a860c]{padding:clamp(1.5rem, 5vw, 3rem) var(--page-gutter);border-top:var(--line)}.features-inner[data-v-d49a860c]{width:min(100%, var(--content-max));grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(1.5rem,4vw,3rem);margin-inline:auto;display:grid}.feature[data-v-d49a860c]{align-items:flex-start;gap:1.5rem;display:flex}.feature-num[data-v-d49a860c]{color:var(--ink-faint);font-family:var(--mono);flex-shrink:0;padding-top:3px;font-size:11px}.feature-title[data-v-d49a860c]{margin-bottom:.4rem;font-size:14px;font-weight:400}.feature-text[data-v-d49a860c]{color:var(--ink-light);font-size:13px;line-height:1.6}@media (width<=768px){.feature[data-v-d49a860c]{gap:1rem}}@media (width<=560px){.features-inner[data-v-d49a860c]{grid-template-columns:1fr;gap:1.5rem}.feature[data-v-d49a860c]{gap:.875rem}}.group[data-v-d5bb2a31]{align-items:center;width:min(100%,260px);line-height:28px;display:flex;position:relative}.input[data-v-d5bb2a31]{color:#0d0c22;width:100%;height:40px;line-height:28px;font-family:var(--mono);background-color:#f3f3f4;border:2px solid #0000;border-radius:8px;outline:none;padding:0 1rem 0 2.5rem;font-size:12px;transition:all .3s}.input[data-v-d5bb2a31]::placeholder{color:#9e9ea7}.input[data-v-d5bb2a31]:focus,.input[data-v-d5bb2a31]:hover{background-color:#f9f6f1;border-color:#babcb9;outline:none;box-shadow:0 0 0 4px #f9f6f1}.icon[data-v-d5bb2a31]{fill:#9e9ea7;width:1rem;height:1rem;position:absolute;left:1rem}.tools-page[data-v-b402d0bc]{width:100%}.page-header[data-v-b402d0bc]{border-bottom:var(--line);padding:clamp(2rem, 5vw, 3rem) var(--page-gutter) 0}.page-header-content[data-v-b402d0bc]{width:min(100%, var(--content-max));margin-inline:auto}.page-header-top[data-v-b402d0bc]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem;display:flex}.page-title[data-v-b402d0bc]{font-family:var(--serif);font-size:clamp(2rem,6vw,2.5rem);font-weight:400}.page-count[data-v-b402d0bc]{font-family:var(--mono);color:var(--ink-faint);font-size:11px}.filter-bar[data-v-b402d0bc]{flex-wrap:wrap;align-items:center;gap:.25rem 0;display:flex}.filter-btn[data-v-b402d0bc]{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px clamp(.75rem,2vw,1rem);font-size:11px;transition:all .15s}.filter-btn[data-v-b402d0bc]:hover{color:var(--ink)}.filter-btn.active[data-v-b402d0bc]{color:var(--ink);border-bottom-color:var(--ink)}.search-wrap[data-v-b402d0bc]{margin-left:auto;padding-bottom:8px}.search-wrap[data-v-b402d0bc] .group{width:min(100%,260px)}.list-wrap[data-v-b402d0bc]{width:100%}.list-item[data-v-b402d0bc]{border-bottom:var(--line);transition:background .15s;display:block}.list-item-content[data-v-b402d0bc]{width:min(100%, calc(var(--content-max) + var(--page-gutter) + var(--page-gutter)));min-height:5.25rem;padding:1.25rem var(--page-gutter);align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.list-item[data-v-b402d0bc]:hover{background:var(--paper-warm)}.list-num[data-v-b402d0bc]{font-family:var(--mono);color:var(--ink-faint);flex-shrink:0;width:24px;font-size:11px}.list-icon[data-v-b402d0bc]{font-family:var(--mono);color:var(--ink-light);object-fit:cover;text-align:center;flex-shrink:0;width:28px;height:28px;font-size:13px}.list-body[data-v-b402d0bc]{flex:1;min-width:0}.list-name[data-v-b402d0bc]{margin-bottom:2px;font-size:14px;font-weight:400}.list-desc[data-v-b402d0bc]{color:var(--ink-light);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.list-cat[data-v-b402d0bc]{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.08em;white-space:nowrap;flex-shrink:0;font-size:10px}.list-arrow[data-v-b402d0bc]{font-family:var(--mono);color:var(--ink-faint);font-size:14px;transition:transform .2s,color .2s}.list-item:hover .list-arrow[data-v-b402d0bc]{color:var(--ink);transform:translate(4px)}.list-empty[data-v-b402d0bc]{font-family:var(--mono);color:var(--ink-faint);text-align:center;padding:4rem clamp(1rem,5vw,3rem);font-size:13px}@media (width<=768px){.filter-bar[data-v-b402d0bc]{align-items:stretch}.search-wrap[data-v-b402d0bc]{width:100%;margin-left:0;padding-bottom:0}.search-wrap[data-v-b402d0bc] .group{width:100%}}@media (width<=640px){.list-item-content[data-v-b402d0bc]{min-height:0;padding:1rem var(--page-gutter);grid-template-columns:24px 28px minmax(0,1fr) auto;grid-template-areas:"num icon body arrow"". .cat arrow";align-items:start;gap:.25rem .75rem;display:grid}.list-num[data-v-b402d0bc]{grid-area:num}.list-icon[data-v-b402d0bc]{grid-area:icon}.list-body[data-v-b402d0bc]{grid-area:body}.list-cat[data-v-b402d0bc]{grid-area:cat}.list-arrow[data-v-b402d0bc]{grid-area:arrow;align-self:center}.list-desc[data-v-b402d0bc]{white-space:normal;text-overflow:clip;line-height:1.5;overflow:visible}}@media (width<=420px){.filter-btn[data-v-b402d0bc]{padding-left:12px;padding-right:12px}.page-count[data-v-b402d0bc]{width:100%}.list-item-content[data-v-b402d0bc]{gap:.25rem .625rem}.list-name[data-v-b402d0bc]{font-size:13px}.list-desc[data-v-b402d0bc]{font-size:11px}.list-cat[data-v-b402d0bc]{font-size:9px}}@media (width>=641px) and (width<=960px){.filter-bar[data-v-b402d0bc]{row-gap:.5rem}.search-wrap[data-v-b402d0bc]{order:2;width:100%;margin-left:0;padding-bottom:0}.search-wrap[data-v-b402d0bc] .group{width:min(100%,320px)}.list-item-content[data-v-b402d0bc]{gap:1rem}.list-desc[data-v-b402d0bc]{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.about-page[data-v-be7abffc]{width:100%}.about-header[data-v-be7abffc]{border-bottom:var(--line);width:100%;padding:clamp(2rem,6vw,4rem) clamp(1rem,5vw,3rem) clamp(2rem,5vw,3rem)}.about-title[data-v-be7abffc]{font-family:var(--serif);margin-bottom:1rem;font-size:clamp(2rem,6vw,2.5rem);font-weight:400}.about-lead[data-v-be7abffc]{color:var(--ink-light);max-width:min(480px,100%);font-size:clamp(.9375rem,1.8vw,1rem);line-height:1.7}.about-body[data-v-be7abffc]{grid-template-columns:minmax(0,1fr) minmax(220px,240px);gap:0;display:grid}.about-main[data-v-be7abffc]{border-right:var(--line);padding:clamp(1.5rem,5vw,3rem)}.about-section[data-v-be7abffc]{margin-bottom:3rem}.about-section[data-v-be7abffc]:last-child{margin-bottom:0}.section-heading[data-v-be7abffc]{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;border-bottom:var(--line);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:11px}.principles[data-v-be7abffc]{flex-direction:column;gap:1.5rem;display:flex}.principle[data-v-be7abffc]{align-items:flex-start;gap:1rem;display:flex}.principle-mark[data-v-be7abffc]{font-family:var(--mono);color:var(--ink-faint);flex-shrink:0;padding-top:2px}.principle-title[data-v-be7abffc]{margin-bottom:4px;font-size:14px;font-weight:400}.principle-text[data-v-be7abffc]{color:var(--ink-light);font-size:13px;line-height:1.65}.tech-list[data-v-be7abffc]{flex-direction:column;display:flex}.tech-item[data-v-be7abffc]{border-bottom:var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.tech-name[data-v-be7abffc]{font-family:var(--mono);font-size:13px}.tech-desc[data-v-be7abffc]{color:var(--ink-faint);text-align:right;font-size:12px}.about-text[data-v-be7abffc]{color:var(--ink-light);margin-bottom:1rem;font-size:13px;line-height:1.65}.contact-links[data-v-be7abffc]{gap:1.5rem;display:flex}.contact-link[data-v-be7abffc]{font-family:var(--mono);color:var(--ink-light);border-bottom:1px solid var(--ink-faint);padding-bottom:2px;font-size:12px;transition:color .15s,border-color .15s}.contact-link[data-v-be7abffc]:hover{color:var(--ink);border-color:var(--ink)}.about-aside[data-v-be7abffc]{padding:clamp(1.5rem,5vw,3rem) clamp(1rem,4vw,2rem)}.stat-block[data-v-be7abffc]{background:var(--ink-faint);border:1px solid var(--ink-faint);grid-template-columns:1fr 1fr;gap:1px;margin-bottom:2rem;display:grid}.stat-item[data-v-be7abffc]{background:var(--paper);flex-direction:column;gap:4px;padding:1.25rem;display:flex}.stat-num[data-v-be7abffc]{font-family:var(--mono);font-size:1.75rem;font-weight:300;line-height:1}.stat-label[data-v-be7abffc]{color:var(--ink-faint);font-size:11px;line-height:1.4}.aside-note[data-v-be7abffc]{color:var(--ink-faint);border-left:2px solid var(--ink-faint);padding-left:.75rem;font-size:12px;line-height:1.6}@media (width<=768px){.about-body[data-v-be7abffc]{grid-template-columns:1fr}.about-main[data-v-be7abffc]{border-right:none}.about-aside[data-v-be7abffc]{border-top:var(--line)}}@media (width<=480px){.principle[data-v-be7abffc]{gap:.75rem}.tech-item[data-v-be7abffc]{flex-direction:column;align-items:flex-start}.tech-desc[data-v-be7abffc]{text-align:left}.contact-links[data-v-be7abffc]{flex-direction:column;align-items:flex-start;gap:.75rem}}.auth-page[data-v-4c6e97f0]{width:min(100%,70rem);min-height:calc(100vh - var(--nav-h) - 5rem);padding:clamp(3rem, 10vh, 7rem) var(--page-gutter);grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);align-items:center;gap:clamp(3rem,10vw,9rem);margin:0 auto;display:grid}.auth-copy[data-v-4c6e97f0]{max-width:32rem}.auth-eyebrow[data-v-4c6e97f0],.card-kicker[data-v-4c6e97f0],.field span[data-v-4c6e97f0],.guest-link[data-v-4c6e97f0],.auth-submit[data-v-4c6e97f0],.mode-switch[data-v-4c6e97f0]{font-family:var(--mono);letter-spacing:.08em;font-size:.7rem}.auth-eyebrow[data-v-4c6e97f0],.card-kicker[data-v-4c6e97f0]{color:var(--ink-light)}.auth-copy h1[data-v-4c6e97f0]{font-family:var(--serif);margin:.8rem 0 1.5rem;font-size:clamp(3rem,7vw,5.5rem);font-weight:400;line-height:.9}.auth-intro[data-v-4c6e97f0]{max-width:26rem;color:var(--ink-light);font-size:.98rem;line-height:1.8}.guest-link[data-v-4c6e97f0]{border-bottom:1px solid var(--ink);gap:.75rem;margin-top:2rem;padding-bottom:.45rem;display:inline-flex}.guest-link span[data-v-4c6e97f0]{font-size:1rem;transition:transform .2s}.guest-link:hover span[data-v-4c6e97f0]{transform:translate(.25rem)}.auth-card[data-v-4c6e97f0]{border:1px solid var(--ink-faint);background:var(--paper-warm);padding:clamp(1.5rem,4vw,2.5rem)}.auth-card h2[data-v-4c6e97f0]{font-family:var(--serif);margin:.75rem 0 1.75rem;font-size:2.4rem;font-weight:400}.field[data-v-4c6e97f0]{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.field span[data-v-4c6e97f0]{color:var(--ink-light)}.field input[data-v-4c6e97f0]{border:0;border-bottom:1px solid var(--ink-faint);width:100%;color:var(--ink);font-family:var(--sans);background:0 0;outline:none;padding:.75rem 0;font-size:1rem}.field input[data-v-4c6e97f0]:focus{border-bottom-color:var(--ink)}.auth-error[data-v-4c6e97f0]{color:#a82828;font-family:var(--mono);margin-top:1rem;font-size:.72rem;line-height:1.6}.auth-submit[data-v-4c6e97f0]{border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--paper);cursor:pointer;margin-top:1.75rem;padding:.9rem 1rem}.auth-submit[data-v-4c6e97f0]:hover:not(:disabled){color:var(--ink);background:0 0}.auth-submit[data-v-4c6e97f0]:disabled,.mode-switch[data-v-4c6e97f0]:disabled{cursor:default;opacity:.45}.mode-switch[data-v-4c6e97f0]{width:100%;color:var(--ink-light);cursor:pointer;background:0 0;border:0;margin-top:1rem;display:block}.mode-switch[data-v-4c6e97f0]:hover:not(:disabled){color:var(--ink)}@media (width<=720px){.auth-page[data-v-4c6e97f0]{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.auth-copy h1[data-v-4c6e97f0]{font-size:clamp(3rem,18vw,4.5rem)}}.messages-page[data-v-65dd8fe2]{width:100%}.messages-hero[data-v-65dd8fe2]{border-bottom:var(--line);background:linear-gradient(110deg, transparent 0 67%, #0f0f0f06 67% 100%), var(--paper);position:relative;overflow:hidden}.messages-hero[data-v-65dd8fe2]:after{content:"";pointer-events:none;background-image:linear-gradient(#0f0f0f0e 1px,#0000 1px),linear-gradient(90deg,#0f0f0f0e 1px,#0000 1px);background-size:32px 32px;width:min(38vw,30rem);position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(90deg,#0000,#000 45%)}.messages-hero-content[data-v-65dd8fe2]{z-index:1;width:min(100%, var(--content-max));padding:clamp(3.5rem, 9vw, 6.5rem) var(--page-gutter) clamp(2.5rem, 6vw, 4rem);justify-content:space-between;align-items:flex-end;gap:clamp(2rem,8vw,8rem);margin-inline:auto;display:flex;position:relative}.hero-copy[data-v-65dd8fe2]{max-width:42rem}.hero-eyebrow[data-v-65dd8fe2],.composer-kicker[data-v-65dd8fe2],.archive-kicker[data-v-65dd8fe2],.archive-count[data-v-65dd8fe2],.posting-as[data-v-65dd8fe2],.message-form label[data-v-65dd8fe2],.form-meta[data-v-65dd8fe2],.login-link[data-v-65dd8fe2],.auth-pending[data-v-65dd8fe2]{font-family:var(--mono);letter-spacing:.1em;font-size:.68rem}.hero-eyebrow[data-v-65dd8fe2]{color:var(--ink-light);margin-bottom:1.2rem}.messages-hero h1[data-v-65dd8fe2]{font-family:var(--serif);letter-spacing:-.035em;margin-bottom:1rem;font-size:clamp(3.8rem,10vw,7.5rem);font-weight:400;line-height:.82}.hero-intro[data-v-65dd8fe2]{max-width:36rem;color:var(--ink-light);font-size:clamp(.9rem,1.5vw,1rem);line-height:1.8}.archive-status[data-v-65dd8fe2]{border-left:1px solid var(--ink);flex-direction:column;flex:none;width:8rem;padding:1.2rem 0 .2rem 1.2rem;display:flex}.status-value[data-v-65dd8fe2]{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4rem);line-height:.8}.status-label[data-v-65dd8fe2]{color:var(--ink-light);font-family:var(--mono);letter-spacing:.12em;margin-top:.8rem;font-size:.62rem}.messages-layout[data-v-65dd8fe2]{width:min(100%, var(--content-max));padding:clamp(2rem, 6vw, 4rem) var(--page-gutter) clamp(4rem, 9vw, 7rem);grid-template-columns:minmax(17rem,20rem) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);margin-inline:auto;display:grid}.composer[data-v-65dd8fe2]{top:calc(var(--nav-h) + 1.5rem);border:1px solid var(--ink-faint);background:linear-gradient(90deg, transparent 1.65rem, #a83f2a29 1.65rem, #a83f2a29 calc(1.65rem + 1px), transparent calc(1.65rem + 1px)), var(--paper-warm);align-self:start;padding:clamp(1.25rem,3vw,1.75rem);position:sticky;box-shadow:7px 7px #0f0f0f0b}.composer-heading[data-v-65dd8fe2]{border-bottom:var(--line);align-items:flex-start;gap:.9rem;padding-bottom:1.25rem;display:flex}.composer-mark[data-v-65dd8fe2]{color:var(--ink-faint);padding-top:.1rem;font-size:.8rem}.composer-kicker[data-v-65dd8fe2],.archive-kicker[data-v-65dd8fe2]{color:var(--ink-faint);margin-bottom:.4rem}.composer h2[data-v-65dd8fe2],.archive-heading h2[data-v-65dd8fe2]{font-family:var(--serif);font-size:1.8rem;font-weight:400;line-height:1}.auth-pending[data-v-65dd8fe2],.login-callout[data-v-65dd8fe2],.message-form[data-v-65dd8fe2]{margin-top:1.25rem}.auth-pending[data-v-65dd8fe2]{color:var(--ink-light);line-height:1.7}.login-callout p[data-v-65dd8fe2]{color:var(--ink-light);font-size:.82rem;line-height:1.75}.login-link[data-v-65dd8fe2]{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;margin-top:1.5rem;padding:.85rem 0;display:flex}.login-link span[data-v-65dd8fe2]{font-size:1rem;transition:transform .2s}.login-link:hover span[data-v-65dd8fe2]{transform:translate(.25rem)}.posting-as[data-v-65dd8fe2]{overflow-wrap:anywhere;color:var(--ink-light);margin-bottom:1.25rem;line-height:1.6}.message-form label[data-v-65dd8fe2]{color:var(--ink-light);margin-bottom:.55rem;display:block}.message-form textarea[data-v-65dd8fe2]{resize:vertical;border:1px solid var(--ink-faint);width:100%;min-height:10rem;color:var(--ink);font-family:var(--sans);background:#fafaf8ad;border-radius:0;outline:none;padding:.85rem;font-size:.94rem;line-height:1.7;transition:border-color .15s,box-shadow .15s;display:block}.message-form textarea[data-v-65dd8fe2]:focus{border-color:var(--ink);box-shadow:3px 3px #0f0f0f14}.message-form textarea[data-v-65dd8fe2]::placeholder{color:var(--ink-faint)}.message-form textarea[data-v-65dd8fe2]:disabled{cursor:wait;opacity:.65}.form-meta[data-v-65dd8fe2]{color:var(--ink-faint);justify-content:space-between;gap:1rem;margin-top:.55rem;display:flex}.character-count.near-limit[data-v-65dd8fe2]{color:#9a3d2d}.form-error[data-v-65dd8fe2],.archive-error[data-v-65dd8fe2]{color:#8f2f24;font-size:.75rem;line-height:1.6}.form-error[data-v-65dd8fe2]{margin-top:.85rem}.submit-button[data-v-65dd8fe2]{border:1px solid var(--ink);background:var(--ink);width:100%;min-height:2.75rem;color:var(--paper);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;margin-top:1.25rem;padding:.75rem .9rem;font-size:.7rem;transition:background .15s,color .15s;display:flex}.submit-button[data-v-65dd8fe2]:hover:not(:disabled){color:var(--ink);background:0 0}.submit-button[data-v-65dd8fe2]:disabled{cursor:default;opacity:.38}.archive-heading[data-v-65dd8fe2]{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1.25rem;display:flex}.archive-count[data-v-65dd8fe2]{color:var(--ink-faint);flex:none}.archive-error[data-v-65dd8fe2]{background:#8f2f240b;border-left:2px solid;margin-top:1rem;padding:.8rem 1rem}.board-state[data-v-65dd8fe2]{border-bottom:var(--line);min-height:12rem;color:var(--ink-light);grid-template-columns:3rem minmax(0,1fr);place-content:center start;gap:1rem;padding:2rem 0;display:grid}.board-state h3[data-v-65dd8fe2]{color:var(--ink);font-family:var(--serif);margin-bottom:.4rem;font-size:1.5rem;font-weight:400}.board-state p[data-v-65dd8fe2],.loading-state[data-v-65dd8fe2]{font-size:.83rem;line-height:1.7}.state-index[data-v-65dd8fe2]{color:var(--ink-faint);font-family:var(--mono);font-size:.72rem}.error-state button[data-v-65dd8fe2]{border:0;border-bottom:1px solid var(--ink);color:var(--ink);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;background:0 0;margin-top:.9rem;padding:.45rem 0;font-size:.68rem}.loading-glyph[data-v-65dd8fe2]{background:repeating-linear-gradient(90deg, var(--ink-faint) 0 5px, transparent 5px 9px);width:2.4rem;height:.45rem;margin-top:.35rem;animation:.8s linear infinite loading-shift-65dd8fe2}.message-list[data-v-65dd8fe2]{list-style:none}.message-item[data-v-65dd8fe2]{border-bottom:var(--line);grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:clamp(1.4rem,4vw,2rem) 0;animation:.35s both message-in-65dd8fe2;display:grid}.message-index[data-v-65dd8fe2]{color:var(--ink-faint);font-family:var(--mono);padding-top:.28rem;font-size:.68rem}.message-meta[data-v-65dd8fe2]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.author[data-v-65dd8fe2]{align-items:center;gap:.75rem;min-width:0;display:flex}.author-seal[data-v-65dd8fe2]{border:1px solid var(--ink-faint);background:var(--paper-warm);width:2rem;height:2rem;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;font-size:1.05rem;display:grid}.author h3[data-v-65dd8fe2]{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.2rem;font-size:.82rem;font-weight:400;overflow:hidden}.author time[data-v-65dd8fe2],.message-time[data-v-65dd8fe2]{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.04em;font-size:.62rem;display:block}.delete-button[data-v-65dd8fe2]{min-height:2rem;color:var(--ink-light);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;background:0 0;border:0;border-bottom:1px solid #0000;padding:.25rem 0;font-size:.65rem}.delete-button[data-v-65dd8fe2]:hover:not(:disabled){color:#8f2f24;border-bottom-color:currentColor}.delete-button[data-v-65dd8fe2]:disabled{cursor:default;opacity:.45}.message-content[data-v-65dd8fe2]{overflow-wrap:anywhere;color:#292929;white-space:pre-wrap;margin-top:1.15rem;font-size:clamp(.92rem,1.7vw,1rem);line-height:1.85}.login-link[data-v-65dd8fe2]:focus-visible,.message-form textarea[data-v-65dd8fe2]:focus-visible,.submit-button[data-v-65dd8fe2]:focus-visible,.delete-button[data-v-65dd8fe2]:focus-visible,.error-state button[data-v-65dd8fe2]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@keyframes loading-shift-65dd8fe2{to{background-position-x:9px}}@keyframes message-in-65dd8fe2{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media (width<=840px){.messages-layout[data-v-65dd8fe2]{grid-template-columns:1fr}.composer[data-v-65dd8fe2]{position:static}}@media (width<=640px){.messages-hero-content[data-v-65dd8fe2]{align-items:flex-start}.archive-status[data-v-65dd8fe2]{width:auto;min-width:5rem}.status-value[data-v-65dd8fe2]{font-size:2.6rem}}@media (width<=480px){.messages-hero-content[data-v-65dd8fe2]{flex-direction:column;gap:2rem}.archive-status[data-v-65dd8fe2]{flex-direction:row;align-items:baseline;gap:.75rem;padding:0 0 0 .8rem}.message-item[data-v-65dd8fe2]{grid-template-columns:1fr;gap:.65rem}.message-index[data-v-65dd8fe2]{padding-top:0}.archive-heading[data-v-65dd8fe2]{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.loading-glyph[data-v-65dd8fe2],.message-item[data-v-65dd8fe2]{animation:none}.login-link span[data-v-65dd8fe2]{transition:none}}.modal-mask[data-v-01fa0d4c]{z-index:20;background:#0a0a0a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card[data-v-01fa0d4c]{background:var(--paper);border:1px solid var(--ink-faint);width:min(460px,100%);padding:1.25rem 1.5rem}.modal-title[data-v-01fa0d4c]{font-family:var(--serif);margin-bottom:.75rem;font-size:18px;font-weight:400}.modal-body[data-v-01fa0d4c]{flex-direction:column;gap:.75rem;display:flex}.modal-label[data-v-01fa0d4c]{color:var(--ink-light);font-family:var(--mono);flex-direction:column;gap:.4rem;font-size:11px;display:flex}.modal-input[data-v-01fa0d4c]{border:1px solid var(--ink-faint);color:var(--ink);font-family:var(--mono);background:0 0;outline:none;padding:7px 12px;font-size:13px}.modal-input[data-v-01fa0d4c]:focus{border-color:var(--ink-light)}.modal-actions[data-v-01fa0d4c]{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.action-button[data-v-01fa0d4c]{background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--mono);letter-spacing:.05em;border:none;padding:7px 16px;font-size:11px}.action-button[data-v-01fa0d4c]:disabled{cursor:default;opacity:.3}.action-button--secondary[data-v-01fa0d4c]{border:1px solid var(--ink-faint);color:var(--ink-light);background:0 0}.message[data-v-01fa0d4c]{color:var(--ink-light);font-family:var(--mono);font-size:11px}@media (width<=640px){.modal-actions .action-button[data-v-01fa0d4c]{width:100%}}.food-panel[data-v-3d629561]{flex-direction:column;gap:.5rem;display:flex}.panel-label[data-v-3d629561]{color:var(--ink-light);font-family:var(--mono);margin-bottom:4px;font-size:11px}.count[data-v-3d629561]{color:var(--ink-faint)}.actions[data-v-3d629561]{gap:.75rem;display:flex}.action-button[data-v-3d629561]{background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--mono);letter-spacing:.05em;border:none;padding:7px 16px;font-size:11px;transition:opacity .15s}.action-button[data-v-3d629561]:hover{opacity:.8}.action-button[data-v-3d629561]:disabled{cursor:default;opacity:.3}.action-button--secondary[data-v-3d629561]{border:1px solid var(--ink-faint);color:var(--ink-light);background:0 0}.action-button--secondary[data-v-3d629561]:hover{border-color:var(--ink-light);color:var(--ink);opacity:1}.panel-output[data-v-3d629561]{background:var(--paper-warm);border:1px solid var(--ink-faint);height:min(50vh,420px);min-height:320px;color:var(--ink);padding:1rem;overflow:auto}.food-list[data-v-3d629561]{flex-direction:column;gap:.75rem;display:flex}.food-item[data-v-3d629561]{border-bottom:1px solid var(--ink-faint);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.food-item-main[data-v-3d629561]{min-width:0}.food-name[data-v-3d629561]{font-size:14px}.food-meta[data-v-3d629561]{color:var(--ink-light);font-family:var(--mono);margin-top:4px;font-size:11px}.empty-state[data-v-3d629561],.message[data-v-3d629561]{color:var(--ink-light);font-family:var(--mono);font-size:11px}.empty-state[data-v-3d629561]{color:var(--ink-faint);padding:.75rem 0;font-size:12px}@media (width<=640px){.panel-output[data-v-3d629561]{height:auto;min-height:220px}.actions[data-v-3d629561]{flex-direction:column}.action-button[data-v-3d629561]{width:100%}}@media (width>=641px) and (width<=768px){.panel-output[data-v-3d629561]{height:clamp(240px,35vh,300px);min-height:240px}}.food-panel[data-v-8e1261f8]{flex-direction:column;gap:.5rem;display:flex}.panel-label[data-v-8e1261f8]{color:var(--ink-light);font-family:var(--mono);margin-bottom:4px;font-size:11px}.panel-output[data-v-8e1261f8]{background:var(--paper-warm);border:1px solid var(--ink-faint);height:min(50vh,420px);min-height:320px;color:var(--ink);font-family:var(--mono);padding:1rem;font-size:12px;line-height:1.6;overflow:auto}.food-title[data-v-8e1261f8]{font-family:var(--serif);font-size:clamp(1.4rem,5vw,1.8rem);font-weight:400}.food-meta[data-v-8e1261f8]{color:var(--ink-light)}.action-button[data-v-8e1261f8]{background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--mono);letter-spacing:.05em;border:none;align-self:flex-start;padding:7px 16px;font-size:11px;transition:opacity .15s}.action-button[data-v-8e1261f8]:hover{opacity:.8}.action-button[data-v-8e1261f8]:disabled{cursor:default;opacity:.3}.message[data-v-8e1261f8]{color:var(--ink-light);font-family:var(--mono);font-size:11px}@media (width<=640px){.panel-output[data-v-8e1261f8]{height:auto;min-height:220px}}@media (width>=641px) and (width<=768px){.panel-output[data-v-8e1261f8]{height:clamp(240px,35vh,300px);min-height:240px}}.tool-header[data-v-78913475]{padding:clamp(1.5rem, 4vw, 2.5rem) var(--page-gutter);border-bottom:var(--line)}.tool-header-content[data-v-78913475]{width:min(100%, var(--content-max));margin-inline:auto}.back-link[data-v-78913475]{color:var(--ink-light);font-family:var(--mono);margin-bottom:1.5rem;font-size:11px;transition:color .15s;display:inline-block}.back-link[data-v-78913475]:hover{color:var(--ink)}.tool-meta[data-v-78913475]{align-items:flex-start;gap:clamp(1rem,3vw,1.5rem);display:flex}.tool-icon[data-v-78913475]{border:var(--line);width:48px;height:48px;color:var(--ink-light);font-family:var(--mono);object-fit:cover;flex-shrink:0;place-items:center;font-size:24px;display:grid}.tool-category[data-v-78913475]{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px}.tool-title[data-v-78913475]{font-family:var(--serif);margin-bottom:.4rem;font-size:clamp(1.75rem,5vw,2rem);font-weight:400}.tool-description[data-v-78913475]{max-width:42rem;color:var(--ink-light);font-size:13px;line-height:1.6}@media (width<=640px){.tool-meta[data-v-78913475]{gap:1rem}}@media (width<=420px){.tool-meta[data-v-78913475]{flex-direction:column}}.tool-page[data-v-8776fa6e]{width:100%}.tool-content[data-v-8776fa6e]{width:min(100%, var(--content-max));padding:clamp(1.5rem, 5vw, 3rem) var(--page-gutter);margin-inline:auto}.food-layout[data-v-8776fa6e]{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,4vw,2.5rem);display:grid}@media (width<=768px){.food-layout[data-v-8776fa6e]{grid-template-columns:1fr}}.btn-31[data-v-1c0b3710],.btn-31[data-v-1c0b3710] *,.btn-31[data-v-1c0b3710] :after,.btn-31[data-v-1c0b3710] :before,.btn-31[data-v-1c0b3710]:after,.btn-31[data-v-1c0b3710]:before{box-sizing:border-box;border:0 solid}.btn-31[data-v-1c0b3710]{-webkit-tap-highlight-color:transparent;-webkit-appearance:button;color:#fff;cursor:pointer;background-color:#000;background-image:none;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:100%;font-weight:900;line-height:1.5;-webkit-mask-image:-webkit-radial-gradient(#000,#fff)}.btn-31[data-v-1c0b3710]:disabled{cursor:default}.btn-31[data-v-1c0b3710]:-moz-focusring{outline:auto}.btn-31 svg[data-v-1c0b3710]{vertical-align:middle;display:block}.btn-31 [hidden][data-v-1c0b3710]{display:none}.btn-31[data-v-1c0b3710]{text-transform:uppercase;border-width:1px;justify-content:center;align-items:center;width:120px;height:120px;padding:0;display:flex;position:relative;overflow:hidden}.btn-image[data-v-1c0b3710]{object-fit:cover;width:100%;height:100%;display:block}.btn-31[data-v-1c0b3710]:before{--progress:100%;-webkit-clip-path:polygon(100% 0, var(--progress) var(--progress), 0 100%, 100% 100%);clip-path:polygon(100% 0, var(--progress) var(--progress), 0 100%, 100% 100%);content:"";transition:clip-path .2s;position:absolute;inset:0}.btn-31[data-v-1c0b3710]:hover:before{--progress:0%}.btn-31 .text-container[data-v-1c0b3710]{display:block;position:relative;overflow:hidden}.btn-31 .text[data-v-1c0b3710]{mix-blend-mode:difference;font-weight:900;display:block;position:relative}.btn-31:hover .text[data-v-1c0b3710]{animation:.3s forwards move-up-alternate-1c0b3710}@keyframes move-up-alternate-1c0b3710{0%{transform:translateY(0)}50%{transform:translateY(80%)}51%{transform:translateY(-80%)}to{transform:translateY(0)}}.tool-page[data-v-38c9e108]{width:100%}.soundboard-content[data-v-38c9e108]{width:min(100%, var(--content-max));min-height:clamp(260px,35vh,380px);padding:clamp(1.5rem, 5vw, 3rem) var(--page-gutter);text-align:center;place-content:center;place-items:center;margin-inline:auto;display:grid}.playback-error[data-v-38c9e108]{color:var(--ink-light);font-family:var(--mono);margin-top:1rem;font-size:12px}.sg-page{--sg-ink:#171612;--sg-muted:#716d64;--sg-line:#d9d4ca;--sg-paper:#f8f6f0;--sg-paper-deep:#eeeadf;--sg-red:#9e2f24;--sg-red-dark:#6f1f18;--sg-gold:#9b7a3d;color:var(--sg-ink)}.sg-shell{width:min(100%,88rem);padding:clamp(1.25rem, 4vw, 3rem) var(--page-gutter) clamp(3rem, 7vw, 6rem);margin-inline:auto}.sg-kicker{color:var(--sg-muted);font-family:var(--mono);letter-spacing:.14em;font-size:10px}.sg-primary,.sg-secondary,.sg-join,.sg-text-button{cursor:pointer;font-family:var(--mono);border:0;border-radius:0;transition:background .18s,color .18s,border-color .18s,transform .18s}.sg-primary{background:var(--sg-ink);min-height:42px;color:var(--sg-paper);letter-spacing:.08em;justify-content:center;align-items:center;padding:.75rem 1.15rem;font-size:11px;display:inline-flex}.sg-primary:hover:not(:disabled){background:var(--sg-red);transform:translateY(-1px)}.sg-primary:disabled,.sg-secondary:disabled,.sg-join:disabled{cursor:not-allowed;opacity:.38}.sg-secondary{border:1px solid var(--sg-ink);min-height:40px;color:var(--sg-ink);background:0 0;padding:.7rem 1rem;font-size:11px}.sg-secondary:hover:not(:disabled){background:var(--sg-paper-deep)}.sg-text-button{color:var(--sg-muted);background:0 0;padding:.35rem 0;font-size:10px}.sg-text-button:hover{color:var(--sg-red)}.sg-alert{color:var(--sg-red-dark);background:#f8ece8;border:1px solid #9e2f2459;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.8rem 1rem;font-size:12px;display:flex}.sg-alert span{width:20px;height:20px;font-family:var(--mono);border:1px solid;border-radius:50%;place-items:center;display:grid}.sg-gate{grid-template-columns:auto minmax(0,34rem);place-content:center;gap:clamp(1.5rem,5vw,4rem);min-height:28rem;padding:3rem 0;display:grid}.sg-gate-mark{color:var(--sg-red);font-family:var(--serif);opacity:.22;font-size:clamp(5rem,13vw,9rem);line-height:.8}.sg-gate h2,.sg-lobby-intro h2,.sg-waiting-copy h2,.sg-board-head h2{font-family:var(--serif);letter-spacing:-.03em;margin:.7rem 0;font-size:clamp(2rem,5vw,3.75rem);font-weight:400}.sg-gate p,.sg-lobby-intro>p,.sg-waiting-copy>p{color:var(--sg-muted);font-size:13px;line-height:1.8}.sg-gate .sg-primary{margin-top:1.5rem}.sg-lobby{grid-template-columns:minmax(18rem,.78fr) minmax(28rem,1.5fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.sg-lobby-intro{top:calc(var(--nav-h) + 2rem);padding-top:clamp(1rem,3vw,2rem);position:sticky}.sg-lobby-intro h2{max-width:9em}.sg-lobby-intro>p{max-width:34rem}.sg-create{border-top:1px solid var(--sg-ink);margin-top:2.5rem;padding-top:1.25rem}.sg-create label{color:var(--sg-muted);font-family:var(--mono);letter-spacing:.08em;margin-bottom:.65rem;font-size:10px;display:block}.sg-create-row{display:flex}.sg-create input{border:1px solid var(--sg-line);min-width:0;color:var(--sg-ink);font-family:var(--sans);background:0 0;border-right:0;outline:0;flex:1;padding:.75rem .8rem}.sg-create input:focus{border-color:var(--sg-ink)}.sg-room-ledger{border:1px solid var(--sg-line);background:linear-gradient(#17161206 1px, transparent 1px), var(--sg-paper);background-size:100% 34px;min-height:30rem}.sg-section-head{border-bottom:1px solid var(--sg-line);justify-content:space-between;align-items:center;gap:1rem;min-height:70px;padding:1rem 1.25rem;display:flex}.sg-section-head>div{align-items:center;gap:.8rem;display:flex}.sg-section-head h3{font-family:var(--serif);font-size:1.35rem;font-weight:400}.sg-index{border:1px solid var(--sg-red);width:28px;height:28px;color:var(--sg-red);font-family:var(--serif);place-items:center;font-size:13px;display:grid;transform:rotate(-3deg)}.sg-live,.sg-section-head>span{color:var(--sg-muted);font-family:var(--mono);font-size:10px}.sg-live i,.sg-room-toolbar i{background:#657d49;border-radius:50%;width:6px;height:6px;margin-right:.45rem;display:inline-block;box-shadow:0 0 0 3px #657d491f}.sg-room-item{border-bottom:1px solid var(--sg-line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1.5rem;min-height:106px;padding:1.25rem;transition:background .18s;display:grid}.sg-room-item:hover{background:#eeeadfb8}.sg-room-code{color:var(--sg-red);font-family:var(--mono);letter-spacing:.1em;font-size:9px}.sg-room-name h4{font-family:var(--serif);margin:.3rem 0 .2rem;font-size:1.35rem;font-weight:400}.sg-room-name p{color:var(--sg-muted);font-size:11px}.sg-room-status{text-align:right}.sg-room-status span{color:var(--sg-muted);font-family:var(--mono);font-size:9px;display:block}.sg-room-status strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}.sg-room-status small{color:var(--sg-muted);font-size:.8rem}.sg-join{border-bottom:1px solid var(--sg-ink);min-width:78px;color:var(--sg-ink);background:0 0;padding:.65rem .75rem;font-size:10px}.sg-join:hover:not(:disabled){border-color:var(--sg-red);color:var(--sg-red);transform:translate(2px)}.sg-empty{min-height:24rem;color:var(--sg-muted);text-align:center;place-content:center;gap:1rem;display:grid}.sg-empty-mark{font-family:var(--serif);opacity:.12;font-size:5rem}.sg-empty p{font-size:12px}.sg-rules-note{border-top:1px solid var(--sg-ink);border-bottom:1px solid var(--sg-line);grid-column:1/-1;grid-template-columns:auto minmax(14rem,1fr) minmax(24rem,1.2fr);align-items:start;gap:1.5rem;padding:1.4rem 0;display:grid}.sg-rules-note h3{font-family:var(--serif);margin-bottom:.4rem;font-size:1.25rem;font-weight:400}.sg-rules-note p{color:var(--sg-muted);font-size:11px;line-height:1.7}.sg-rules-note ol{grid-template-columns:repeat(3,1fr);list-style:none;display:grid}.sg-rules-note li{border-left:1px solid var(--sg-line);padding:.2rem 1rem}.sg-rules-note b,.sg-rules-note span{display:block}.sg-rules-note b{font-family:var(--serif);margin-bottom:.25rem;font-size:1rem;font-weight:400}.sg-rules-note span{color:var(--sg-muted);font-size:10px}.sg-room-toolbar{border-bottom:1px solid var(--sg-line);color:var(--sg-muted);font-family:var(--mono);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;font-size:10px;display:flex}.sg-waiting-copy{padding:clamp(1rem,3vw,2.5rem) 0}.sg-waiting-copy h2{margin-bottom:.45rem}.sg-seats{border-top:1px solid var(--sg-ink);border-bottom:1px solid var(--sg-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.sg-seat{border-right:1px solid var(--sg-line);min-height:105px;padding:1rem;position:relative}.sg-seat:last-child{border-right:0}.sg-seat>span{color:var(--sg-muted);font-family:var(--mono);font-size:9px}.sg-seat strong,.sg-seat small{display:block}.sg-seat strong{font-family:var(--serif);margin:.65rem 0 .2rem;font-size:1.15rem;font-weight:400}.sg-seat small{color:var(--sg-muted);font-size:10px}.sg-seat i{color:var(--sg-red);font-family:var(--mono);font-size:8px;font-style:normal;position:absolute;top:1rem;right:1rem}.sg-seat.empty{color:var(--sg-muted);background:repeating-linear-gradient(135deg,#0000 0 8px,#17161205 8px 9px)}.sg-roster-head{margin-top:2.5rem;padding-inline:0}.sg-hero-grid{border-left:1px solid var(--sg-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sg-hero{border:0;border-right:1px solid var(--sg-line);border-bottom:1px solid var(--sg-line);min-height:230px;color:var(--sg-ink);cursor:pointer;text-align:left;background:0 0;padding:1.25rem;transition:background .2s,transform .2s;position:relative;overflow:hidden}.sg-hero:after{content:attr(data-faction);color:var(--sg-ink);font-family:var(--serif);opacity:.025;font-size:8rem;line-height:1;position:absolute;bottom:-.32em;right:-.1em}.sg-hero:hover:not(:disabled),.sg-hero.chosen{z-index:1;background:var(--sg-paper-deep);box-shadow:inset 0 0 0 1px var(--sg-ink)}.sg-hero.unavailable{cursor:not-allowed;filter:grayscale();opacity:.38}.sg-hero-faction{background:var(--sg-ink);color:#fff;width:27px;height:27px;font-family:var(--serif);border-radius:50%;place-items:center;font-size:12px;display:grid}.faction-蜀 .sg-hero-faction{background:#4d6b48}.faction-魏 .sg-hero-faction{background:#3d566f}.faction-吴 .sg-hero-faction{background:var(--sg-red)}.sg-hero-title{margin:1rem 0 .25rem}.sg-hero-title strong{font-family:var(--serif);font-size:1.8rem;font-weight:400;display:block}.sg-hero-title small{color:var(--sg-muted);font-size:10px}.sg-hp{color:var(--sg-red);letter-spacing:.2em;font-size:8px}.sg-hero p{max-width:25rem;color:var(--sg-muted);margin-top:1rem;font-size:11px;line-height:1.65}.sg-hero p b{color:var(--sg-ink);font-family:var(--serif);margin-right:.35rem;font-size:1rem;font-weight:400}.sg-hero em{color:var(--sg-muted);font-family:var(--mono);font-size:8px;font-style:normal;position:absolute;bottom:1.1rem;right:1.25rem}.sg-hero.chosen em{color:var(--sg-red)}.sg-waiting-actions{justify-content:flex-end;align-items:center;gap:1.5rem;padding:1.5rem 0;display:flex}.sg-waiting-actions p,.sg-waiting-actions>span{color:var(--sg-muted);font-family:var(--mono);font-size:10px}.sg-board-head{justify-content:space-between;align-items:end;gap:2rem;padding:1rem 0 1.5rem;display:flex}.sg-board-head h2{margin:.3rem 0 0;font-size:clamp(2rem,4vw,3rem)}.sg-phase{border-left:2px solid var(--sg-red);text-align:right;min-width:11rem;padding-left:1rem}.sg-phase span,.sg-phase strong{display:block}.sg-phase span{color:var(--sg-red);font-family:var(--mono);letter-spacing:.1em;font-size:9px}.sg-phase strong{font-family:var(--serif);margin-top:.3rem;font-size:1.05rem;font-weight:400}.sg-table{background:radial-gradient(circle at 50% 48%,#9b7a3d1a,#0000 33%),repeating-radial-gradient(circle at 50% 48%,#0000 0 49px,#17161209 50px 51px),linear-gradient(110deg,#ffffff8c,#0000 40%),#e8e1d2;border:1px solid #bfb8aa;min-height:400px;padding:clamp(1rem,3vw,2rem);position:relative;overflow:hidden;box-shadow:inset 0 0 55px #41372314}.sg-table:before{content:"";pointer-events:none;border:1px solid #1716121a;position:absolute;inset:14px}.sg-player-grid{z-index:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.5rem,2vw,1rem);display:grid;position:relative}.sg-player{min-width:0;min-height:138px;color:var(--sg-ink);cursor:default;text-align:left;background:#f8f6f0bd;border:1px solid #17161238;padding:.85rem;transition:border .18s,transform .18s,background .18s}.sg-player:not(:disabled){cursor:crosshair}.sg-player:not(:disabled):hover,.sg-player.targeted{border-color:var(--sg-red);background:#fffaf0;transform:translateY(-3px)}.sg-player.current{box-shadow:inset 0 3px 0 var(--sg-red)}.sg-player.self{border-style:double;border-width:3px}.sg-player.dead{opacity:.38;filter:grayscale()}.sg-player-role{float:right;color:var(--sg-red);font-family:var(--mono);border:1px solid;padding:.15rem .3rem;font-size:8px}.sg-player-main small,.sg-player-main strong,.sg-player-main em{display:block}.sg-player-main small{color:var(--sg-muted);font-family:var(--mono);font-size:8px}.sg-player-main strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin-top:.7rem;font-size:1.4rem;font-weight:400;overflow:hidden}.sg-player-main em{color:var(--sg-muted);font-size:9px;font-style:normal}.sg-player-stats{color:var(--sg-muted);font-family:var(--mono);justify-content:space-between;align-items:center;margin-top:1.2rem;font-size:8px;display:flex}.sg-player-hp{color:var(--sg-red);letter-spacing:.08em}.sg-table-center{z-index:1;place-items:center;display:grid;position:absolute;bottom:clamp(2rem,6vw,4rem);left:0;right:0}.sg-seal{width:112px;height:112px;color:var(--sg-red);border:1px solid #9e2f24a6;border-radius:50%;place-items:center;display:grid;transform:rotate(-3deg)}.sg-seal:before{content:"";border:1px dashed #9e2f2461;border-radius:50%;width:96px;height:96px;position:absolute}.sg-seal span{font-family:var(--serif);font-size:3.1rem;line-height:1}.sg-seal small{margin-top:-1.9rem;font-size:9px}.phase-dodge{animation:1.1s ease-in-out infinite alternate seal-pulse}.phase-peach{color:#4d6b48;border-color:#4d6b48}@keyframes seal-pulse{to{transform:rotate(2deg)scale(1.04);box-shadow:0 0 0 10px #9e2f240f}}.sg-table-meta{color:var(--sg-muted);font-family:var(--mono);letter-spacing:.08em;gap:2rem;margin-top:1rem;font-size:8px;display:flex}.sg-console{border:1px solid var(--sg-line);border-top:0;grid-template-columns:minmax(0,1fr) 18rem;display:grid}.sg-hand-area{min-width:0;padding-bottom:1rem}.sg-hand-head{min-height:58px;padding-block:.7rem}.sg-hand{align-items:end;gap:.6rem;min-height:185px;padding:1rem 1.25rem 0;display:flex;overflow-x:auto}.sg-card{width:104px;min-width:104px;height:154px;color:var(--sg-ink);cursor:pointer;background:#fffdf7;border:1px solid #bfb8aa;padding:.65rem;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;box-shadow:0 7px 15px #2f281c14}.sg-card:hover:not(:disabled){transform:translateY(-8px)rotate(-1deg)}.sg-card.selected{border-color:var(--sg-red);transform:translateY(-12px);box-shadow:0 12px 22px #6f1f1824}.sg-card.red{color:var(--sg-red)}.sg-card-corner{font-family:var(--serif);font-size:1rem;line-height:.8;position:absolute;top:.5rem;left:.55rem}.sg-card-corner i{margin-top:.2rem;font-style:normal;display:block}.sg-card>strong{font-family:var(--serif);font-size:2.4rem;font-weight:400}.sg-card>small{color:var(--sg-muted);font-size:8px;line-height:1.4;position:absolute;bottom:.55rem;left:.55rem;right:.55rem}.sg-no-cards{min-height:185px;color:var(--sg-muted);place-content:center;font-size:11px;display:grid}.sg-action-panel{border-left:1px solid var(--sg-line);background:var(--sg-paper-deep);flex-direction:column;justify-content:center;padding:1.4rem;display:flex}.sg-action-panel h3{font-family:var(--serif);margin:.45rem 0 .6rem;font-size:1.45rem;font-weight:400}.sg-action-panel>p:not(.sg-kicker){color:var(--sg-muted);font-size:10px;line-height:1.65}.sg-actions{gap:.55rem;margin-top:1.2rem;display:grid}.sg-end-turn{text-align:right;margin-top:.35rem}.sg-wait-command span{border-top:1px solid var(--sg-line);color:var(--sg-muted);font-family:var(--mono);padding:.8rem 0;font-size:9px}.sg-lower-grid{grid-template-columns:18rem minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.sg-identity{border:1px solid var(--sg-line);grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1.25rem;display:grid}.sg-identity small,.sg-identity strong{display:block}.sg-identity small{color:var(--sg-muted);font-family:var(--mono);font-size:8px}.sg-identity strong{color:var(--sg-red);font-family:var(--serif);margin:.2rem 0 .5rem;font-size:1.8rem;font-weight:400}.sg-identity p{color:var(--sg-muted);font-size:10px;line-height:1.5}.sg-battle-log{border:1px solid var(--sg-line);max-height:210px;overflow:auto}.sg-battle-log .sg-section-head{min-height:52px;padding-block:.6rem}.sg-battle-log ol{grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.sg-battle-log li{border-right:1px solid var(--sg-line);border-bottom:1px solid var(--sg-line);color:var(--sg-muted);padding:.55rem .8rem;font-size:9px}.sg-battle-log li:first-child{color:var(--sg-ink)}.sg-winner{z-index:300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#171612b8;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.sg-winner>div{outline-offset:-10px;background:var(--sg-paper);text-align:center;border:1px solid #ffffff59;outline:1px solid #ffffff26;width:min(100%,32rem);padding:3rem}.sg-winner p{color:var(--sg-red);font-family:var(--mono);letter-spacing:.2em;font-size:10px}.sg-winner strong,.sg-winner span{display:block}.sg-winner strong{font-family:var(--serif);margin:1rem 0;font-size:2.8rem;font-weight:400}.sg-winner span{color:var(--sg-muted);font-size:11px}@media (width<=980px){.sg-lobby{grid-template-columns:1fr}.sg-lobby-intro{position:static}.sg-rules-note{grid-template-columns:auto 1fr}.sg-rules-note ol{grid-column:1/-1}.sg-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-table{min-height:540px}.sg-console{grid-template-columns:1fr}.sg-action-panel{border-top:1px solid var(--sg-line);border-left:0}.sg-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-end-turn{text-align:left}}@media (width<=720px){.sg-shell{padding-inline:.75rem}.sg-lobby-intro h2{font-size:2.5rem}.sg-rules-note ol{grid-template-columns:1fr}.sg-rules-note li{border-top:1px solid var(--sg-line);border-left:0;padding:.55rem 0}.sg-seats{grid-template-columns:repeat(2,1fr)}.sg-seat{border-bottom:1px solid var(--sg-line)}.sg-hero-grid{grid-template-columns:1fr}.sg-board-head{display:block}.sg-phase{text-align:left;margin-top:1rem}.sg-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-table{min-height:690px}.sg-table-center{bottom:2rem}.sg-lower-grid,.sg-battle-log ol{grid-template-columns:1fr}}@media (width<=480px){.sg-gate{grid-template-columns:1fr}.sg-gate-mark{font-size:5rem}.sg-create-row{display:grid}.sg-create input{border-right:1px solid var(--sg-line);border-bottom:0;min-height:42px}.sg-room-item{grid-template-columns:1fr auto;gap:.75rem}.sg-room-status{grid-area:1/2}.sg-join{grid-column:1/-1;width:100%}.sg-rules-note{grid-template-columns:auto 1fr}.sg-waiting-actions{flex-direction:column;align-items:stretch}.sg-player-grid{grid-template-columns:1fr 1fr;gap:.4rem}.sg-player{min-height:126px;padding:.65rem}.sg-player-main strong{font-size:1.1rem}.sg-table{min-height:700px;padding:.75rem}.sg-seal{width:92px;height:92px}.sg-seal:before{width:78px;height:78px}.sg-actions{grid-template-columns:1fr}.sg-hand{padding-inline:.75rem}.sg-card{width:92px;min-width:92px;height:140px}}@media (prefers-reduced-motion:reduce){.sg-page *,.sg-page :before,.sg-page :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
