*{margin:0;padding:0;box-sizing:border-box}html,body{overscroll-behavior:none}#rotate-prompt{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary, #000);color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:99999;font-size:17px;font-weight:600;letter-spacing:-.01em;gap:12px;padding:24px}@media (orientation: landscape) and (max-height: 500px){#rotate-prompt{display:flex}#app{display:none!important}}.player-bar,.sidebar__scroll,.editor__timeline{scrollbar-width:none}.player-bar::-webkit-scrollbar,.sidebar__scroll::-webkit-scrollbar,.editor__timeline::-webkit-scrollbar{display:none}:root{--bg-primary: #000;--bg-secondary: #0a0a0a;--bg-card: #1c1c1f;--text-primary: #e0e0e0;--text-secondary: #a0a0b0;--accent: #ffffff;--accent-hover: #d6d6d6;--danger: #FF6B6B;--stage-bg: #0f0f0f;--stage-wing: #0a0a0a;--border: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.16);--paper: #1f1c16;--paper-line: rgba(255,200,120,.09)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:100svh;word-break:keep-all;overflow-wrap:break-word}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;min-height:100svh}.app-sidebar{grid-column:1;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-secondary);padding:max(16px,env(safe-area-inset-top)) 12px 16px max(12px,env(safe-area-inset-left));position:sticky;top:0;height:100vh;height:100dvh;z-index:80}@media (display-mode: standalone) and (min-width: 768px){.app-sidebar{padding-top:max(24px,env(safe-area-inset-top))}}@media (display-mode: standalone) and (max-width: 767px){.app-sidebar{padding-top:calc(env(safe-area-inset-top,60px) + 12px)}}.app-sidebar__brand{padding:8px 10px 16px;-webkit-user-select:none;user-select:none}.app-sidebar__logo{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.app-sidebar__nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}.app-sidebar__nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;text-align:left;border-radius:8px;cursor:pointer;transition:background .12s,color .12s;width:100%}.app-sidebar__nav-item:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary)}.app-sidebar__nav-item--active{background:var(--bg-card);color:var(--text-primary)}.app-sidebar__nav-icon{display:flex;align-items:center;flex-shrink:0}.app-sidebar__nav-label{flex:1}.app-sidebar__footer{padding-top:12px;margin-top:8px}.app-sidebar__lang{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border);display:flex;justify-content:center}.app-sidebar__signin-slot{display:flex;flex-direction:column;gap:8px}.app-sidebar__signin-pitch{padding:4px 6px 6px;color:var(--text-primary)}.app-sidebar__signin-pitch-header{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:11px;font-weight:600;color:#ffffff8c;letter-spacing:.04em}.app-sidebar__signin-pitch-icon{flex:0 0 auto;color:#f5c945}.app-sidebar__signin-pitch-body{margin:0;font-size:12px;line-height:1.5;color:var(--text-secondary);opacity:.85}.app-sidebar__signin-google{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#ffffff0f;color:var(--text-primary);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.app-sidebar__signin-google:hover{background:#ffffff1f;border-color:#ffffff3d}.app-sidebar__signin-google:active{transform:scale(.98)}.app-sidebar__user{position:relative}.app-sidebar__user-btn{display:flex;align-items:center;gap:10px;padding:8px;border:none;background:transparent;color:var(--text-primary);border-radius:8px;cursor:pointer;width:100%;text-align:left;transition:background .12s}.app-sidebar__user-btn:hover{background:var(--bg-card)}.app-sidebar__user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#000;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;overflow:hidden}.app-sidebar__user-avatar img{width:100%;height:100%;object-fit:cover}.app-sidebar__user-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.app-sidebar__user-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__user-email{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__user-caret{color:var(--text-secondary);flex-shrink:0}.app-sidebar__user-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0000004d;z-index:10}.app-sidebar__user-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--text-primary);font-size:13px;border-radius:6px;cursor:pointer}.app-sidebar__user-menu-item:hover{background:var(--bg-primary)}.app-sidebar__scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;border:none;z-index:110;cursor:pointer}.app-main{grid-column:2;min-width:0;display:flex;flex-direction:column}.app-content{flex:1;min-width:0;min-height:0}.page-menu-btn{display:none;width:32px;height:32px;padding:0;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;flex-shrink:0}.page-menu-btn:hover{background:var(--bg-card)}@media (max-width: 840px){.page-menu-btn{display:inline-flex}}@media (max-width: 840px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;height:100dvh;transform:translate(-100%);transition:transform .22s ease;z-index:120}.app-sidebar--open{transform:translate(0)}.app-sidebar__scrim[hidden]{display:none}.app-sidebar__scrim{display:block}.app-main{grid-column:1}}.trash-page{max-width:900px;margin:0 auto}.trash-page__header{position:sticky;top:0;z-index:100;background:var(--bg-primary);display:flex;align-items:center;padding:max(20px,env(safe-area-inset-top)) 20px 16px;gap:12px;min-height:32px;box-sizing:content-box}@media (display-mode: standalone){.trash-page__header{padding-top:max(24px,env(safe-area-inset-top))}}@media (display-mode: standalone) and (max-width: 767px){.trash-page__header{padding-top:calc(env(safe-area-inset-top,60px) + 12px)}}.trash-page__title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0;flex:1;min-width:0}.trash-page__body{padding:6px 20px 40px}.dashboard{max-width:900px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.dashboard__header{position:sticky;top:0;z-index:100;background:var(--bg-primary);display:flex;align-items:center;padding:max(20px,env(safe-area-inset-top)) 20px 16px;gap:12px;min-height:32px;box-sizing:content-box}@media (display-mode: standalone){.dashboard__header{padding-top:max(24px,env(safe-area-inset-top))}}@media (display-mode: standalone) and (max-width: 767px){.dashboard__header{padding-top:calc(env(safe-area-inset-top,60px) + 12px)}}.dashboard__body{padding:6px 20px 40px;flex:1;display:flex;flex-direction:column}.dashboard__legal{margin-top:auto;padding:20px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:center;font-size:12.5px;color:var(--text-muted);opacity:.7;transition:opacity .2s}.dashboard__legal:hover{opacity:1}.dashboard__legal>span,.dashboard__legal>a{white-space:nowrap}.dashboard__legal a{color:var(--text-muted);text-decoration:none}.dashboard__legal a:hover{color:var(--text-secondary);text-decoration:underline}.dashboard__legal-sep{opacity:.5}.dashboard__title{font-size:22px;font-weight:700;letter-spacing:-.01em;flex:1;min-width:0}.dashboard__actions{display:flex;align-items:center;gap:8px}.btn{height:32px;padding:0 14px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background .15s;white-space:nowrap}.btn--primary{background:var(--accent);color:#000}.btn--primary:hover{background:var(--accent-hover)}.btn--primary:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.btn--danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong)}.btn--ghost:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.btn--ghost:disabled{opacity:.35;cursor:not-allowed}.btn--music-missing{color:var(--danger)!important;border-color:#ff6b6b73!important}.btn--music-missing:hover:not(:disabled){border-color:var(--danger)!important;color:var(--danger)!important}.btn--soft{background:#ffffff1a;color:var(--text-primary);border:1px solid rgba(255,255,255,.14)}.btn--soft:hover:not(:disabled){background:#ffffff29;border-color:#ffffff38}.btn--soft:disabled{opacity:.35;cursor:not-allowed}@property --cta-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.btn--cta{position:relative;z-index:0;gap:6px;border-color:transparent}.btn--cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--cta-angle, 0deg),rgba(255,255,255,.14) 0deg,rgba(255,255,255,.14) 230deg,rgba(255,255,255,1) 300deg,rgba(255,255,255,.45) 335deg,rgba(255,255,255,.14) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:cta-rotate 4.5s linear infinite;pointer-events:none}@keyframes cta-rotate{to{--cta-angle: 360deg}}.btn--cta:hover:not(:disabled):before{animation-duration:2.6s}.btn__cta-icon{flex:0 0 auto;animation:btn-cta-icon-wiggle 1.8s ease-in-out infinite;transform-origin:50% 80%}@keyframes btn-cta-icon-wiggle{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@media (prefers-reduced-motion: reduce){.btn--cta:before{animation:none;background:#ffffff4d}.btn__cta-icon{animation:none}}.storage-warning{background:#eab30826;border:1px solid rgba(234,179,8,.4);color:#eab308;padding:10px 16px;border-radius:8px;font-size:13px;margin-bottom:16px}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.note-card--deleted{opacity:.7;cursor:default}.note-card--deleted:hover{transform:none;box-shadow:0 2px 6px #0000002e}.note-card__trash-actions{display:flex;gap:8px;margin-top:10px}.btn--sm{height:24px;padding:0 10px;font-size:11px}.btn--danger{color:#ef4444;border-color:#ef4444}.note-card{position:relative;background:#16161a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:0;overflow:hidden;cursor:pointer;color:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.note-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000052}.note-card__thumbnail{line-height:0;position:relative;background:var(--stage-bg, #0f0f0f)}.note-card__thumbnail canvas{width:100%;height:auto;display:block}.note-card__body{padding:12px 14px 14px}.note-card__title{font-size:15px;font-weight:600;margin:0 0 4px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.note-card__meta{font-size:12px;color:#fff9;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.empty-state{text-align:center;padding:80px 20px;color:var(--text-secondary)}.empty-state__icon{font-size:48px;margin-bottom:16px}.editor{display:grid;grid-template-columns:1fr 0px 48px;grid-template-rows:auto 1fr auto auto;height:100vh;height:100svh;gap:0;overflow:hidden;width:100%;transition:grid-template-columns .25s ease}.editor--sidebar-open{grid-template-columns:1fr 221px 48px}.editor--focus{grid-template-columns:1fr 0 0!important}.editor--focus .editor__header,.editor--focus .editor__sidebar,.editor--focus .sidebar-rail,.editor--focus .editor__timeline-wrap{display:none!important}.editor--focus .player-bar .toolbar__separator,.editor--focus .player-bar__row:not(:first-child){display:none!important}.editor--focus .player-bar{height:auto;padding:8px 16px max(20px,env(safe-area-inset-bottom))}.editor__fullscreen-btn{position:absolute;bottom:8px;left:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:#00000080;color:#fff;cursor:pointer;z-index:10;opacity:.8;transition:opacity .15s,background .15s}.editor__fullscreen-btn:hover{opacity:1;background:#000000b3}.editor>*{min-width:0;min-height:0}body:has(.editor){overflow:hidden;position:fixed;width:100%;height:100%;height:100dvh;touch-action:none}html:has(.editor){overflow:hidden}.editor__header{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:var(--bg-secondary);border-bottom:1px solid var(--border)}@media (display-mode: standalone) and (min-width: 768px){.editor__header{padding-top:max(24px,env(safe-area-inset-top))}}@media (display-mode: standalone) and (max-width: 767px){.editor__header{padding-top:calc(env(safe-area-inset-top,60px) + 12px)}}.editor__back{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1}.editor__title-input{background:transparent;border:1px solid transparent;color:var(--text-primary);font-size:16px;font-weight:600;height:32px;padding:0 8px;border-radius:4px;flex:1;min-width:140px;text-overflow:ellipsis}.editor__title-input:focus{border-color:var(--accent);outline:none}.editor__actions{margin-left:auto;display:flex;gap:8px}.editor__actions .btn__label-short{display:none}.editor__emergency{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:4px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);opacity:.45;cursor:pointer;transition:opacity .15s,background .15s,color .15s,border-color .15s}.editor__emergency:hover{opacity:1;background:var(--bg-secondary)}.editor__emergency--armed{opacity:1;color:#fff;background:#d9534f;border-color:#d9534f;animation:emergency-pulse .6s ease-in-out infinite alternate}@keyframes emergency-pulse{0%{box-shadow:0 0 #d9534f99}to{box-shadow:0 0 0 6px #d9534f00}}.player-bar{grid-row:3;grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 16px;height:40px;background:var(--bg-secondary);border-top:1px solid var(--border);overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;white-space:nowrap;-webkit-user-select:none;user-select:none}.player-bar__time{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.player-bar__btn{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:20px;padding:2px 6px;line-height:1;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.player-bar__btn:hover{color:var(--accent)}.player-bar__btn--primary{width:44px;height:44px;min-width:44px;min-height:44px}.player-bar__row{display:contents}.toolbar{display:flex;gap:6px;align-items:center;justify-content:flex-start}.toolbar__btn{background:var(--border);border:1px solid var(--border-strong);color:var(--text-secondary);padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;min-height:32px}.toolbar__btn:hover{background:var(--border-strong);color:var(--text-primary)}.toolbar__btn--active{background:#fff3;border-color:var(--accent);color:var(--accent)}.toolbar__btn--disabled{opacity:.3;pointer-events:none}.toolbar__separator{width:1px;height:20px;background:var(--border-strong);margin:0 4px}[hidden]{display:none!important}.editor__main{grid-row:2;grid-column:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);overflow:hidden;min-width:0;min-height:0}.stage-container{position:relative}.stage-zoom-badge{display:none;position:absolute;bottom:8px;right:8px;padding:2px 8px;border-radius:4px;background:#00000080;color:#fff;font-size:11px;cursor:pointer;z-index:10;-webkit-user-select:none;user-select:none}.stage-zoom-badge--visible{display:block}.stage-zoom-badge:hover{background:#000000b3}.editor__main--focused:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 1px var(--accent);z-index:20}.editor__main--swap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 2px #f59e0b;z-index:20}.stage-wrap{transition:transform .4s ease;position:relative}.stage-audience{position:absolute;left:50%;display:flex;gap:6px;cursor:pointer;z-index:5;padding:6px 4px}.stage-audience--top{top:var(--audience-pos, 32px);transform:translate(-50%,-50%)}.stage-audience--bottom{bottom:var(--audience-pos, 32px);transform:translate(-50%,50%)}.stage-audience__dot{width:4px;height:4px;border-radius:50%;background:#ffffff73;transition:background .15s}.stage-audience--touched .stage-audience__dot{background:#ffffffbf}@media (hover: hover){.stage-audience:hover .stage-audience__dot{background:#ffffffbf}}.stage-audience__tooltip{position:absolute;left:50%;font-size:11px;color:#ffffffe6;background:#000000c7;padding:3px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}.stage-audience--top .stage-audience__tooltip{top:calc(100% + 4px);transform:translate(-50%)}.stage-audience--bottom .stage-audience__tooltip{bottom:calc(100% + 4px);transform:translate(-50%)}.stage-audience--touched .stage-audience__tooltip{opacity:1}@media (hover: hover){.stage-audience:hover .stage-audience__tooltip{opacity:1}}.stage-backstage{position:absolute;left:50%;display:flex;align-items:center;gap:4px;cursor:pointer;z-index:5;padding:6px 4px}.stage-backstage--top{top:var(--audience-pos, 32px);transform:translate(-50%,-50%)}.stage-backstage--bottom{bottom:var(--audience-pos, 32px);transform:translate(-50%,50%)}.stage-backstage__line{width:12px;height:2px;background:#fff6;border-radius:1px;transition:background .15s}.stage-backstage--touched .stage-backstage__line{background:#ffffffbf}@media (hover: hover){.stage-backstage:hover .stage-backstage__line{background:#ffffffbf}}.stage-backstage__tooltip{position:absolute;left:50%;font-size:11px;color:#ffffffe6;background:#000000c7;padding:3px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}.stage-backstage--top .stage-backstage__tooltip{top:calc(100% + 4px);transform:translate(-50%)}.stage-backstage--bottom .stage-backstage__tooltip{bottom:calc(100% + 4px);transform:translate(-50%)}.stage-backstage--touched .stage-backstage__tooltip{opacity:1}@media (hover: hover){.stage-backstage:hover .stage-backstage__tooltip{opacity:1}}.stage-canvas{display:block;touch-action:none}.stage-swap-banner{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:50;background:#000000bf;color:#f59e0b;font-size:12px;font-weight:600;padding:6px 18px;border-radius:20px;border:1px solid #F59E0B;cursor:pointer;pointer-events:none;opacity:0;transition:opacity .25s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.stage-swap-banner--visible{opacity:1;pointer-events:auto}.stage-swap-banner--visible:hover{background:#000000d9}.marker-list{display:flex;flex-direction:column;gap:4px}.marker-item{display:flex;align-items:center;gap:6px;padding:4px 16px;cursor:pointer;position:relative;transition:background .1s;min-height:24px}.marker-item:hover{background:#ffffff0d}.marker-item--selected,.marker-item--selected:hover{background:#ffffff26}.marker-item--selected .marker-item__visibility,.marker-item--selected .marker-item__remove{opacity:1;color:#fff}.marker-item:not(.marker-item--selected) .marker-item__type-wrap,.marker-item:not(.marker-item--selected) .marker-item__label{pointer-events:none}.marker-item__type-wrap{position:relative;width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:3px;transition:background .1s}.marker-item__type-wrap:hover{background:#ffffff1a}.marker-item__icon{width:16px;height:16px;pointer-events:none}.marker-item__label{flex:1;min-width:0;background:transparent;border:1px solid transparent;color:var(--text-primary);font-size:12px;padding:0 2px;border-radius:3px;line-height:1}.marker-item__label:focus{border-color:var(--accent);outline:none}.marker-item__type{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;width:auto;height:auto;opacity:0;cursor:pointer;border:none;background:transparent;color:transparent;font-size:0;padding:0;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.marker-item__remove{opacity:.35;transition:opacity .1s,color .1s,background .1s}.marker-item:hover .marker-item__remove{opacity:1}.marker-item__remove:hover{color:var(--danger)}.marker-item__visibility{opacity:.45;transition:opacity .1s,color .1s,background .1s}.marker-item:hover .marker-item__visibility,.marker-item--hidden .marker-item__visibility{opacity:1}.marker-item--hidden .marker-item__type-wrap,.marker-item--hidden .marker-item__label{opacity:.45}.editor__sidebar{grid-row:2;grid-column:2;width:221px;min-width:221px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.editor__sidebar--hidden,.editor__sidebar-close{display:none}.sidebar-rail{grid-row:2;grid-column:3;display:flex;flex-direction:column;align-items:center;padding:8px 6px 8px 2px;gap:4px;background:var(--bg-secondary);border-left:1px solid var(--border);width:48px;position:relative;z-index:2}.sidebar-rail__icon{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;color:var(--text-secondary)}.sidebar-rail__icon:hover{background:var(--border-strong);color:var(--text-primary)}.sidebar-rail__icon--active{background:#fff3;color:var(--accent)}.help-shortcuts{display:flex;flex-direction:column;gap:2px}.help-shortcuts .shortcut-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--text-secondary)}.help-shortcuts .shortcut-row__keys{display:inline-flex;gap:4px;flex-shrink:0}.help-shortcuts .shortcut-row>span:last-child{flex:1;text-align:right}.help-shortcuts .shortcut-row kbd{background:var(--border);border:1px solid var(--border-strong);border-radius:4px;padding:2px 6px;font-size:11px;font-family:inherit;color:var(--text-primary);min-width:24px;text-align:center}.sidebar__panel{display:flex;flex-direction:column;flex:1;min-height:0}.sidebar__panel--hidden{display:none}.sidebar__panel-title{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.inspector-presets-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.preset-spacing{display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.preset-spacing span{font-size:12px;color:var(--text-primary);min-width:20px;text-align:center}.preset-row{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-user-select:none;user-select:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}.preset-row::-webkit-scrollbar{height:4px}.preset-row::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.preset-card{flex:0 0 50px;scroll-snap-align:start;background:var(--border);border:1px solid var(--border-strong);border-radius:6px;cursor:pointer;overflow:hidden;transition:border-color .15s}.preset-card:hover{border-color:var(--accent)}.preset-card canvas{display:block;width:100%;height:36px}.preset-card__name{padding:2px 0;text-align:center;font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-card--custom{position:relative}.preset-card__delete{position:absolute;top:2px;right:2px;width:14px;height:14px;border:none;background:#0009;color:var(--text-secondary);font-size:9px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.preset-card__delete:hover{background:var(--danger);color:#fff}.preset-card__count{color:var(--accent);font-size:9px}.preset-card--mismatch .preset-card__count{color:var(--danger)}.sidebar__scroll{flex:1;overflow-y:auto;padding:12px 0}.sidebar__section-title{font-size:11px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:10px}.dancer-list{display:flex;flex-direction:column;gap:4px}.dancer-item{display:flex;align-items:center;gap:6px;padding:4px 16px;cursor:pointer;position:relative;transition:background .1s;min-height:24px}.dancer-item:hover{background:#ffffff0d}.dancer-item--selected{background:#ffffff26}.dancer-item__color{width:14px;height:14px;border-radius:4px;flex-shrink:0}.dancer-item__number{min-width:14px;text-align:right;font-size:12px;color:var(--text-secondary);flex-shrink:0;line-height:1}.dancer-item__name{font-size:12px;flex:1;color:var(--text-primary);padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dancer-item__remove{opacity:.35;transition:opacity .1s,color .1s,background .1s}.dancer-item:hover .dancer-item__remove{opacity:1}.dancer-item__remove:hover{color:var(--danger)}.editor__timeline{flex:1;overflow-x:auto;overflow-y:hidden;position:relative;-webkit-overflow-scrolling:touch;touch-action:pan-x}.timeline__scrollbar{height:16px;background:var(--border);position:relative;flex-shrink:0;cursor:pointer;border-top:1px solid var(--border)}.timeline__scrollbar-thumb{position:absolute;top:2px;height:12px;background:var(--text-secondary);border-radius:6px;cursor:grab;min-width:30px;opacity:.5}.timeline__scrollbar-thumb:hover{opacity:.8}.timeline__scrollbar-thumb:active{cursor:grabbing}.timeline__bottom-bar{display:flex;align-items:center;gap:8px;padding:4px 8px 30px;flex-shrink:0;border-top:1px solid var(--border);-webkit-user-select:none;user-select:none}.timeline__bottom-bar .timeline__scrollbar{flex:1;border-top:none}.timeline__zoom{display:flex;align-items:center;gap:4px;flex-shrink:0}.timeline__zoom-btn{width:32px;height:32px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;line-height:1}.timeline__zoom-btn:hover{background:var(--border-strong)}.timeline__zoom-label{font-size:11px;color:var(--text-secondary);min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.timeline{position:relative;height:100%;min-width:100%}.timeline__ruler{height:40px;position:relative;border-bottom:1px solid var(--border-strong);cursor:pointer;-webkit-user-select:none;user-select:none}.timeline__tick{position:absolute;bottom:0;color:var(--text-secondary);font-size:10px;pointer-events:none;display:flex;flex-direction:column;align-items:center}.timeline__tick-label{position:absolute;top:4px;font-size:10px;white-space:nowrap;transform:translate(-50%);font-variant-numeric:tabular-nums}.timeline__tick-line{position:absolute;bottom:0;width:1px;background:var(--border-strong)}.timeline__tick-line--major{height:14px;background:var(--text-secondary)}.timeline__tick-line--minor,.timeline__tick-line--sub{height:8px;background:var(--border-strong)}.editor__timeline-wrap{grid-row:4;grid-column:1 / -1;display:flex;flex-direction:column;padding-top:6px;margin-bottom:8px;border-top:1px solid var(--border);background:var(--bg-secondary);position:relative}.editor__timeline-wrap--focused:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 1px var(--accent);z-index:20}.timeline__formations{position:relative;height:94px;margin-top:8px;margin-bottom:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.timeline__select-rect{position:absolute;background:#ffffff14;border:1px dashed rgba(255,255,255,.6);pointer-events:none;z-index:5}.timeline__waveform-track{position:absolute;top:106px;left:0;right:0;height:36px;pointer-events:none}.timeline__waveform{position:absolute;top:0;left:0;height:36px;pointer-events:none}.formation-box{position:absolute;height:50px;background:#15151a;border:none;outline:1px solid rgba(255,255,255,.12);outline-offset:-1px;border-radius:6px;cursor:grab;font-size:12px;color:var(--text-primary);-webkit-user-select:none;user-select:none;touch-action:none;transition:outline-color .12s,background .12s}.formation-box__thumb{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:5px;pointer-events:none}.formation-box__stage{position:absolute;background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:2px;pointer-events:none}.formation-box__dot{position:absolute;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 3px #00000080}.formation-box__label{position:absolute;left:6px;top:4px;display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:#fff;letter-spacing:.3px;pointer-events:none;white-space:nowrap;line-height:1;z-index:2;font-variant-numeric:tabular-nums}.formation-box--selected{outline:1.5px solid rgba(255,255,255,.75);outline-offset:-1.5px}.formation-box--active{outline:2px solid #fff;outline-offset:-2px;box-shadow:0 0 8px #ffffff40}.formation-box__handle{position:absolute;top:50%;transform:translateY(-50%);width:8px;height:24px;border-radius:3px;background:#ffffffbf;border:1px solid rgba(255,255,255,.9);cursor:col-resize;opacity:0;pointer-events:none;transition:opacity .15s}.formation-box__handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:50px;cursor:col-resize}.formation-box--selected .formation-box__handle,.formation-box--active .formation-box__handle{opacity:1;pointer-events:auto}.formation-box__handle:hover{background:#fff!important;border-color:#fff}.formation-box__handle--left{left:-3px}.formation-box__handle--right{right:-3px}.formation-add-btn{position:absolute;height:50px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff6;border:1px dashed rgba(255,255,255,.25);border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.formation-add-btn:hover{color:#fff;border-color:#fff;background:#ffffff14}.transition-connector{position:absolute;top:25px;transform:translateY(-50%);height:26px;pointer-events:auto;cursor:pointer;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:#ffffff73;transition:color .12s}.transition-connector:hover{color:#fff}.transition-connector--active{color:#ffffffd9}.transition-connector--active:hover{color:#fff}.transition-connector__line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.transition-connector__label{position:relative;z-index:2;font-size:9px;font-weight:500;letter-spacing:.4px;pointer-events:none;white-space:nowrap;line-height:1;padding:2px 6px;background:var(--bg-secondary);color:currentColor;border:1px solid currentColor;border-radius:6px}.timeline__marker{position:absolute;top:30px;width:2px;height:100%;background:var(--danger);pointer-events:none;z-index:10}.timeline__marker-handle{position:absolute;top:-9px;left:-8px;width:18px;height:18px;background:var(--danger);border-radius:50%;cursor:grab;pointer-events:all}.export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center}.export-overlay__box{background:var(--bg-card);border-radius:12px;padding:32px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.export-overlay__text{font-size:16px;color:var(--text-primary)}.export-overlay__progress{font-size:36px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.share-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.share-modal__box{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;width:100%;max-width:380px}.share-modal__title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;text-align:center}.share-modal__subtitle{font-size:12px;color:var(--text-secondary);text-align:center;margin:-4px 0 6px}.share-modal__option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.share-modal__option:hover{background:#141418;border-color:var(--border-strong)}.share-modal__option svg{flex:0 0 auto;color:var(--text-secondary)}.share-modal__option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.share-modal__option-title{font-size:14px;font-weight:600;color:var(--text-primary)}.share-modal__option-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.share-modal__option-desc-warn{color:var(--danger);font-weight:500}.share-modal__option--danger .share-modal__option-title{color:var(--danger, #f87171)}.share-modal__option--danger svg{color:var(--danger, #f87171)}.share-modal__option--danger:hover{border-color:var(--danger, #f87171)}.toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 76px);left:50%;transform:translate(-50%) translateY(-12px);display:flex;align-items:center;gap:10px;max-width:min(90vw,480px);padding:10px 18px;background:#1c1c1feb;color:#f5f5f7;font-size:14px;font-weight:500;line-height:1.4;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px #00000059;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);opacity:0;transition:transform .22s ease,opacity .22s ease;z-index:1000;pointer-events:none;white-space:pre-line}.toast:before{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;border-radius:50%}.toast[data-type=info]:before{display:none}.toast[data-type=success]:before{content:"✓";color:#0b1220;background:#64ffda}.toast[data-type=warning]:before{content:"!";color:#1a1205;background:#ffb843}.toast--visible{transform:translate(-50%) translateY(0);opacity:1}.pwa-update-banner{position:fixed;bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 16px));left:50%;transform:translate(-50%) translateY(calc(100% + 40px));display:flex;align-items:center;gap:14px;width:min(calc(100vw - 24px),420px);padding:12px 12px 12px 18px;background:#1c1c1feb;color:var(--text-primary);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 14px 40px #0000008c,0 0 0 1px #ffffff0a inset;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);opacity:0;transition:transform .32s cubic-bezier(.34,1.32,.64,1),opacity .22s ease;z-index:10000}.pwa-update-banner--visible{transform:translate(-50%) translateY(0);opacity:1}.pwa-update-banner__dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#64ffda;box-shadow:0 0 #64ffda8c;animation:pwa-update-pulse 2s ease-out infinite}@keyframes pwa-update-pulse{0%{box-shadow:0 0 #64ffda8c}60%{box-shadow:0 0 0 10px #64ffda00}to{box-shadow:0 0 #64ffda00}}.pwa-update-banner__title{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.pwa-update-banner__cta{flex:0 0 auto;height:32px;padding:0 14px;background:var(--accent);color:#000;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.pwa-update-banner__cta:hover{background:var(--accent-hover)}.pwa-update-banner__cta:active{transform:scale(.97)}.pwa-update-banner__close{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:18px;line-height:1;padding:0;cursor:pointer;transition:background .15s ease,color .15s ease}.pwa-update-banner__close:hover{background:#ffffff0f;color:var(--text-primary)}@media (max-width: 480px){.pwa-update-banner{width:calc(100vw - 16px);padding:10px 8px 10px 14px;gap:10px}}@media (prefers-reduced-motion: reduce){.pwa-update-banner__dot{animation:none}.pwa-update-banner{transition:opacity .2s ease}}.viewer{display:grid;grid-template-columns:1fr 0px 48px;grid-template-rows:auto 1fr auto auto;height:100vh;height:100svh;gap:0;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);transition:grid-template-columns .25s ease}.viewer--sidebar-open{grid-template-columns:1fr 221px 48px}.viewer__header{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:var(--bg-secondary);border-bottom:1px solid var(--border)}.viewer__title{font-size:16px;font-weight:600;color:var(--text-primary);text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-self:center;max-width:100%}.viewer__logo{display:inline-flex;align-items:center;text-decoration:none;height:32px;padding:0 4px;justify-self:start}.viewer__logo img{height:18px;width:auto;display:block}.viewer__header .editor__actions{justify-self:end}.viewer__header .editor__actions .btn__label-short{display:none}@media (display-mode: standalone) and (min-width: 768px){.viewer__header{padding-top:max(24px,env(safe-area-inset-top))}}@media (display-mode: standalone) and (max-width: 767px){.viewer__header{padding-top:calc(env(safe-area-inset-top,60px) + 12px)}}.viewer__stage{grid-row:2;grid-column:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px;min-height:0;min-width:0;position:relative}.viewer__stage canvas{display:block}.viewer>.editor__sidebar{grid-row:2;grid-column:2}.viewer>.sidebar-rail{grid-row:2;grid-column:3}.viewer>.player-bar{grid-column:1 / -1}.viewer>.editor__timeline-wrap{grid-column:1 / -1}.dancer-item__name-label{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-section{margin-bottom:18px;padding:0 16px}.settings-label{font-size:11px;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:8px}.settings-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.settings-row span{font-size:12px;color:var(--text-primary)}.settings-input{flex:1;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-size:13px;height:32px;padding:0 10px;border-radius:4px;box-sizing:border-box;font-family:inherit;min-width:0}.settings-input:focus{border-color:var(--accent);outline:none}.settings-title-text{flex:1;font-size:12px;color:var(--text-primary);line-height:1.4;word-break:break-all;min-width:0}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;cursor:pointer}.toggle-row span{font-size:12px;color:var(--text-primary)}.toggle-switch{width:30px;height:18px;border-radius:9px;background:var(--border-strong);position:relative;transition:background .2s;flex-shrink:0}.toggle-switch--on{background:var(--accent)}.toggle-switch__thumb{width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left .2s}.toggle-switch--on .toggle-switch__thumb{left:14px;background:#000}.settings-divider{height:1px;background:var(--border-strong);margin:12px 0}.settings-subtitle{font-size:11px;font-weight:700;color:var(--text-primary);letter-spacing:.5px;margin-bottom:8px;padding:0 16px;min-height:20px;display:flex;align-items:center}.settings-subtitle--collapsible,.settings-subtitle--with-action{display:flex;align-items:center;justify-content:space-between}.settings-subtitle--collapsible{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.settings-subtitle__count{font-weight:400;color:var(--text-secondary);margin-left:2px;font-variant-numeric:tabular-nums}.settings-subtitle--collapsible::-webkit-details-marker{display:none}.label-action-btn{width:20px;height:20px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;line-height:1;flex-shrink:0;transition:background .1s,color .1s}.label-action-btn:hover,.settings-subtitle--collapsible:hover .label-action-btn{background:#ffffff14;color:var(--text-primary)}.label-action-btn--hit-extend{position:relative}.label-action-btn--hit-extend:after{content:"";position:absolute;top:-6px;right:-4px;bottom:-6px;left:-12px}.label-action-btn--chevron:before,.label-action-btn--plus:before,.label-action-btn--close:before{content:"";background:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.label-action-btn--chevron:before{width:10px;height:10px;mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 2 8 6 4 10'/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 2 8 6 4 10'/></svg>");transition:transform .18s ease}details[open] .label-action-btn--chevron:before{transform:rotate(90deg)}.label-action-btn--plus:before{width:18px;height:18px;mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'><line x1='12' y1='5' x2='12' y2='19'/><line x1='5' y1='12' x2='19' y2='12'/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'><line x1='12' y1='5' x2='12' y2='19'/><line x1='5' y1='12' x2='19' y2='12'/></svg>")}.label-action-btn--close:before{width:13px;height:13px;mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><line x1='5' y1='12' x2='19' y2='12'/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><line x1='5' y1='12' x2='19' y2='12'/></svg>")}.dancer-display-row{display:flex;gap:8px}.dancer-display-col{flex:1;min-width:0;display:flex;flex-direction:column}.stage-control-row{display:flex;gap:8px;align-items:stretch}.stage-control-col{flex:1;min-width:0;display:flex;flex-direction:column}.icon-grid{display:grid;gap:1px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.icon-grid--2x2{grid-template-columns:repeat(2,1fr)}.icon-grid--row{grid-auto-flow:column;grid-auto-columns:1fr;grid-template-columns:none;width:100%}.icon-grid--row .icon-grid-btn{width:100%;height:24px}.icon-grid-btn{width:100%;height:24px;border:none;border-radius:0;background:#ffffff0f;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.icon-grid-btn:hover{color:var(--text-primary)}.icon-grid-btn--active{background:#ffffff26;color:var(--accent)}.icon-grid-btn--xl{font-size:10px;letter-spacing:-.5px}.settings-sub{font-size:11px;color:var(--text-secondary);opacity:.7}.settings-music-name{font-size:11px;color:var(--text-secondary);line-height:1.4;word-break:break-all}.settings-row .settings-music-name--missing{color:var(--danger)}.settings-row .settings-music-name--empty{color:var(--text-secondary);opacity:.7;font-style:italic}.music-modal__current{display:flex;align-items:baseline;gap:8px;padding:8px 10px;margin:0 0 8px;background:#ffffff0a;border-radius:6px;font-size:12px}.music-modal__current-label{color:var(--text-secondary);flex-shrink:0}.music-modal__current-name{color:var(--text-primary);word-break:break-all;overflow-wrap:anywhere}.music-modal__current-name--missing{color:var(--danger)}.settings-btn-sm{padding:0 12px!important;font-size:12px!important;background:#ffffff0f!important;border:none!important;border-radius:6px;color:var(--text-secondary)!important;text-decoration:none;cursor:pointer;height:24px;min-height:0;white-space:nowrap;transition:all .15s}.preset-btn-box{padding:0!important;width:20px;height:20px;font-size:12px!important;background:var(--border)!important;border:1px solid var(--border-strong)!important;color:var(--text-primary)!important;text-decoration:none!important;border-radius:4px;display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0}.preset-btn-box:hover{background:var(--border-strong)!important}.settings-btn-sm:hover{color:var(--text-primary)!important}.settings-options{display:flex;gap:1px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.settings-btn-full{width:100%;height:28px;border:none;border-radius:6px;background:#ffffff0f;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s}.settings-btn-full:hover{color:var(--text-primary)}.settings-option{flex:1;padding:0;height:24px;border:none;border-radius:0;background:#ffffff0f;color:var(--text-secondary);cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.settings-option:hover{color:var(--text-primary)}.settings-option--active{background:#ffffff26;color:var(--accent)}.inspector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 16px;color:var(--text-secondary)}.inspector-empty__text{font-size:13px;opacity:.6;word-break:keep-all;text-align:center}.sidebar__scroll--hidden{display:none}.inspector-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;min-height:24px;padding:0 16px}.inspector-header__name{flex:1;width:100%;padding:0;border:none;background:transparent;color:var(--text-primary);font-size:12px;outline:none}.inspector-header__multi{font-size:12px;color:var(--accent)}.inspector-nav{display:flex;align-items:center;gap:4px;width:100%}.inspector-nav__btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#ffffff14;color:var(--text-primary);border-radius:4px;cursor:pointer;font-size:16px;flex-shrink:0}.inspector-nav__btn:hover{background:#ffffff26}.inspector-nav__btn--disabled{opacity:.25;pointer-events:none}.inspector-row{display:flex;gap:8px}.inspector-field{display:flex;align-items:center;flex:1;background:#ffffff0f;border-radius:6px;padding:0 8px;height:24px}.inspector-field__label{font-size:12px;color:var(--text-secondary);margin-right:6px;flex-shrink:0}.inspector-field__input{width:100%;padding:0;border:none;background:transparent;color:var(--text-primary);font-size:12px;outline:none;-moz-appearance:textfield}.inspector-field__input::-webkit-inner-spin-button,.inspector-field__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inspector-field:focus-within{outline:1px solid var(--accent)}.inspector-field__input:disabled{color:var(--text-secondary);opacity:.5;cursor:default}.inspector-field__input::placeholder{color:var(--text-secondary);opacity:.5}.inspector-dir-row{display:flex;gap:8px;align-items:start}.inspector-direction{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;flex:1;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.inspector-align{display:flex;gap:1px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.inspector-align-btn{flex:1;height:24px;border:none;border-radius:0;background:#ffffff0f;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.inspector-align-btn:hover{color:var(--text-primary)}.inspector-align-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.inspector-dir-btn{width:100%;height:24px;border:none;border-radius:0;background:#ffffff0f;color:var(--text-secondary);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.inspector-dir-btn:hover{color:var(--text-primary)}.inspector-dir-btn--active{background:#ffffff26;color:var(--accent)}.inspector-direction--disabled .inspector-dir-btn{opacity:.4;cursor:default;pointer-events:none}.inspector-dir-center{width:100%;height:24px;border-radius:0;background:#ffffff0f;border:none;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.inspector-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;flex:1}.inspector-palette__swatch{width:100%;height:24px;border-radius:6px;border:2px solid transparent;background-clip:padding-box;cursor:pointer;transition:border-color .15s,transform .15s}.inspector-palette__swatch:hover{transform:scale(1.15)}.inspector-palette__swatch--active{border-color:#fff}.inspector-palette__custom{position:relative;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary);border:2px dashed var(--border-strong);overflow:hidden}.inspector-palette__custom.inspector-palette__swatch--active{border-style:solid;border-color:#fff}.inspector-palette__custom:hover{color:var(--text-primary)}.inspector-palette__custom-text{pointer-events:none;position:relative;z-index:1}.inspector-palette__color-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none}@font-face{font-family:Chillax;src:url(/fonts/Chillax-Variable.woff2) format("woff2-variations");font-weight:200 700;font-style:normal;font-display:swap}.landing{background:#000;background-image:linear-gradient(to right,transparent calc(50% - .5px),rgba(255,255,255,.14) calc(50% - .5px),rgba(255,255,255,.14) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),rgba(255,255,255,.14) calc(50% - .5px),rgba(255,255,255,.14) calc(50% + .5px),transparent calc(50% + .5px));background-size:80px 80px;background-position:center;background-attachment:fixed;color:#fff;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;word-break:keep-all;overflow-x:clip}.landing__snap-anchor{width:100%;height:1px;scroll-snap-align:start;scroll-snap-stop:always;pointer-events:none}.landing__morphing-logo{position:fixed;top:0;left:50%;width:min(560px,70vw);height:auto;z-index:50;pointer-events:auto;cursor:pointer;transform-origin:center top;will-change:transform}.landing__hero-logo-slot{width:min(560px,70vw);aspect-ratio:520 / 100;visibility:hidden}.landing__nav-cta{position:fixed;z-index:100;right:max(32px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));background:transparent;color:#fff;border:1.5px solid #fff;padding:9px 0;width:90px;border-radius:0;font-size:15px;font-weight:500;letter-spacing:1px;cursor:pointer;font-family:Chillax,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;opacity:0;pointer-events:none;transition:background .15s,color .15s}.landing__nav-cta:hover{background:#fff;color:#000}.landing__hero{position:sticky;top:0;height:40svh;height:40dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;z-index:10;pointer-events:none}.landing__hero-inner{display:flex;flex-direction:column;align-items:center;margin-top:0;pointer-events:none}.landing__tagline{pointer-events:none}.landing__cta-btn{pointer-events:auto}.landing__tagline{margin:14px 0 40px;font-family:Chillax,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(15px,1.6vw,20px);letter-spacing:1.5px;color:#fff6;font-weight:400;line-height:1}.landing__tagline .hl{color:#fff}.landing__cta-row{display:flex;gap:16px}.landing__cta-btn{background:transparent;color:#fff;border:1.5px solid #fff;padding:9px 0;width:90px;border-radius:0;font-size:15px;font-weight:500;letter-spacing:1px;cursor:pointer;font-family:Chillax,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;transition:background .15s,color .15s}.landing__cta-btn:hover{background:#fff;color:#000}.landing__below{height:100svh;height:100dvh;overflow:clip;display:flex;flex-direction:column;align-items:center;scroll-snap-align:start;scroll-snap-stop:always}html.landing-snap,body.landing-snap{scroll-snap-type:y mandatory;overscroll-behavior:none}html.landing-snap .landing,body.landing-snap .landing{overscroll-behavior:none}.landing__mini-editor-host{width:100%;display:flex;justify-content:center}.mini-editor{width:100%;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;align-items:center}.mini-editor__controls{margin-top:auto}.mini-editor__stage-wrap{width:100%;display:flex;justify-content:center;padding:0 12px;box-sizing:border-box;position:sticky;top:15vh}.mini-editor__stage{width:100%;max-width:520px;height:auto;aspect-ratio:760 / 560;display:block;cursor:grab;touch-action:none}.mini-editor__stage:active{cursor:grabbing}.mini-editor__controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;padding:10px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.mini-editor__play-btn{width:38px;height:38px;border-radius:50%;background:#fff;color:#000;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .1s}.mini-editor__play-btn:hover{transform:scale(1.05)}.mini-editor__play-btn:active{transform:scale(.95)}.mini-editor__time{font-family:Chillax,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;color:#ffffffb3;font-variant-numeric:tabular-nums;letter-spacing:.5px}.mini-editor__time--left{text-align:right}.mini-editor__time--right{text-align:left;color:#ffffff73}.mini-editor__timeline-wrap{width:100%;padding:8px 16px max(64px,calc(env(safe-area-inset-bottom) + 56px));background:var(--bg-secondary)}.mini-editor__timeline{position:relative;height:70px}.mini-editor__timeline .formation-box{top:12px}.mini-editor__marker{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);pointer-events:none;z-index:10}.mini-editor__marker-handle{position:absolute;top:-9px;left:-8px;width:18px;height:18px;background:var(--danger);border-radius:50%;pointer-events:none}@media (max-width: 768px){.landing{background-size:48px 48px}.landing__hero{padding:60px 16px 0}.landing__morphing-logo,.landing__hero-logo-slot{width:min(420px,78vw)}.landing__cta-btn{padding:8px 0;width:84px;font-size:14px}.landing__below{padding:0}.landing__nav-cta{padding:8px 0;width:84px;font-size:14px;right:16px;top:max(14px,env(safe-area-inset-top))}.dashboard__header{flex-wrap:wrap;gap:8px 12px;padding-right:16px;padding-bottom:12px;padding-left:16px}.dashboard__actions{flex-basis:100%;flex-wrap:wrap;gap:6px;justify-content:flex-end}.dashboard__body{padding:6px 16px 24px}.trash-page__header{flex-wrap:wrap;gap:8px 12px;padding-right:16px;padding-bottom:12px;padding-left:16px}.trash-page__body{padding:6px 16px 24px}.note-grid{grid-template-columns:repeat(2,1fr);gap:12px}.note-card__title{font-size:14px}.note-card__body{padding:10px 12px 12px}.viewer{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 36px 1fr auto auto;height:100vh;height:100svh}.viewer--sidebar-open{grid-template-columns:minmax(0,1fr)}.viewer>.sidebar-rail{grid-row:2;grid-column:1;display:flex;flex-direction:row;align-items:center;width:100%;height:36px;padding:0 12px;gap:4px;border-left:none;border-top:none;border-bottom:1px solid var(--border);overflow-x:auto}.viewer>.editor__sidebar{grid-row:auto;grid-column:auto;position:fixed;bottom:0;left:0;right:0;width:auto;max-height:calc(100dvh - var(--mobile-rail-top, 80px));background:var(--bg-secondary);border-top:1px solid var(--border-strong);border-left:none;border-radius:16px 16px 0 0;padding:12px 16px 24px;overflow-y:auto;z-index:200;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 20px #0006}.viewer>.editor__sidebar:before{content:"";display:block;width:36px;height:4px;background:#ffffff4d;border-radius:2px;margin:0 auto 12px}.viewer>.editor__sidebar:not(.editor__sidebar--hidden){display:flex;transform:translateY(0)}.viewer>.editor__sidebar.editor__sidebar--hidden{display:block;transform:translateY(100%)}.viewer__stage{grid-row:3;grid-column:1;padding:10px;min-width:0;overflow:hidden}.viewer__header{gap:8px;padding-right:12px;padding-bottom:8px;padding-left:12px}.viewer__title{font-size:15px}.viewer__header .editor__actions{gap:4px}.viewer__header .editor__actions .btn{padding:6px 10px;font-size:13px}.viewer__header .editor__actions .btn__label-full{display:none}.viewer__header .editor__actions .btn__label-short{display:inline}.viewer__logo img{height:16px}.viewer>.player-bar{grid-row:4;grid-column:1}.viewer>.editor__timeline-wrap{grid-row:5;grid-column:1}.editor{grid-template-columns:1fr;grid-template-rows:auto 36px 1fr auto auto;height:100vh;height:100svh}.editor--sidebar-open{grid-template-columns:1fr}.sidebar-rail{grid-row:2;grid-column:1;display:flex;flex-direction:row;align-items:center;width:100%;height:36px;padding:0 12px;gap:4px;border-left:none;border-top:none;border-bottom:1px solid var(--border);overflow-x:auto}.sidebar-rail__icon{width:32px;height:28px;font-size:14px;flex-shrink:0}.sidebar-rail__spacer{flex:1;width:auto;height:auto;background:none;margin:0}.editor__sidebar{grid-row:auto;grid-column:auto;position:fixed;bottom:0;left:0;right:0;width:auto;height:var(--mobile-sidebar-h, 40dvh);background:var(--bg-secondary);border-top:1px solid var(--border-strong);border-left:none;border-radius:16px 16px 0 0;padding:12px 16px max(24px,env(safe-area-inset-bottom));overflow-y:auto;z-index:200;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 20px #0006}.editor__sidebar-close{display:flex;align-items:center;justify-content:center;position:absolute;top:6px;right:8px;width:32px;height:32px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;line-height:1;border-radius:6px;transition:background .1s,color .1s;z-index:1;padding:0}.editor__sidebar-close:hover,.editor__sidebar-close:active{background:#ffffff14;color:var(--text-primary)}.editor__sidebar--inspector .editor__sidebar-close{display:none}.sidebar__panel{width:100%;max-width:480px;align-self:center}.editor__sidebar:not(.editor__sidebar--hidden){display:flex;transform:translateY(0)}.editor__sidebar.editor__sidebar--hidden{display:block;transform:translateY(100%)}.editor__main{grid-row:3;grid-column:1}.player-bar{grid-row:4;grid-column:1;flex-wrap:wrap;height:auto;gap:2px;padding:4px 10px}.player-bar__btn{width:40px;height:40px;font-size:24px}.player-bar__btn--primary{width:52px;height:52px;min-width:52px;min-height:52px}.player-bar__row{display:flex;align-items:center;width:100%;gap:8px;height:40px}.player-bar__row:first-child{justify-content:center}.player-bar .toolbar__separator{display:none}.player-bar .toolbar{width:100%;justify-content:flex-start}.player-bar__time{font-size:13px}.player-bar__music-name{display:none}.editor__timeline-wrap{grid-row:5;grid-column:1}.editor__header{grid-row:1;grid-column:1;gap:8px;padding-right:12px;padding-bottom:8px;padding-left:12px}.editor__title-input{flex:1;min-width:0;width:auto;font-size:15px;text-overflow:ellipsis}.editor__actions{gap:4px;flex-shrink:0}.editor__actions .btn{padding:6px 10px;font-size:13px}.editor__actions .btn__label-full{display:none}.editor__actions .btn__label-short{display:inline}.editor__actions #music-btn .btn__label-full,.editor__actions #music-btn .btn__label-short,.editor__actions #share-btn .btn__label-full,.editor__actions #share-btn .btn__label-short{display:none}.editor__actions #music-btn svg,.editor__actions #share-btn svg{margin-right:0!important}.editor__actions #music-btn,.editor__actions #share-btn{padding:6px 8px}.toolbar{gap:4px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.toolbar__btn{padding:6px 10px;font-size:13px;min-height:36px;white-space:nowrap}.editor__timeline{min-height:90px}.timeline__bottom-bar{padding:6px 8px max(12px,env(safe-area-inset-bottom))}.timeline__zoom{gap:2px}.timeline__zoom-btn{width:26px;height:26px;font-size:12px}.timeline__zoom-label{font-size:11px}.sidebar__section-title,.settings-label{font-size:13px}.sidebar__section{margin-bottom:16px}.dancer-list{flex-direction:column;gap:4px}.dancer-item{padding:6px 16px;min-height:36px}.dancer-item__color{width:18px;height:18px}.dancer-item__number{min-width:18px;font-size:14px}.dancer-item__name{font-size:15px;width:100%}.dancer-item__remove{opacity:1;font-size:18px}.marker-list{gap:4px}.marker-item{padding:6px 16px;min-height:36px}.marker-item__type-wrap,.marker-item__icon{width:20px;height:20px}.marker-item__label{font-size:14px}.marker-item__remove{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hint-banner{padding:10px 16px;font-size:12px;color:var(--text-secondary);opacity:.7;text-align:center;border-top:1px dashed var(--border);margin-top:4px}.hint-banner--timeline{position:absolute;top:50%;transform:translate(-50%) translateY(-50%);border:none;margin:0;white-space:nowrap;pointer-events:none;font-size:13px}.empty-state--subtle{padding:28px 16px;font-size:13px;border:1px dashed var(--border);border-radius:10px;background:var(--bg-secondary)}.empty-state--subtle p{margin:0}.note-card__more{position:absolute;top:6px;right:6px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;color:#fff;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,transform .1s;z-index:2}.note-card__more:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.note-card:hover .note-card__more{opacity:1}@media (hover: none){.note-card__more{opacity:.85}}.note-card__more:hover{background:#000000d9;transform:scale(1.08)}.note-card__more:active{transform:scale(.95)}.card-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}.card-menu{min-width:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px #0000002e;padding:4px;display:flex;flex-direction:column}.card-menu button{background:none;border:none;text-align:left;padding:9px 12px;font-size:14px;color:var(--text-primary);cursor:pointer;border-radius:6px}.card-menu button:hover{background:var(--bg-secondary)}.card-menu__danger{color:var(--danger)!important}.card-menu__danger:hover{background:#dc35451a!important}.session-expired-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--warn-bg, rgba(240,173,78,.12));border:1px solid rgba(240,173,78,.4);color:var(--text-primary);padding:10px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}.session-expired-banner__dismiss{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 8px}.session-expired-banner__dismiss:hover{color:var(--text-primary)}.auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal__box{background:var(--bg-card);border-radius:12px;padding:24px;max-width:360px;width:90%;text-align:center;overflow-y:auto}.auth-modal__title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 20px}.auth-modal__title:has(+.auth-modal__subtitle){margin-bottom:10px}.auth-modal__subtitle{font-size:13px;line-height:1.55;color:var(--text-secondary);margin:0 0 20px;text-align:left;white-space:pre-line}.btn--google{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:box-shadow .15s;width:100%;justify-content:center}.btn--google:hover{box-shadow:0 2px 8px #00000026}.auth-modal__cancel{margin-top:12px;width:100%}@media (max-width: 600px){.auth-modal__box{width:95%;padding:16px}}.conflict-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100}.conflict-modal__box{background:var(--bg-card);border-radius:12px;padding:24px;max-width:440px;width:90%}.conflict-modal__title{font-size:17px;font-weight:700;color:var(--text-primary);margin:0 0 16px}.conflict-modal__compare{display:flex;gap:12px;margin-bottom:16px}@media (max-width: 600px){.conflict-modal__compare{flex-direction:column}.conflict-modal__box{width:95%;padding:16px}}.community-page{max-width:900px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 20px 0;display:flex;flex-direction:column;height:100vh;height:100svh;min-height:0}.community-page__header,.community-week-nav{flex:0 0 auto}@media (display-mode: standalone) and (max-width: 767px){.community-page{padding-top:calc(env(safe-area-inset-top,60px) + 12px)}}.community-page__header{display:flex;align-items:center;gap:12px;min-height:32px;margin-bottom:16px}.community-page__title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0;flex:1;min-width:0}.community-page__compose{margin-bottom:20px}.community-compose{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.community-compose--locked{flex-direction:row;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-secondary);padding:12px 14px}.community-compose__content{width:100%;background:transparent;border:none;color:var(--text-primary);padding:4px 2px;font-size:14px;font-family:inherit;outline:none;resize:vertical;min-height:48px;line-height:1.5}.community-compose__footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.community-compose__count{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.community-compose__anon{display:inline-flex;align-items:center;gap:6px;margin-right:auto;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.community-compose__anon input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1px solid var(--border-strong);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0}.community-compose__anon input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.community-compose__anon input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}.community-page__list{display:flex;flex-direction:column}.community-page__loading,.community-page__empty,.community-page__error{text-align:center;padding:28px 16px;color:var(--text-secondary);font-size:13px}.community-page__error{color:var(--danger)}.community-post{padding:12px 4px;border-bottom:1px solid var(--border)}.community-post:last-child{border-bottom:none}.community-post__meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:12px;color:var(--text-secondary)}.community-post__author{font-weight:600;color:var(--text-primary)}.community-post__time{font-variant-numeric:tabular-nums}.community-post__delete{margin-left:auto;background:transparent;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s,color .15s}.community-post__delete:hover{background:#ff6b6b1f;color:var(--danger)}.community-post__content{font-size:14px;line-height:1.55;color:var(--text-primary);white-space:normal;word-break:break-word}.community-post__content a{color:var(--accent);text-decoration:underline}.community-post__actions{display:flex;align-items:center;gap:12px;margin-top:6px}.community-like-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;padding:4px 8px 4px 4px;border-radius:6px;color:#ffffff80;cursor:pointer;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;transition:background .12s,color .12s}.community-like-btn:hover{background:#ffffff0f;color:var(--text-primary)}.community-like-btn--on{color:var(--text-primary)}.community-post__emoji{font-size:16px}.community-chat{display:flex;gap:10px;padding:10px 4px;align-items:flex-start}.community-chat__avatar{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden}.community-chat__avatar img{width:26px;height:26px;display:block;pointer-events:none}.community-chat__emoji-fallback{font-size:18px;opacity:.6}.community-chat__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.community-chat__head{display:flex;align-items:center;gap:6px;margin-bottom:3px;font-size:12px;width:100%}.community-chat__name{font-weight:600;color:var(--text-primary);font-size:12px}.community-chat__delete{margin-left:auto;background:transparent;border:none;color:#ffffff59;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .12s,color .12s}.community-chat__delete:hover{background:#ff6b6b1f;color:var(--danger)}.community-chat__bubble{display:inline-block;max-width:100%;background:#ffffff12;border:1px solid rgba(255,255,255,.06);padding:9px 12px;border-radius:14px 14px 14px 4px;font-size:14px;line-height:1.5;color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.community-chat--mine .community-chat__bubble{background:#ffffff24;border-color:#ffffff1a}.community-chat__bubble a{color:var(--accent);text-decoration:underline}.community-chat__foot{display:flex;align-items:center;gap:8px;margin-top:4px;padding-left:4px;font-size:11px;color:#fff6}.community-chat__like{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:2px 4px;border-radius:4px;color:#fff6;cursor:pointer;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;transition:background .12s,color .12s}.community-chat__like:hover{background:#ffffff0f;color:var(--text-primary)}.community-chat__like--on{color:#ff6b9c}.community-chat__time{font-variant-numeric:tabular-nums}.community-chat__bubble{transition:background .5s ease-out,border-color .5s ease-out,box-shadow .5s ease-out}.community-chat--highlight .community-chat__bubble{background:#ffffff47;border-color:#ffffff5c;box-shadow:0 0 0 4px #ffffff1a}.community-chat-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.community-chat-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.community-chat-list:before{content:"";flex:1 1 auto;min-height:0}.community-chat-compose-wrap{flex:0 0 auto;margin-top:12px;margin-bottom:30px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px;background:var(--bg-primary)}.community-chat-compose{display:flex;flex-direction:column;gap:8px}.community-chat-compose--locked{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;padding:12px;color:#ffffff80;font-size:13px}.community-chat-compose__cooldown{font-variant-numeric:tabular-nums}.community-chat-compose__picker{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px}.community-chat-compose__tabs{display:flex;gap:2px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:4px}.community-chat-compose__tab{flex:1;background:transparent;border:none;color:#fff6;font-size:11px;padding:4px 2px;cursor:pointer;border-radius:4px;transition:color .12s,background .12s}.community-chat-compose__tab:hover{color:#ffffffb3}.community-chat-compose__tab--active{color:#fff;background:#ffffff14}.community-chat-compose__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.community-chat-compose__emoji-pick{background:transparent;border:none;padding:4px;cursor:pointer;border-radius:6px;text-align:center;transition:background .1s,transform .1s}.community-chat-compose__emoji-pick:hover{background:#ffffff14;transform:scale(1.15)}.community-chat-compose__emoji-pick--selected{background:#ffffff1f;outline:2px solid rgba(255,255,255,.3)}.community-chat-compose__row{display:flex;align-items:flex-end;gap:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px 8px}.community-chat-compose__emoji-btn{flex:0 0 36px;width:36px;height:36px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:50%;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .12s}.community-chat-compose__emoji-btn:hover{background:#ffffff1f}.community-chat-compose__emoji-btn img{width:22px;height:22px;pointer-events:none}.community-chat-compose__text{flex:1 1 auto;background:transparent;border:none;color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;outline:none;padding:8px 4px;min-width:0;line-height:1.4;max-height:120px}.community-chat-compose__text::placeholder{color:#ffffff4d}.community-chat-compose__anon{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#ffffff73;cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:8px}.community-chat-compose__anon input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:13px;height:13px;border:1px solid rgba(255,255,255,.3);border-radius:3px;background:transparent;cursor:pointer;position:relative}.community-chat-compose__anon input:checked{background:#fff;border-color:#fff}.community-chat-compose__anon input:checked:after{content:"";position:absolute;left:3px;top:0;width:4px;height:7px;border:solid #000;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.community-chat-compose__send{flex:0 0 auto;background:#fff;color:#000;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .12s}.community-chat-compose__send:disabled{opacity:.3;cursor:default}.community-chat-compose--disabled .community-chat-compose__row{opacity:.65;cursor:not-allowed}.community-chat-compose__emoji-btn:disabled{cursor:not-allowed}.community-chat-compose__text:disabled{cursor:not-allowed;color:#ffffff80}.community-chat-compose__text:disabled::placeholder{color:#ffffff8c}.community-chat-compose__send:not(:disabled):hover{opacity:.85}@media (max-width: 540px){.community-chat-compose__anon span{display:none}}.community-page__view-toggle{display:flex;gap:2px;background:#ffffff0f;border-radius:8px;padding:2px}.community-view-btn{background:transparent;border:none;color:#ffffff73;font-size:12px;font-weight:500;padding:4px 12px;border-radius:6px;cursor:pointer;transition:color .12s,background .12s}.community-view-btn:hover{color:#ffffffb3}.community-view-btn--active{background:#ffffff1a;color:#fff}.community-week-nav{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-bottom:16px}.community-week-btn{background:transparent;border:1px solid rgba(255,255,255,.12);color:#fff9;font-size:12px;padding:4px 12px;border-radius:6px;cursor:pointer;transition:color .12s,border-color .12s}.community-week-btn:hover:not(:disabled){color:#fff;border-color:#ffffff40}.community-week-btn--disabled,.community-week-btn:disabled{opacity:.3;cursor:default}.community-week-btn--hidden{visibility:hidden;pointer-events:none}.community-week-label{font-size:13px;color:#ffffffb3;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:140px}.community-week-label-text{white-space:nowrap}.community-week-live{display:inline-flex;align-items:center;gap:4px;background:#ef444426;color:#ef4444;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:.04em}.community-week-live--hidden{visibility:hidden}.community-page__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.community-stats-section{margin:64px auto 24px;max-width:820px;padding:0 16px}.community-stats-section__divider{border-top:1px solid var(--border);margin:0 0 28px}.community-public-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;min-height:132px}.community-stat-card{position:relative;background:radial-gradient(ellipse at top left,rgba(255,255,255,.045),transparent 60%),linear-gradient(180deg,#ffffff07,#ffffff03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;overflow:hidden;box-shadow:0 1px #ffffff0a inset,0 8px 24px #0000002e}.community-stat-card:before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);pointer-events:none}.community-stat-card:after{content:"";position:absolute;top:1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);pointer-events:none}.community-stat-card__head{display:flex;justify-content:space-between;align-items:center;gap:6px}.community-stat-card__label{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;color:#ffffff80;letter-spacing:.14em;line-height:1}.community-stat-card__icon{display:inline-flex;color:#fff6;line-height:0}.community-stat-card__num{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;color:#fffffff5;line-height:1;letter-spacing:-.025em;background:linear-gradient(180deg,#fff,#ffffffc7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.community-stat-card__sub{font-size:11px;font-weight:400;color:#fff6;letter-spacing:.01em;line-height:1.2}@media (max-width: 600px){.community-page{padding-right:16px;padding-bottom:24px;padding-left:16px}.community-compose--locked{flex-direction:column;align-items:stretch;gap:8px;text-align:center}.community-stats-section{margin:40px auto 12px;max-width:380px;padding:0 12px}.community-stats-section__divider{margin:0 0 18px}.community-public-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;min-height:244px}.community-stat-card{padding:14px 14px 12px;gap:8px}.community-stat-card__num{font-size:24px}.community-stat-card__label{font-size:10px;letter-spacing:.12em}.community-stat-card__sub{font-size:10.5px}.community-stat-card__icon svg{width:12px;height:12px}}.editor__loading{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100svh;background:#000;display:flex;align-items:center;justify-content:center;z-index:1100;opacity:1;transition:opacity .22s ease;pointer-events:auto}.editor__loading--hiding{opacity:0;pointer-events:none}.editor__loading-logo{width:min(220px,52vw);animation:editor-loading-pulse 1.2s ease-in-out infinite}@keyframes editor-loading-pulse{0%,to{opacity:.35}50%{opacity:.9}}.viewer__loading{grid-row:2 / -1;grid-column:1 / -1;background:#000;display:flex;align-items:center;justify-content:center;position:relative;z-index:250;opacity:1;transition:opacity .22s ease;pointer-events:auto}.viewer__loading--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100svh}.viewer__loading--hiding{opacity:0;pointer-events:none}.viewer__loading-logo{width:min(220px,52vw);animation:viewer-loading-pulse 1.2s ease-in-out infinite}@keyframes viewer-loading-pulse{0%,to{opacity:.35}50%{opacity:.9}}body.is-ipad-windowed .app-sidebar,body.is-ipad-windowed .dashboard__header,body.is-ipad-windowed .editor__header,body.is-ipad-windowed .viewer__header,body.is-ipad-windowed .trash-page__header,body.is-ipad-windowed .community-page{padding-top:72px}
