:root{--bg-base: #0a0a0a;--bg-dark: #121212;--bg-surface: #181818;--bg-panel: var(--bg-surface);--bg-elevated: #242424;--bg-hover: #2a2a2a;--bg-active: #2e2e2e;--bg-input: #1a1a1a;--border-subtle: #262626;--border-default: #333333;--border-strong: #444444;--text-main: #ffffff;--text-secondary: #b3b3b3;--text-muted: #888888;--text-faint: #666666;--accent: #007bff;--accent-hover: #1a88ff;--accent-soft: rgba(0, 123, 255, .14);--accent-glow: rgba(0, 123, 255, .5);--accent-border: rgba(0, 123, 255, .42);--accent-fill: rgba(0, 123, 255, .1);--accent-fill-strong: rgba(0, 123, 255, .18);--ui-accent-border: 1px solid var(--accent-border);--ui-glow-selected: 0 0 12px rgba(0, 123, 255, .38), 0 0 20px rgba(0, 123, 255, .16), inset 0 0 12px rgba(0, 123, 255, .06);--ui-transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;--ui-surface: rgba(255, 255, 255, .03);--ui-surface-hover: rgba(255, 255, 255, .06);--ui-surface-active: rgba(255, 255, 255, .08);--ui-glow-accent: 0 0 12px rgba(0, 123, 255, .32), 0 0 24px rgba(0, 123, 255, .14), inset 0 0 16px rgba(0, 123, 255, .07);--ui-glow-accent-hover: 0 0 16px rgba(0, 123, 255, .48), 0 0 32px rgba(0, 123, 255, .22), inset 0 0 20px rgba(0, 123, 255, .1);--ui-glow-accent-focus: 0 0 0 1px var(--accent-border), 0 0 12px rgba(0, 123, 255, .38), inset 0 0 12px rgba(0, 123, 255, .06);--ui-glow-checkbox: 0 0 8px rgba(0, 123, 255, .55), 0 0 16px rgba(0, 123, 255, .28), inset 0 0 10px rgba(0, 123, 255, .12);--ui-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23aaaaaa' d='M1 1.25 5 4.75 9 1.25'/%3E%3C/svg%3E");--ui-select-menu-bg: #1a1a1a;--ui-select-option-hover: rgba(255, 255, 255, .07);--modal-overlay: rgba(0, 0, 0, .68);--modal-radius: 18px;--modal-shadow: 0 24px 80px rgba(0, 0, 0, .62);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--ui-control-height: 32px;--ui-control-padding-x: 10px;--ui-control-padding-x-wide: 16px;--ui-control-font-size: .8125rem;--ui-control-line-height: 1.2;--shadow-soft: 0 8px 32px rgba(0, 0, 0, .42);--shadow-elevated: 0 16px 48px rgba(0, 0, 0, .5)}.import-screen__prefs-btn,.control-btn,.pref-btn,.bc-btn,.auth-submit-btn,.auth-google-btn,button.ui-settings-select,.shortcut-reset-all-btn,.project-grid__upgrade-btn,.tokushoho-back,.tokushoho-lang,.plan-card__btn,.bc-orient-btn,.cropBtn,.ui-select__trigger{box-sizing:border-box;min-height:var(--ui-control-height);padding-block:0;padding-inline:var(--ui-control-padding-x);font-size:var(--ui-control-font-size);line-height:var(--ui-control-line-height)}.import-screen__prefs-btn,.control-btn,.pref-btn,.bc-btn,.auth-submit-btn,.auth-google-btn,button.ui-settings-select,.shortcut-reset-all-btn,.project-grid__upgrade-btn,.tokushoho-back,.tokushoho-lang,.plan-card__btn,.bc-orient-btn,.cropBtn,.ui-select__trigger{display:inline-flex;align-items:center;justify-content:center}.ui-select__trigger{justify-content:space-between}.pref-btn,.bc-btn,.auth-submit-btn,.cropBtn--primary{padding-inline:var(--ui-control-padding-x-wide)}.control-number-input,.ui-settings-number-input,.auth-input,.bc-project-name-input{box-sizing:border-box;height:var(--ui-control-height);min-height:var(--ui-control-height);padding-block:0;padding-inline:var(--ui-control-padding-x);font-size:var(--ui-control-font-size);line-height:var(--ui-control-line-height)}.bc-dim-input-wrap{min-height:var(--ui-control-height)}.bc-dim-input{padding-block:0;padding-inline:var(--ui-control-padding-x);font-size:var(--ui-control-font-size);line-height:var(--ui-control-line-height)}.ui-btn-neutral,.control-btn,.pref-btn--cancel,.bc-btn--cancel,.cropBtn,.shortcut-key-btn,.shortcut-reset-all-btn,.plan-card__btn--downgrade,.bc-orient-btn{background:var(--ui-surface);border:1px solid var(--border-default);color:var(--text-main);transition:var(--ui-transition);box-shadow:none}.ui-btn-neutral:hover:not(:disabled),.control-btn:hover:not(:disabled),.pref-btn--cancel:hover,.bc-btn--cancel:hover,.cropBtn:hover,.shortcut-key-btn:hover,.shortcut-reset-all-btn:hover,.plan-card__btn--downgrade:hover:not(:disabled),.bc-orient-btn:hover{background:var(--ui-surface-hover);border-color:var(--border-strong);color:var(--text-main)}.cropBtn:active{background:var(--ui-surface-active)}.ui-btn-accent,.pref-btn--save,.bc-btn--create,.auth-submit-btn:not(.auth-submit-btn--danger),.plan-card__btn--upgrade,.cropBtn--primary,.cropBtn--active{background:linear-gradient(180deg,var(--accent-fill-strong),var(--accent-fill));border:1px solid var(--accent-border);color:var(--text-main);box-shadow:var(--ui-glow-accent);transition:var(--ui-transition)}.ui-btn-accent:hover:not(:disabled),.pref-btn--save:hover,.bc-btn--create:hover,.auth-submit-btn:not(.auth-submit-btn--danger):hover:not(:disabled),.plan-card__btn--upgrade:hover:not(:disabled),.cropBtn--primary:hover,.cropBtn--active:hover{border-color:var(--accent-hover);background:linear-gradient(180deg,#007bff38,#007bff1a);box-shadow:var(--ui-glow-accent-hover)}.ui-accent-outline,.plan-card__btn--current,.bc-orient-btn--active,.bc-preset-btn--active,.project-grid__upgrade-btn:hover,.shortcut-key-btn--recording,.compact-strip-card--selected,.preview-card.selected,.plan-card--current,.plan-card--featured{background:linear-gradient(180deg,var(--accent-fill-strong),var(--accent-fill));border:var(--ui-accent-border);color:var(--text-main);box-shadow:var(--ui-glow-selected)}.control-checkbox,.ui-settings-checkbox-row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--ui-surface);cursor:pointer;flex-shrink:0;transition:var(--ui-transition);position:relative;vertical-align:middle}.control-checkbox{margin-right:8px;transform:none}.ui-settings-checkbox-row input[type=checkbox]{transform:none}.control-checkbox:hover,.ui-settings-checkbox-row input[type=checkbox]:hover{border-color:var(--border-strong);background:var(--ui-surface-hover)}.control-checkbox:checked,.ui-settings-checkbox-row input[type=checkbox]:checked{background:linear-gradient(135deg,var(--accent-fill-strong),var(--accent-fill));border-color:var(--accent-border);box-shadow:var(--ui-glow-checkbox)}.control-checkbox:checked:after,.ui-settings-checkbox-row input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:8px;border:solid var(--text-main);border-width:0 2px 2px 0;transform:rotate(45deg)}.control-checkbox:focus-visible,.ui-settings-checkbox-row input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--ui-glow-accent-focus)}.control-number-input:focus,.ui-settings-number-input:focus,.auth-input:focus,.bc-project-name-input:focus,.bc-dim-input-wrap:focus-within,.tags-input:focus-within,.effect-group-bar-item__rename-input:focus,.preset-card .inline-rename-input:focus{outline:none;border-color:var(--accent-border);box-shadow:var(--ui-glow-accent-focus)}.sidebar-controls-scroll{color:var(--text-main)}.sidebar-controls h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text-main)}.control-container{margin-bottom:.85rem}.control-container label{display:block;margin-bottom:4px;color:var(--text-secondary);font-size:.82rem}.control-container--row{display:flex;align-items:center;gap:10px;margin-bottom:.85rem}.control-container--row label{display:inline;margin-bottom:0}.control-section{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.control-section-divider{border-top:1px solid var(--border-subtle);padding-top:.75rem;margin-top:.9rem}.control-section-title{color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.control-node-group{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:8px}.control-node-title{color:var(--text-main);font-size:.75rem;font-weight:600;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.control-btn{border-radius:var(--radius-sm);cursor:pointer;font-weight:500;font-family:inherit}.control-btn:disabled{background:var(--ui-surface-active);color:var(--text-muted);cursor:not-allowed;opacity:.65;box-shadow:none}.control-btn--full{width:100%}.control-btn-row{display:flex;gap:6px;margin-bottom:.85rem}.control-btn-row .control-btn{flex:1}.control-number-input{width:60px;text-align:right;background:var(--ui-surface);color:var(--text-main);border:1px solid var(--border-default);border-radius:var(--radius-xs);font-variant-numeric:tabular-nums;transition:var(--ui-transition);box-shadow:none}.slider-container{margin-bottom:.85rem}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.slider-header label{color:var(--text-secondary);font-size:.82rem}.slider-track-wrap{width:100%;height:20px;display:flex;align-items:center}.control-drop-row{display:flex;align-items:stretch;gap:8px;margin-bottom:.85rem}.control-thumb-preview{width:56px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-base);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center}.control-thumb-preview__placeholder{color:var(--border-default);font-size:20px;line-height:1}.control-drop-zone{flex:1;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);padding:12px 10px;text-align:center;cursor:pointer;color:var(--text-muted);font-size:12px;-webkit-user-select:none;user-select:none;transition:border-color .15s,color .15s,background .15s}.control-drop-zone--active{border-color:var(--accent-border);color:var(--text-main);background:var(--accent-fill);box-shadow:var(--ui-glow-selected)}.control-drop-zone__sub{margin-top:6px;font-size:11px;color:var(--text-faint)}.control-link-text{color:var(--accent)}.control-meta-text{font-size:11px;color:var(--text-muted);margin-bottom:.85rem}.control-meta-text--orphan{color:#c9a7a7}.control-orphan-btn{background:#78141433;border:1px solid #7c3838;color:#ffc7c7;border-radius:var(--radius-sm);padding:6px 10px;text-align:left;cursor:pointer;font-size:11px;transition:background .15s,border-color .15s,color .15s}.control-orphan-btn:hover{background:#8c1e1e59;border-color:#9a4848;color:#ffe0e0}.control-hint{font-size:.75rem;color:var(--text-muted)}:root{font-family:Inter,Noto Sans JP,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-main);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-height: 100vh;--app-width: 100vw;--app-height-85: 85vh;--app-height-80: 80vh;--app-height-40: 40vh}a{font-weight:500;color:var(--accent);text-decoration:inherit}a:hover{color:var(--accent-hover)}#root{width:100%;min-height:var(--app-height, 100dvh)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:var(--app-height, 100dvh)}.legal-route-shell{width:100%;min-height:var(--app-height, 100dvh);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}body:has(.legal-route-shell){display:block;height:auto;min-height:var(--app-height, 100dvh);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}body:has(.legal-route-shell) #root{min-height:0;height:auto}h1{font-size:3.2em;line-height:1.1}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-elevated);color:var(--text-main);cursor:pointer;transition:filter .2s ease,border-color .25s}button:hover{filter:brightness(1.08)}button:focus,button:focus-visible{outline:none}.ui-select{position:relative;display:block;width:100%}.ui-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;font-family:inherit;font-size:var(--ui-control-font-size);line-height:var(--ui-control-line-height);text-align:left;color:var(--text-main);border:1px solid var(--border-default);border-radius:var(--radius-sm);background-color:var(--ui-surface);cursor:pointer;outline:none;box-shadow:none;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease,background-color .18s ease}.ui-select__trigger:hover:not(:disabled){background-color:var(--ui-surface-hover);border-color:var(--border-strong)}.ui-select__trigger:focus-visible{border-color:var(--accent-border);box-shadow:var(--ui-glow-accent-focus);background-color:var(--ui-surface-hover)}.ui-select__trigger:disabled{opacity:.45;cursor:not-allowed}.ui-select--open .ui-select__trigger{border-color:var(--accent-border);box-shadow:var(--ui-glow-accent-focus);background-color:var(--ui-surface-hover)}.ui-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__chevron{flex-shrink:0;width:10px;height:6px;background-image:var(--ui-select-chevron);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.85;transition:transform .18s ease,opacity .18s ease}.ui-select--open .ui-select__chevron{transform:rotate(180deg);opacity:1}.ui-select__menu{position:fixed;z-index:10050;margin:0;padding:5px;list-style:none;box-sizing:border-box;background:var(--ui-select-menu-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated),0 0 0 1px #ffffff0a;max-height:min(280px,42vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.ui-select__option{display:block;width:100%;box-sizing:border-box;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:inherit;line-height:1.35;text-align:left;cursor:pointer;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}.ui-select__option:hover,.ui-select__option--highlighted{background:var(--ui-select-option-hover);color:var(--text-main)}.ui-select__option--selected{background:linear-gradient(90deg,var(--accent-fill-strong),var(--accent-fill));color:var(--text-main);box-shadow:inset 0 0 0 1px var(--accent-border)}.ui-select__option--selected:hover,.ui-select__option--selected.ui-select__option--highlighted{background:linear-gradient(90deg,#007bff3d,#007bff1f);color:var(--text-main)}.ui-select__divider{height:1px;margin:4px 6px;background:var(--border-subtle);list-style:none;pointer-events:none}.ui-select.control-select{width:100%}.ui-select.bc-select{width:auto}.ui-select.bc-select .ui-select__trigger{min-width:120px}.ui-select.cropSelect,.ui-select.scope-window-select{width:auto}.ui-select.lang-select--overlay .ui-select__trigger{color:var(--text-secondary)}.ui-select.lang-select--overlay .ui-select__trigger:hover:not(:disabled),.ui-select.lang-select--overlay.ui-select--open .ui-select__trigger{color:var(--text-main)}.ui-select__menu.control-select,.ui-select__menu.ui-settings-select,.ui-select__menu.bc-select,.ui-select__menu.cropSelect,.ui-select__menu.scope-window-select,.ui-select__menu.lang-select--overlay{font-size:var(--ui-control-font-size)}.ui-select.scope-window-select--hdr .ui-select__trigger{background:linear-gradient(180deg,var(--accent-fill-strong),var(--accent-fill));border:var(--ui-accent-border);box-shadow:var(--ui-glow-selected)}.ui-select.scope-window-select--hdr .ui-select__trigger:hover:not(:disabled),.ui-select.scope-window-select--hdr.ui-select--open .ui-select__trigger{background:linear-gradient(180deg,#007bff38,#007bff1a);border-color:var(--accent-hover);box-shadow:var(--ui-glow-accent-hover)}.context-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);z-index:10001;min-width:148px;padding:6px 0;-webkit-user-select:none;user-select:none}.context-menu__item{padding:8px 16px;cursor:pointer;color:var(--text-main);font-size:.72rem;transition:background-color .12s}.context-menu__item:hover{background:var(--bg-hover)}.context-menu__item--danger{color:#f88}.context-menu__item--danger:hover{background:#ffffff0f}.effect-card{position:relative;display:flex;flex-direction:column;width:90px;background:var(--ui-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;overflow:visible;transition:var(--ui-transition),transform .1s ease,opacity .15s ease;-webkit-user-select:none;user-select:none;box-shadow:none}.effect-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff12;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:1}.effect-card:hover:not(.effect-card--dummy):not(.effect-card--drop-target):after{opacity:1}.effect-card:hover:not(.effect-card--selected):not(.effect-card--dummy):not(.effect-card--drop-target){border-color:var(--border-strong);transform:translateY(-1px)}.effect-card--accented{background:linear-gradient(180deg,rgb(var(--card-accent-rgb) / .18),rgb(var(--card-accent-rgb) / .08));border-color:rgb(var(--card-accent-rgb) / .4)}.effect-card--accented:hover:not(.effect-card--dummy):not(.effect-card--drop-target){border-color:rgb(var(--card-accent-rgb) / .55)}.effect-card--selected:not(.effect-card--accented){border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-border),var(--ui-glow-selected)}.effect-card--accented.effect-card--selected,.effect-card--accented.effect-card--selected:hover{border-color:rgb(var(--card-accent-rgb) / .7);box-shadow:0 0 0 1px rgb(var(--card-accent-rgb) / .55),0 0 12px rgb(var(--card-accent-rgb) / .38),0 0 20px rgb(var(--card-accent-rgb) / .18)}.effect-card--disabled{opacity:.5}.effect-card--disabled .effect-card__name{text-decoration:line-through;color:var(--text-faint)}.effect-card--dummy{background:var(--bg-input);border-color:var(--border-subtle);cursor:default;box-shadow:none}.effect-card--dummy:hover{border-color:var(--border-default);transform:none;box-shadow:none}.effect-card--drop-target{border-color:var(--text-main);box-shadow:0 0 0 1px var(--text-main)}.effect-card--dummy.effect-card--drop-target:hover{border-color:var(--text-main)}.effect-card__dummy-content{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center}.effect-card__dummy-icon{color:var(--border-strong);font-size:1.1rem;line-height:1}.effect-card--layer{cursor:grab;box-sizing:border-box;width:var(--layer-effect-slot-width, 92px);height:140px;display:flex;flex-direction:column}.effect-card--layer:active{cursor:grabbing}.effect-card--layer .effect-card__action-bar{flex-shrink:0}.effect-card--layer .effect-card__thumbnail{flex:1 1 0;min-height:0;aspect-ratio:unset}.effect-card--layer .effect-card__name{flex-shrink:0}.effect-card__action-bar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;height:20px;padding:2px 4px;background:transparent}.effect-card__remove-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.effect-card__remove-btn:hover{color:var(--text-main);background:#ffffff1a}.effect-card__visibility-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.effect-card__visibility-btn:hover{color:var(--text-main);background:#ffffff1a}.effect-card--disabled .effect-card__visibility-btn{color:var(--text-faint)}.effect-card__thumbnail{position:relative;z-index:2;width:100%;aspect-ratio:1 / 1;background:var(--bg-base);overflow:hidden}.effect-card__thumbnail-img{width:100%;height:100%;object-fit:cover;display:block}.effect-card__thumbnail-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#333 25%,#262626 25%,#262626 50%,#333 50%,#333 75%,#262626 75%,#262626);background-size:16px 16px}.effect-card__name{position:relative;z-index:2;padding:6px 4px;font-size:.7rem;color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent}.effect-card__mask-connection-arrow{position:absolute;right:calc(var(--layer-card-gap, 8px) * -1);top:50%;width:var(--layer-card-gap, 8px);height:16px;transform:translateY(-50%);background:linear-gradient(180deg,#007bfff2,#007bffbf);clip-path:polygon(0 0,100% 50%,0 100%);pointer-events:none;z-index:6}.cropContainer{position:fixed;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100vh);background-color:#121212;display:flex;flex-direction:column;z-index:10000;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.cropWorkspace{flex:1;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background-image:linear-gradient(45deg,#1a1a1a 25%,transparent 25%),linear-gradient(-45deg,#1a1a1a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1a 75%),linear-gradient(-45deg,transparent 75%,#1a1a1a 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;cursor:grab;min-height:0}.cropWorkspace.dragging{cursor:grabbing}.cropToolbar{flex-shrink:0;padding:10px 18px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0));background:var(--bg-surface);z-index:20;border-top:1px solid var(--border-subtle);box-shadow:0 -8px 24px #00000047}.cropToolbar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%}.cropToolbar-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.cropToolbar-group--right{margin-left:auto;gap:8px}.cropToolbar-divider{width:1px;height:28px;background:var(--border-default);flex-shrink:0;align-self:center}.cropToolbar-label{font-size:12px;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.cropToolbar-angleValue{width:46px;text-align:right;font-size:12px;color:#fff;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;white-space:nowrap}.cropToolbar-slider{width:clamp(80px,18vw,280px)}@media(max-width:480px){.cropToolbar-slider{width:clamp(60px,30vw,160px)}}.cropBtn{border-radius:var(--radius-sm);gap:5px;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;cursor:pointer}.cropBtn--primary{font-weight:600}.cropIconLandscape{display:inline-block;width:14px;height:9px;border:2px solid currentColor;border-radius:1px}.cropIconPortrait{display:inline-block;width:9px;height:14px;border:2px solid currentColor;border-radius:1px}@media(max-width:600px){.cropToolbar{padding:6px 10px}.cropToolbar-inner{gap:6px 8px}.cropBtn{padding:6px 10px;font-size:12px}.cropBtn--primary{padding:6px 14px}.cropToolbar-label{font-size:11px}.cropToolbar-angleValue{font-size:11px;width:40px}}.cropLoading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-main);font-size:16px}.scope-window{position:fixed;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);z-index:10000;display:flex;flex-direction:column;overflow:hidden;touch-action:none}.scope-window--dragging{cursor:grabbing}.scope-window-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.scope-window-header:active{cursor:grabbing}.scope-window-header__controls{display:flex;align-items:center;gap:6px}.scope-window-close{background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);line-height:1;transition:color .15s,background .15s}.scope-window-close:hover{color:var(--text-main);background:#ffffff14}.scope-window-body{flex:1;min-height:0;min-width:0;display:flex;align-items:stretch;padding:0;overflow:hidden;background:var(--bg-surface)}.scope-window-mount{width:100%;height:100%;overflow:hidden}.scope-window-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--text-faint);font-size:.85rem}.scope-window-placeholder__inner{text-align:center}.scope-window-placeholder__icon{margin-bottom:8px}.scope-window-placeholder__hint{font-size:.75rem;margin-top:4px;color:var(--text-muted)}.scope-window-resize{position:absolute;bottom:0;width:18px;height:18px;touch-action:none;z-index:10}.scope-window-resize--bl{left:0;cursor:nesw-resize}.scope-window-resize--br{right:0;cursor:nwse-resize}.scope-window-resize__bar-h,.scope-window-resize__bar-v{position:absolute;background:#ffffff47;border-radius:1px}.scope-window-resize__bar-h{bottom:4px;width:9px;height:2px}.scope-window-resize__bar-v{bottom:4px;width:2px;height:9px}.scope-window-resize--bl .scope-window-resize__bar-h,.scope-window-resize--bl .scope-window-resize__bar-v{left:3px}.scope-window-resize--br .scope-window-resize__bar-h,.scope-window-resize--br .scope-window-resize__bar-v{right:3px}.scope-view-canvas{width:100%;height:100%;display:block}.tags-input{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:var(--ui-control-height);padding:4px var(--ui-control-padding-x);background:var(--ui-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:text;transition:var(--ui-transition);box-shadow:none}.tags-input__tag{display:inline-flex;align-items:center;gap:3px;padding:2px 4px 2px 2px;background:var(--ui-surface-hover);border:1px solid var(--border-default);border-radius:var(--radius-xs);font-size:.78rem;color:var(--text-main);-webkit-user-select:none;user-select:none;touch-action:none}.tags-input__tag-drag{width:10px;height:14px;flex-shrink:0;cursor:grab;background-image:radial-gradient(circle,#666666 1px,transparent 1px);background-size:4px 4px;background-repeat:repeat;background-position:center;border-radius:2px}.tags-input__tag-drag:active{cursor:grabbing}.tags-input__tag-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-input__tag-remove{display:flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;margin-left:1px;flex-shrink:0;background:transparent;border:none;border-radius:2px;color:var(--text-muted);font-size:.85rem;line-height:1;cursor:pointer}.tags-input__tag-remove:hover{color:var(--text-main);background:#ffffff1f}.tags-input__input{flex:1;min-width:80px;background:transparent;border:none;outline:none;color:var(--text-main);font-size:.8rem;padding:1px 4px}.tags-input__input::placeholder{color:var(--text-faint)}.shortcut-list{display:flex;flex-direction:column;gap:2px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:5px 8px 5px 0;border-radius:4px;transition:background .12s}.shortcut-row:hover{background:#ffffff0d}.shortcut-action-label{font-size:.82rem;color:var(--text-main);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortcut-key-cell{display:flex;align-items:center;gap:4px;flex-shrink:0}.shortcut-key-btn{border-radius:var(--radius-sm);font-size:.78rem;font-family:inherit;padding:3px 10px;min-width:60px;text-align:center;cursor:pointer}.shortcut-key-btn--recording{animation:shortcut-pulse 1s ease-in-out infinite}@keyframes shortcut-pulse{0%,to{opacity:1}50%{opacity:.6}}.shortcut-reset-btn{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:2px 4px;border-radius:3px;line-height:1;transition:color .12s}.shortcut-reset-btn:hover{color:var(--text-main)}.shortcut-reset-all-btn{align-self:flex-start;border-radius:var(--radius-sm);cursor:pointer;margin-top:4px;margin-left:10px;white-space:nowrap}.pref-overlay{position:fixed;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100vh);z-index:10000;background:var(--modal-overlay);display:flex;justify-content:center;align-items:center;box-sizing:border-box;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.pref-window{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--modal-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--modal-shadow)}.pref-window--wide{width:640px;max-width:92vw;height:460px;max-height:var(--app-height-85, 85vh)}.pref-window--narrow{width:var(--app-width, 100vw);height:var(--app-height, 100vh);border-radius:0;border:none}.pref-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:10px;background:var(--bg-surface)}.pref-header-title{flex:1;font-size:.95rem;font-weight:600;color:var(--text-main);letter-spacing:-.01em}.pref-close-btn,.pref-back-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);line-height:1;transition:color .15s,background .15s}.pref-close-btn{font-size:1rem}.pref-back-btn{font-size:1.1rem}.pref-close-btn:hover,.pref-back-btn:hover{color:var(--text-main);background:#ffffff14}.pref-body{display:flex;flex:1;overflow:hidden;min-height:0}.pref-sidebar{width:168px;flex-shrink:0;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:12px 10px;overflow-y:auto;background:var(--bg-dark)}.pref-sidebar-tab{position:relative;text-align:left;padding:10px 14px 10px 20px;margin:2px 0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-size:.82rem;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.pref-sidebar-tab:hover{color:var(--text-secondary);background:#ffffff0a}.pref-sidebar-tab.active{color:var(--text-main);background:linear-gradient(90deg,var(--accent-fill-strong) 0%,var(--accent-fill) 42%,rgba(0,123,255,.02) 100%);border:var(--ui-accent-border);box-shadow:var(--ui-glow-selected)}.pref-sidebar-tab.active:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:3px;height:58%;min-height:14px;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);box-shadow:0 0 6px var(--accent-glow),0 0 14px #007bffbf,0 0 24px #007bff66}.pref-content,.pref-body-full{flex:1;overflow-y:auto;padding:20px 24px;background:var(--bg-surface)}.pref-mobile-tab-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:8px 12px;gap:4px;background:var(--bg-surface)}.pref-mobile-tab-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);font-size:.9rem;cursor:pointer;text-align:left;transition:var(--ui-transition);box-shadow:none}.pref-mobile-tab-item:hover{background:var(--ui-surface-hover);border-color:var(--border-default)}.pref-mobile-chevron{color:var(--text-faint);font-size:1.1rem}.pref-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-surface)}.pref-btn{border-radius:var(--radius-sm);font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.pref-btn--cancel{color:var(--text-secondary)}.pref-btn--cancel:hover{color:var(--text-main)}.pref-btn--reset{margin-right:auto;background:transparent;color:var(--text-muted);border-color:var(--border-default);transition:var(--ui-transition);box-shadow:none}.pref-btn--reset:hover:not(:disabled){color:var(--text-secondary);border-color:var(--border-strong);background:var(--ui-surface)}.pref-btn--reset:disabled{opacity:.35;cursor:not-allowed}.preference-tab-content{font-size:.85rem;color:var(--text-main)}.preference-tab-content--grouped{display:flex;flex-direction:column;gap:22px}.pref-section-title{margin:0 0 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pref-section-body{padding-left:10px}.pref-section-body>.ui-settings-row:last-child,.pref-section-body>.ui-settings-checkbox-row:last-child,.pref-section-body>.ui-settings-group-names:last-child,.pref-section-body>.export-quality-wrap:last-child{margin-bottom:0}.ui-settings-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ui-settings-label{color:inherit;font-size:.85rem}button.ui-settings-select{border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:inherit;background:var(--ui-surface);color:var(--text-main);transition:var(--ui-transition);box-shadow:none;white-space:nowrap}button.ui-settings-select:hover:not(:disabled){background:var(--ui-surface-hover);border-color:var(--border-strong)}.ui-settings-checkbox-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;cursor:pointer;font-size:.85rem;color:inherit}.ui-settings-group-names{display:flex;flex-direction:column;gap:8px}.preference-tab-content .tags-input__tag,.preference-tab-content .tags-input__input{color:var(--text-main)}.color-swatch{position:relative;width:28px;height:18px;border-radius:var(--radius-xs);border:1px solid var(--border-strong);cursor:pointer;padding:0;flex-shrink:0;overflow:hidden}.color-swatch:hover{border-color:var(--text-muted)}.color-swatch__input{position:absolute;width:0;height:0;opacity:0;border:none;padding:0;pointer-events:none}.ui-settings-hint{margin:0;font-size:.75rem;color:var(--text-faint);line-height:1.4}.ui-settings-hint--warning{color:#f88}.ui-settings-number-input{background:var(--ui-surface);color:var(--text-main);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:88px;transition:var(--ui-transition);box-shadow:none}.ui-settings-number-input--narrow{width:52px}.ui-settings-number-input:focus{outline:none}.ui-settings-number-input:disabled{opacity:.45;cursor:not-allowed}.ui-settings-range{width:100%;accent-color:var(--accent);cursor:pointer}.export-quality-wrap{margin-top:4px}.export-quality-wrap--disabled{opacity:.4;pointer-events:none}.auth-google-btn{gap:10px;width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--ui-surface);color:var(--text-main);cursor:pointer;transition:var(--ui-transition);box-shadow:none;white-space:nowrap}.auth-google-btn:hover{background:var(--ui-surface-hover);border-color:var(--border-strong)}.auth-google-icon{flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0}.auth-divider-line{flex:1;height:1px;background:var(--border-default)}.auth-divider-text{font-size:.72rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.auth-email-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.auth-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--ui-surface);color:var(--text-main);transition:var(--ui-transition);box-shadow:none}.auth-input:focus{outline:none}.auth-input::placeholder{color:var(--text-faint)}.auth-error{margin:0;font-size:.78rem;color:#f66}.auth-info{font-size:.82rem;color:var(--text-main);line-height:1.5}.auth-submit-btn{border-radius:var(--radius-sm);font-weight:500;cursor:pointer;white-space:nowrap}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-submit-btn--danger{background:#b03030}.auth-submit-btn--danger:hover:not(:disabled){background:#c03838}.auth-link-btn{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;text-align:center;padding:4px 0}.auth-link-btn:hover{color:var(--text-secondary);text-decoration:underline}.account-profile{display:flex;align-items:center;gap:14px;margin-bottom:22px}.account-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--border-default)}.account-info{display:flex;flex-direction:column;gap:3px}.account-name{margin:0;font-size:.95rem;color:var(--text-main);font-weight:600}.account-email{margin:0;font-size:.78rem;color:var(--text-secondary)}.bc-overlay{position:fixed;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100vh);z-index:10000;background:var(--modal-overlay);display:flex;justify-content:center;align-items:center;box-sizing:border-box;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.bc-window{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--modal-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--modal-shadow)}.bc-window--wide{width:540px;max-width:92vw;max-height:var(--app-height-85, 85vh)}.bc-window--narrow{width:var(--app-width, 100vw);height:var(--app-height, 100vh);border-radius:0;border:none}.bc-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:10px}.bc-header-title{flex:1;font-size:.95rem;font-weight:600;color:var(--text-main)}.bc-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);line-height:1}.bc-close-btn:hover{color:var(--text-main);background:#ffffff14}.bc-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.bc-dimensions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.bc-project-name{display:flex;flex-direction:column;gap:6px}.bc-project-name-input{width:100%;background:var(--ui-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-main);outline:none;box-sizing:border-box;transition:var(--ui-transition);box-shadow:none}.bc-project-name-input:focus{outline:none}.bc-project-name-input::placeholder{color:var(--text-faint)}.bc-dim-field{display:flex;flex-direction:column;gap:6px}.bc-dim-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.bc-dim-input-wrap{display:flex;align-items:center;background:var(--ui-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;transition:var(--ui-transition);box-shadow:none}.bc-dim-input{width:80px;background:transparent;border:none;color:var(--text-main);font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.bc-dim-input::-webkit-inner-spin-button,.bc-dim-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bc-dim-input:focus{outline:none;box-shadow:none}.bc-dim-unit{display:flex;align-items:center;padding:0 var(--ui-control-padding-x);font-size:.75rem;color:var(--text-faint);-webkit-user-select:none;user-select:none}.bc-dim-separator{font-size:.9rem;color:var(--text-faint);padding-bottom:6px;-webkit-user-select:none;user-select:none}.bc-orient-group{display:flex;gap:4px;margin-left:4px;padding-bottom:1px}.bc-orient-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--ui-transition)}.bc-orient-btn:hover{color:var(--text-secondary);background:var(--ui-surface-hover)}.bc-icon-landscape{display:inline-block;width:14px;height:9px;border:2px solid currentColor;border-radius:1px}.bc-icon-portrait{display:inline-block;width:9px;height:14px;border:2px solid currentColor;border-radius:1px}.bc-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border-subtle);padding-bottom:0}.bc-tab{position:relative;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-muted);font-size:.78rem;padding:8px 16px 10px;margin-bottom:-1px;cursor:pointer;transition:color .18s,background .18s,border-color .18s,box-shadow .18s;white-space:nowrap}.bc-tab:hover{color:var(--text-secondary);background:#ffffff08}.bc-tab--active{color:var(--text-main);background:linear-gradient(180deg,var(--accent-fill-strong) 0%,var(--accent-fill) 55%,rgba(0,123,255,.02) 100%);border:var(--ui-accent-border);border-bottom:1px solid transparent;box-shadow:var(--ui-glow-selected)}.bc-tab--active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:var(--radius-pill);background:linear-gradient(90deg,transparent 0%,var(--accent) 18%,var(--accent-hover) 50%,var(--accent) 82%,transparent 100%);box-shadow:0 0 5px var(--accent-glow),0 0 12px #007bffb3,0 0 22px #007bff73,0 0 36px #007bff33;pointer-events:none}.bc-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.bc-preset-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--ui-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--ui-transition);box-shadow:none}.bc-preset-btn:hover{background:var(--ui-surface-hover);border-color:var(--border-strong);color:var(--text-main)}.bc-preset-icon{display:flex;align-items:center;justify-content:center;color:inherit;opacity:.75}.bc-preset-btn:hover .bc-preset-icon,.bc-preset-btn--active .bc-preset-icon{opacity:1}.bc-preset-name{font-size:.78rem;font-weight:500;text-align:center;line-height:1.2}.bc-preset-size{font-size:.68rem;color:var(--text-faint)}.bc-preset-btn--active .bc-preset-size{color:var(--text-muted)}.bc-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}.bc-btn{border-radius:var(--radius-sm);font-weight:500;cursor:pointer}.bc-btn--cancel{color:var(--text-secondary)}.bc-btn--cancel:hover{color:var(--text-main)}.compact-trash-zone{display:flex;align-items:center;justify-content:center;background:#000000bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s ease;pointer-events:none;z-index:9999}.compact-trash-zone--over{background:#282828e0}.compact-trash-zone__icon{width:36px;height:36px;flex-shrink:0;opacity:.85;transition:transform .15s ease,opacity .15s ease}.compact-trash-zone--over .compact-trash-zone__icon{transform:scale(1.12);opacity:1}.compact-layer-strip{height:72px;background:var(--bg-surface);border-top:1px solid var(--border-subtle);flex-shrink:0;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none;position:relative}.compact-layer-strip::-webkit-scrollbar{display:none}.compact-layer-strip__track{display:flex;flex-direction:row;gap:8px;padding:4px 8px;height:100%;align-items:center;position:relative;width:max-content}.compact-layer-strip--empty{display:flex;align-items:center;justify-content:center}.compact-layer-strip__empty-msg{color:var(--text-faint);font-size:.75rem}.compact-strip-item{position:relative;flex-shrink:0}.compact-strip-item--category-start:before{content:"";position:absolute;left:-5px;top:15%;height:70%;width:1px;background:var(--border-strong);pointer-events:none}.compact-strip-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:60px;padding:4px 2px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:var(--ui-transition);box-sizing:border-box;box-shadow:none}.compact-strip-card:hover:not(.compact-strip-card--selected){background:#ffffff0d}.compact-strip-card--disabled{opacity:.4}.compact-strip-card__icon{width:32px;height:32px;border-radius:var(--radius-xs);overflow:hidden;flex-shrink:0;border:1px solid var(--border-subtle)}.compact-strip-card__icon-img{width:100%;height:100%;object-fit:cover;display:block}.compact-strip-card__icon-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#333 25%,#262626 25%,#262626 50%,#333 50%,#333 75%,#262626 75%);background-size:10px 10px}.compact-strip-card__label{font-size:.6rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58px;text-align:center;line-height:1.2}.compact-drop-indicator{position:absolute;top:4px;bottom:4px;width:2px;border-radius:2px;background:#ffffffd9;pointer-events:none;z-index:10}.compact-drop-indicator--inactive{background:#ffffff40}.compact-drop-indicator--library{background:linear-gradient(180deg,var(--accent-hover),var(--accent));box-shadow:0 0 8px var(--accent-glow);opacity:1}.compact-effect-group-bar{height:28px;background:var(--bg-base);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 6px;flex-shrink:0;width:100%;box-sizing:border-box}.compact-effect-group-bar__arrow{width:28px;height:28px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;transition:color .12s,background .12s}.compact-effect-group-bar__arrow:hover:not(:disabled){color:var(--text-main);background:#ffffff0f}.compact-effect-group-bar__arrow:disabled{opacity:.3}.compact-effect-group-bar__label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex:1;text-align:center}.compact-lib-strip{height:72px;background:var(--bg-base);border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none;position:relative}.compact-lib-strip::-webkit-scrollbar{display:none}.compact-lib-track{display:flex;flex-direction:row;gap:8px;padding:4px 8px;height:100%;align-items:center;position:relative;width:max-content}.compact-lib-strip--empty{display:flex;align-items:center;justify-content:center}.compact-lib-item{position:relative;flex-shrink:0}.compact-lib-item--category-start:before{content:"";position:absolute;left:-5px;top:15%;height:70%;width:1px;background:var(--border-default);pointer-events:none}.compact-layout{display:flex;flex-direction:column;width:100%;min-width:0;overflow:hidden;flex-shrink:0}.editor-tabs{display:flex;align-items:flex-end;flex:0 0 auto;padding:6px 10px 0 0;background:var(--bg-base);border-bottom:none;overflow-x:auto;overflow-y:visible;gap:0;box-sizing:border-box;min-height:38px;scrollbar-width:none;position:relative}.editor-tabs:after{content:"";position:absolute;left:var(--sidebar-categories-width);right:0;bottom:0;height:1px;background:var(--border-subtle);pointer-events:none;z-index:3}.editor-tabs::-webkit-scrollbar{display:none}.tab-bar-left-actions{display:flex;align-items:flex-end;justify-content:center;flex:0 0 var(--sidebar-categories-width);width:var(--sidebar-categories-width);align-self:stretch;box-sizing:border-box;padding-bottom:5px;background:var(--bg-base)}.tab-bar-left-actions__btn{background:transparent;border:none;color:var(--text-muted);padding:5px 7px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.tab-bar-left-actions__btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.tab-bar-left-actions__btn:active{background:var(--bg-active);color:var(--text-main)}.tab-group{--tab-group-corner-r: 10px;display:flex;align-items:flex-end;flex:0 0 auto;gap:2px;border:1px solid var(--border-default);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:4px 4px 0;margin-right:var(--tab-group-corner-r);background:var(--bg-surface);position:relative;overflow:visible;isolation:isolate}.tab-group:after{content:"";position:absolute;right:calc(-1 * var(--tab-group-corner-r));bottom:0;width:var(--tab-group-corner-r);height:var(--tab-group-corner-r);pointer-events:none;z-index:0;background:transparent;border-left:1px solid var(--border-default);border-bottom:none;border-bottom-left-radius:var(--tab-group-corner-r);box-sizing:border-box;box-shadow:calc(-.5 * var(--tab-group-corner-r)) 0 0 0 var(--bg-surface)}.tab-group+.tab-group{margin-left:8px}.tab-subgroup{display:flex;align-items:flex-end;flex:0 0 auto;gap:2px;border:1px solid var(--border-subtle);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:3px 3px 0;background:var(--bg-dark);margin:0 2px;position:relative;z-index:1}.tab-subgroup[data-depth="1"]{border-color:var(--border-default);background:var(--bg-elevated)}.tab-subgroup[data-depth="2"]{border-color:#3a3a3a;background:var(--bg-panel)}.tab-subgroup[data-depth="3"]{border-color:#363636;background:var(--bg-surface)}.tab-subgroup[data-depth="4"]{border-color:#323232;background:#1a1a1a}.tab-subgroup[data-depth="5"]{border-color:#2e2e2e;background:var(--bg-dark)}.editor-tab{display:flex;align-items:center;gap:6px;background:var(--bg-elevated);color:var(--text-muted);font-size:12px;padding:6px 12px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;white-space:nowrap;height:28px;box-sizing:border-box;border:none;outline:none;flex:0 0 auto;-webkit-user-select:none;user-select:none;transition:background .1s,color .1s;position:relative;z-index:1}.editor-tab:hover{background:var(--bg-hover);color:var(--text-secondary)}.editor-tab--active{background:var(--bg-active);color:var(--text-main)}.editor-tab--orphaned{color:#ffc5c5;background:#2a1515}.editor-tab--orphaned:hover{background:#351a1a;color:#ffd0d0}.editor-tab--orphaned.editor-tab--active{background:#3a1c1c;color:#ffe0e0}.editor-tab--orphaned.editor-tab--active:hover{background:#441f1f;color:#ffe8e8}.editor-tab__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.editor-tab__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:14px;height:14px;background:none;border:none;border-radius:var(--radius-xs);color:var(--text-faint);font-size:14px;line-height:1;padding:0;cursor:pointer;transition:color .1s,background .1s}.editor-tab__close:hover{color:#ccc;background:#ffffff1a}.editor-tab--orphaned .editor-tab__close:hover{color:#ffb3b3;background:#ff64641a}.tab-bar-actions{margin-left:auto;display:flex;align-items:center;gap:4px;padding:0 4px 5px;flex-shrink:0}.tab-bar-actions__btn{background:transparent;border:none;color:var(--text-muted);font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.tab-bar-actions__btn:hover{background:var(--ui-surface-hover);color:var(--text-secondary)}.tab-bar-actions__btn:active{background:var(--ui-surface-active);color:var(--text-main)}.tab-bar-actions__btn--icon{padding:5px 7px;display:flex;align-items:center;justify-content:center}.tab-bar-actions__btn--snap-on{color:var(--text-muted)}.tab-bar-actions__btn--snap-on:hover{color:var(--text-secondary)}.tab-bar-actions__btn--snap-off{color:var(--text-faint)}.tab-bar-actions__btn--snap-off:hover{color:var(--text-muted)}.tab-bar-actions__btn--saving{color:var(--text-faint);cursor:default;pointer-events:none}.tab-bar-actions__btn--saving:hover{background:transparent;color:var(--text-faint)}.tab-bar-actions__btn--saved{color:var(--accent-hover);text-shadow:0 0 8px rgba(0,123,255,.45)}.tab-bar-actions__btn--saved:hover{color:var(--accent-hover);text-shadow:0 0 12px rgba(0,123,255,.6)}.undo-redo-buttons{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}.undo-redo-buttons--panel{margin-bottom:.6rem}.undo-redo-buttons__btn{background:transparent;color:#ffffffe6;border:1px solid transparent;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:1rem;font-family:inherit;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.75);transition:color .15s ease,text-shadow .15s ease,opacity .15s ease}.undo-redo-buttons__btn:hover:not(:disabled){color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85)}.undo-redo-buttons__btn:disabled{opacity:.45;cursor:not-allowed}.effect-group-bar-wrap{display:flex;justify-content:center;overflow:visible}.effect-group-bar-track{position:relative;overflow:visible}.effect-group-bar{display:flex;gap:8px;overflow:visible}.effect-group-bar-item{text-align:center;font-size:.75rem;color:var(--text-secondary);background:var(--ui-surface);padding-top:4px;padding-bottom:4px;text-transform:capitalize;box-sizing:border-box;position:relative;isolation:isolate;overflow:visible;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.effect-group-bar-item:before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--layer-group-glow-rise, 148px);pointer-events:none;z-index:-1;border-radius:var(--radius-sm);background:var(--ui-surface)}.effect-group-bar-item--renaming{z-index:4}.effect-group-bar-item__rename-input{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-elevated);border:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--text-main);font-size:.75rem;text-align:center;padding:0 4px;outline:none;box-sizing:border-box;width:100%;height:100%;cursor:text;z-index:2}.effect-group-bar-item__rename-input:focus{outline:none}.effect-group-preview-hit-area--renaming button{pointer-events:none}.effect-group-preview-overlay{position:absolute;top:0;left:0;height:100%;width:100%;overflow:visible;pointer-events:none;z-index:3}.effect-group-preview-overlay__segment{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(to right,#fff0,#ffffff42)}.effect-group-preview-overlay__gap{position:absolute;top:0;bottom:0;background:linear-gradient(to right,#ffffff42,#fff0)}.effect-group-preview-overlay__edge{position:absolute;top:0;bottom:0}.effect-group-preview-overlay__edge--left{left:-8px;background:linear-gradient(to right,#fff0,#ffffff42)}.effect-group-preview-overlay__edge--right{background:linear-gradient(to right,#ffffff42,#fff0)}.effect-group-preview-hit-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4}.effect-group-preview-hit-area__origin,.effect-group-preview-hit-area__segment,.effect-group-preview-hit-area__gap,.effect-group-preview-hit-area__edge{position:absolute;top:0;bottom:0;border:none;background:transparent;padding:0;margin:0;cursor:pointer;transition:background-color .15s ease}.effect-group-preview-hit-area__edge{width:8px}.effect-group-preview-hit-area__edge--left{left:-8px}.effect-group-preview-hit-area__edge--right{right:-8px}.effect-group-preview-hit-area__segment:hover,.effect-group-preview-hit-area__gap:hover,.effect-group-preview-hit-area__edge:hover{background:#ffffff1a}.effect-group-preview-hit-area__segment:focus,.effect-group-preview-hit-area__segment:focus-visible,.effect-group-preview-hit-area__gap:focus,.effect-group-preview-hit-area__gap:focus-visible,.effect-group-preview-hit-area__edge:focus,.effect-group-preview-hit-area__edge:focus-visible{outline:none}.mask-range-bars{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.mask-range-bar{position:absolute;top:0;max-height:100%;border-radius:0 0 2px 2px;background:#007bff61;transition:width .15s ease,height .15s ease}.preset-back-btn{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:0 4px;line-height:1;border-radius:var(--radius-xs);transition:color .12s,background .12s}.preset-back-btn:hover{color:var(--text-main)}.preset-folder-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.7}.preset-card{cursor:pointer}.preset-card:hover{outline:1px solid var(--border-strong)}.preset-thumb-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;pointer-events:none}.preset-card .inline-rename-input{width:100%;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-xs);color:var(--text-main);font-size:10px;padding:2px 4px;text-align:center;outline:none}.preset-card .inline-rename-input:focus{outline:none}.preset-card.preset-drop-over{outline:2px solid var(--text-main)!important;background:#ffffff0f}.preset-back-btn.preset-drop-over{outline:1px solid var(--text-main);border-radius:var(--radius-xs);color:var(--text-main)}.loading-overlay{position:fixed;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100vh);z-index:9000;display:flex;align-items:center;justify-content:center;background:var(--modal-overlay);pointer-events:auto;animation:overlay-fade-in .15s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.loading-overlay__label{font-size:.82rem;color:var(--text-secondary);letter-spacing:.04em;-webkit-user-select:none;user-select:none}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9500;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{background:#1e1e1ef0;color:var(--text-main);font-size:.78rem;letter-spacing:.02em;padding:10px 22px;border-radius:var(--radius-md);border:1px solid var(--border-default);box-shadow:var(--shadow-elevated);pointer-events:auto;animation:toast-enter .35s ease-out}.toast--exit{animation:toast-exit .4s ease-in forwards}@keyframes toast-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.project-grid{width:100%;padding:0 24px;box-sizing:border-box}@media(max-width:520px){.project-grid{padding:0}.project-grid__title-row{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 12px;box-sizing:border-box}}.project-grid--loading{text-align:center}.project-grid__loading-text{color:var(--text-muted);font-size:13px}.project-grid__title{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0}.project-grid__title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px}.project-grid__upgrade-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-muted);font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:var(--ui-transition);box-shadow:none}.project-grid__list{position:relative;width:100%}.project-grid__card{position:absolute;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 8px 8px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--ui-surface);cursor:pointer;transition:var(--ui-transition);text-align:center;box-sizing:border-box;font:inherit;color:inherit;box-shadow:none}.project-grid__card:hover{background:var(--ui-surface-hover);border-color:var(--border-strong)}.project-grid__action-bar{display:flex;justify-content:space-between;align-items:center;height:20px;padding:0}.project-grid__delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.project-grid__delete-btn:hover{color:var(--text-main);background:#ffffff1a}.project-grid__location-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--text-faint);pointer-events:none}.project-grid__thumb{width:100%;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-input);display:flex;align-items:center;justify-content:center}.project-grid__thumb-img{width:100%;display:block}.project-grid__thumb-placeholder{width:100%;background:var(--bg-hover)}.project-grid__name{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.project-grid__sign-in{background:none;border:none;padding:0;font:inherit;font-size:13px;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .15s}.project-grid__sign-in:hover{color:var(--text-secondary)}.project-grid__empty{font-size:13px;color:var(--text-faint);margin:0;padding:8px 0 4px}.stripe-checkout-overlay{position:fixed;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100vh);z-index:10001;background:var(--modal-overlay);display:flex;justify-content:center;align-items:center;box-sizing:border-box;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.stripe-checkout-window{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--modal-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--modal-shadow)}.stripe-checkout-window--wide{width:600px;max-width:92vw;height:600px;max-height:var(--app-height-85, 85vh)}.stripe-checkout-window--narrow{width:var(--app-width, 100vw);height:var(--app-height, 100vh);border-radius:0;border:none}.stripe-checkout-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:10px}.stripe-checkout-header-title{flex:1;font-size:.95rem;font-weight:600;color:var(--text-main)}.stripe-checkout-back{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);line-height:1;font-family:inherit}.stripe-checkout-back:hover{color:var(--text-main);background:#ffffff14}.stripe-checkout-body{flex:1;overflow-y:auto;background:var(--bg-dark);border-radius:0 0 var(--modal-radius) var(--modal-radius)}.stripe-checkout-body iframe{filter:invert(.92) hue-rotate(180deg)}.stripe-checkout-window--narrow .stripe-checkout-body{border-radius:0}.stripe-checkout-error{color:#f88;font-size:.8rem;text-align:center;padding:32px 20px;margin:0}.stripe-checkout-close{display:block;margin:0 auto 20px;padding:8px 24px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.78rem}.stripe-checkout-close:hover{background:var(--bg-hover);color:var(--text-main)}.plan-overlay{position:fixed;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100vh);z-index:10000;background:var(--modal-overlay);display:flex;justify-content:center;align-items:center;box-sizing:border-box;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.plan-window{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--modal-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--modal-shadow)}.plan-window--wide{width:700px;max-width:92vw;max-height:var(--app-height-85, 85vh);overflow-y:auto}.plan-window--narrow{width:var(--app-width, 100vw);height:var(--app-height, 100vh);border-radius:0;border:none;overflow-y:auto}.plan-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:10px}.plan-header-title{flex:1;font-size:.95rem;font-weight:600;color:var(--text-main)}.plan-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);line-height:1}.plan-close-btn:hover{color:var(--text-main);background:#ffffff14}.plan-usage{padding:20px 24px 12px}.plan-usage__label{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-muted);margin-bottom:8px}.plan-usage__bar{width:100%;height:6px;background:var(--ui-surface);border-radius:var(--radius-pill);overflow:hidden}.plan-usage__fill{height:100%;background:linear-gradient(90deg,var(--accent-fill-strong),var(--accent));border-radius:var(--radius-pill);transition:width .3s ease;min-width:2px;box-shadow:0 0 8px var(--accent-glow)}.plan-cards{display:flex;gap:14px;padding:16px 24px 24px;justify-content:center;flex-wrap:wrap}.plan-card{flex:1 1 180px;max-width:200px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--ui-surface);position:relative;transition:var(--ui-transition);box-shadow:none}.plan-card--featured .plan-card__name{color:var(--accent-hover);text-shadow:0 0 12px rgba(0,123,255,.35)}.plan-card__badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:var(--text-main);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 12px;border-radius:var(--radius-pill);white-space:nowrap;border:var(--ui-accent-border);box-shadow:var(--ui-glow-selected)}.plan-card__name{font-size:.82rem;font-weight:600;color:var(--text-main);margin:0}.plan-card__price{display:flex;align-items:baseline;gap:3px}.plan-card__amount{font-size:1.4rem;font-weight:700;color:var(--text-main)}.plan-card__period{font-size:.68rem;color:var(--text-muted)}.plan-card__features{list-style:none;padding:0;margin:0;text-align:center;font-size:.7rem;color:var(--text-secondary);line-height:1.6}.plan-card__features li:before{content:"✓ ";color:var(--accent)}.plan-card__btn{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:var(--ui-transition);font-family:inherit;margin-top:auto;box-shadow:none;white-space:nowrap}.plan-card__btn--current{cursor:default}.plan-card__btn--downgrade{color:var(--text-muted)}.plan-card__btn--downgrade:hover:not(:disabled){color:var(--text-secondary)}.plan-card__btn--upgrade:disabled{opacity:.5;cursor:default;box-shadow:none}.plan-manage{text-align:center;padding:0 24px 18px}.plan-manage__link{background:none;border:none;color:var(--text-muted);font-size:.72rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:inherit;transition:color .15s}.plan-manage__link:hover{color:var(--text-secondary)}.plan-error{color:#f88;font-size:.72rem;text-align:center;padding:0 24px 12px;margin:0}.plan-policy{padding:14px 24px 18px;border-top:1px solid var(--border-subtle);margin-top:4px}.plan-policy__title{font-size:.68rem;font-weight:600;color:var(--text-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em}.plan-policy__list{margin:0;padding:0 0 0 16px;list-style:disc}.plan-policy__list li{font-size:.66rem;color:var(--text-faint);line-height:1.5;margin-bottom:2px}.plan-legal{padding:0 24px 16px;text-align:left}.plan-legal__link{font-size:.66rem;color:var(--text-faint);text-decoration:underline;text-underline-offset:3px;transition:color .15s}.plan-legal__link:hover{color:var(--text-muted)}@media(max-width:520px){.plan-cards{flex-direction:column;align-items:center}.plan-card{max-width:100%;width:100%}}:root{--library-card-width: 90px;--library-card-gap: 8px;--library-cols: 3;--library-content-width: calc(var(--library-cols) * var(--library-card-width) + (var(--library-cols) - 1) * var(--library-card-gap));--library-panel-width: calc(var(--library-content-width) + 2rem);--sidebar-categories-width: 36px;--app-height: 100vh;--app-width: 100vw;--app-height-85: 85vh;--app-height-80: 80vh;--app-height-40: 40vh}@supports (height: 100dvh){:root{--app-height: 100dvh;--app-width: 100dvw;--app-height-85: 85dvh;--app-height-80: 80dvh;--app-height-40: 40dvh}}html{height:var(--app-height);width:var(--app-width)}body,#root{margin:0;padding:0;height:100%;width:100%;color:var(--text-main);background-color:var(--bg-dark);font-family:Inter,Noto Sans JP,sans-serif;font-size:13px;overflow:hidden}.app-container{height:var(--app-height);max-height:var(--app-height);width:var(--app-width);display:flex;justify-content:center;align-items:center;overflow:hidden}.editor-shell{display:flex;flex-direction:column;width:100%;height:100%;max-height:var(--app-height);min-height:0;min-width:0;overflow:hidden;background:var(--bg-base)}.import-screen{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;text-align:center;overflow-y:auto;padding-bottom:64px;box-sizing:border-box;background:var(--bg-surface)}.import-screen__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 20px;box-sizing:border-box;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);position:sticky;top:0;z-index:10}.import-screen__logo{height:26px;width:auto;max-width:108px;object-fit:contain;object-position:left center;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.import-screen__header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.import-screen__hero-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;min-height:min(72vh,640px);flex-shrink:0;padding:28px 20px 12px;box-sizing:border-box}@media(max-width:520px){.import-screen__header{padding:12px 16px}.import-screen__logo{height:22px;max-width:92px}.import-screen__hero-wrap{min-height:68vh;padding:20px 16px 8px;gap:16px}}.import-screen__prefs-btn{background:var(--ui-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;outline:none;transition:var(--ui-transition);box-shadow:none;white-space:nowrap;flex-shrink:0}.import-screen__prefs-btn:hover{border-color:var(--border-strong);color:var(--text-main);background:var(--ui-surface-hover)}.import-screen--drag-active{background:var(--bg-surface);box-shadow:inset 0 0 80px #007bff0f}.import-screen--drag-active .btn-import--tile-primary{border-color:var(--accent-hover);box-shadow:var(--ui-glow-accent-hover)}.btn-import{padding:clamp(.55rem,.9vw,.8rem) clamp(1rem,1.6vw,1.35rem);font-size:clamp(.85rem,1.2vw,1rem);cursor:pointer;background:var(--ui-surface);color:var(--text-main);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:var(--ui-transition);box-shadow:none}.btn-import:hover{background:var(--ui-surface-hover);border-color:var(--border-strong)}.import-screen__alt-action{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45em;margin:0;font-size:.8rem;line-height:1.4}.import-screen__or{font-size:inherit;color:var(--text-faint);line-height:inherit}.import-screen__text-link{background:none;border:none;padding:0;margin:0;font:inherit;font-size:inherit;color:var(--text-secondary);cursor:pointer;text-decoration:underline;text-decoration-color:#ffffff38;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.import-screen__text-link:hover:not(:disabled){color:var(--accent-hover);text-decoration-color:var(--accent)}.import-screen__text-link:disabled{opacity:.45;cursor:default}.import-screen__hero-actions{display:flex;align-items:flex-start;justify-content:center;gap:20px}.btn-import--tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:clamp(152px,30vw,188px);aspect-ratio:1;padding:18px 12px 16px;border-radius:var(--radius-lg);font-weight:600;gap:10px;box-sizing:border-box;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}.btn-import--tile:hover{transform:translateY(-1px)}.btn-import--tile:active{transform:translateY(0)}.btn-import__icon-wrap{flex:1 1 auto;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;color:var(--text-main)}.btn-import__icon{width:44%;height:auto;max-height:58%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.btn-import__label{flex:0 0 auto;text-align:center;font-size:clamp(.68rem,.95vw,.8rem);line-height:1.3;font-weight:600;max-width:100%}.btn-import--tile-primary{background:transparent;border:var(--ui-accent-border);color:var(--text-main);box-shadow:var(--ui-glow-selected)}.btn-import--tile-primary:hover{background:var(--accent-fill);border-color:var(--accent-hover);box-shadow:var(--ui-glow-accent-hover)}.btn-import--tile-secondary{background:var(--ui-surface);border:1px solid var(--border-default);color:var(--text-main);box-shadow:none}.btn-import--tile-secondary:hover{background:var(--ui-surface-hover);border-color:var(--border-strong)}@media(max-width:760px){.import-screen__hero-actions{flex-direction:row;flex-wrap:wrap;gap:14px}.btn-import--tile{width:min(168px,42vw)}}.import-screen .project-grid{max-width:1280px;margin:0 auto;padding:8px 24px 0;box-sizing:border-box}@media(max-width:520px){.import-screen .project-grid{padding:4px 0 0}}.editor-container{display:grid;width:100%;height:auto;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;position:relative;grid-template-columns:var(--sidebar-categories-width) var(--library-panel-width) 1fr 300px;grid-template-rows:1fr auto}.sidebar-categories{grid-row:1 / 2;width:var(--sidebar-categories-width);background:var(--bg-base);display:flex;flex-direction:column;border-top:none;margin-top:-1px;padding-top:1px;position:relative;z-index:2}.sidebar-categories button{padding:.7rem 2px;background:transparent;color:var(--text-muted);border:none;border-radius:0;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;transition:color .15s ease,background-color .15s ease}.sidebar-categories button:hover:not(.active){color:var(--text-secondary);background:#ffffff0d}.sidebar-categories button.active{color:var(--text-main);background:var(--bg-panel)}.sidebar-library{grid-row:1 / 2;background:var(--bg-panel);border-left:1px solid var(--border-default);border-right:1px solid var(--border-subtle);padding:1rem;box-sizing:border-box;width:var(--library-panel-width);overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.library-grid{display:grid;grid-template-columns:repeat(var(--library-cols),var(--library-card-width));gap:var(--library-card-gap);width:var(--library-content-width);padding-top:4px}.panel-header{display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);margin:-1rem -1rem .75rem;padding:0 12px;border-bottom:1px solid var(--border-subtle);min-height:32px;height:32px}.panel-header-title{font-size:.68rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;line-height:32px}.library-collapse-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0 8px;line-height:1;border-radius:var(--radius-xs);height:100%;display:flex;align-items:center;justify-content:center}.library-collapse-btn:hover{color:var(--text-main);background:#ffffff14}.plugin-item{padding:8px;background:var(--ui-surface);margin-bottom:8px;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);transition:var(--ui-transition);box-shadow:none}.plugin-item:hover{background:var(--ui-surface-hover);border-color:var(--border-default)}.main-area{grid-column:3;grid-row:1;background:var(--bg-base);overflow:hidden;display:flex;flex-direction:column}.main-area.library-collapsed{grid-column:2 / 4}.preview-area{flex:1;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:20px;background-color:var(--bg-base);background-image:linear-gradient(45deg,#1a1a1a 25%,transparent 25%),linear-gradient(-45deg,#1a1a1a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1a 75%),linear-gradient(-45deg,transparent 75%,#1a1a1a 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;position:relative}.preview-area--light{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-color:#fff}.viewport-overlay{position:fixed;top:0;left:0;width:var(--app-width);height:var(--app-height);z-index:9999;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.preview-area--fullscreen{position:fixed;top:0;left:0;width:var(--app-width);height:var(--app-height);z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box}.preview-area canvas.engine-preview-canvas{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 0 20px #00000080}.layer-panel{grid-column:1 / -1;grid-row:2;background:var(--bg-surface);border-top:1px solid var(--border-subtle);padding:.5rem .5rem 0;box-sizing:border-box;overflow-x:clip;overflow-y:visible;touch-action:pan-x;display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;min-height:min-content;transition:background-color .12s ease,box-shadow .12s ease}.layer-panel--preset-drop-active{background:var(--bg-hover);box-shadow:inset 0 0 0 9999px #ffffff0f}.layer-strip-outer{--layer-h-scrollbar-size: 17px;flex:0 0 auto;width:100%;min-width:0;padding-bottom:var(--layer-h-scrollbar-size);overflow:hidden}.layer-strip-scroll{width:100%;min-width:0;overflow-x:scroll;overflow-y:hidden;margin-bottom:calc(-1 * var(--layer-h-scrollbar-size));-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555555 var(--bg-surface)}.layer-strip-scroll::-webkit-scrollbar{height:var(--layer-h-scrollbar-size)}.layer-strip-scroll::-webkit-scrollbar-track{background:var(--bg-surface)}.layer-strip-scroll::-webkit-scrollbar-thumb{background:#555;border-radius:var(--radius-xs)}.layer-strip-scroll::-webkit-scrollbar-thumb:hover{background:#666}.layer-strip-inner{--layer-cards-bar-gap: 4px;--layer-effect-slot-width: 92px;--layer-card-gap: 8px;--layer-group-glow-rise: 148px;display:inline-flex;flex-direction:column;align-items:center;width:max-content;min-width:100%;box-sizing:border-box;padding-bottom:.5rem;gap:var(--layer-cards-bar-gap, 4px)}.layer-strip-inner .effect-group-bar-wrap{position:relative;z-index:1;width:max-content;flex-shrink:0}.layer-cards-row{position:relative;z-index:2;display:flex;align-items:stretch;gap:var(--layer-card-gap, 8px);width:max-content;flex-shrink:0}.sidebar-controls{grid-column:4;grid-row:1 / 2;background:var(--bg-panel);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.sidebar-controls-scroll{flex:1;overflow-y:auto;padding:1rem}.sidebar-controls h4{margin:0 0 .75rem;font-size:1rem;font-weight:600}.toolbar-top-left,.toolbar-top-right,.toolbar-bottom-left,.toolbar-bottom-right{position:absolute;display:flex;gap:10px;z-index:10}.toolbar-top-left{top:10px;left:10px}.toolbar-top-right{top:10px;right:10px}.toolbar-bottom-left{bottom:10px;left:10px}.toolbar-bottom-right{bottom:10px;right:10px}.preview-area button{background:transparent;color:#ffffffe6;border:1px solid transparent;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.75);transition:color .15s ease,text-shadow .15s ease,opacity .15s ease,filter .15s ease}.preview-area .toolbar-icon-btn{padding:8px;display:flex;align-items:center;justify-content:center;text-shadow:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}.preview-area button:hover:not(:disabled){color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85)}.preview-area .toolbar-icon-btn:hover:not(:disabled){text-shadow:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.85))}.preview-area button:disabled{opacity:.45;cursor:not-allowed}.toolbar-icon-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:toolbar-spin .7s linear infinite}@keyframes toolbar-spin{to{transform:rotate(360deg)}}.toolbar-icon-btn--active{color:var(--accent-hover)!important;filter:drop-shadow(0 0 5px var(--accent-glow)) drop-shadow(0 0 10px rgba(0,123,255,.35)) drop-shadow(0 1px 2px rgba(0,0,0,.75))}.preview-grid{margin-bottom:1rem}.preview-grid-header{margin-bottom:.5rem;font-size:.82rem;color:var(--text-secondary)}.preview-grid-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preview-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-default);background:var(--ui-surface);border-radius:var(--radius-sm);padding:0;color:var(--text-main);text-align:left;cursor:pointer;overflow:visible;transition:var(--ui-transition),transform .1s ease;box-shadow:none}.preview-card:hover:not(.selected){border-color:var(--border-strong);transform:translateY(-1px);background:var(--ui-surface-hover)}.preview-card-thumb{width:100%;overflow:hidden;border-radius:inherit}.preview-card-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;border-radius:0}.preview-card-placeholder{width:100%;aspect-ratio:1 / 1;background:linear-gradient(135deg,#2c2c2c 25%,#1b1b1b 25%,#1b1b1b 50%,#2c2c2c 50%,#2c2c2c 75%,#1b1b1b 75%,#1b1b1b);background-size:16px 16px;border:1px dashed var(--border-default);border-radius:0}.preview-card-label{padding:6px 8px;margin:0}.preview-card-title{font-size:.75rem;margin:0 0 2px}.preview-card-description{font-size:.65rem;color:var(--text-muted)}.editor-container--compact{grid-template-columns:1fr 300px;grid-template-rows:1fr auto}.editor-container--compact .sidebar-categories,.editor-container--compact .sidebar-library{display:none!important}.editor-container--compact .main-area{grid-column:1;grid-row:1}.editor-container--compact .main-area.library-collapsed{grid-column:1}.editor-container--compact .sidebar-controls{grid-column:2;grid-row:1 / -1;display:flex;flex-direction:column;overflow:hidden}.editor-container--compact .compact-layout{grid-column:1;grid-row:2}.compact-presets-inline{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.compact-presets-inline .sidebar-library{position:static;width:100%;flex:1;min-height:0;border-right:none;box-shadow:none;display:flex!important;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:8px}.compact-presets-inline .library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))!important;align-content:start;width:100%!important;gap:6px;padding:0}.compact-presets-inline .library-collapse-btn{display:none}.compact-controls-header-actions{display:flex;align-items:center;gap:6px}.compact-presets-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-muted);font-size:.65rem;padding:3px 10px;border-radius:var(--radius-xs);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.compact-presets-btn:hover{background:var(--bg-hover);color:var(--text-main);border-color:var(--border-strong)}.compact-disable-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color .12s,background .12s;line-height:0}.compact-disable-btn:hover{color:var(--text-main);background:#ffffff14}@media(max-aspect-ratio:1/1){.editor-container{grid-template-columns:var(--sidebar-categories-width) 1fr;grid-template-rows:1fr 1fr auto}.sidebar-categories{grid-column:1;grid-row:1 / 2}.sidebar-library{position:relative;grid-column:2;grid-row:1;width:var(--library-panel-width);z-index:100;box-shadow:4px 0 20px #00000080;border-right:1px solid var(--border-subtle)}.main-area{grid-column:2;grid-row:1 / 2}.main-area.library-collapsed{grid-column:2}.preview-area{padding:0}.preview-area canvas.engine-preview-canvas{box-shadow:none}.sidebar-controls{grid-column:1 / -1;grid-row:2 / 3;border-left:none;border-top:1px solid var(--border-subtle);overflow:hidden}.layer-panel{grid-column:1 / -1;grid-row:3 / 4}.editor-container--compact{grid-template-columns:1fr;grid-template-rows:1fr auto auto}.editor-container--compact .main-area{grid-column:1;grid-row:1}.editor-container--compact .sidebar-controls{grid-column:1;grid-row:2;border-left:none;border-top:1px solid var(--border-subtle);max-height:var(--app-height-40);overflow:hidden}.editor-container--compact .compact-layout{grid-column:1;grid-row:3}}@media(max-width:500px){:root{--library-cols: 2}}@media(max-width:360px){:root{--library-cols: 1}}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;height:20px}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-pill);background:#555}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-main);border:2px solid var(--border-default);margin-top:-4px;box-shadow:0 1px 3px #00000059}input[type=range]::-webkit-slider-thumb:hover{background:#eee}input[type=range]::-moz-range-track{height:6px;border-radius:var(--radius-pill);background:#555}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--text-main);border:2px solid var(--border-default);box-shadow:0 1px 3px #00000059}input[type=range]::-moz-range-thumb:hover{background:#eee}input[type=range]:focus{outline:none}input[type=range]:focus::-webkit-slider-thumb{box-shadow:var(--ui-glow-accent-focus)}input[type=range]:focus::-moz-range-thumb{box-shadow:var(--ui-glow-accent-focus)}.is-scrolling input[type=range]{pointer-events:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}
