.bottom-nav{z-index:2;display:flex;flex-wrap:nowrap;justify-content:space-evenly;padding:8px 10px max(8px,env(safe-area-inset-bottom));background:var(--nav-surface);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tab{min-width:0;min-height:54px;display:flex;flex:1 1;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1;text-decoration:none;transition:background-color .14s ease,color .14s ease,transform .14s ease}.tab svg{flex:0 0 auto}.tab.active{background:var(--leaf-soft);color:var(--leaf-dark)}.tab:active{transform:scale(.96)}@media (min-width:760px){.bottom-nav{grid-column:1;grid-row:1/3;flex-direction:column;gap:8px;padding:22px 14px;border-top:0;border-right:1px solid var(--line);background:var(--nav-surface-desktop)}.bottom-nav,.tab{justify-content:flex-start}.tab{min-height:48px;flex:0 0 auto;flex-direction:row;gap:10px;padding:0 12px;font-size:.9rem}}.app-shell{min-height:100dvh;display:flex;justify-content:center;padding:0;background:linear-gradient(180deg,var(--app-gradient-start),var(--app-gradient-end)),var(--background)}.frame{width:min(100%,460px);min-height:100dvh;max-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:var(--frame);border-right:1px solid var(--frame-border);border-left:1px solid var(--frame-border)}.top-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-start;padding:max(18px,env(safe-area-inset-top)) 18px 14px;background:var(--chrome);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.top-bar-overlay{position:absolute;right:18px;bottom:4px;left:18px;pointer-events:none}.brand-wordmark{display:inline-flex;align-items:center;gap:1px;color:#08b91c;font-size:1.24rem;font-weight:900;font-style:italic;letter-spacing:.03em;line-height:28px;text-shadow:-.2px -.2px 0 #92ef92,.4px .4px 0 #045a12;transform:skew(-6deg)}.brand-wordmark span{display:inline-block;transform:translate(-2px,3px)}.brand-mark{width:28px;height:28px;flex:0 0 auto;object-fit:contain;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.top-bar-title{width:100%;min-width:0}.top-bar h1{margin:4px 0 0;font-size:1.28rem;line-height:1.1}.kicker{margin:0;color:var(--leaf);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.content{min-height:0;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 22px}@media (min-width:760px){.app-shell{padding:28px;align-items:center}.frame{width:min(100%,980px);min-height:min(860px,calc(100vh - 56px));max-height:calc(100vh - 56px);display:grid;grid-template-columns:188px minmax(0,1fr);grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--frame-border);border-radius:8px;box-shadow:0 24px 70px var(--shadow-medium)}.top-bar{grid-column:2;grid-row:1;min-height:82px;padding:20px 28px 16px}.top-bar-overlay{right:28px;left:28px}.content{grid-column:2;grid-row:2;padding:22px 28px 28px}}.contribution-thanks{position:fixed;z-index:110;right:max(16px,calc((100vw - 428px) / 2));bottom:max(84px,calc(env(safe-area-inset-bottom) + 72px));left:max(16px,calc((100vw - 428px) / 2));padding:16px 44px 16px 16px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold-soft) 72%,transparent),transparent),var(--surface-raised);box-shadow:0 18px 48px var(--shadow-medium);animation:contribution-thanks-open .3s cubic-bezier(.22,1,.36,1) both}.contribution-thanks strong{display:block;color:var(--leaf);font-size:1.05rem}.contribution-thanks p{margin:7px 0 10px;color:var(--foreground);line-height:1.42}.contribution-thanks-close{position:absolute;top:10px;right:10px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}@keyframes contribution-thanks-open{0%{opacity:0;transform:translateY(18px) scale(.98)}}@media (prefers-reduced-motion:reduce){.contribution-thanks{animation:none}}