.studio-warmup{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:60;width:min(330px,calc(100vw - 28px));padding:12px 15px 15px;border:1px solid #45503d;border-radius:14px;background:#151c20f5;color:#edf4e8;box-shadow:0 8px 35px #0005}.studio-warmup-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600}.studio-warmup-heading button{flex:0 0 44px;width:44px;height:44px;margin:-7px -10px -4px 0;border:0;background:transparent;color:#b4c4b0;font-size:23px;cursor:pointer}.studio-warmup progress{display:block;width:100%;height:6px;margin:10px 0;accent-color:#b2ff39}.studio-warmup small{display:block;color:#aabbad;font-size:11px;line-height:1.5}.studio-warmup-retry{min-height:44px;margin-top:10px;padding:8px 12px;border:1px solid #637954;border-radius:8px;color:#d3f4bc;background:#263522;cursor:pointer}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4f4f1;background:#08090d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#08090d}body{min-width:320px;min-height:100%;margin:0;overscroll-behavior-y:none;background:radial-gradient(circle at 50% -20%,#252b34 0,#0d0f14 38%,#08090d 72%)}button,input,select{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b2ff39;outline-offset:2px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.45}.icon{display:block;flex:0 0 auto}.mobile-app{min-height:100svh}.mobile-page{width:100%;max-width:760px;min-height:100svh;margin:0 auto}.login-page{min-height:100svh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,430px);padding:32px;border:1px solid #30343d;border-radius:28px;background:#12151bdd;box-shadow:0 24px 80px #0008}.login-card small{color:#b2ff39;font-weight:800;letter-spacing:.16em}.login-card h1{margin:8px 0;font-size:38px}.login-card p{color:#9a9ca5;line-height:1.5}.mock-users{display:grid;gap:10px;margin-top:24px}.mock-users button,.login-primary{min-height:52px;border:0;border-radius:14px;background:#a8ff35;color:#162200;font-weight:800;display:grid;place-items:center;text-decoration:none}.library-tabs,.sort-tabs{display:flex;gap:8px;margin-bottom:18px}.library-tabs button,.sort-tabs button,.logout{min-height:38px;padding:0 13px;border:1px solid #343842;border-radius:12px;background:#171a20;color:#aeb3bd}.library-tabs button.active,.sort-tabs button.active{border-color:#8abb4d;color:#d9ffae;background:#26331f}.card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.card-actions button{min-height:30px;padding:0 8px;border:1px solid #373c46;border-radius:9px;background:#20242b;font-size:10px}.card-actions .like-summary{display:inline-flex;min-height:30px;align-items:center;padding:0 8px;border:1px solid #373c46;border-radius:9px;color:#ff7b9c;background:#20242b;font-size:10px}.card-actions button.danger{color:#ff9b9b}.library-card{cursor:pointer}.library-page{padding:max(24px,env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))}.library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 2px 20px}.library-header>div{min-width:0}.library-header small{color:#b2ff39;font-size:10px;font-weight:800;letter-spacing:.16em}.library-header h1{margin:5px 0 8px;font-size:clamp(31px,8vw,46px);line-height:.98;letter-spacing:-.055em}.library-header p{max-width:510px;margin:0;color:#9a9ca5;font-size:14px;line-height:1.5}.connection-pill{display:flex;flex:0 0 auto;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid #2e3038;border-radius:999px;background:#121317b8;color:#8c8e96;font-size:11px;white-space:nowrap}.connection-pill i,.live-dot{width:7px;height:7px;border-radius:50%;background:#5f6168}.connection-pill.online{color:#d9ffae}.connection-pill.online i,.live-dot{background:#a8ff35;box-shadow:0 0 12px #a8ff35a8}.new-animation{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;gap:9px;margin-bottom:20px;border:0;border-radius:17px;background:#a8ff35;color:#162200;font-weight:800;box-shadow:0 12px 36px #a8ff351f}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-card{min-width:0;padding:0;overflow:hidden;border:1px solid #292b32;border-radius:20px;background:#131419;text-align:left;box-shadow:0 13px 28px #0000002e}.library-card:active{transform:scale(.985)}.library-preview{position:relative;overflow:hidden;aspect-ratio:16 / 10;background:radial-gradient(circle at 56% 38%,#374251 0,#171b22 45%,#0b0d11)}.library-preview img,.library-preview video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.library-preview video{opacity:0;transition:opacity .2s ease}.library-card:hover .library-preview video{opacity:1}.duration-badge{position:absolute;right:9px;bottom:8px;z-index:2;padding:4px 7px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#050609b3;color:#fff;font-size:10px;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.library-card-copy{display:flex;flex-direction:column;gap:4px;padding:13px 14px 15px}.library-card-copy strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.library-card-copy small{color:#85878f;font-size:11px}.library-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.library-preview-empty>div{display:grid;place-items:center;gap:10px;color:#77879d}.library-preview-empty small{color:#a7b4c6;font-size:12px}.library-loading,.library-empty{display:grid;min-height:330px;place-items:center;align-content:center;padding:28px;text-align:center;color:#8b8d95}.library-loading span{width:30px;height:30px;border:2px solid #30323a;border-top-color:#a8ff35;border-radius:50%;animation:spin .8s linear infinite}.library-empty{border:1px dashed #30323a;border-radius:22px;background:#1213177a}.library-empty h2{margin:15px 0 5px;color:#eee;font-size:20px}.library-empty p{max-width:310px;margin:0;line-height:1.5}.empty-orbit{display:grid;width:68px;height:68px;place-items:center;border:1px solid #42454d;border-radius:50%;color:#a8ff35;box-shadow:0 0 0 13px #ffffff04,0 0 40px #a8ff3514}.editor-page{display:grid;grid-template-rows:auto minmax(160px,1fr) 396px auto;position:relative;height:100svh;height:100dvh;min-height:620px;max-width:820px;overflow:hidden;background:#0d0f13}.editor-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:5px;padding:max(8px,env(safe-area-inset-top)) 10px 8px;z-index:10;background:#111318;border-bottom:1px solid #282b32}.icon-button,.save-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;padding:0 10px;gap:5px;border:1px solid #333741;border-radius:13px;background:#1c1f26}.save-button{font-size:12px;font-weight:650}.save-button .icon{width:17px}.save-button.dirty{color:#c9f694;border-color:#668944;background:#293623}.editor-name{min-width:0;padding:0 3px}.editor-name input{width:100%;border:0;padding:3px 0;background:transparent;color:#f4f4f1;font-size:16px;font-weight:650;text-overflow:ellipsis}.editor-name small{display:block;color:#a0a5af;font-size:11px}.viewer-shell{position:relative;min-width:0;min-height:0;overflow:hidden;background:#111722}.mobile-viewer,.mobile-viewer .kinematics-3d{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.mobile-viewer canvas{display:block;width:100%;height:100%;touch-action:none}.mobile-viewer .kinematics-3d-hint,.mobile-viewer .blender-mode-panel,.mobile-viewer .ik-gizmo-legend{display:none!important}.cinema-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:radial-gradient(ellipse at 52% 42%,transparent 45%,rgba(2,3,5,.3) 100%),linear-gradient(180deg,rgba(4,5,8,.14),transparent 25%,transparent 76%,rgba(4,5,8,.48));pointer-events:none}.viewer-topline{position:absolute;top:14px;left:14px;z-index:4;pointer-events:none}.viewer-topline span{display:inline-flex;min-height:32px;align-items:center;padding:0 11px;border:1px solid #444b58;border-radius:12px;background:#151b25d9;color:#e1e5eb;font-size:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.viewer-gesture-hint{position:absolute;bottom:10px;right:14px;left:14px;z-index:4;margin:0;color:#c3c8d2;font-size:12px;line-height:1.4;text-align:center;pointer-events:none;text-shadow:0 1px 4px #000}.mobile-viewer .mobile-joint-marker{z-index:5}.mobile-viewer .mobile-view-reset{font-size:11px!important}.preview-scrubber{position:absolute;bottom:0;left:14px;right:14px;z-index:6;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;color:#dbe0e9;font-size:12px;font-variant-numeric:tabular-nums}.preview-scrubber input{min-width:0}.feedback-badge{position:absolute;bottom:14px;left:14px;z-index:5;padding:8px 10px;border-radius:10px;background:#111925dd;font-size:12px;color:#e6eaf0}.editor-workspace{display:grid;grid-template-rows:70px auto 46px minmax(0,1fr);min-width:0;min-height:0;z-index:6;background:#14171d;border-radius:22px 22px 0 0;border-top:1px solid #3a3f49;box-shadow:0 -10px 35px #0002}.is-previewing .editor-workspace{grid-template-rows:70px 46px minmax(0,1fr)}.pose-section{display:flex;min-width:0;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #2c303a}.pose-strip{display:flex;position:relative;flex:1;min-width:0;gap:2px;padding:2px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#424954 transparent;scroll-snap-type:x proximity}.pose-card{display:flex;flex:0 0 78px;min-height:48px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:6px 8px;border:1px solid #343a46;border-radius:12px;background:#1c2028;color:#d9dde5;scroll-snap-align:start}.pose-card.active{border-color:#b5e68a;background:#293426;box-shadow:inset 0 0 0 1px #91c068}.pose-card-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;white-space:nowrap}.pose-card-title i{display:inline-block;width:7px;height:7px;border:1px solid #ffffff55;border-radius:50%}.pose-card small{color:#abb1bd;font-size:11px;font-variant-numeric:tabular-nums}.pose-transition{display:flex;flex:0 0 auto;min-width:44px;min-height:48px;flex-direction:column;justify-content:center;align-items:center;padding:0 2px;border:0;border-radius:8px;background:transparent;color:#aeb8c7;font-size:11px;font-variant-numeric:tabular-nums}.pose-transition i{display:block;width:100%;font-style:normal;font-size:19px;line-height:17px;color:#657181}.pose-transition.active{color:#d9f2bd;background:#b5e68a0b}.pose-transition.active i{color:#b5e68a}.pose-tail{display:flex;flex:0 0 auto;min-width:62px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 8px;color:#9ca8b8;font-size:11px;white-space:nowrap}.pose-tail small{font-size:11px;font-variant-numeric:tabular-nums}.pose-add{display:flex;flex:0 0 48px;min-height:48px;flex-direction:column;justify-content:center;align-items:center;gap:3px;border:1px dashed #6a7b57;border-radius:12px;color:#c1ec9b;background:#20281f;font-size:11px}.pose-timing{min-height:90px;padding:0 12px 4px;border-bottom:1px solid #2c303a;background:#171c23}.timing-heading{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:12px;font-size:12px;color:#d0d8e3}.timing-heading>label>span{margin:0 5px;color:#91a083}.timing-value{display:flex;flex:0 0 auto;align-items:center;gap:2px;margin-top:3px;padding-right:10px;border:1px solid #465242;border-radius:10px;background:#253021;color:#d5efbc}.timing-value input{width:64px;min-height:44px;padding:0 4px;border:0;border-radius:10px;background:transparent;color:#e9f6dd;font-size:16px;font-variant-numeric:tabular-nums;text-align:center}.timing-value span{margin:0!important;color:#d5efbc!important}.timing-slider-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.timing-slider-row button{min-height:44px;border:0;border-radius:10px;background:transparent;color:#d2dfc7;font-size:23px}.timing-slider-row button:active{background:#b5e68a15}.first-pose{display:flex;justify-content:center;flex-direction:column;gap:6px}.first-pose strong{font-size:12px;font-weight:650;color:#d4dfc9}.first-pose span,.timing-import-note{color:#aeb7c4;font-size:11px;line-height:1.4}.timing-import-note{display:block;padding:0 0 5px}.editor-tools{display:flex;min-width:0;align-items:stretch;padding:0 12px;gap:12px}.editor-tabs{display:grid;flex:1;grid-template-columns:1fr 1fr}.editor-tabs button{display:flex;align-items:center;justify-content:center;min-height:44px;gap:7px;padding:0 8px;border:0;border-bottom:2px solid transparent;background:transparent;color:#a4abb8;font-size:13px;font-weight:650}.editor-tabs button[aria-selected=true]{border-color:#b5e68a;color:#e9f8da}.delete-pose-toggle{display:grid;flex-shrink:0;width:44px;min-height:44px;place-items:center;border:0;background:transparent;color:#d5a4ae;border-radius:10px}.delete-pose-toggle:active{background:#ef94ab12}.editor-panel{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#444b57 transparent}.joint-dock{padding:12px 12px 4px}.joint-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.joint-tab{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:53px;padding:4px 1px;border:1px solid #363d49;border-radius:12px;background:#1d222b}.joint-tab strong{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--joint-color) 16%,#20252d);color:var(--joint-color);font-size:12px}.joint-tab span{color:#c4cad4;font-size:11px}.joint-tab.active{border-color:var(--joint-color);background:color-mix(in srgb,var(--joint-color) 13%,#151a22)}.joint-tab.active strong{background:var(--joint-color);color:#111723}.joint-1{--joint-color: #b68eff}.joint-2{--joint-color: #78acff}.joint-3{--joint-color: #65dfb0}.joint-4{--joint-color: #ffbc64}.joint-5{--joint-color: #e996ff}.joint-control-head{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.joint-control-head strong{color:#d8dfe8;font-size:12px;font-weight:550}.joint-control-head output{color:#edf1f6;font-size:19px;font-variant-numeric:tabular-nums;font-weight:650}.joint-fine-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}.joint-fine-control button{min-height:44px;border:1px solid #3b4350;border-radius:12px;background:#252b36;font-size:22px}input[type=range]{display:block;width:100%;min-width:0;height:44px;margin:0;accent-color:var(--joint-color,#b5e68a);touch-action:pan-y;cursor:pointer}.joint-control-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.joint-control-footer span{color:#abb3bf;font-size:11px;line-height:1.4}.joint-control-footer button{min-width:60px;min-height:44px;padding:0 6px;border:0;border-radius:9px;background:transparent;color:#c7cfd9;font-size:12px}.look-at-note{margin:8px 0;padding:8px 10px;border-radius:10px;background:#26303c;color:#b3ccd9;font-size:12px;line-height:1.45}.preview-message{display:flex;height:100%;min-height:170px;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:16px;color:#c8d0db;font-size:13px}.preview-message>.icon{color:#b5e68a}.preview-message button{display:flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #495443;border-radius:12px;background:#263023;color:#d3edbc}.lighting-dock{padding:8px 14px 14px}.light-control-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.light-control-head strong{font-size:13px}.light-control-head small{display:none}.light-switch{display:flex;align-items:center;gap:8px;min-width:90px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;font-size:12px}.light-switch i{position:relative;width:38px;height:22px;border-radius:20px;background:#454c57}.light-switch i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#dde3ed}.light-switch.is-on i{background:#abd780}.light-switch.is-on i:after{left:19px;background:#1e3012}.light-colors{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.light-swatch{display:grid;min-width:0;min-height:46px;place-items:center;padding:0;border:1px solid transparent;border-radius:12px;background:transparent}.light-swatch>span{display:block;width:28px;height:28px;border-radius:50%;background:var(--swatch-color);box-shadow:inset 0 0 0 1px #fff4}.light-swatch.is-selected{border-color:#9ea99a;background:#ffffff09}.light-custom-color{position:relative;display:grid;place-items:center;min-width:0;min-height:46px;padding:0;overflow:hidden;border:0;background:transparent;border-radius:12px}.light-custom-color>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:var(--custom-color,conic-gradient(#ed7575,#ebdd7e,#87d1b0,#7d9fde,#c481d7,#ed7575));box-shadow:inset 0 0 0 1px #fff5;text-shadow:0 1px 3px #000,0 0 2px #000;font-size:20px}.light-custom-color.is-selected{outline:1px solid #9ea99a;outline-offset:-1px;background:#ffffff09}.light-custom-color:focus-within{outline:2px solid #b5e68a;outline-offset:2px}.light-brightness{display:block;margin-top:4px}.light-brightness>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#c1c9d5}.light-brightness output{font-variant-numeric:tabular-nums;color:#f0f4f8}.light-details{margin-top:4px;border-top:1px solid #303642}.light-details summary{min-height:44px;padding:13px 0;color:#b8c2cf;font-size:12px;cursor:pointer}.light-advanced-grid{display:grid;grid-template-columns:1fr;gap:12px;padding-bottom:10px}.light-field{display:flex;flex-direction:column;min-width:0;gap:6px;color:#bac4d1;font-size:12px}.light-field select,.light-field input:not([type=range]):not([type=checkbox]){width:100%;min-height:46px;padding:8px 10px;border:1px solid #444e5e;border-radius:10px;background:#202733;color:#eff3f8;font-size:16px}.light-field output{float:right;font-variant-numeric:tabular-nums}.light-parameter-toggle{display:flex;min-height:44px;flex-direction:row;align-items:center}.light-parameter-toggle input{width:22px;height:22px;accent-color:#b5e68a}.light-capability-note{margin:8px 0;color:#a7b4c4;font-size:12px;line-height:1.5}.playback-dock{z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #323945;background:#11151b}.playback-dock>button{display:flex;min-width:0;min-height:54px;align-items:center;justify-content:center;gap:9px;padding:8px 10px;border:1px solid #3d4654;border-radius:15px}.playback-dock button span{min-width:0;text-align:left}.playback-dock button strong,.playback-dock button small{display:block}.playback-dock button strong{font-size:13px}.playback-dock button small{margin-top:3px;font-size:11px;line-height:1.3}.virtual-play{background:#b5e68a;color:#1b2b10;border-color:#b5e68a!important}.virtual-play small{color:#394c2b}.physical-play{background:#242b35;color:#e0e7ef}.physical-play small{color:#b2bdcc}.active-playback{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.playback-state{display:flex;align-items:center;gap:8px;min-width:0}.playback-state strong,.playback-state small{display:block;font-size:12px}.playback-state small{margin-top:4px;color:#b3becd;font-size:11px}.physical-controls{display:flex;gap:8px;flex:1;justify-content:flex-end}.physical-controls button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:1px solid #414c5a;border-radius:12px;background:#242e3a;font-size:12px}.physical-controls .stop-action{background:#49232b;border-color:#ae596b;color:#ffd5df}.live-dot.fault{background:#ff798b}.is-playing-physical{grid-template-rows:auto minmax(200px,1fr) auto}.safety-sheet,.preview-sheet{position:fixed;inset:auto 0 0;width:min(100%,520px);max-width:100%;max-height:calc(100dvh - 24px);margin:0 auto;overflow-y:auto;padding:18px 18px calc(20px + env(safe-area-inset-bottom));border:1px solid #495260;border-bottom:0;border-radius:24px 24px 0 0;background:#1b222c;color:#f3f6fb;box-shadow:0 -24px 80px #0007}.safety-sheet::backdrop,.preview-sheet::backdrop{background:#03060bb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.sheet-title h2{margin:0;font-size:20px}.loop-toggle,.repeat-check,.safety-check{display:flex;min-height:54px;align-items:center;gap:12px;padding:12px 0;margin:12px 0;font-size:13px}.loop-toggle input,.repeat-check input,.safety-check input{width:22px;height:22px;flex:0 0 auto;accent-color:#b5e68a}.repeat-check{border-bottom:1px solid #394453}.sheet-grabber{width:38px;height:4px;margin:-7px auto 16px;border-radius:3px;background:#586475}.warning-icon{color:#ffc582}.safety-sheet h2{margin:12px 0 8px;font-size:22px}.safety-sheet>p{margin:0;color:#bbc7d8;font-size:13px;line-height:1.5}.server-warning{padding:10px;background:#453923;border-radius:10px;color:#fbd298!important;margin-top:10px!important}.safety-check strong,.safety-check small{display:block}.safety-check strong{font-size:13px}.safety-check small{margin-top:6px;font-size:12px;line-height:1.5;color:#b3c0d2}.sheet-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.sheet-actions button{min-height:50px;padding:10px;border:1px solid #586374;border-radius:13px;background:#293443;font-size:13px}.sheet-actions .danger-confirm{background:#ffae77;color:#37200f;border-color:#ffae77;font-weight:700}.sheet-actions .preview-confirm{background:#b5e68a;color:#1b2b10;border-color:#b5e68a;font-weight:700}.preview-sheet>p{color:#c0ccdc;font-size:13px;line-height:1.5;margin:0 0 20px}.sheet-error{padding:10px 12px;margin:12px 0!important;border:1px solid #9c6471;border-radius:10px;background:#472c35;color:#ffd4de!important;font-size:13px;line-height:1.5}.color-sheet .sheet-title,.choice-sheet .sheet-title{margin-bottom:14px}.color-quick-picks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin-bottom:12px}.color-quick-picks button{display:grid;min-width:0;min-height:44px;place-items:center;padding:0;border:1px solid transparent;border-radius:10px;background:transparent}.color-quick-picks button[aria-pressed=true]{border-color:#b5e68a;background:#ffffff0b}.color-quick-picks button span{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px #fff5}.color-palette{position:relative;height:clamp(140px,24dvh,200px);margin:5px 9px 12px;border:1px solid #ffffff44;border-radius:12px;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--palette-hue);touch-action:none;cursor:crosshair}.color-palette-cursor{position:absolute;width:20px;height:20px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0008,0 2px 5px #0008;pointer-events:none}.color-slider-field{display:block;color:#c9d2df;font-size:12px}.color-slider-field>span{display:flex;justify-content:space-between;gap:10px}.color-slider-field output{font-variant-numeric:tabular-nums}.color-hue{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent}.color-hue::-webkit-slider-runnable-track{height:12px;border-radius:10px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.color-hue::-moz-range-track{height:12px;border-radius:10px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.color-hue::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:26px;height:26px;margin-top:-7px;border:3px solid #fff;border-radius:50%;background:#647385;box-shadow:0 1px 4px #0008}.color-hue::-moz-range-thumb{width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#647385;box-shadow:0 1px 4px #0008}.color-hex-row{display:flex;align-items:center;gap:12px;margin:8px 0}.color-preview-swatch{flex:0 0 48px;width:48px;height:48px;border:1px solid #ffffff55;border-radius:12px}.color-hex-row label{display:flex;align-items:center;flex:1;justify-content:space-between;gap:10px;font-size:12px}.color-hex-row input{min-width:0;width:110px;min-height:46px;border:1px solid #4c596b;border-radius:10px;background:#26313f;color:#f0f4fa;padding:8px;text-align:center;font-size:16px}.color-fine-tune{margin:4px 0 12px}.color-fine-tune summary{min-height:44px;padding:13px 0;font-size:12px;color:#b9c7d8;cursor:pointer}.light-choice-control{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:8px 12px;border:1px solid #444e5e;border-radius:10px;background:#202733;color:#eff3f8;font-size:16px;text-align:left}.choice-options{display:grid;gap:6px}.choice-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px;border:1px solid #414c5d;border-radius:12px;background:#222c39;font-size:14px;text-align:left}.choice-options button[aria-pressed=true]{border-color:#a6d783;background:#2b3c26;color:#def6c9}.editor-loading{display:grid;place-items:center;align-content:center;gap:14px;text-align:center}.editor-loading p{margin:0;color:#8a8c94}.editor-loading button{min-height:44px;padding:0 14px;border:1px solid #32343c;border-radius:12px;background:#191a1f}.cinema-loader{position:relative;width:76px;height:76px;border:1px solid #3a3d45;border-radius:50%;box-shadow:0 0 42px #a8ff3514}.cinema-loader span,.cinema-loader i{position:absolute;left:34px;width:7px;height:38px;border-radius:7px;background:#bcc1c7;transform-origin:bottom}.cinema-loader span{bottom:4px;transform:rotate(-27deg)}.cinema-loader i{bottom:35px;transform:rotate(45deg)}.toast{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;z-index:120;width:min(calc(100% - 28px),500px);padding:12px 14px;border:1px solid #3a3c44;border-radius:13px;background:#1d1e23f2;color:#efefed;font-size:12px;text-align:center;transform:translate(-50%);box-shadow:0 16px 40px #00000059;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.toast.success{border-color:#a8ff356b;color:#dfffba}.toast.warning{border-color:#ffb84d73;color:#ffd69c}.toast.error{border-color:#ff596880;color:#ffb2b9}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:540px){.library-grid{grid-template-columns:1fr}.library-header{flex-direction:column}.connection-pill{align-self:flex-start}.library-preview{aspect-ratio:16 / 9}}@media(max-width:359px){.editor-header{gap:3px;padding-inline:6px}.save-button{padding:0 8px}.save-button span{display:none}.joint-tab span{font-size:10px}.joint-fine-control{gap:8px}}@media(max-height:740px)and (orientation:portrait){.editor-page{grid-template-rows:auto minmax(150px,1fr) 352px auto}.is-playing-physical{grid-template-rows:auto minmax(200px,1fr) auto}}@media(max-height:640px)and (orientation:portrait){.editor-page{min-height:0;overflow-y:auto;grid-template-rows:auto minmax(120px,1fr) minmax(200px,48dvh) auto}.editor-workspace{display:flex;flex-direction:column;overflow-y:auto}.editor-workspace>.pose-section,.editor-workspace>.pose-timing,.editor-workspace>.editor-tools{flex-shrink:0}.editor-panel{flex:0 0 auto;overflow-y:visible}.is-playing-physical{grid-template-rows:auto minmax(120px,1fr) auto}}@media(orientation:landscape)and (max-height:600px)and (min-width:600px){.editor-page{max-width:none;min-height:320px;grid-template-columns:minmax(250px,1fr) minmax(310px,.95fr);grid-template-rows:auto minmax(0,1fr) auto}.editor-header{grid-column:1 / -1}.viewer-shell{grid-column:1;grid-row:2 / 4}.editor-workspace{display:flex;flex-direction:column;grid-column:2;grid-row:2;overflow-y:auto;border-radius:16px 0 0}.editor-workspace>.pose-section,.editor-workspace>.pose-timing,.editor-workspace>.editor-tools{flex-shrink:0}.editor-panel{flex:0 0 auto;overflow-y:visible}.playback-dock{grid-column:2;grid-row:3;padding-block:7px;padding-bottom:max(7px,env(safe-area-inset-bottom))}.playback-dock>button{min-height:48px}.is-playing-physical .viewer-shell{grid-column:1 / -1;grid-row:2}.is-playing-physical .playback-dock{grid-column:1 / -1;grid-row:3}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
