.logo{display:block;overflow:visible}.logo path{stroke:var(--outline);stroke-width:70px;stroke-linejoin:round;paint-order:stroke}.logo-slab path{fill:var(--outline);stroke-width:90px}.logo-ink{fill:#fff}.logo-rush{fill:var(--yellow)}.logo.is-animated{animation:logo-in .72s 80ms var(--ease-spring) both;transform-origin:50% 80%}@keyframes logo-in{0%{opacity:0;transform:translateY(-18px)scale(.86)rotate(-4deg)}}.loader{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:50dvh;display:flex}.loader-drops{gap:10px;display:flex}.loader-drops .avatar{animation:.9s ease-in-out infinite loader-hop}.loader-drops .avatar:nth-child(2){animation-delay:.15s}.loader-drops .avatar:nth-child(3){animation-delay:.3s}@keyframes loader-hop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-14px)}}.loader-label{font-family:var(--font-display);color:#fff;text-shadow:0 3px #0f09508c;font-size:26px}.intro-art{height:96px;margin-bottom:-4px;display:block}.intro-art svg{width:auto;height:100%;overflow:visible}.sheet{width:min(460px,100vw - 24px);max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;border:0;border-radius:28px;padding:0;overflow:auto;box-shadow:0 8px #0f095080,0 40px 80px -30px #080432cc}.sheet[open]{animation:sheet-in .36s var(--ease-spring)}.sheet::backdrop{background:#0e084699}.sheet-body{padding:20px 22px 24px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet-head h2{font-size:30px}@keyframes sheet-in{0%{opacity:0;transform:translateY(20px)scale(.92)}}@media (max-width:560px){.sheet{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100vw;max-width:100vw;padding-bottom:env(safe-area-inset-bottom);margin:auto 0 0}.sheet[open]{animation:sheet-up .3s var(--ease-out)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40%)}}.profile-colors{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.swatch{aspect-ratio:1;width:100%;max-width:48px;transition:transform var(--t) var(--ease-spring), background var(--t);background:0 0;border:0;border-radius:14px;place-items:center;padding:0;display:grid}.swatch .avatar{width:32px;height:35px}.swatches{grid-template-columns:repeat(8,minmax(0,1fr));justify-items:center;gap:8px;display:grid}@media (hover:hover){.swatch:hover{transform:scale(1.06)}}.swatch[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--yellow-edge);transform:scale(1.1)rotate(-6deg)}.profile-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stat{background:var(--paper-2);border-radius:14px;flex-direction:column;align-items:center;padding:12px 4px;display:flex}.stat-value{font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.1}.stat-value small{font-family:var(--font-ui);color:var(--ink-3);font-size:11px;font-weight:800}.stat-label{color:var(--ink-3);font-size:12px;font-weight:800}.setting-row{border-bottom:2px solid var(--paper-2);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;font-weight:800;display:flex}.setting-row:last-child{border-bottom:0}.switch{appearance:none;background:var(--line-strong);cursor:pointer;width:50px;height:30px;transition:background var(--t);border-radius:999px;flex:none;margin:0;position:relative}.switch:after{content:"";width:24px;height:24px;transition:transform var(--t) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px #0f095040}.switch:checked{background:#3fdc85}.switch:checked:after{transform:translate(20px)}.header{width:100%;max-width:var(--maxw);padding:max(14px, env(safe-area-inset-top)) var(--gutter) 14px;align-items:center;gap:20px;margin:0 auto;display:flex}.header-logo{border-radius:var(--r);transition:transform var(--t) var(--ease-spring);flex:none;padding:4px;text-decoration:none}@media (hover:hover){.header-logo:hover{transform:rotate(-3deg)scale(1.04)}}.header-nav{gap:4px;display:flex}.header-nav a{color:var(--ink-2);transition:background var(--t), color var(--t);border-radius:10px;padding:8px 12px;font-size:15px;font-weight:800;text-decoration:none}.header-nav a:hover{color:var(--ink);background:#ffffff1a}.header-nav a[aria-current=page]{color:var(--yellow-ink);background:var(--yellow);box-shadow:0 3px 0 var(--yellow-edge)}.header.no-logo .header-nav{order:2;margin-left:auto}.header.no-logo .header-mid{order:1}.header.no-logo .header-me{order:3}.header-mid{flex:1;justify-content:flex-end;min-width:0;display:flex}.header-me{max-width:210px;transition:background var(--t), transform var(--t-fast);background:#ffffff1f;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 6px;font-size:14px;font-weight:900;display:flex}.header-me:hover{background:#fff3}.header-me:active{transform:scale(.96)}.header-me .avatar{transition:transform var(--t) var(--ease-spring)}.header-me:hover .avatar{transform:rotate(-8deg)}.header-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:860px){.header-nav{display:none}}@media (max-width:480px){.header{gap:10px}.header-name{display:none}.header-me{justify-content:center;min-width:44px;min-height:44px;padding:4px}}.toaster{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{color:var(--ink);box-shadow:var(--shadow);animation:pop-in .32s var(--ease-spring) both;background:#fff;border-radius:14px;padding:12px 20px;font-size:15px;font-weight:900}.toast.is-good{background:var(--green);color:#032713}.toast.is-bad{background:var(--bad);color:#fff}
