:root{--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Iosevka", "JetBrains Mono", "SF Mono", ui-monospace, monospace;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-2xl: 26px;--radius-pill: 999px;--radius-tile: var(--radius-md);--radius-card: var(--radius-xl);--space-1: 4px;--space-2: 8px;--space-3: 10px;--space-4: 12px;--space-5: 14px;--space-6: 16px;--space-7: 20px;--space-8: 24px;--mode: light;--bg: #E9DEC8;--bg-tint: rgba(177, 126, 76, .2);--paper: #F3E7D0;--paper-warm: #EBD7B4;--ink: #2A1F16;--ink-soft: #4E3D2C;--ink-faint: #75614C;--line: rgba(94, 63, 32, .22);--line-strong: rgba(94, 63, 32, .4);--accent: #C8643A;--accent-soft: rgba(200, 100, 58, .18);--accent-foreground: #FBF3DE;--gold: #D7A55A;--gold-soft: rgba(215, 165, 90, .22);--leaf: #7C9F86;--sea: #5A8FA0;--shadow-soft: 0 14px 30px rgba(94, 63, 32, .16);--shadow-card: 0 20px 42px rgba(94, 63, 32, .2);--shadow-hero: 0 32px 64px rgba(94, 63, 32, .26);--danger: #B25E5E}*{box-sizing:border-box}html,body,#root{min-height:100%;overscroll-behavior-y:none}body{margin:0;min-height:100dvh;overflow-x:hidden;background:radial-gradient(1100px 460px at 50% -120px,var(--bg-tint),transparent 70%),var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}[data-mode=dark] body{background:radial-gradient(1100px 460px at 50% -120px,var(--bg-tint),transparent 70%),var(--bg)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:16px}button{cursor:pointer;touch-action:manipulation;transition:transform .16s ease,background-color .2s ease,border-color .2s ease,color .2s ease}button:disabled{cursor:default}button:active,.file-button:active{transform:scale(.985)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-button:focus-within{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}::selection{background:var(--accent);color:var(--accent-foreground)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--ink)}h1{font-size:clamp(2.4rem,8vw,3.6rem);line-height:.96}h2{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.02}h3{font-size:1.35rem;line-height:1.15}h4{font-size:1.05rem;line-height:1.2}p{margin:0}.eyebrow{margin:0;color:var(--accent);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}[data-mode=dark] .eyebrow{color:var(--gold)}.entry-shell,.app-shell{width:min(460px,100%);margin:0 auto}.entry-shell{display:grid;align-items:center;min-height:100dvh;padding:32px 22px}.entry-card{display:grid;gap:22px;padding:32px 28px 30px;border-radius:var(--radius-card);background:radial-gradient(80% 50% at 0% 0%,var(--gold-soft),transparent 70%),var(--paper);box-shadow:var(--shadow-hero)}.entry-card h1{font-family:var(--font-display);font-size:clamp(2.6rem,11vw,3.8rem);line-height:.94;font-weight:600;letter-spacing:-.025em}.entry-card p{color:var(--ink-soft);font-size:1rem;line-height:1.5}.entry-actions{display:grid;gap:10px}.entry-actions button{min-height:88px;display:grid;gap:6px;text-align:left;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-warm);color:var(--ink);font-family:var(--font-body);box-shadow:var(--shadow-soft)}.entry-actions button strong{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.015em}.entry-actions button span{color:var(--ink-soft);font-size:.92rem}.entry-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.entry-actions button:first-child strong{color:var(--accent-foreground)}.entry-actions button:first-child span{color:#fbf3ded6}.app-shell{position:relative;min-height:100dvh;padding:max(14px,env(safe-area-inset-top)) 14px var(--dock-reserve, calc(112px + env(safe-area-inset-bottom)) );overflow-x:clip;overscroll-behavior-y:none}.app-header{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:72px;margin:-14px -14px 14px;padding:max(14px,env(safe-area-inset-top)) 16px 12px;background:linear-gradient(180deg,var(--bg) 70%,transparent);backdrop-filter:blur(14px)}.header-copy{min-width:0;display:grid;gap:4px}.header-copy h1{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.05}.trip-meta{margin:0;display:inline-flex;align-items:center;gap:8px;color:var(--ink-faint)}.trip-code{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;color:var(--accent)}.share-button{display:inline-flex;align-items:center;justify-content:center;gap:0;width:40px;min-width:40px;min-height:40px;padding:0;border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-mono);font-weight:600;font-size:1rem;line-height:1}.sync-pill{min-height:26px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink-faint);padding:4px 9px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.sync-pill.open{border-color:var(--leaf);background:#7c9f8629;color:var(--leaf)}.sync-pill.connecting{border-color:var(--gold);color:var(--gold)}.header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.header-actions button,.header-actions select,.person-pill{min-height:36px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink);padding:7px 12px;font-size:.85rem;font-family:var(--font-body)}.header-actions button{display:inline-flex;align-items:center;gap:6px;background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);font-weight:600}.header-icon-button{position:relative;width:40px;min-width:40px;justify-content:center;padding-inline:0}.header-crew-button{width:40px;min-width:40px;justify-content:center;padding:0;background:var(--paper-warm)!important;border-color:var(--line)!important;color:var(--ink)!important}.header-crew-button .group-mark{width:26px;box-shadow:0 0 0 2px color-mix(in srgb,var(--paper) 72%,transparent)}.header-crew-button.active{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 4px var(--accent-soft)}.header-icon-button span{position:absolute;top:-5px;right:-4px;min-width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--bg);border-radius:999px;background:var(--gold);color:var(--ink);font-family:var(--font-mono);font-size:.62rem;line-height:1}.person-pill{display:inline-grid;place-items:center;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-strip{position:relative;z-index:1;margin:4px 0 14px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm)}.live-strip div{display:flex;width:max-content;gap:8px;padding:6px;animation:live-strip 32s linear infinite}.live-strip.static div{width:100%;animation:none}.live-strip.static span{max-width:100%}.live-strip span{display:inline-flex;align-items:center;gap:7px;min-height:28px;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);padding:4px 10px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.live-strip i{width:7px;aspect-ratio:1;border-radius:var(--radius-pill);background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}@keyframes live-strip{0%{transform:translate(0)}to{transform:translate(-46%)}}.view{display:grid;gap:14px;margin-top:8px}.view-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px;margin-bottom:4px}.view-head>div{grid-column:1;grid-row:1}.back-button{grid-column:2;grid-row:1;width:fit-content;min-height:32px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink-soft);padding:6px 12px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.view-head h2{font-family:var(--font-display);font-size:clamp(2rem,7vw,2.6rem);font-weight:600;letter-spacing:-.025em;line-height:1}.view-head p:not(.eyebrow){max-width:32ch;color:var(--ink-soft);font-size:.95rem}.trip-view{display:grid;gap:16px;margin-top:6px}.trip-hero{position:relative;min-height:42vh;max-height:360px;overflow:hidden;border-radius:var(--radius-2xl);background-position:center;background-size:cover;background-color:var(--paper-warm);color:#fff;box-shadow:var(--shadow-hero)}.trip-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#140c060d,#140c0673 60%,#140c06db)}.trip-hero-copy{position:absolute;inset:auto 0 0;display:grid;gap:8px;padding:22px 22px 20px}.trip-hero-copy .eyebrow{color:var(--gold)}.trip-hero-copy h2{color:#fff;font-family:var(--font-display);font-size:clamp(2rem,7vw,2.5rem);font-weight:600;letter-spacing:-.02em;line-height:1}.trip-hero-copy p:not(.eyebrow){margin:0;color:#fff5dee0;font-size:.95rem;line-height:1.4;max-width:32ch}.trip-card-head{display:grid;gap:6px;padding:6px 4px 0}.trip-card-head h2{font-family:var(--font-display);font-size:clamp(2rem,7vw,2.5rem);font-weight:600;letter-spacing:-.025em;line-height:1}.trip-card-head p:not(.eyebrow){color:var(--ink-soft);font-size:.95rem;line-height:1.45;max-width:34ch}.day-toggle{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:1px 0}.day-toggle::-webkit-scrollbar{display:none}.day-toggle button{min-height:44px;min-width:96px;display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper-warm);color:var(--ink-soft);padding:8px 12px;text-align:left;font-family:var(--font-body)}.day-toggle button.active{border-color:var(--accent);background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.day-toggle button.active strong{color:var(--accent)}.day-toggle button strong{font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:-.01em}.day-toggle button span{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.trip-now{display:grid;gap:16px;padding:22px;border-radius:var(--radius-card);background:radial-gradient(120% 80% at 100% 0%,var(--gold-soft),transparent 60%),var(--paper);box-shadow:var(--shadow-card)}.trip-now-stop{display:grid;gap:6px}.trip-now-stop .eyebrow{color:var(--accent)}.trip-now-stop h3{font-family:var(--font-display);font-weight:600;font-size:1.55rem;line-height:1.05;letter-spacing:-.018em}.trip-now-stop p{color:var(--ink-soft)}.trip-now-stop span{width:fit-content;margin-top:6px;padding:5px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.soundtrack-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:18px;border-radius:var(--radius-card);background:var(--paper-warm);border:1px solid var(--line)}.soundtrack-card h3{margin-top:4px;font-family:var(--font-display);font-size:1.22rem;font-weight:600}.soundtrack-card p{margin-top:4px;color:var(--ink-soft);font-size:.92rem;line-height:1.35}.soundtrack-card a{min-height:40px;display:inline-grid;place-items:center;padding:0 14px;border-radius:var(--radius-pill);background:var(--ink);color:var(--paper);text-decoration:none;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mode-broadcast{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--accent-soft)}.mode-broadcast span{color:var(--accent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.mode-broadcast p{color:var(--ink);font-size:.95rem;line-height:1.4}.mode-actions{display:grid;grid-template-columns:1fr auto;gap:10px}.mode-actions button,.pulse-dock button,.surprise-shelf button,.wrap-share-card button,.game-highlight-row button{min-height:46px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 14px;font-family:var(--font-body)}.mode-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);font-weight:600}.mode-actions .ghost{background:transparent;color:var(--ink)}.pulse-section{display:grid;gap:12px;padding:18px;border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-soft)}.pulse-heading{display:flex;align-items:end;justify-content:space-between;gap:10px}.pulse-heading strong{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink)}.pulse-heading small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.pulse-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pulse-dock button{display:grid;place-items:center;background:var(--paper-warm);color:var(--ink);text-align:center;min-height:64px;padding:10px 8px;border:1px solid var(--line);border-radius:var(--radius-md)}.pulse-dock button strong{display:block;font-family:var(--font-body);font-weight:600;font-size:.95rem;color:var(--pulse-color, var(--ink))}.pulse-dock button small{display:block;margin-top:2px;color:var(--ink-faint);font-size:.7rem}.pulse-dock button:hover{border-color:var(--pulse-color, var(--accent))}.pulse-flash{background:var(--pulse-color, var(--accent))!important;border-color:var(--pulse-color, var(--accent))!important;color:var(--accent-foreground)!important}.pulse-flash strong,.pulse-flash small{color:var(--accent-foreground)!important}@media(prefers-reduced-motion:reduce){.pulse-flash{transition:none}}.pulse-summary{display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none}.pulse-summary::-webkit-scrollbar{display:none}.pulse-summary>div{flex:0 0 auto;display:grid;gap:2px}.pulse-summary strong{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}.pulse-summary small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.pulse-summary span{flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink);padding:6px 11px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.surprise-shelf{display:grid;gap:10px}.surprise-shelf article{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--gold);border-radius:var(--radius-lg);background:radial-gradient(70% 70% at 0% 0%,var(--gold-soft),transparent 70%),var(--paper);box-shadow:var(--shadow-soft)}.surprise-shelf article.locked{border-color:var(--line);background:var(--paper-warm);box-shadow:none;opacity:.78}.surprise-shelf span{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.surprise-shelf strong{font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:-.01em;color:var(--ink)}.surprise-shelf p{color:var(--ink-soft);font-size:.92rem;line-height:1.4}.surprise-shelf button{width:fit-content;margin-top:4px;background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);font-weight:600}.trip-fold{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.trip-fold[open]{background:var(--paper-warm)}.trip-fold>summary{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}.trip-fold>summary::-webkit-details-marker{display:none}.trip-fold>summary>span{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink)}.trip-fold>summary small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.trip-fold>summary:after{content:"▾";margin-left:auto;color:var(--ink-faint);font-size:.72rem}.trip-fold[open]>summary:after{content:"▴"}.trip-fold>.timeline,.trip-fold>.host-prompts-list,.trip-fold>.personal-trip{margin:0 16px 16px}.timeline-panel{display:grid;gap:8px;padding:14px 16px 10px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-card)}.timeline-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding-bottom:8px;border-bottom:1px solid var(--line)}.timeline-panel h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.015em}.timeline-panel>header small{max-width:15ch;color:var(--accent);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;line-height:1.35;text-align:right;text-transform:uppercase}.timeline-panel .empty-note{margin:6px 0}.host-prompts-list{display:grid;gap:8px}.host-prompts-list span{border:1px solid var(--gold);border-radius:var(--radius-md);background:var(--gold-soft);color:var(--ink);padding:12px 14px;font-size:.92rem;line-height:1.45}.personal-trip{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.personal-trip strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.personal-trip span{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);padding:5px 10px;font-size:.85rem}.personal-trip small{width:100%;margin-top:4px;color:var(--ink-faint);font-style:italic;font-family:var(--font-display);font-size:.95rem}.timeline{display:grid;gap:1px}.timeline.combined{background:transparent}.timeline-item{width:100%;display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:12px;align-items:start;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:14px 4px;text-align:left}.timeline-item:first-child{border-top:0}.timeline-item:hover{background:color-mix(in srgb,var(--paper-warm) 54%,transparent)}.timeline-item time{color:var(--accent);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em}.timeline-item span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.timeline-item strong{display:block;margin-top:2px;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-item small{display:block;color:var(--ink-faint);font-size:.85rem;overflow-wrap:anywhere}.timeline-item em{font-style:normal;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;color:var(--ink-faint)}.memory-studio{display:grid;gap:14px;margin-bottom:6px}.memory-spotlight{display:grid;gap:12px}.memory-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric{padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.metric span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.metric strong{display:block;margin-top:6px;font-family:var(--font-display);font-size:1.85rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.memory-composer{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.memory-composer textarea{min-height:80px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);padding:12px;resize:vertical;font-family:var(--font-body)}.memory-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.memory-actions button,.memory-actions .file-button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 8px;font-size:.9rem;font-family:var(--font-body);background:var(--paper-warm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.memory-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);font-weight:600}.memory-actions .ghost{background:transparent}.memory-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.memory-filters::-webkit-scrollbar{display:none}.memory-filters button{flex:0 0 auto;min-height:36px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink-soft);padding:7px 14px;font-size:.82rem;font-family:var(--font-body)}.memory-filters button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.memory-feed{display:grid;gap:14px}.memory{position:relative;display:grid;gap:10px;padding:14px 14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.memory:nth-child(odd){transform:rotate(-.4deg)}.memory:nth-child(2n){transform:rotate(.4deg)}.memory:nth-child(3n){transform:rotate(.7deg)}.memory:hover{transform:rotate(0) translateY(-2px);box-shadow:var(--shadow-hero)}@media(prefers-reduced-motion:reduce){.memory,.memory:nth-child(odd),.memory:nth-child(2n),.memory:nth-child(3n){transform:none;transition:none}}.memory.featured{padding:16px 16px 18px;border-color:var(--gold);background:radial-gradient(80% 60% at 100% 0%,var(--gold-soft),transparent 70%),var(--paper)}.memory header{display:flex;align-items:center;justify-content:space-between;gap:10px}.memory time{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.06em}.memory header span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.memory img,.memory video{width:calc(100% + 28px);height:220px;object-fit:cover;margin:-14px -14px 6px;background:var(--paper-warm);border-radius:4px 4px 0 0}.memory p{font-family:var(--font-display);font-size:1.18rem;line-height:1.18;font-weight:500;color:var(--ink)}.memory.award p{font-style:italic}.memory small{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint);letter-spacing:.06em}.crew-summary{display:grid;gap:12px}.crew-join-gate{display:grid;gap:14px}.crew-join-gate h2,.crew-join-gate h3{margin:0;font-family:var(--font-display);font-weight:650;letter-spacing:-.015em}.crew-join-gate p{margin:8px 0 0;color:var(--ink-soft);line-height:1.45}.mini-avatar{width:24px;aspect-ratio:1;display:inline-grid;place-items:center;border-radius:var(--radius-pill);color:#fff;font-family:var(--font-mono);font-size:.7rem;font-weight:700;line-height:1}.you-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:18px;border-radius:var(--radius-xl);background:var(--paper);box-shadow:var(--shadow-card)}.you-card>div{display:flex;align-items:center;gap:12px;min-width:0}.you-card small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.you-card strong{display:block;font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-card b{color:var(--accent);font-family:var(--font-mono);font-size:1rem}.you-card p{grid-column:1 / -1;color:var(--ink-soft)}.profile-file{grid-column:1 / -1;min-height:40px;display:inline-flex;align-items:center;justify-content:center;margin:4px 0 0}.player-avatar,.group-mark{width:24px;aspect-ratio:1;display:inline-grid;place-items:center;overflow:hidden;border-radius:var(--radius-pill);color:#fff;flex:0 0 auto;font-family:var(--font-mono);font-size:.66rem;font-weight:700;line-height:1}.player-avatar.large,.group-mark.large{width:50px;font-size:1.05rem;border:2px solid rgba(255,255,255,.35);box-shadow:var(--shadow-soft)}.player-avatar img,.group-mark img{width:100%;height:100%;display:block;object-fit:cover}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.composer.three{grid-template-columns:1fr}.composer input,.composer select,.composer textarea{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);padding:10px 12px;font-family:var(--font-body)}.composer input::placeholder,.composer textarea::placeholder{color:var(--ink-faint)}.composer button{min-height:44px;padding:10px 16px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600}.simple-drawer,.compact-join{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft);padding:0}.simple-drawer summary,.compact-join summary{min-height:56px;display:grid;gap:4px;padding:14px 16px;cursor:pointer;list-style:none}.simple-drawer summary::-webkit-details-marker,.compact-join summary::-webkit-details-marker{display:none}.simple-drawer summary>span,.compact-join summary>span{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.simple-drawer summary small,.compact-join summary small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.simple-drawer>.group-chip-row,.simple-drawer>.team-identity-head,.simple-drawer>.team-identity-controls{margin-inline:16px}.simple-drawer>.group-chip-row,.simple-drawer>.team-identity-controls{margin-bottom:16px}.compact-join>div,.compact-join>select,.compact-join>.composer{margin-inline:16px}.compact-join>.composer{margin-bottom:16px}.compact-join h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.015em}.compact-join p{color:var(--ink-soft);font-size:.92rem}.group-chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.group-chip-row::-webkit-scrollbar{display:none}.group-chip-row button{min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink);padding:8px 12px;white-space:nowrap;font-family:var(--font-body);overflow:hidden;text-overflow:ellipsis;min-width:0}.group-chip-row button.active{border-color:var(--accent);background:var(--accent-soft)}.group-chip-row small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem}.team-identity-head{display:flex;align-items:center;gap:12px;min-width:0}.team-identity-head div{min-width:0}.team-identity-head small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.team-identity-head strong{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-identity-controls{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:end}.team-identity-controls label{display:grid;gap:6px;min-width:0}.team-identity-controls span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.emoji-input,.color-input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink)}.emoji-input{height:44px;padding:0 10px;text-align:center;font-size:1.2rem}.team-file{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.color-swatches{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.color-swatches .swatch{width:28px;height:28px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;padding:0;box-shadow:var(--shadow-soft)}.color-swatches .swatch.active{border-color:var(--ink);transform:scale(1.05)}.leaderboard{display:grid;gap:8px;padding:14px;border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-soft)}.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 4px 8px}.list-head h3{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.015em}.list-head span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.rank-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.rank-row>span{color:var(--accent);font-family:var(--font-mono);font-size:.95rem;width:22px;text-align:center}.rank-row div{flex:1;min-width:0}.rank-row strong,.rank-row small{display:block}.rank-row strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.rank-row small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.rank-row b{color:var(--accent);font-family:var(--font-mono);font-size:1.05rem}.poll-stack{display:grid;gap:12px}.poll-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-card)}.poll-card.closed{opacity:.66}.poll-title{display:flex;align-items:start;justify-content:space-between;gap:12px}.poll-title span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.poll-title h3{margin:6px 0 0;font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:-.018em}.poll-title b{color:var(--accent);font-family:var(--font-mono);font-size:1.1rem}.poll-options{display:grid;gap:10px;margin-top:14px}.poll-options button{position:relative;min-height:50px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);color:var(--ink);padding:12px 14px;text-align:left;font-family:var(--font-body)}.poll-options button.picked{border-color:var(--accent);background:var(--accent-soft)}.poll-options button strong{font-family:var(--font-mono);font-weight:600;color:var(--accent)}.poll-options button i{position:absolute;inset:auto 0 0;height:4px;background:var(--accent);transform-origin:left;border-radius:0 0 14px 14px}.change-vote{margin-top:10px;width:100%;background:transparent;color:var(--accent);border:1px dashed var(--accent);border-radius:var(--radius-sm);min-height:42px;font-family:var(--font-body)}.challenge-grid{display:grid;gap:10px}.challenge{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft);text-align:left;cursor:pointer}.challenge.done{border-color:var(--accent)}.challenge.flashing{border-color:var(--gold);background:var(--gold-soft);transition:background-color .32s ease,border-color .32s ease}.challenge-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.challenge-meta span{width:fit-content;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);padding:4px 10px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.challenge-meta b{color:var(--accent);font-family:var(--font-mono);font-size:1rem}.challenge strong{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.015em}.challenge>span:not(.eyebrow){color:var(--ink-faint);font-size:.85rem;font-family:var(--font-mono)}.challenge-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.challenge-actions button,.challenge-actions .file-button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;background:var(--paper-warm);color:var(--ink);font-family:var(--font-body)}.challenge-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px}.challenge-actions button:first-child:disabled{background:var(--paper-warm);border-color:var(--line);color:var(--ink-faint);font-weight:500}.challenge-actions .ghost{background:transparent}.game-leaderboard{display:grid;gap:12px;padding:16px;border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-soft)}.leaderboard-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.leaderboard-head h3{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.015em}.leaderboard-head strong{font-family:var(--font-mono);font-size:1.6rem;color:var(--accent)}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.podium-place{display:grid;place-items:center;gap:6px;padding:12px 8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);text-align:center}.podium-place.place-1{min-height:132px;background:var(--gold-soft);border-color:var(--gold)}.podium-place.place-2{min-height:110px}.podium-place.place-3{min-height:92px}.podium-place span{font-family:var(--font-mono);font-size:.78rem;color:var(--accent)}.podium-place strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:-.015em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-place small{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint)}.group-score-list{display:grid;gap:8px}.group-score{display:flex;align-items:center;gap:10px;min-height:36px}.group-score strong{flex:1;font-family:var(--font-display);font-weight:600}.group-score small{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint)}.game-highlight-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.game-highlight-row button{display:grid;gap:4px;align-content:start;min-height:96px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-align:left;padding:12px;border-radius:var(--radius-md);font-family:var(--font-body)}.game-highlight-row span{color:var(--accent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.game-highlight-row strong{font-family:var(--font-display);font-weight:600;font-size:1rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.game-highlight-row small{color:var(--ink-faint);font-size:.82rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.submission-grid{display:grid;gap:12px;max-height:50vh;overflow:auto}.submission-card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft)}.submission-card.no-media{grid-template-columns:1fr}.submission-card img,.submission-card video{width:240px;height:240px;object-fit:cover;border-radius:var(--radius-md);background:var(--paper-warm)}@media(max-width:540px){.submission-card{grid-template-columns:1fr}.submission-card img,.submission-card video{width:100%;height:240px}}.submission-card>div{display:grid;gap:8px;min-width:0}.submission-card header,.submission-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.submission-card header span{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint)}.submission-card header strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.submission-card p{color:var(--ink);font-size:.95rem;line-height:1.4}.submission-card footer small{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint)}.cheer-button{min-height:36px;padding:7px 12px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);font-family:var(--font-body)}.cheer-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cheer-button.bumped{transform:scale(1.08);background:var(--accent-soft);color:var(--accent);transition:transform .2s ease,background-color .2s ease,color .2s ease}@media(prefers-reduced-motion:reduce){.cheer-button.bumped{transform:none}}.game-results{display:grid;gap:8px;margin-bottom:10px}.winner-card{display:grid;gap:6px;border:1px solid var(--gold);border-radius:var(--radius-lg);background:var(--gold-soft);padding:14px}.winner-card span{color:var(--accent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.winner-card strong{font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.winner-card small{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-faint)}.result-row{display:grid;grid-template-columns:28px 24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.result-row>span{color:var(--accent);font-family:var(--font-mono)}.result-row strong{font-family:var(--font-display);font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.75rem}.wrap-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-card);margin-bottom:12px}.wrap-card.finale{min-height:240px;display:grid;align-content:end;background:radial-gradient(80% 60% at 0% 0%,var(--gold-soft),transparent 70%),radial-gradient(80% 60% at 100% 100%,var(--accent-soft),transparent 70%),var(--paper);border-color:var(--gold)}.wrap-card h3{font-family:var(--font-display);font-size:clamp(1.85rem,7vw,2.6rem);font-weight:600;letter-spacing:-.025em}.wrap-card p{color:var(--ink-soft);margin-top:6px}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.wrap-share-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:12px;padding:18px;border-radius:var(--radius-xl);background:var(--paper);box-shadow:var(--shadow-soft);border:1px solid var(--gold)}.wrap-share-card h3{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.015em;margin:4px 0 0}.wrap-share-card p{color:var(--ink-soft)}.wrap-share-card button{background:var(--accent);border:1px solid var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600;border-radius:var(--radius-sm);padding:10px 14px;min-height:42px}.wrap-highlights{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.wrap-highlights::-webkit-scrollbar{display:none}.wrap-highlights span{flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink);padding:7px 12px;font-size:.85rem;font-family:var(--font-body)}.wrap-section{display:grid;gap:10px;margin-top:10px}.award-grid{display:grid;gap:8px}.award-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;gap:14px;align-items:start;padding:14px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.award-card.effect-gold{border-color:color-mix(in srgb,var(--gold) 54%,var(--line))}.award-card.effect-spark{border-color:color-mix(in srgb,var(--accent) 48%,var(--line))}.award-card.effect-heart{border-color:color-mix(in srgb,var(--leaf) 52%,var(--line))}.award-card.effect-star{border-color:color-mix(in srgb,var(--coral) 50%,var(--line))}.award-card.effect-camera{border-color:color-mix(in srgb,var(--sea) 52%,var(--line))}.award-avatar{width:50px;aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-pill);color:#fff;font-family:var(--font-mono);font-weight:700;font-size:1.1rem}.award-trophy{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--paper-warm) 74%,white);font-size:1.35rem}.award-card.effect-gold .award-trophy{background:color-mix(in srgb,var(--gold) 24%,var(--paper))}.award-card.effect-spark .award-trophy{background:color-mix(in srgb,var(--accent) 18%,var(--paper))}.award-card.effect-heart .award-trophy{background:color-mix(in srgb,var(--leaf) 18%,var(--paper))}.award-card.effect-star .award-trophy{background:color-mix(in srgb,var(--coral) 16%,var(--paper))}.award-card.effect-camera .award-trophy{background:color-mix(in srgb,var(--sea) 18%,var(--paper))}.award-card div{display:grid;gap:3px;min-width:0}.award-card small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.award-card h4{margin-top:4px;color:var(--accent);font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.015em}.award-card p{color:var(--ink-soft);font-size:.92rem}.award-card b{color:var(--accent);font-family:var(--font-mono);font-size:1.2rem}.award-assignment{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--paper-warm) 78%,white)}.award-assignment-head{display:grid;gap:3px}.award-assignment-head strong{font-family:var(--font-display);font-size:1.08rem}.award-assignment-head small{color:var(--ink-soft)}.award-assignment-form{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(150px,1.05fr) minmax(110px,.9fr) minmax(130px,1.1fr) auto;gap:8px;min-width:0;align-items:end}.award-effect-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-width:0}.control-panel .award-effect-picker button{display:grid;place-items:center;gap:2px;min-height:48px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper);color:var(--ink)}.control-panel .award-effect-picker button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.award-effect-picker span{font-size:1.12rem;line-height:1}.award-effect-picker small{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.assigned-award-list{display:grid;gap:7px;min-width:0}.assigned-award-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper)}.assigned-award-list article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-pill);color:#fff;font-family:var(--font-mono);font-weight:800}.assigned-award-list div{display:grid;gap:2px;min-width:0}.assigned-award-list strong,.assigned-award-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-award-list small{color:var(--ink-soft)}.timeline.compact .stop{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.timeline.compact .stop span{color:var(--accent);font-family:var(--font-mono);font-size:.78rem}.timeline.compact .stop h3{font-family:var(--font-display);font-size:1rem;font-weight:600}.memory-reel,.host-grid.wide{display:grid;gap:12px}.control-panel{display:grid;gap:10px;padding:16px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);overflow-anchor:none}.control-panel h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.015em}.control-panel input,.control-panel select,.control-panel textarea{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);padding:10px 12px;font-family:var(--font-body)}.control-panel textarea{min-height:90px;resize:vertical}.control-panel button:not(.ghost):not(.danger){min-height:44px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);font-weight:600;font-family:var(--font-body);padding:10px 14px}.control-panel .ghost{min-height:44px;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:10px 14px;font-family:var(--font-body)}.control-panel input[type=range]{accent-color:var(--accent)}.control-panel.primary{border-color:var(--gold);background:radial-gradient(80% 60% at 100% 0%,var(--gold-soft),transparent 70%),var(--paper)}.control-panel.recessed{background:var(--paper-warm);box-shadow:none;opacity:.94}.control-panel.recessed h3{color:var(--ink-soft)}.plan-day-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.plan-day-picker button{min-height:58px;display:grid;align-content:center;gap:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);padding:8px 10px;text-align:left}.plan-day-picker button.active{border-color:var(--accent);background:var(--paper);box-shadow:inset 0 0 0 1px var(--accent)}.plan-day-picker button.active strong{color:var(--accent)}.plan-day-picker strong{font-family:var(--font-display);font-size:.98rem;font-weight:600}.plan-day-picker span,.plan-date-controls label>span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.plan-date-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.plan-date-controls label{display:grid;gap:6px}.date-add-button{align-self:end}.plan-edit-list{display:grid;gap:8px}.plan-edit-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.plan-edit-list article:first-child{border-top:0;padding-top:0}.plan-edit-list article.active{color:var(--accent)}.plan-edit-list span{display:grid;gap:3px;min-width:0}.plan-edit-list strong,.plan-edit-list small{overflow:hidden;text-overflow:ellipsis}.plan-edit-list small{color:var(--ink-soft);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.branding-preview{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffff6b}.branding-preview img,.branding-mark{width:58px;height:58px;border-radius:var(--radius-sm)}.branding-preview img{object-fit:cover;border:1px solid var(--line)}.branding-mark{display:grid;place-items:center;background:var(--accent);color:var(--accent-foreground);font-family:var(--font-display);font-size:1.25rem;font-weight:700}.branding-preview strong,.branding-preview small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branding-preview strong{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.branding-preview small{color:var(--ink-soft);font-size:.86rem}.field-stack{display:grid;gap:6px;min-width:0}.field-stack>span{color:var(--ink-soft);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.theme-tile{min-height:110px;display:grid;align-content:start;gap:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);color:var(--ink);padding:14px;text-align:left;font-family:var(--font-body)}.theme-tile.active{border-color:var(--accent);background:var(--accent-soft)}.theme-tile span{display:flex;gap:5px}.theme-tile i{width:20px;aspect-ratio:1;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-pill)}.theme-tile strong{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.015em}.theme-tile small{display:block;color:var(--ink-faint);font-size:.85rem}.feature-list{display:grid;gap:4px}.feature-toggle{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}.feature-toggle:last-child{border-bottom:0}.feature-toggle span{display:grid;gap:3px}.feature-toggle strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.feature-toggle small{color:var(--ink-faint);font-size:.85rem}.feature-toggle input{width:22px;height:22px;accent-color:var(--accent)}.advanced-game .feature-toggle input{width:22px;margin-top:0;flex:0 0 auto}.host-disclosure{padding:0;border-radius:var(--radius-lg);overflow-anchor:none}.host-disclosure summary{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}.host-disclosure summary::-webkit-details-marker{display:none}.host-disclosure summary>span{display:grid;gap:4px}.host-disclosure summary strong{font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.host-disclosure summary small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.host-disclosure summary:after{content:"+";width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink);font-family:var(--font-mono);font-weight:600}.host-disclosure[open] summary{border-bottom:1px solid var(--line)}.host-disclosure[open] summary:after{content:"−"}.host-disclosure-body{display:grid;gap:10px;padding:14px 18px 18px;overflow-anchor:none}.team-editor-list,.move-crew-list{display:grid;gap:10px}.team-editor{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);overflow:hidden}.team-editor summary{min-height:56px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;cursor:pointer;list-style:none}.team-editor summary::-webkit-details-marker{display:none}.team-editor summary span{min-width:0;display:grid;gap:2px}.team-editor summary strong{font-family:var(--font-display);font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-editor summary small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.team-editor-controls{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:0 12px 14px;align-items:end}.team-editor-controls label:not(.file-button){display:grid;gap:5px;min-width:0}.team-editor-controls span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.emoji-input.mini{height:36px;padding:4px 8px}.file-button.mini{min-height:36px;padding:8px 12px;border-radius:var(--radius-pill);font-size:.78rem}.move-crew-list .player-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.move-crew-list .player-row>div{display:grid;gap:2px;min-width:0}.move-crew-list .player-row strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.move-crew-list .player-row small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem}.move-crew-list .player-row select{grid-column:1 / -1;width:100%;min-height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:8px 10px;font-family:var(--font-body)}.template-row,.template-row.compact{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.template-row button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);font-family:var(--font-body);padding:10px}.template-row button small{display:block;margin-top:4px}.surprise-list{display:grid;gap:8px}.surprise-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.surprise-row.unlocked{border-color:var(--gold);background:var(--gold-soft)}.surprise-row strong{font-family:var(--font-display);font-weight:600;font-size:1rem;overflow-wrap:anywhere}.surprise-row small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem}.surprise-row button{grid-column:1 / -1;min-height:38px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600}.danger-zone{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid var(--line)}.control-panel .danger-zone button{color:var(--ink-soft)}.recovery-status{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.recovery-status>span{display:grid;gap:2px}.recovery-status strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.recovery-status small,.backup-list small,.recovery-note{color:var(--ink-faint);font-size:.85rem;line-height:1.4}.recovery-status b{display:grid;width:42px;height:42px;place-items:center;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-mono);font-size:1rem}.recovery-note{margin:0}.backup-actions{display:grid;grid-template-columns:1fr;gap:8px}.backup-list{display:grid;gap:8px}.backup-list span{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.backup-list strong{font-family:var(--font-display);font-weight:600;font-size:.95rem}.sync-note{color:var(--ink-faint);font-family:var(--font-mono);font-size:.78rem}.host-code,code{display:block;max-width:100%;overflow-wrap:anywhere;color:var(--accent);font-family:var(--font-mono);font-size:.78rem;background:var(--paper-warm);padding:8px 10px;border-radius:var(--radius-xs)}.qr-frame{display:grid;place-items:center;padding:12px;border-radius:var(--radius-md);background:#fff}.qr-frame.private-qr{border:2px solid var(--accent)}.qr-frame svg{width:100%;max-width:200px;height:auto;display:block}.handoff-grid{display:grid;grid-template-columns:minmax(132px,190px) minmax(0,1fr);gap:14px;align-items:center}.handoff-copy{display:grid;gap:8px;min-width:0}.handoff-copy h3{margin:0;font-family:var(--font-display);font-size:1.1rem}.handoff-copy p{color:var(--ink-soft);font-size:.92rem;line-height:1.45}.handoff-copy button{min-height:44px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600;padding:10px 14px}.device-handoff .handoff-grid{padding-top:12px}@media(max-width:560px){.handoff-grid{grid-template-columns:1fr}.handoff-grid .qr-frame{justify-self:start;width:min(178px,100%)}.handoff-grid .qr-frame svg{max-width:154px}}.message-list,.request-list{display:grid;gap:10px}.message-timeline{display:grid;gap:0;min-width:0}.message-timeline-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;min-width:0;padding:0 0 18px}.message-timeline-item:last-child{padding-bottom:0}.message-timeline-item time{color:var(--ink-faint);font-family:var(--font-mono);font-size:.68rem;line-height:1.4;text-align:right}.message-timeline-item>div{display:grid;gap:5px;min-width:0;padding:0 0 16px;border-bottom:1px solid var(--line)}.message-timeline-item:last-child>div{border-bottom:0;padding-bottom:0}.message-timeline-item strong{min-width:0;overflow:hidden;color:var(--ink);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.message-timeline-item p{min-width:0;color:var(--ink);font-family:var(--font-display);font-size:1.05rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.message,.request,.host-request{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-soft)}.message span,.request span,.host-request span{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint);letter-spacing:.06em}.message p,.request p,.host-request p{font-family:var(--font-display);font-size:1.05rem;line-height:1.4;font-weight:500;color:var(--ink)}.request strong,.host-request strong{font-family:var(--font-mono);font-size:.78rem;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.request.shared,.host-request.shared{border-color:var(--gold)}.request.done,.host-request.done{opacity:.55}.host-request div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.host-request button{min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);font-family:var(--font-body);font-size:.85rem}.crew-inbox-sheet{max-height:min(88dvh,760px)}.inbox-sheet-head{align-items:flex-start}.crew-inbox{display:grid;gap:14px;min-width:0}.sync-dot{width:9px;height:9px;border-radius:999px;background:var(--line-strong);box-shadow:0 0 0 4px color-mix(in srgb,var(--line) 40%,transparent)}.sync-dot.open{background:var(--leaf);box-shadow:0 0 0 4px #7c9f8629}.sync-dot.connecting{background:var(--gold);box-shadow:0 0 0 4px #bf925429}.inbox-feed{display:grid;gap:10px;max-height:min(44dvh,390px);min-width:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.inbox-item{display:grid;gap:7px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-soft)}.inbox-item.notification{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--paper-warm) 82%,white)}.inbox-item.request.shared{border-color:var(--gold)}.inbox-item.request.done{opacity:.62}.inbox-item-head{display:flex;justify-content:space-between;gap:10px;min-width:0}.inbox-item-head span,.inbox-item-head small{min-width:0;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.inbox-item-head small{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.inbox-item strong{min-width:0;color:var(--ink);font-size:.95rem}.inbox-item p{min-width:0;color:var(--ink);font-family:var(--font-display);font-size:1.02rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.inbox-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.inbox-actions button,.inbox-secondary-action{min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);font-family:var(--font-body);font-size:.84rem;font-weight:600}.inbox-actions button:disabled{opacity:.48}.inbox-composer{display:grid;gap:10px;min-width:0;padding-top:2px}.inbox-secondary-action{justify-self:start;background:transparent}.tabbar{position:fixed;z-index:20;inset-inline:12px;bottom:max(var(--dock-bottom, 0px),12px);display:flex;justify-content:space-around;gap:6px;width:min(480px,calc(100% - 24px));margin:0 auto;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(20px);transform:translateZ(0);transition:transform .18s ease,opacity .18s ease,border-radius .18s ease}.dock-compact .tabbar{opacity:.76;transform:translate3d(0,calc(100% - 34px),0)}.dock-compact .tabbar:focus-within,.dock-compact .tabbar:hover{opacity:1;transform:translateZ(0)}[data-mode=dark] .tabbar{background:color-mix(in srgb,var(--bg) 94%,transparent)}.tabbar button{flex:1;min-width:0;min-height:56px;display:grid;place-items:center;gap:4px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-faint);font-family:var(--font-body)}.tabbar button.active{background:var(--accent-soft);color:var(--ink)}.tabbar button.tabbar-add{background:var(--accent);color:var(--accent-foreground);box-shadow:0 10px 24px #5e3f202e}.tabbar span{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink-soft)}.tabbar button.active span{background:var(--accent);color:var(--accent-foreground)}.tabbar button.tabbar-add span{background:color-mix(in srgb,var(--accent-foreground) 20%,transparent);color:var(--accent-foreground)}.tabbar small{font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.02em;color:var(--ink-faint)}.tabbar button.active small{color:var(--ink)}.tabbar button.tabbar-add small{color:var(--accent-foreground)}.fab{position:fixed;z-index:25;right:18px;bottom:var(--dock-action-bottom, calc(80px + env(safe-area-inset-bottom)) );width:60px;height:60px;display:grid;place-items:center;border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);box-shadow:var(--shadow-hero),0 0 0 6px var(--accent-soft)}.action-backdrop{position:fixed;z-index:40;inset:0;display:grid;align-items:end;background:#140c066b;overscroll-behavior:none;touch-action:none}.action-sheet{width:min(460px,100%);max-height:min(calc(100dvh - 18px),780px);margin:0 auto;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:var(--paper);padding:12px 16px max(20px,env(safe-area-inset-bottom));box-shadow:0 -28px 60px #140c065c;-webkit-overflow-scrolling:touch;touch-action:pan-y}.sheet-handle{width:44px;height:4px;margin:0 auto 16px;border-radius:var(--radius-pill);background:var(--line-strong)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sheet-head h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-.02em}.sheet-head button{min-height:36px;display:grid;place-items:center;width:36px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink)}.sheet-stack,.quick-jump{display:grid;gap:12px}.quick-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-memory-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-memory-actions button,.quick-memory-actions .file-button{width:100%}.quick-jump button{min-height:50px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);color:var(--ink);font-family:var(--font-body)}.preset-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preset-strip button{min-height:70px;display:grid;align-content:center;gap:4px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);color:var(--ink);padding:12px;text-align:left;font-family:var(--font-body)}.preset-strip button strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.preset-strip button small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem}.preset-strip button:first-child{background:var(--accent);color:var(--accent-foreground)}.preset-strip button:first-child small{color:#fbf3dec7}.advanced-game{display:block;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}.advanced-game>:not(summary){margin-top:8px}.advanced-game:not([open])>:not(summary){display:none}.advanced-game summary{min-height:42px;display:grid;align-items:center;cursor:pointer;color:var(--ink-soft);font-family:var(--font-body);font-weight:600;list-style:none}.advanced-game summary::-webkit-details-marker{display:none}.advanced-game[open] summary{color:var(--ink)}.advanced-game select,.advanced-game input,.advanced-game button{width:100%;margin-top:8px}.game-detail-sheet .sheet-head h2{font-size:1.5rem;line-height:1.05}.game-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.game-visibility{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.game-visibility span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.game-visibility strong{font-family:var(--font-display);font-weight:600;font-size:1rem}.game-entry-composer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.game-entry-composer input{grid-column:1 / -1;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);padding:10px 12px;font-family:var(--font-body)}.game-entry-composer button{min-height:44px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600}.confirm-sheet{max-height:min(60dvh,460px)}.confirm-body{display:grid;gap:10px;padding:6px 4px 18px}.confirm-body h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-.02em}.confirm-body p{color:var(--ink-soft);line-height:1.5}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-actions button{min-height:50px;border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600}.confirm-actions button.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.confirm-actions button.danger{background:var(--danger);border-color:var(--danger);color:var(--accent-foreground)}.more-list{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--paper);box-shadow:var(--shadow-soft)}.more-button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:0;background:transparent;color:var(--ink);text-align:left;font-family:var(--font-body)}.more-button+.more-button{border-top:1px solid var(--line)}.more-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--paper-warm);color:var(--ink)}.more-button>span:not(.more-icon){font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.more-button small{color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.empty-note{border:1px dashed var(--line);border-radius:var(--radius-md);padding:16px;margin:0;color:var(--ink-soft);font-style:italic;font-family:var(--font-display);font-size:1rem}.file-button{display:inline-grid;place-items:center;position:relative;overflow:hidden;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);font-family:var(--font-body)}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-button.disabled{opacity:.5;pointer-events:none}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:var(--radius-md);background:var(--paper-warm);border:1px solid var(--line)}.segmented-control button{min-height:38px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font-family:var(--font-body);font-weight:600}.segmented-control button.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-soft)}.host-grid+.segmented-control,.view>.segmented-control:first-of-type{grid-template-columns:repeat(4,minmax(0,1fr))}@media(prefers-reduced-motion:reduce){.live-strip div{animation:none!important}button:active,.file-button:active{transform:none}*{transition:none!important}}@media(min-width:600px){.host-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.control-panel.primary,.control-panel.recessed{grid-column:1 / -1}}.assign-row select{font-family:var(--font-body)}.assign-row{display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.assign-row strong{font-family:var(--font-display);font-weight:600}.assign-row small{display:block;color:var(--ink-faint);font-family:var(--font-mono);font-size:.7rem}.assign-row>div{flex:1;min-width:0}.assign-row select{min-height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:6px 10px;max-width:160px}.entry-card h1 em{font-style:italic;color:var(--accent)}.entry-input{width:100%;min-height:56px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm);color:var(--ink);font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.01em}.entry-input.mono{font-family:var(--font-mono);letter-spacing:.16em;text-align:center;text-transform:uppercase;font-size:1.15rem}.entry-input::placeholder{color:var(--ink-faint)}.entry-actions .entry-quiet{background:transparent;border:1px dashed var(--line);color:var(--ink-soft);box-shadow:none}.entry-actions .entry-quiet strong{color:var(--ink)}.entry-actions button:disabled{opacity:.55;cursor:not-allowed}.onboarding-card{display:grid;gap:14px;padding:18px 20px 20px;border-radius:var(--radius-card);background:radial-gradient(80% 60% at 100% 0%,var(--gold-soft),transparent 70%),var(--paper);border:1px solid var(--gold);box-shadow:var(--shadow-card)}.onboarding-card header h3{font-family:var(--font-display);font-size:1.45rem;font-weight:600;letter-spacing:-.02em}.onboarding-card ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.onboarding-card li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-warm)}.onboarding-card li.done{border-color:var(--accent);background:var(--accent-soft);color:var(--ink-soft)}.onboarding-card li.done strong{text-decoration:line-through}.onboarding-card li strong{font-family:var(--font-display);font-weight:600;font-size:1.02rem;letter-spacing:-.01em;display:block}.onboarding-card li small{color:var(--ink-faint);font-size:.85rem;display:block}.onboarding-check{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-pill);border:1.5px solid var(--ink-faint);background:var(--paper);color:var(--accent)}.onboarding-card li.done .onboarding-check{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.onboarding-card li button{min-height:36px;padding:8px 14px;border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-body);font-weight:600;font-size:.86rem}.fab-row{position:fixed;z-index:25;right:18px;bottom:var(--dock-action-bottom, calc(80px + env(safe-area-inset-bottom)) );display:flex;align-items:center;gap:14px}.fab-row .fab{position:static;transform:none;left:auto;bottom:auto}.fab-camera{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);border:1.5px solid var(--line-strong);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden}.fab-camera input{position:absolute;inset:0;opacity:0;cursor:pointer}.fab-camera:hover{border-color:var(--accent)}.wrap-share-actions{display:grid;gap:8px}.wrap-share-actions button.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:500}.games-hub,.game-composer,.games-section,.tournament-view{display:grid;gap:16px;min-width:0}.game-composer,.games-section,.tournament-empty,.tournament-setup,.tournament-live,.event-arena,.tournament-leaderboard{min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper-warm);box-shadow:var(--shadow-card)}.game-composer,.games-section,.tournament-empty,.tournament-setup,.tournament-live,.event-arena,.tournament-leaderboard{padding:16px}.game-composer>header,.games-section>header,.tournament-panel-head,.tournament-leaderboard header,.event-scorecard header,.setup-step header,.manual-pairings header,.scoring-step summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.game-composer h3,.games-section h3,.tournament-empty h3,.tournament-panel-head h3,.tournament-leaderboard h3,.setup-step h4,.bracket-round h4,.event-scorecard h4,.event-scorecard h5{margin:0;font-family:var(--font-display);letter-spacing:0}.game-composer button,.games-section>header button,.tournament-empty button,.tournament-panel-head button,.event-form>button,.match-card button,.score-row button,.tournament-leaderboard button{min-height:38px;border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);padding:0 14px;font-family:var(--font-body);font-weight:700}.game-composer .segmented-control button,.tournament-setup .segmented-control button{min-height:38px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);padding:0 8px}.game-composer .segmented-control button.active,.tournament-setup .segmented-control button.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-soft)}.quick-game-composer,.tournament-builder,.event-form,.setup-flow,.event-field-grid,.setup-step,.manual-pairings,.scoring-control,.tournament-live,.scoreboard-board,.event-scorecard{display:grid;gap:10px;min-width:0}.tournament-setup{display:grid;gap:12px}.tournament-add-panel{display:grid;gap:0;min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--paper) 74%,transparent);overflow:hidden}.tournament-add-panel>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:12px 14px;cursor:pointer;list-style:none}.tournament-add-panel>summary::-webkit-details-marker{display:none}.tournament-add-panel>summary::marker{content:""}.tournament-add-panel>summary:after{content:"+";grid-column:3;grid-row:1;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-foreground);font-weight:800}.tournament-add-panel[open]>summary:after{content:"−"}.tournament-add-panel>summary span,.tournament-add-panel>summary small{grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-add-panel>summary span{grid-column:1;color:var(--ink);font-family:var(--font-display);font-size:1.04rem;font-weight:700}.tournament-add-panel>summary small{grid-column:2;color:var(--ink-soft);font-size:.82rem}.tournament-add-panel .tournament-builder{padding:0 12px 12px}.inline-game-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;min-width:0}.inline-game-presets button,.quick-game-custom,.planned-games-list article,.match-card,.score-row,.tournament-leaderboard article{min-width:0;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper)}.inline-game-presets button{display:grid;gap:3px;padding:10px;color:var(--ink);text-align:left}.inline-game-presets strong,.inline-game-presets small,.planned-games-list strong,.planned-games-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-game-custom{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(72px,.45fr) minmax(110px,.8fr) minmax(84px,.55fr) auto;align-items:end;gap:8px;padding:10px}.quick-game-custom label,.event-form label,.scoring-grid label{display:grid;gap:5px;min-width:0}.quick-game-custom span,.event-form label>span,.scoring-control label>span,.manual-pair-row>span{color:var(--ink-faint);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.quick-game-custom input,.quick-game-custom select,.event-form input,.event-form select,.manual-pair-row select{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper);color:var(--ink);padding:0 12px;font:inherit}.setup-flow{gap:12px}.setup-step{padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--paper) 72%,transparent)}.setup-step header,.scoring-step summary{justify-content:flex-start;align-items:center}.setup-step header>span,.scoring-step summary>span{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 16%,var(--paper));color:var(--accent);font-family:var(--font-mono);font-size:.72rem;font-weight:800}.setup-step header div,.scoring-step summary div{min-width:0}.setup-step h4{font-size:1.05rem}.setup-step small{color:var(--ink-soft)}.event-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.event-field-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.match-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.match-plan div{display:grid;gap:2px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper)}.match-plan strong{color:var(--ink);font-size:1.18rem}.match-plan span{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.manual-pairings{gap:8px;padding:10px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--paper-warm) 74%,white)}.manual-pairings header{align-items:baseline}.manual-pair-row{display:grid;grid-template-columns:66px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;min-width:0}.scoring-step{gap:10px}.scoring-step summary{cursor:pointer;list-style:none}.scoring-step summary::-webkit-details-marker{display:none}.tournament-empty{display:grid;gap:14px}.tournament-empty p,.scoring-note,.event-scorecard small,.planned-games-list em,.planned-games-list small,.match-card small,.on-deck-strip small,.now-playing-strip small{color:var(--ink-soft)}.tournament-empty-actions,.tournament-head-actions,.audience-actions{display:flex;flex-wrap:wrap;gap:8px}.tournament-empty button.ghost,.tournament-panel-head button.ghost,.audience-actions button.ghost,.planned-games-list button.ghost,.match-card button.ghost{border:1px solid var(--line);background:transparent;color:var(--ink)}.planned-games-list{display:grid;gap:8px;min-width:0}.planned-games-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;overflow:hidden;padding:10px}.planned-games-list article.needs-players{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--paper))}.planned-game-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 12%,var(--paper));font-size:1.25rem}.planned-games-list em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.scoring-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.participant-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;min-width:0}.participant-picker button{display:inline-flex;align-items:center;gap:8px;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper);color:var(--ink);padding:5px 10px;text-align:left}.participant-picker button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.participant-picker button span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-playing-strip,.on-deck-strip,.locked-event-strip{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;padding:10px 0}.now-playing-strip{border-bottom:1px solid var(--line)}.locked-event-strip{padding:10px;border:1px dashed var(--line-strong);border-radius:var(--radius-tile);background:color-mix(in srgb,var(--paper) 76%,transparent)}.locked-event-strip span,.match-pill{flex:0 0 auto;min-height:34px;padding:6px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 12%,var(--paper));white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.match-pill{display:inline-flex;align-items:center;gap:7px}.match-pill i{color:var(--ink-soft);font-style:normal}.event-switcher{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(138px,.72fr);gap:8px;min-width:0;overflow-x:auto;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.event-switcher button{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 8px;min-width:0;min-height:58px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper);color:var(--ink);text-align:left}.event-switcher button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.event-switcher span{grid-row:1 / span 2}.event-switcher strong,.event-switcher small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;min-width:0;overflow-x:auto;padding-bottom:4px}.bracket-round{display:grid;align-content:start;gap:10px}.match-card{display:grid;gap:10px;padding:10px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.match-card.live,.match-card.focused{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.match-card.focused{box-shadow:inset 0 0 0 1px var(--accent),var(--shadow-soft)}.match-card.done{opacity:.84}.match-sides{display:grid;gap:6px}.match-side-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper);padding:6px}.match-side-row.winner{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper))}.match-side-row>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:4px;text-align:left}.match-side-row>button em{flex:0 0 auto;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 14%,var(--paper));color:var(--accent);padding:2px 7px;font-family:var(--font-mono);font-size:.62rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.participant-name{display:inline-flex;align-items:center;gap:8px;min-width:0}.score-stepper{display:inline-grid;grid-template-columns:30px 46px 30px;align-items:center;gap:3px;min-width:0}.score-stepper button,.score-stepper input{width:100%;min-width:0;min-height:30px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper-warm);color:var(--ink);text-align:center;font:inherit;font-weight:800}.score-stepper button{padding:0}.score-stepper input{padding:0 3px}.match-card footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.score-row,.tournament-leaderboard article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px}.event-scorecard{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.event-scorecard section{display:grid;gap:7px}.event-scorecard article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--paper)}.event-scorecard>article{grid-template-columns:auto minmax(0,1fr) auto}.tournament-leaderboard header div{display:flex;gap:6px}.tournament-leaderboard header button{min-height:32px;background:color-mix(in srgb,var(--accent) 14%,var(--paper));color:var(--ink)}.tournament-leaderboard article{grid-template-columns:auto minmax(0,1fr) auto auto}.timeline-item.locked{opacity:.64}.timeline-item.locked strong:after{content:" locked";color:var(--ink-faint);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:640px){.game-composer>header,.games-section>header,.tournament-panel-head,.tournament-leaderboard header,.event-scorecard header{flex-direction:column}.planned-games-list article{grid-template-columns:auto minmax(0,1fr)}.planned-games-list em,.planned-games-list button.ghost{grid-column:2;justify-self:start}.quick-game-custom,.event-field-grid,.event-field-grid.compact,.manual-pair-row,.award-assignment-form,.scoring-grid{grid-template-columns:1fr}.match-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.bracket-board{grid-auto-columns:minmax(86%,1fr)}.match-side-row,.event-scorecard article,.score-row{grid-template-columns:1fr}.score-stepper{width:100%;grid-template-columns:38px minmax(0,1fr) 38px}}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{min-width:0;max-width:100%;box-sizing:border-box}@media(max-width:560px){input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{-webkit-appearance:none;appearance:none}}
