:root{--bg: oklch(14% .008 250);--bg-2: oklch(17% .01 250);--bg-3: oklch(21% .012 250);--line: oklch(28% .015 250);--line-2: oklch(35% .02 250);--fg: oklch(97% .005 250);--fg-2: oklch(82% .01 250);--fg-3: oklch(62% .015 250);--fg-4: oklch(62% .015 250);--accent: oklch(72% .16 250);--accent-ink: oklch(15% 0 0);--ok: oklch(72% .13 155);--warn: oklch(75% .14 75);--danger: oklch(64% .17 25);--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--density-pad: 28px;--density-gap: 20px;--r-chip: 4px;--r-sm: 6px;--r-btn: 8px;--r-card: 12px;--r-pill: 999px;--ease: cubic-bezier(.2, .7, .2, 1);--t-fast: .12s;--tabbar-h: 64px;--topbar-h: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-v22-latin-regular.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-v22-latin-500.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-v22-latin-600.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-v22-latin-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-v20-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-v20-latin-500.woff2) format("woff2")}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html{background:var(--bg);overscroll-behavior-y:none}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.55;font-feature-settings:"ss01" on,"cv11" on;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}#root{display:flex;flex-direction:column;min-height:100%;min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;cursor:pointer}input,textarea,select{font-family:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;line-height:1;margin:0}.mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.eyebrow{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:8px;height:8px;border-radius:var(--r-pill);background:var(--accent)}.section-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-4)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .5s var(--ease) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}::-webkit-scrollbar{width:0;height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--r-btn);border:1px solid transparent;font-size:15px;font-weight:500;line-height:1;transition:opacity var(--t-fast) var(--ease),background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);min-height:48px}.btn:disabled{opacity:.55;pointer-events:none}.btn--block{width:100%}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn--primary:active{opacity:.88}.btn--ghost{background:transparent;border-color:var(--line-2);color:var(--fg)}.btn--ghost:active{background:var(--bg-2);border-color:var(--fg-3)}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-size:11px}.field__input{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-btn);color:var(--fg);font-size:16px;padding:14px;transition:border-color var(--t-fast) var(--ease)}.field__input:focus{outline:none;border-color:var(--accent)}.field__input::placeholder{color:var(--fg-4)}.splash{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg)}.splash__mark{display:flex;align-items:center;gap:10px}.splash__dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--accent);animation:splashPulse 1.1s var(--ease) infinite}@keyframes splashPulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.install{border-bottom:1px solid var(--line);background:var(--bg-2)}.install__main{display:flex;align-items:center;gap:12px;padding:12px 18px}.install__icon{flex:none;color:var(--accent)}.install__text{flex:1;min-width:0}.install__title{margin:0;font-size:14px;font-weight:600;color:var(--fg)}.install__sub{margin:2px 0 0;font-size:12px;line-height:1.35;color:var(--fg-3)}.install__cta{flex:none;border:0;border-radius:var(--r-btn);padding:8px 14px;font:inherit;font-size:13px;font-weight:600;color:var(--accent-ink);background:var(--accent);cursor:pointer;transition:opacity var(--t-fast) var(--ease)}.install__cta:disabled{opacity:.6;cursor:default}.install__close{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:var(--r-pill);color:var(--fg-3);background:transparent;cursor:pointer;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.install__close:hover{color:var(--fg);background:var(--bg-3)}.install__steps{display:flex;flex-direction:column;gap:6px;margin:0;padding:0 18px 14px 38px;font-size:12px;line-height:1.4;color:var(--fg-2)}.install__steps li{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.install__steps svg{color:var(--accent);vertical-align:middle}.tabbar{position:sticky;bottom:0;z-index:30;display:flex;align-items:stretch;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)}.tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--fg-3);transition:color var(--t-fast) var(--ease);-webkit-tap-highlight-color:transparent}.tabbar__item.is-active{color:var(--accent)}.tabbar__icon{width:24px;height:24px;display:block}.tabbar__icon svg{width:100%;height:100%;display:block}.tabbar__label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.shell{flex:1;display:flex;flex-direction:column;min-height:100dvh}.shell__topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:calc(var(--topbar-h) + var(--safe-top));padding:var(--safe-top) 18px 0;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.shell__brand{display:flex;align-items:center;gap:10px}.shell__level{font-size:11px;color:var(--fg-4);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:4px 10px}.shell__content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--density-pad) 18px calc(var(--density-pad) + 12px)}.login{flex:1;display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-top) + 24px) 22px calc(var(--safe-bottom) + 24px);min-height:100dvh}.login__inner{width:100%;max-width:380px}.login__head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:32px}.login__lockup{display:flex;align-items:center;justify-content:center}.login__sub{margin:0;color:var(--fg-3);font-size:15px}.login__form{display:flex;flex-direction:column;gap:18px}.login__error{margin:0;color:var(--danger);font-size:14px}.login__biometric{display:flex;flex-direction:column;gap:18px;margin-top:18px}.login__divider{display:flex;align-items:center;gap:12px;color:var(--fg-4);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.login__divider:before,.login__divider:after{content:"";flex:1;height:1px;background:var(--line)}.dash{display:flex;flex-direction:column;gap:28px}.dash__head{display:flex;flex-direction:column;gap:10px}.dash__hello{font-size:clamp(28px,8vw,38px);font-weight:600;letter-spacing:-.02em}.dash__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{display:flex;flex-direction:column;gap:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:16px 14px}.stat__value{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1}.stat__label{font-size:11px}.dash__actions{display:flex;flex-direction:column;gap:12px}.action{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:18px;transition:border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.action:not(:disabled):active{transform:translateY(1px);border-color:var(--fg-3)}.action:disabled{opacity:.55}.action__title{font-size:16px;font-weight:500}.action__meta{font-size:11px;color:var(--fg-4)}.dash__note{margin:0;color:var(--fg-3);font-size:14px}.account{display:flex;flex-direction:column;gap:28px}.account__head{display:flex;flex-direction:column;gap:10px}.account__title{font-size:28px;font-weight:600;letter-spacing:-.02em}.account__loading{font-size:13px;color:var(--fg-3);margin:0}.account__load-error{font-size:14px;color:var(--danger);margin:0}.account__list{margin:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--bg-2)}.account__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--line)}.account__row:last-child{border-bottom:0}.account__row dt{font-size:11px;margin:0}.account__value{margin:0;font-size:15px;color:var(--fg);text-align:right;overflow-wrap:anywhere}.account__section{display:flex;flex-direction:column;gap:16px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--density-pad) 16px 16px}.account__section-title{margin:0 0 4px;font-size:11px}.account__field-hint{font-size:12px;color:var(--fg-3);font-family:var(--font-mono)}.account__form-error{margin:0;font-size:14px;color:var(--danger)}.account__flash{margin:0;padding:10px 14px;border-radius:var(--r-btn);background:oklch(from var(--ok) l c h / .12);border:1px solid oklch(from var(--ok) l c h / .4);color:var(--ok);font-size:14px}.account__disclosure{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.account__disclosure-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px;background:transparent;border:none;color:var(--fg);font-size:15px;font-weight:500;text-align:left;min-height:52px;transition:background var(--t-fast) var(--ease)}.account__disclosure-toggle:active{background:var(--bg-3)}.account__chevron{flex-shrink:0;color:var(--fg-3);transition:transform var(--t-fast) var(--ease)}.account__chevron--open{transform:rotate(90deg)}.account__disclosure-body{display:flex;flex-direction:column;gap:16px;padding:16px;border-top:1px solid var(--line)}.account__email-confirm{margin:0;padding:14px 16px;font-size:14px;color:var(--fg-2);border-top:1px solid var(--line);line-height:1.5}.account__bio-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;min-height:52px}.account__bio-label{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:var(--fg)}.account__bio-label svg{color:var(--fg-3);flex-shrink:0}.account__bio-hint{font-size:13px;color:var(--fg-4)}.account__bio-on{display:inline-flex;align-items:center;gap:14px}.account__bio-status{font-size:13px;font-weight:500;color:var(--ok)}.account__bio-off{background:transparent;border:none;padding:4px 0;color:var(--danger);font-size:14px;font-weight:500}.account__bio-off:active{opacity:.7}.account__bio-blurb{margin:0;font-size:14px;color:var(--fg-3);line-height:1.5}.account__disclosure>.account__flash{margin:0 16px 16px}.upload{display:flex;flex-direction:column;gap:var(--density-gap)}.upload__head{display:flex;flex-direction:column;gap:10px}.upload__title{font-size:clamp(24px,7vw,34px);font-weight:600}.upload__event-field{gap:8px}.upload__select{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;cursor:pointer}.upload__events-loading{font-size:13px;color:var(--fg-3);margin:0}.upload__events-error{font-size:14px;color:var(--danger);margin:0}.upload-verify{background:oklch(from var(--warn) l c h / .12);border:1px solid var(--warn);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:12px}.upload-verify__msg{margin:0;font-size:15px;color:var(--fg)}.upload-verify__actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.upload-verify__feedback{font-size:13px;color:var(--fg-2)}.upload__form{display:flex;flex-direction:column;gap:var(--density-gap)}.upload__pick-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload__pick-btn{gap:8px}.upload__file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload__server-error{margin:0;font-size:14px;color:var(--danger)}.upload__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.upload-row{background:var(--bg-2);border-bottom:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px;transition:background var(--t-fast) var(--ease)}.upload-row:last-child{border-bottom:0}.upload-row--done{background:oklch(from var(--ok) l c h / .06)}.upload-row--error{background:oklch(from var(--danger) l c h / .08)}.upload-row--active{background:var(--bg-3)}.upload-row__main{display:flex;align-items:center;gap:12px}.upload-row__thumb{flex-shrink:0;width:52px;height:52px;object-fit:cover;border-radius:var(--r-sm);background:var(--bg-3)}.upload-row__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.upload-row__name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg)}.upload-row__status{font-size:12px;color:var(--fg-3)}.upload-row__status--error{color:var(--danger)}.upload-row__status--uploading,.upload-row__status--resizing{color:var(--accent)}.upload-row__badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:var(--r-pill);font-weight:600}.upload-row__badge--published{background:oklch(from var(--ok) l c h / .18);color:var(--ok)}.upload-row__badge--ai{background:oklch(from var(--accent) l c h / .15);color:var(--accent)}.upload-row__badge--pending{background:oklch(from var(--warn) l c h / .15);color:var(--warn)}.upload-row__remove{flex-shrink:0;width:36px;height:36px;border-radius:var(--r-btn);border:1px solid var(--line);background:transparent;color:var(--fg-3);font-size:18px;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.upload-row__remove:not(:disabled):hover{background:oklch(from var(--danger) l c h / .12);color:var(--danger);border-color:var(--danger)}.upload-row__remove:disabled{opacity:.4;pointer-events:none}.upload-row__progress{height:3px;background:var(--line);border-radius:var(--r-pill);overflow:hidden}.upload-row__progress-fill{height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .1s linear}.upload-row__meta{display:flex;flex-direction:column;gap:8px}.upload-row__text-input{font-size:15px;padding:10px 12px}.upload-row__hint{margin-top:2px}.upload-actions{display:flex;flex-direction:column;gap:12px}.upload-actions--success{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--density-pad);align-items:center;text-align:center;gap:16px}.upload-actions__icon{width:48px;height:48px;border-radius:var(--r-pill);background:oklch(from var(--ok) l c h / .15);color:var(--ok);display:flex;align-items:center;justify-content:center}.upload-actions__success-msg{margin:0;font-size:16px;font-weight:500;color:var(--fg)}.upload-actions__moderation-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.review{display:flex;flex-direction:column;gap:var(--density-gap)}.review__head{display:flex;flex-direction:column;gap:10px}.review__head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.review__title{font-size:clamp(24px,7vw,34px);font-weight:600}.review__refresh{flex-shrink:0;width:44px;height:44px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:transparent;color:var(--fg-2);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.review__refresh:not(:disabled):active{background:var(--bg-2);color:var(--fg)}.review__refresh:disabled{opacity:.5;pointer-events:none}.review__count{font-size:12px;color:var(--fg-3);margin:0}.review__notify{display:flex;flex-direction:column;gap:6px}.review__notify-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review__notify-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:transparent;color:var(--fg-2);font-size:13px;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.review__notify-btn:not(:disabled):active{background:var(--bg-2);color:var(--fg)}.review__notify-btn:disabled{opacity:.6;pointer-events:none}.review__notify-btn[data-on=true]{border-color:oklch(from var(--accent) l c h / .5);color:var(--accent)}.review__notify-test{min-height:40px;padding:8px 12px;border-radius:var(--r-btn);border:1px solid transparent;background:transparent;color:var(--fg-3);font-size:13px;text-decoration:underline;text-underline-offset:3px}.review__notify-test:not(:disabled):active{color:var(--fg)}.review__notify-test:disabled{opacity:.6;pointer-events:none}.review__notify--blocked{flex-direction:row;align-items:center;gap:8px;font-size:12px;color:var(--fg-3)}.review__notify-note{margin:0;font-size:12px;color:var(--ok)}.review__notify-error{margin:0;font-size:12px;color:var(--danger)}.review__flash{margin:0;padding:12px 14px;border-radius:var(--r-btn);background:oklch(from var(--ok) l c h / .12);border:1px solid oklch(from var(--ok) l c h / .4);color:var(--ok);font-size:14px}.review__loading{font-size:13px;color:var(--fg-3);margin:0}.review__error{font-size:14px;color:var(--danger);margin:0}.review__empty{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--density-pad);text-align:center;display:flex;flex-direction:column;gap:6px}.review__empty-title{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.review__empty-sub{margin:0;font-size:14px;color:var(--fg-3)}.review__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.review-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:14px;display:flex;flex-direction:column;gap:14px;transition:opacity var(--t-fast) var(--ease)}.review-card.is-busy{opacity:.65}.review-card__photo{position:relative;display:block;width:100%;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-3);aspect-ratio:4 / 3}.review-card__img{display:block;width:100%;height:100%;object-fit:cover}.review-card__ai-badge{position:absolute;top:8px;left:8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:4px 8px;border-radius:var(--r-pill);background:oklch(from var(--accent) l c h / .85);color:var(--accent-ink)}.review-card__context{display:flex;flex-direction:column;gap:4px}.review-card__event{font-size:17px;font-weight:600;line-height:1.2}.review-card__series{font-size:11px;color:var(--accent)}.review-card__filename{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-card__fields{display:flex;flex-direction:column;gap:10px}.review-card__fields .field__input{font-size:15px;padding:10px 12px}.review-card__credit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-card__credit-line{display:flex;flex-direction:column;gap:2px;min-width:0}.review-card__credit-name{font-size:14px;color:var(--fg)}.review-card__credit-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line-2);border-radius:var(--r-btn);color:var(--fg-2);font-size:13px;padding:8px 12px;min-height:40px;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.review-card__credit-btn:not(:disabled):active{background:var(--bg-3);color:var(--fg)}.review-card__credit-btn:disabled{opacity:.5;pointer-events:none}.credit-picker{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-btn)}.credit-picker__search{position:relative;display:flex;align-items:center;gap:8px}.credit-picker__search-icon{position:absolute;left:12px;color:var(--fg-3);pointer-events:none}.credit-picker__input{flex:1;padding-left:36px;font-size:15px}.credit-picker__close{flex-shrink:0;width:40px;height:40px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:transparent;color:var(--fg-3);display:flex;align-items:center;justify-content:center}.credit-picker__close:active{color:var(--fg);background:var(--bg-2)}.credit-picker__hint{margin:0;font-size:12px;color:var(--fg-3)}.credit-picker__hint--error{color:var(--danger)}.credit-picker__results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.credit-picker__result{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--bg-2);border:1px solid transparent;border-radius:var(--r-sm);padding:10px 12px;text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.credit-picker__result:active{border-color:var(--accent);background:var(--bg-3)}.credit-picker__result-name{font-size:14px;color:var(--fg)}.credit-picker__result-user{font-size:11px;color:var(--fg-3)}.review-card__uploader{font-size:11px;margin:0}.review-card__error{margin:0;font-size:13px;color:var(--danger)}.review-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.review-card__approve{flex:1 1 auto;min-width:140px}.review-card__icon-btn{flex:0 0 auto;width:48px;padding-left:0;padding-right:0}.review-card__reject{flex:0 0 auto;color:var(--danger);border-color:oklch(from var(--danger) l c h / .5)}.review-card__reject:not(:disabled):active{background:oklch(from var(--danger) l c h / .12);border-color:var(--danger)}.review-card__saved{font-size:12px;color:var(--ok)}.contrib{display:flex;flex-direction:column;gap:var(--density-gap)}.contrib__head{display:flex;flex-direction:column;gap:10px}.contrib__head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.contrib__title{font-size:clamp(24px,7vw,34px);font-weight:600}.contrib__refresh{flex-shrink:0;width:44px;height:44px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:transparent;color:var(--fg-2);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.contrib__refresh:not(:disabled):active{background:var(--bg-2);color:var(--fg)}.contrib__refresh:disabled{opacity:.5;pointer-events:none}.contrib__count{font-size:12px;color:var(--fg-3);margin:0}.contrib__loading{font-size:13px;color:var(--fg-3);margin:0}.contrib__error{font-size:14px;color:var(--danger);margin:0}.contrib__empty{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--density-pad);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.contrib__empty-title{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.contrib__empty-sub{margin:0;font-size:14px;color:var(--fg-3)}.contrib__groups{display:flex;flex-direction:column;gap:var(--density-gap)}.contrib-group{display:flex;flex-direction:column;gap:10px}.contrib-group__head{display:flex;flex-direction:column;gap:2px}.contrib-group__series{font-family:var(--font-mono);font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.contrib-group__title{font-size:16px;font-weight:600;color:var(--fg);text-decoration:none;line-height:1.3}.contrib-group__title:active{color:var(--fg-2)}.contrib-group__grid-wrap{position:relative}.contrib-group__grid-wrap--collapsed{aspect-ratio:100 / 47;overflow:hidden}.contrib-group__expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font:inherit;position:absolute;inset-inline:0;bottom:0;height:96px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;background:linear-gradient(to bottom,transparent,var(--bg) 78%)}.contrib-group__expand-pill,.contrib-group__collapse{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:6px 12px;font-size:12px;color:var(--fg-2);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-pill)}.contrib-group__collapse{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;align-self:center;margin-top:4px;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.contrib-group__collapse:active{color:var(--fg);background:var(--bg-3)}.contrib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none;margin:0;padding:0}.contrib-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;position:relative;display:block;width:100%;aspect-ratio:1 / 1;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-3);border:1px solid var(--line);transition:opacity var(--t-fast) var(--ease)}.contrib-tile:active{opacity:.85}.contrib-tile__img{display:block;width:100%;height:100%;object-fit:cover}.contrib-tile__badge{position:absolute;top:6px;left:6px;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:3px 7px;border-radius:var(--r-pill)}.contrib-tile__badge--ai{background:oklch(from var(--accent) l c h / .85);color:var(--accent-ink)}.contrib-tile__badge--pending{background:var(--bg-2);color:var(--fg-2);border:1px solid var(--line-2)}.contrib-tile__likes{position:absolute;bottom:6px;right:6px;display:inline-flex;align-items:center;gap:3px;font-size:10px;background:oklch(from var(--bg) l c h / .7);color:var(--fg);padding:2px 6px;border-radius:var(--r-pill)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:oklch(from var(--bg) l c h / .6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:flex-end;z-index:100}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: no-preference){.sheet{animation:sheet-slide-up .22s var(--ease) both}}.sheet{width:100%;max-height:88vh;overflow-y:auto;background:var(--bg-2);border-top:1px solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;padding:14px;display:flex;flex-direction:column;gap:14px;position:relative}.sheet__top{position:relative;display:flex;align-items:center;justify-content:center;min-height:36px;flex-shrink:0}.sheet__handle{width:40px;height:4px;border-radius:var(--r-pill);background:var(--line-2)}.sheet__close{position:absolute;top:50%;right:0;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg-3);color:var(--fg-2);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);cursor:pointer}.sheet__close:active{color:var(--fg);background:var(--bg)}.sheet__img{display:block;width:100%;border-radius:var(--r-sm);background:var(--bg-3);max-height:50vh;object-fit:contain}.sheet__fields{display:flex;flex-direction:column;gap:10px}.sheet__note{font-size:14px;color:var(--fg-3);padding:12px;background:var(--bg-3);border-radius:var(--r-btn);margin:0}.sheet__error{color:var(--danger);font-size:13px;margin:0}.sheet__readonly{display:flex;flex-direction:column;gap:4px}.sheet__readonly p{margin:0;font-size:15px;color:var(--fg)}.sheet__saved{font-size:12px;color:var(--ok)}.sheet__actions{display:flex;align-items:center;gap:10px}
