:root{--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--color-bg-inverse)}body{font-family:var(--font-ui);color:var(--color-text-primary);background:var(--color-bg-inverse);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}*{-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:2px solid var(--color-border-accent);outline-offset:2px;border-radius:var(--radius-xs)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.t-display-l{font-family:var(--font-display);letter-spacing:-.014em;margin:0;font-size:clamp(32px,9vw,40px);font-weight:400;line-height:1.08}.t-display-m{font-family:var(--font-display);letter-spacing:-.012em;margin:0;font-size:32px;font-weight:400;line-height:1.12}.t-display-s{font-family:var(--font-display);letter-spacing:-.008em;margin:0;font-size:24px;font-weight:400;line-height:1.22}.t-heading-m{letter-spacing:-.015em;margin:0;font-size:20px;font-weight:600;line-height:1.3}.t-heading-s{letter-spacing:-.012em;margin:0;font-size:17px;font-weight:600;line-height:1.36}.t-body-l{letter-spacing:-.006em;margin:0;font-size:17px;line-height:1.52}.t-body-m{margin:0;font-size:15px;line-height:1.56}.t-body-s{margin:0;font-size:13px;line-height:1.5}.t-label-m{margin:0;font-size:14px;font-weight:500;line-height:1.2}.t-label-s{margin:0;font-size:12px;font-weight:500;line-height:1.2}.t-eyebrow{letter-spacing:.082em;text-transform:uppercase;margin:0;font-size:11px;font-weight:500;line-height:1.2}.t-stat-s{letter-spacing:-.011em;font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:600;line-height:1.2}.muted{color:var(--color-text-muted)}.secondary{color:var(--color-text-secondary)}.accent{color:var(--color-text-accent)}.danger{color:var(--color-status-danger)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app{background:var(--gradient-glow), var(--color-bg-canvas);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.screen{flex-direction:column;flex:1;display:flex}.grow{flex:1}.pad{padding-left:20px;padding-right:20px}.safe-t{padding-top:max(16px, var(--safe-top))}.dock{z-index:20;padding:12px 20px max(24px, var(--safe-bottom));background:var(--color-bg-canvas);border-top:1px solid var(--color-border-subtle);position:sticky;bottom:0}.bar{align-items:center;gap:8px;min-height:56px;padding:0 16px 12px;display:flex}.hairline{border:0;border-top:1px solid var(--color-border-subtle);margin:0}.stack{gap:10px;display:grid}.btn{border-radius:var(--radius-full);letter-spacing:-.006em;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 22px;font-size:16px;font-weight:500;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{pointer-events:none}.btn-block{width:100%;display:flex}.btn-primary{background:var(--gradient-action);color:var(--color-text-on-action)}.btn-primary:not(:disabled){box-shadow:var(--shadow-action)}.btn-primary:active{background:var(--gradient-action-pressed)}.btn-primary:disabled{background:var(--color-bg-sunken);color:var(--color-text-muted)}.btn-secondary{color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.btn-secondary:active{background:var(--color-bg-sunken)}.btn-quiet{color:var(--color-text-secondary);min-height:50px}.btn-quiet:active{color:var(--color-text-primary)}.btn-quiet:disabled{color:var(--color-text-muted)}.btn-danger{background:var(--color-status-danger);color:#fff}.icon-btn{width:44px;height:44px;color:var(--color-text-secondary);place-items:center;display:grid}.field{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);width:100%;min-height:56px;padding:0 16px;font-size:17px;transition:border-color .15s}.field::placeholder{color:var(--color-text-muted)}.field:focus{border-color:var(--color-border-accent)}.scrim-b{background:linear-gradient(#0d0c0b00 0%,#0d0c0b57 45%,#0d0c0be0 100%)}.scrim-tile{background:linear-gradient(#0d0c0b00 0%,#0d0c0b4d 52%,#0d0c0bb8 100%)}.fill{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero{background:var(--color-bg-sunken);height:40dvh;min-height:268px;position:relative;overflow:hidden}.hero.short{height:34dvh;min-height:220px}.hero-top{pointer-events:none;background:linear-gradient(#0d0c0b80,#0d0c0b00);height:112px;position:absolute;inset:0 0 auto}.hero-shade{pointer-events:none;height:66%;position:absolute;inset:auto 0 0}.hero-bar{left:16px;right:16px;top:max(16px, var(--safe-top));color:#fff;align-items:center;gap:8px;display:flex;position:absolute}.brand{align-items:center;gap:7px;display:inline-flex}.brand svg{flex:none;display:block}.brand-word{font-family:var(--font-display,"Instrument Serif"), Georgia, serif;letter-spacing:-.01em;padding-bottom:2px;font-size:22px;line-height:1}.hero-caption{color:#fff;position:absolute;bottom:20px;left:24px;right:24px}.round{border-radius:var(--radius-full);color:#fff;background:#ffffff29;border:1px solid #ffffff42;flex:none;place-items:center;width:40px;height:40px;display:grid}.stats{align-items:center;padding:20px 16px;display:flex}.stat{text-align:center;flex:1}.stat-rule{background:var(--color-border-subtle);align-self:stretch;width:1px}.note{border-radius:var(--radius-sm);background:var(--color-bg-sunken);gap:12px;padding:16px;display:flex}.banner{border-radius:var(--radius-sm);background:var(--color-bg-accent-subtle);gap:14px;margin:16px 16px 0;padding:16px;display:flex}.banner>span{color:var(--color-text-accent);flex:none;margin-top:2px}.row-card{text-align:left;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);align-items:center;gap:12px;width:100%;margin-top:16px;padding:12px;display:flex}.row-card.busy{border-color:var(--color-border-accent)}.thumbs{flex:none;display:flex}.thumbs img{object-fit:cover;border-radius:var(--radius-xs);border:2px solid var(--color-bg-canvas);width:36px;height:36px;margin-left:-12px}.thumbs img:first-child{margin-left:0}.meter{background:var(--color-border-subtle);border-radius:999px;height:3px;overflow:hidden}.meter>i{background:var(--color-bg-accent);border-radius:999px;height:100%;transition:width .25s linear;display:block}.spin{border:2px solid var(--color-border-strong);border-top-color:var(--color-bg-accent);border-radius:999px;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.album-head{z-index:10;background:var(--color-bg-canvas);position:sticky;top:0}.masonry{column-count:2;column-gap:2px;padding:2px}.masonry>*{break-inside:avoid;margin-bottom:2px}.tile{border-radius:var(--radius-xs);background:var(--color-bg-sunken);width:100%;display:block;position:relative;overflow:hidden}.tile img,.tile video{object-fit:cover;width:100%;display:block}.tile .shade{pointer-events:none;height:64px;position:absolute;inset:auto 0 0}.tile .who{color:#fff;opacity:.95;position:absolute;bottom:8px;left:10px}.tile .kind{color:#fff;border-radius:var(--radius-xs);background:#0d0c0b80;align-items:center;gap:4px;padding:4px 6px;display:flex;position:absolute;top:8px;left:8px}.tile.locked{pointer-events:none}.skeleton{background:linear-gradient(90deg, var(--color-bg-sunken) 25%, var(--color-skeleton-highlight) 37%, var(--color-bg-sunken) 63%);background-size:400% 100%;animation:1.8s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.grid3{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.square{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--color-bg-sunken);position:relative;overflow:hidden}.empty{text-align:center;padding:96px 40px}.tabs{z-index:25;padding:0 8px max(10px, var(--safe-bottom));background:var(--color-bg-canvas);border-top:1px solid var(--color-border-subtle);display:flex;position:sticky;bottom:0}.tab{color:var(--color-text-muted);flex:1;place-items:center;gap:4px;padding:10px 0 4px;display:grid}.tab[aria-current=page]{color:var(--color-text-accent)}.tab .t-label-s{font-size:11px}.layer{z-index:40;background:var(--color-bg-canvas);flex-direction:column;max-width:480px;margin:0 auto;animation:.24s cubic-bezier(.22,.61,.36,1) both rise;display:flex;position:fixed;inset:0}.layer.dark{background:var(--color-bg-inverse)}.layer-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stage{touch-action:pan-y;flex:1;place-items:center;padding:12px;display:grid;position:relative;overflow:hidden}.stage img,.stage video{object-fit:contain;max-width:100%;max-height:100%}.stage-arrow{z-index:3;color:#fff;background:#ffffff24;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.avatar{background:var(--color-bg-accent-subtle);color:var(--color-text-accent);border-radius:999px;flex:none;place-items:center;font-weight:600;display:grid}.sheet-wrap{z-index:60;background:var(--color-sheet-scrim);align-items:flex-end;max-width:480px;margin:0 auto;animation:.18s both fade;display:flex;position:fixed;inset:0}.sheet{background:var(--color-bg-surface);width:100%;max-height:86dvh;color:var(--color-text-primary);padding-bottom:var(--safe-bottom);border-radius:12px 12px 0 0;flex-direction:column;animation:.26s cubic-bezier(.22,.61,.36,1) both sheet-up;display:flex}.sheet-list{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(14px)}to{transform:none}}.menu-row{text-align:left;border-top:1px solid var(--color-border-subtle);align-items:center;gap:14px;width:100%;padding:14px 4px;display:flex}.choice{text-align:left;border-radius:var(--radius-sm);background:var(--color-bg-surface);width:100%;box-shadow:inset 0 0 0 1px var(--color-border-subtle);align-items:center;gap:12px;padding:14px 16px;display:flex}.choice[aria-checked=true]{box-shadow:inset 0 0 0 1.5px var(--color-border-accent)}.radio{border:1.5px solid var(--color-border-strong);width:20px;height:20px;color:var(--color-text-on-accent);border-radius:999px;flex:none;place-items:center;display:grid}.choice[aria-checked=true] .radio{background:var(--color-bg-accent);border-color:var(--color-bg-accent)}.toast{left:50%;bottom:calc(96px + var(--safe-bottom));z-index:80;background:var(--color-text-primary);max-width:calc(100% - 40px);color:var(--color-bg-canvas);border-radius:999px;padding:12px 18px;font-size:14px;font-weight:500;animation:.2s both toast-in;position:fixed;transform:translate(-50%);box-shadow:0 16px 48px -8px #00000085}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.state{flex-direction:column;flex:1;justify-content:center;padding:0 24px 40px;display:flex}.legal{padding:max(16px, var(--safe-top)) 24px 64px;font-size:15px;line-height:1.6}.legal .back{color:var(--color-text-secondary);padding:8px 0 20px}.legal h1{margin-top:8px}.legal h2{letter-spacing:-.01em;margin:32px 0 8px;font-size:18px;font-weight:600}.legal p,.legal li{color:var(--color-text-secondary)}.legal strong{color:var(--color-text-primary);font-weight:600}.legal ul{margin:8px 0;padding-left:20px}.legal li{margin:6px 0}.legal a{color:var(--color-text-accent)}.legal .updated{color:var(--color-text-muted);margin-top:8px;font-size:13px}.legal .draft{border-radius:var(--radius-sm);background:var(--color-bg-accent-subtle);color:var(--color-text-primary);margin:20px 0 8px;padding:12px 14px;font-size:13px}.legal .ph{color:var(--color-text-accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#e3c68a1a;border-radius:3px;padding:0 3px}
