:root{--ink: #14202c;--muted: #5d6b78;--line: #d7e0e8;--paper: #f4f7fa;--card: #ffffff;--brand: #fb6542;--brand-deep: #d84a2a;--ridge: #24384c;--sky: #6ea0c8;--good: #2f6b4f;--shadow: 0 16px 40px rgba(20, 32, 44, .14);--radius: 18px;--font-display: "Shippori Mincho", serif;--font-ui: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-ui);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(ellipse at 20% -10%,rgba(110,160,200,.28),transparent 42%),radial-gradient(ellipse at 90% 0%,rgba(251,101,66,.16),transparent 36%),linear-gradient(180deg,#e8eef4,#f4f7fa 38%,#eef2f6)}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;position:relative}.app-shell--wide{max-width:1100px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7fad1;border-bottom:1px solid rgba(215,224,232,.7)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:.02em}.brand img{width:34px;height:34px;border-radius:50%;box-shadow:0 4px 12px #fb65424d}.brand span{font-family:var(--font-display);font-size:1.15rem}.ghost-btn,.primary-btn,.soft-btn{border:0;cursor:pointer;border-radius:999px;min-height:42px;padding:0 16px;font-weight:700;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.ghost-btn:active,.primary-btn:active,.soft-btn:active{transform:scale(.98)}.primary-btn{background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;box-shadow:0 10px 22px #fb654247}.soft-btn{background:#fff;color:var(--ridge);border:1px solid var(--line)}.ghost-btn{background:transparent;color:var(--ridge)}.main{flex:1;padding:0 0 calc(76px + env(safe-area-inset-bottom,0px))}.tabbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(480px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:#ffffffeb;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30}.tabbar button{border:0;background:transparent;min-height:52px;border-radius:14px;display:grid;place-items:center;gap:2px;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer}.tabbar button.is-active{color:var(--brand-deep);background:#fb65421a}.tabbar .tab-ico{font-size:18px;line-height:1}.landing{min-height:100dvh}.hero{position:relative;min-height:min(86dvh,760px);display:flex;align-items:flex-end;padding:28px 20px 36px;color:#fff;overflow:hidden;isolation:isolate}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(165deg,#1a2a3a,#2a4560 42%,#fb6542 140%),radial-gradient(circle at 70% 20%,rgba(246,210,122,.35),transparent 28%)}.hero-bg:after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(10,16,24,.55)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 320'%3E%3Cpath fill='%230c141c' fill-opacity='.55' d='M0 220 L180 120 L320 180 L520 60 L720 150 L900 40 L1200 130 L1200 320 L0 320Z'/%3E%3C/svg%3E") bottom / 100% auto no-repeat}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#0c141c26,#0c141cb8 78%)}.hero-inner{width:min(640px,100%);margin:0 auto;animation:rise .7s ease both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-bottom:10px}.hero h1{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(1.8rem,6vw,2.6rem);line-height:1.25;font-weight:700;text-shadow:0 2px 18px rgba(0,0,0,.28)}.hero p{margin:0 0 22px;font-size:clamp(14px,3.4vw,17px);color:#ffffffeb;max-width:28em}.hero-cta{display:flex;flex-wrap:wrap;gap:10px}.hero-cta .soft-btn{background:#ffffff24;color:#fff;border-color:#ffffff47}.section{padding:36px 20px;max-width:920px;margin:0 auto}.section h2{margin:0 0 10px;font-family:var(--font-display);font-size:1.45rem}.section .lead{margin:0 0 20px;color:var(--muted);font-size:15px}.feature-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;box-shadow:0 8px 20px #14202c0d}.feature strong{display:block;margin-bottom:6px;font-size:15px}.feature span{color:var(--muted);font-size:13px;line-height:1.6}.landing-footer{text-align:center;padding:28px 16px 48px;color:var(--muted);font-size:13px}.landing-footer a{color:var(--ridge);font-weight:700;text-decoration:none}.page{padding:12px 16px 8px}.day-head{display:grid;gap:8px;margin-bottom:14px}.day-head h1{margin:0;font-family:var(--font-display);font-size:1.35rem}.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ridge)}.chip--accent{background:#fb65421a;border-color:#fb654247;color:var(--brand-deep)}.slot-list{display:grid;gap:10px}.slot{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 6px 16px #14202c0a}.slot-hour{display:grid;place-items:center;background:linear-gradient(180deg,#24384c,#1a2a3a);color:#fff;font-weight:800;font-size:13px}.slot-body{padding:10px 10px 10px 0;display:grid;grid-template-columns:112px 1fr;gap:10px;align-items:center;min-height:84px}.slot-thumb{width:112px;height:72px;border-radius:12px;object-fit:cover;background:#d7e0e8}.slot-empty{width:112px;height:72px;border-radius:12px;background:linear-gradient(135deg,#1a2a3a,#31485e);display:grid;place-items:center;color:#ffffff8c;font-size:11px;font-weight:700}.slot-copy{min-width:0}.slot-copy strong{display:block;font-size:14px;margin-bottom:2px}.slot-copy span{display:block;color:var(--muted);font-size:12px}.slot.is-now{border-color:#fb65428c;box-shadow:0 10px 24px #fb65421f}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 8px}.home-actions .primary-btn,.home-actions .soft-btn{width:100%;border-radius:14px}.capture{padding:8px 12px 12px;display:flex;flex-direction:column;gap:12px;min-height:calc(100dvh - 120px)}.capture-stage{position:relative;border-radius:22px;overflow:hidden;background:#0c141c;aspect-ratio:16 / 10;box-shadow:var(--shadow)}.capture-stage video{width:100%;height:100%;object-fit:cover;display:block}.dual-pip{position:absolute;right:12px;top:12px;width:28%;aspect-ratio:3 / 4;border-radius:14px;overflow:hidden;border:2px solid rgba(255,255,255,.85);box-shadow:0 8px 18px #00000059;background:#1a2a3a}.dual-pip img,.dual-pip video{width:100%;height:100%;object-fit:cover}.capture-hud{position:absolute;left:12px;bottom:12px;display:flex;gap:8px;flex-wrap:wrap}.capture-hud .chip{background:#0c141c8c;color:#fff;border-color:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0c141c47;color:#fff;font-family:var(--font-display);font-size:clamp(4rem,18vw,6rem);font-weight:700;pointer-events:none;text-shadow:0 4px 24px rgba(0,0,0,.4)}.capture-form{display:grid;gap:10px}.field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}.capture-actions{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.rec-btn{width:74px;height:74px;border-radius:50%;border:4px solid #fff;background:var(--brand);box-shadow:0 0 0 4px #fb654259,0 12px 28px #fb654259;cursor:pointer;justify-self:center}.rec-btn:disabled{opacity:.5;cursor:not-allowed}.rec-btn.is-recording{animation:pulse .8s ease infinite}@keyframes pulse{50%{transform:scale(.94)}}.hint{font-size:12px;color:var(--muted);text-align:center}.error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:12px;padding:10px 12px;font-size:13px}.play-stage{border-radius:20px;overflow:hidden;background:#0c141c;aspect-ratio:16 / 10;position:relative;box-shadow:var(--shadow)}.play-stage img,.play-stage video{width:100%;height:100%;object-fit:cover;display:block}.play-caption{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}.play-caption strong{display:block;font-size:16px}.play-caption span{font-size:13px;opacity:.9}.filmstrip{display:flex;gap:8px;overflow-x:auto;padding:12px 2px;-webkit-overflow-scrolling:touch}.filmstrip button{flex:0 0 auto;width:88px;border:2px solid transparent;border-radius:12px;padding:0;overflow:hidden;background:#d7e0e8;cursor:pointer}.filmstrip button.is-active{border-color:var(--brand)}.filmstrip img{width:100%;height:56px;object-fit:cover;display:block}.card-list{display:grid;gap:12px}.group-card,.discover-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 8px 18px #14202c0a}.group-card h3,.discover-card h3{margin:0 0 6px;font-size:16px}.members{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.members span{font-size:12px;font-weight:700;background:#eef3f8;border-radius:999px;padding:4px 10px}.discover-card{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center}.discover-art{width:96px;height:72px;border-radius:12px;background:linear-gradient(135deg,#24384c,#6ea0c8)}.muted{color:var(--muted);font-size:13px}@media(min-width:900px){.app-shell:not(.app-shell--wide){border-left:1px solid rgba(215,224,232,.8);border-right:1px solid rgba(215,224,232,.8);box-shadow:0 0 0 1px #fff6}.hero{border-radius:0 0 28px 28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
