:root{--paper:#f4f1ea;--ink:#1f1d1a;--ink-2:#6b665d;--line:#ddd7cb;--surface:#fffdf9eb;--accent:#1f1d1a;--radius:16px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--paper);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{opacity:.3;cursor:default}.viewport{z-index:1;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.topbar{z-index:10;top:calc(var(--safe-top) + 10px);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:12px;right:12px}.topbar>*{pointer-events:auto}.topbar-left{align-items:center;gap:4px;min-width:0;margin-right:4px;display:flex}.pill{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;display:flex;box-shadow:0 1px 4px #00000014}.pill button{border-radius:999px;place-items:center;width:42px;height:44px;display:grid}.pill button.on{background:var(--ink);color:var(--paper)}.loading{z-index:10;color:var(--ink-2);font-size:14px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dock{z-index:10;left:50%;bottom:calc(var(--safe-bottom) + 10px);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;gap:2px;padding:4px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 2px 10px #0000001a}.dock button{width:72px;height:54px;color:var(--ink-2);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.dock button.on{background:var(--ink);color:var(--paper)}.sheet{z-index:10;left:50%;bottom:calc(var(--safe-bottom) + 76px);background:var(--surface);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;gap:14px;width:min(100% - 16px,520px);max-height:58vh;padding:14px 14px 16px;display:flex;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 4px 18px #0000001f}.sheet>*{flex-shrink:0}.row{flex-direction:column;gap:8px;display:flex}.row-label{color:var(--ink-2);font-size:12px}.segmented{background:#ebe6db;border-radius:12px;padding:3px;display:flex}.segmented button{min-height:40px;color:var(--ink-2);border-radius:10px;flex:1;font-size:14px}.segmented button.on{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button,.ghost,.chips .chip-link{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:38px;padding:0 14px;font-size:14px}.chips button:active,.ghost:active{background:var(--ink);color:var(--paper)}.hand-head{align-items:center;gap:8px;display:flex}.hand-head .segmented{flex:1}.finger-sliders{justify-content:space-between;align-items:stretch;gap:4px;display:flex}.finger-sliders .divider{background:var(--line);width:1px;margin:4px 2px 30px}.slider{gap:6px;display:flex}.slider.vertical{flex-direction:column;flex:1;align-items:center}.slider.horizontal{flex-direction:column-reverse}.slider-track{touch-action:none;cursor:pointer;background:#ebe6db;border-radius:999px;position:relative}.slider.vertical .slider-track{width:34px;height:112px}.slider.horizontal .slider-track{width:100%;height:36px}.slider-fill{background:#cfc7b7;border-radius:999px;position:absolute;bottom:0;left:0}.slider.vertical .slider-fill{width:100%}.slider.horizontal .slider-fill{height:100%}.slider-track{--thumb:34px}.slider-thumb{width:var(--thumb);height:var(--thumb);background:var(--ink);pointer-events:none;border:3px solid #fff;border-radius:50%;position:absolute;box-shadow:0 1px 4px #0003}.slider.vertical .slider-thumb{left:0}.slider.horizontal .slider-thumb{--thumb:34px;top:1px}.slider-label{color:var(--ink-2);gap:6px;font-size:12px;display:flex}.slider.vertical .slider-label{flex-direction:column;align-items:center;gap:0}.slider-label b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.slider.horizontal .slider-label{justify-content:space-between}.file-button{background:var(--ink);min-height:48px;color:var(--paper);cursor:pointer;border-radius:14px;place-items:center;padding:0 18px;font-size:15px;display:grid}.photo-row{align-items:flex-start;gap:12px;display:flex}.photo-thumb{background:#ddd;border-radius:10px;display:block}.photo-actions{flex-direction:column;flex:1;gap:8px;display:flex}.photo-actions .file-button{min-height:40px;font-size:14px}.chips button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.note{color:var(--ink-2);margin:0;font-size:13px}.note.warn{color:#b4532a}.slider-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -14px;padding:0 14px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll button{flex:none}.selection-bar{background:#3a7be01a;border-radius:12px;flex-direction:column;gap:8px;margin:-4px -2px 0;padding:10px 12px;display:flex}.selection-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.selection-head b{font-size:15px}.chips button.on.pin{color:#fff;background:#e0603a;border-color:#e0603a}.jog .slider-track{background:#ebe6db}.jog-center{background:#cfc7b7;width:2px;margin-left:-1px;position:absolute;top:8px;bottom:8px;left:50%}.photo-overlay{z-index:0;transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:fixed;top:0;left:0}.library{scrollbar-width:none;gap:10px;margin:0 -14px;padding:2px 14px 4px;display:flex;overflow-x:auto}.library::-webkit-scrollbar{display:none}.library-add,.library-thumb{border:1px solid var(--line,#d8d2c5);width:76px;height:108px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:12px;display:flex}.library-add span{font-size:26px;line-height:1}.library-item{flex:none;position:relative}.library-thumb img{object-fit:contain;background:var(--paper);border-radius:8px;width:100%;height:80px}.library-thumb span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.library-del{border:1px solid var(--line,#d8d2c5);width:24px;height:24px;color:var(--ink-2);background:#fff;border-radius:50%;padding:0;font-size:15px;line-height:1;position:absolute;top:-6px;right:-6px}.slider-mark{background:var(--ink-2);opacity:.55;pointer-events:none;position:absolute}.slider.vertical .slider-mark{height:2px;left:18%;right:18%;transform:translateY(1px)}.slider.horizontal .slider-mark{width:2px;top:18%;bottom:18%;transform:translate(-1px)}.slider.over .slider-label b{color:#b4532a}.chip-pair{display:inline-flex}.chip-pair>button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.chips .chip-pair .chip-del{color:var(--ink-2);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;padding:0 10px}.body-chip{background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;min-width:0;height:36px;padding:0 6px 0 12px;font-size:13px;display:flex;box-shadow:0 1px 4px #00000014}.body-chip span{text-overflow:ellipsis;overflow:hidden}.body-chip svg{width:16px;height:16px;color:var(--ink-2);flex:none}.topbar .pill{flex:none}.body-chip.on{background:var(--ink);color:var(--paper)}.body-chip.on svg{color:var(--paper)}.backdrop{z-index:9;position:fixed;inset:0}.popover{z-index:11;top:calc(var(--safe-top) + 62px);background:var(--surface);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;gap:14px;width:min(100% - 16px,520px);max-height:62vh;padding:14px;display:flex;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 4px 18px #00000024}.popover>*{flex-shrink:0}.rail{z-index:10;right:10px;top:calc(var(--safe-top) + 66px);flex-direction:column;gap:8px;display:flex;position:fixed}.rail button{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:48px;height:48px;color:var(--ink);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;box-shadow:0 1px 4px #0000001a}.rail button svg{width:20px;height:20px}.rail button small{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;max-width:46px;font-size:9.5px;line-height:1.1;overflow:hidden}.rail button b{font-variant-numeric:tabular-nums;font-size:15px;line-height:1.1}.rail button.on{background:var(--ink);color:var(--paper)}.rail button.on small{color:var(--paper);opacity:.8}.rail-anchor{position:relative}.rail-pop{background:var(--surface);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;gap:8px;width:min(270px,100vw - 86px);padding:12px 14px;display:flex;position:absolute;top:0;right:56px;box-shadow:0 4px 18px #00000024}.grabber{touch-action:none;cursor:pointer;place-items:center;height:22px;margin:-12px -14px -6px;display:grid}.grabber span{background:var(--line);border-radius:2px;width:38px;height:4px}.sheet.compact{gap:10px;padding-bottom:12px}.pose-bar{align-items:center;gap:8px;min-height:40px;display:flex}.pose-bar>.note{flex:1}.icon-button{background:#ebe6db;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.selection-actions{flex:1;align-items:center}.selection-name{margin-right:2px;font-size:15px}.chips button.chip-icon{place-items:center;width:38px;padding:0;display:grid}.chip-icon svg{width:18px;height:18px}.file-button.disabled{opacity:.45;pointer-events:none}.chips button:has(.swatch){align-items:center;gap:6px;padding-left:8px;display:inline-flex}.swatch{background:var(--bg);border-radius:50%;width:20px;height:20px;position:relative;box-shadow:inset 0 0 0 1px #0000002e}.swatch:after{content:"";background:var(--fig);border-radius:50%;position:absolute;inset:5px}.look-custom{gap:16px;display:flex}.look-custom label{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.look-custom input[type=color]{border:1px solid var(--line);background:0 0;border-radius:8px;width:40px;height:32px;padding:0}.sheet{transition:opacity .15s}.sheet.aside{opacity:0;pointer-events:none}.menu-button{background:var(--surface);border-radius:999px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 1px 4px #00000014}.menu-button.on{background:var(--ink);color:var(--paper)}.menu-head{align-items:center;gap:10px;display:flex}.menu-head img{border-radius:9px;width:36px;height:36px}.menu-head b{letter-spacing:.02em;font-size:16px}.inapp-banner{z-index:12;top:calc(var(--safe-top) + 62px);border-radius:var(--radius);color:#f4f1ea;background:#2e2d33;flex-direction:column;gap:10px;width:min(100% - 16px,520px);padding:12px 12px 12px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0003}.inapp-banner p{margin:0;font-size:13px;line-height:1.45}.inapp-actions{align-items:center;gap:8px;display:flex}.inapp-open{color:#2e2d33;background:#ffb578;border-radius:12px;flex:1;min-height:40px;font-size:14px;font-weight:600}.inapp-banner .icon-button{color:#f4f1ea;background:#ffffff1f}.chips .chip-link{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.share-link{color:var(--ink-2);font-variant-numeric:tabular-nums;word-break:break-all;background:#ebe6db;border-radius:10px;padding:8px 12px;font-size:13px}.menu-head .beta{letter-spacing:.04em;color:#2e2d33;background:#ffb578;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}
