html,body { width:100%; max-width:100%; overflow-x:clip; }
.app,#main,.page { min-width:0; }
.profile .p-tabs { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); width:calc(100% + 32px); }
.profile .p-tabs:has(a:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.p-tabs a { min-width:0; padding:10px 2px; flex-direction:column; gap:2px; font-size:11px; overflow:hidden; }
.p-tabs a .tiny { display:none; }
.profile #p-grid { align-content:start; }
.profile #p-grid>.empty { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:14px; padding:56px 18px; min-height:0; }
.profile #p-grid>.empty h2,.profile #p-grid>.empty p { margin:0; }
.profile .profile-head { padding-inline:8px; overflow-wrap:anywhere; }
.profile .top-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.feed-top-right { gap:0; }
.feed-tabs { gap:14px; }
.feed-tabs a { font-size:15px; }
.reel[data-reading="true"] .media-slot { inset:0; }
.clear-view .reel[data-reading="true"] .media-slot { inset:0; }
.studio-page { position:fixed; inset:0; z-index:100; margin:0!important; padding:0!important; background:#000; overflow:hidden; }
#studio-camera { width:100%; height:100%; object-fit:cover; }
.studio-shade { position:absolute; inset:0; background:linear-gradient(#0009,transparent 25%,transparent 55%,#000d); pointer-events:none; }
.studio-head { position:absolute; left:12px; right:12px; top:calc(var(--safe-t) + 8px); display:flex; justify-content:space-between; align-items:center; }
.studio-tools { position:absolute; top:calc(var(--safe-t) + 70px); right:14px; display:grid; gap:12px; }
.studio-status { position:absolute; top:35%; left:20px; right:20px; text-align:center; font-weight:650; text-shadow:0 2px 4px #000; }
.studio-retry { position:absolute; top:50%; left:50%; transform:translateX(-50%); }
.studio-bottom { position:absolute; bottom:calc(var(--safe-b) + 16px); left:0; right:0; display:grid; gap:14px; }
.studio-effects { display:flex; overflow-x:auto; gap:8px; padding:6px 16px; scrollbar-width:none; }
.studio-effects button { flex:none; border:1px solid #ffffff40; border-radius:24px; min-height:44px; padding:8px 14px; background:#161616aa; }
.studio-effects button[aria-pressed=true] { border-color:white; background:#eee; color:#111; }
.studio-modes { display:flex; justify-content:center; gap:24px; }
.studio-modes button { min-height:44px; color:#aaa; font-weight:700; }
.studio-modes [aria-pressed=true] { color:white; border-bottom:2px solid white; }
.studio-capture,.studio-labels { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; justify-items:center; }
.studio-labels { font-size:11px; color:#ddd; }
.shutter { width:78px; height:78px; padding:5px; border:3px solid white; border-radius:50%; }
.shutter>span { display:block; width:100%; height:100%; background:white; border-radius:50%; }
.shutter.recording>span { background:var(--accent); border-radius:8px; width:34px; height:34px; margin:auto; }
.studio-review>img,.studio-review>video { width:100%; max-height:40dvh; object-fit:contain; background:#000; border-radius:12px; }
.studio-review form { display:grid; gap:12px; }
.group-list { display:grid; gap:12px; margin-top:20px; }
.group-card,.challenge-card { padding:20px; border:1px solid #303030; border-radius:18px; background:#111; display:grid; gap:10px; overflow-wrap:anywhere; }
.group-card h2 { font-size:18px; }
.group-chat { display:flex; flex-direction:column; gap:12px; padding-top:12px; }
.group-message { padding:14px; border-radius:14px; background:#171717; overflow-wrap:anywhere; }
.group-message p { white-space:pre-wrap; }
.group-compose { display:grid; gap:10px; padding:12px 0; position:sticky; bottom:calc(var(--tabbar-h) + var(--safe-b)); background:#000; }
.group-compose textarea { min-height:60px; width:100%; }
.group-material { display:block; padding:10px; background:#292929; border-radius:10px; margin-top:8px; }
.group-tools { display:flex; gap:8px; flex-wrap:wrap; }
.group-tools>* { min-height:44px; }
.challenge-options { display:grid; gap:10px; }
.challenge-options button { text-align:left; padding:16px; background:#222; border-radius:12px; min-height:48px; }
.challenge-result { background:#18281d; padding:16px; border-radius:12px; }
@media(min-width:768px){.studio-page{left:var(--rail-w);}.studio-bottom{max-width:520px;margin:auto;}.studio-head{max-width:700px;margin:auto;}.studio-review>img,.studio-review>video{max-height:35vh;}}
@media(max-height:550px){.studio-bottom{gap:2px;}.studio-effects{padding-block:0;}.shutter{width:56px;height:56px;}.studio-labels{display:none;}.studio-tools{top:70px;}}
.study-tabs{display:flex;position:sticky;top:calc(var(--safe-t) + 48px);background:#000;z-index:6;border-bottom:1px solid #303030;margin-bottom:20px}.study-tabs a{flex:1;text-align:center;padding:14px 4px;font-size:13px}.study-tabs .active{border-bottom:2px solid var(--accent);color:white}.study-hero{padding:24px 0}.study-hero h2{font-size:32px;line-height:1.15;margin:12px 0}.study-hero p{margin:12px 0}.eyebrow{font-size:11px;letter-spacing:.14em;color:#ffcd75}.study-card{margin:14px 0;padding:20px;background:#141414;border:1px solid #2b2b2b;border-radius:18px;overflow-wrap:anywhere;display:grid;gap:14px}.study-card h2{font-size:20px}.study-text{white-space:pre-wrap;overflow-wrap:anywhere}.study-card summary,.recall summary{cursor:pointer;min-height:44px;padding:12px 0}.recall h2{margin:18px 0}.recall .group-tools{margin-top:20px}.study-page .sub-head{position:sticky;top:var(--safe-t);z-index:7;background:#000}.study-page .link-btn{min-height:44px}.study-page .field{margin:16px 0}#beat-art{display:block;width:100%;height:240px;object-fit:cover;border-radius:20px;object-position:center}.beat-controls{display:grid;gap:16px;padding:20px 0}.beat-controls .field{flex:1;min-width:120px}.beat-controls video{width:100%;max-height:420px;margin-bottom:14px;border-radius:18px}.studio-modes{gap:16px}.profile .p-tabs{grid-template-columns:none}.challenge-result{background:#242424}.group-message .link-btn{padding:8px}.study-page .group-tools .btn{white-space:normal}.p-tabs a svg{width:21px;height:21px}

.sheet-no-enter .sheet-panel{animation:none!important}
