.app-shell{background:var(--color-paper);color:var(--color-ink);min-height:100%}.btn{justify-content:center;align-items:center;gap:var(--space-xs);white-space:nowrap;min-height:2.75rem;padding-inline:var(--space-lg);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform .1s var(--ease-out), opacity var(--dur-short) var(--ease-out);border:1px solid #0000;border-radius:999px;font-size:.95rem;font-weight:600;display:inline-flex}.btn--accent{background:var(--color-accent);color:var(--color-accent-ink)}.btn--outline{border-color:var(--color-rule);color:var(--color-ink);background:0 0}.btn--text{color:var(--color-ink);background:0 0;min-height:auto;padding-inline:0}.btn--google{color:#3c4043;background:#fff;border-color:#dadce0}.lang-switcher{border:1px solid var(--color-rule);border-radius:var(--radius-card,.5rem);color:var(--color-ink);cursor:pointer;background:0 0;padding:.35rem .5rem;font-size:.85rem}@media (hover:hover) and (pointer:fine){.btn--accent:hover{transform:translateY(-1px)}.btn--outline:hover{background:var(--color-paper-2)}.btn--text:hover{color:var(--color-accent)}.btn--google:hover{background:#f8f9fa}}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn__spinner{border:2px solid color-mix(in oklch, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2xs);flex-direction:column;display:flex}.field__label{color:var(--color-ink);font-size:.85rem;font-weight:600}.input{height:2.75rem;padding-inline:var(--space-md);border:1px solid var(--color-rule);outline-offset:1px;border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);transition:background-color var(--dur-short) var(--ease-out);outline:2px solid #0000;font-size:.95rem}.input::placeholder{color:var(--color-neutral)}@media (hover:hover) and (pointer:fine){.input:hover{background:var(--color-paper-2)}}.input:focus-visible{outline-color:var(--color-focus)}.input:disabled{opacity:.55;cursor:not-allowed}.input--error{border-color:var(--color-error)}textarea.input{height:auto;min-height:6rem;padding-block:var(--space-sm);resize:vertical}.field__meta{min-height:1.2em;font-size:.8rem}.field__helper{color:var(--color-muted)}.field__error{color:var(--color-error)}.file-field{align-items:center;gap:var(--space-sm);display:inline-flex}.file-field input[type=file]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-field__label{min-height:2.75rem;padding-inline:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-card);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out);align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.file-field input[type=file]:focus-visible+.file-field__label{outline:2px solid var(--color-focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.file-field__label:hover{background:var(--color-paper-2)}}.card{border:1px solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-lg);background:var(--color-paper)}.alert{border-radius:var(--radius-card);padding:var(--space-sm) var(--space-md);border:1px solid #0000;font-size:.9rem}.alert--error{background:color-mix(in oklch, var(--color-error) 10%, var(--color-paper));border-color:color-mix(in oklch, var(--color-error) 30%, transparent);color:var(--color-error)}.alert--success{background:color-mix(in oklch, var(--color-success) 10%, var(--color-paper));border-color:color-mix(in oklch, var(--color-success) 30%, transparent);color:var(--color-success)}.alert--muted{background:var(--color-paper-2);color:var(--color-muted)}.auth-shell{flex-direction:column;min-height:100dvh;display:flex}.auth-shell__brand{padding:var(--space-lg) clamp(1rem, 4vw, 2rem);font-family:var(--font-mono);font-size:1.05rem;font-weight:600}.auth-shell__body{padding:var(--space-lg);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-lg);flex-direction:column;width:100%;max-width:24rem;display:flex}.auth-card h1{letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.auth-card__foot{color:var(--color-muted);font-size:.9rem}.auth-card__foot a{color:var(--color-ink);border-bottom:1px solid var(--color-accent);font-weight:600}.app-nav{border-bottom:1px solid var(--color-rule)}.app-nav__inner{max-width:64rem;padding-inline:clamp(1rem,4vw,2rem);padding-block:var(--space-sm);align-items:center;gap:var(--space-sm) var(--space-lg);grid-template-columns:1fr auto;grid-template-areas:"brand right""center center";margin:0 auto;display:grid}.app-nav__center{align-items:center;gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;grid-area:center;font-size:.9rem;display:flex}.app-nav__brand{font-family:var(--font-mono);white-space:nowrap;grid-area:brand;font-weight:600}.app-nav__link{color:var(--color-muted);white-space:nowrap;transition:color var(--dur-micro) var(--ease-out);border-bottom:1px solid #0000}@media (hover:hover) and (pointer:fine){.app-nav__link:hover{color:var(--color-ink)}}.app-nav__right{align-items:center;gap:var(--space-md);grid-area:right;display:flex}@media (min-width:40rem){.app-nav__inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand center right";height:4rem;padding-block:0}.app-nav__center{flex-wrap:nowrap;justify-content:center}}.token-badge{align-items:center;gap:var(--space-2xs);font-family:var(--font-mono);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-rule);white-space:nowrap;border-radius:999px;font-size:.85rem;display:inline-flex}.token-badge strong{color:var(--color-accent)}.app-main{max-width:64rem;padding:var(--space-2xl) clamp(1rem, 4vw, 2rem);width:100%;margin:0 auto}.app-list{flex-direction:column;display:flex}.app-list__row{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-md);border-bottom:1px solid var(--color-rule);display:flex}.app-list__row a{border-bottom:1px solid #0000;font-weight:600}@media (hover:hover) and (pointer:fine){.app-list__row a:hover{border-color:var(--color-accent)}}.app-list__meta{color:var(--color-muted);white-space:nowrap;font-size:.85rem}.app-empty{color:var(--color-muted)}.rule-top{border-top:1px solid var(--color-rule)}.rule-bottom{border-bottom:1px solid var(--color-rule)}.text-muted{color:var(--color-muted)}@media (prefers-reduced-motion:reduce){.btn,.input,.app-nav__link,.file-field__label{transition:none}.btn__spinner{animation-duration:1.4s}}
