:root{color-scheme:light;--bg: #f1f1ef;--panel: #ffffff;--sunk: #fafaf9;--line: rgba(23, 23, 26, .09);--line-strong: rgba(23, 23, 26, .18);--ink: #17171a;--ink-2: #5c5c66;--ink-3: #93949f;--warn: #a9500f;--warn-bg: #fdf3e7;--warn-line: rgba(169, 80, 15, .35);--ok: #17693f;--ok-bg: #eaf4ee;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--r-sm: 6px;--r-md: 9px;--r-pill: 999px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,system-ui,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:where(button,textarea,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-sm)}.shell{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(280px,360px);height:100vh}.panel{overflow:auto;padding:16px;background:var(--panel)}.panel--assets{border-right:1px solid var(--line)}.panel--chat{border-left:1px solid var(--line);display:flex;flex-direction:column;padding-bottom:12px}.panel--canvas{background:var(--bg);display:flex;flex-direction:column;gap:0;padding:0}.panel__title{margin:0 0 12px;font-size:12px;font-weight:600;color:var(--ink-3)}.panel__hint{font-size:12px;color:var(--ink-3);margin-top:12px}.asset-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.asset{display:grid;gap:0;width:100%;text-align:left;font:inherit;color:var(--ink);padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.asset:hover{background:var(--sunk);border-color:var(--line-strong)}}.asset:active{transform:scale(.97)}.asset--selected{background:var(--sunk);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.asset--selected .asset__name{font-weight:600}.asset--selected .asset__kind{color:var(--ink-2)}.asset__kind{font-size:11px;color:var(--ink-3)}.asset__name{font-size:13px;font-weight:500;word-break:break-all}.asset__note{font-size:11px;color:var(--ink-3)}.btn{font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;transition:transform .15s var(--ease-out),background-color .15s ease,border-color .15s ease,opacity .15s ease}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){background:var(--sunk)}}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}@media(hover:hover)and (pointer:fine){.btn--primary:hover:not(:disabled){background:#2b2b31}}.btn--primary:disabled{background:transparent;color:var(--ink-3);border-color:var(--line);opacity:1}.canvas-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.canvas-bar__spacer{flex:1}.canvas-bar__actions{display:flex;gap:6px;flex:none}.dirty{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-2);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.dirty:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-3);flex:none}@starting-style{.dirty{opacity:0;transform:translateY(-3px)}}.viewbar{flex:none;display:flex;align-items:center;gap:1px;padding:1px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunk)}.viewbar__btn{min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;font:inherit;font-size:12px;line-height:1;color:var(--ink-2);background:transparent;border:0;border-radius:4px;cursor:pointer;transition:background-color .12s ease,color .12s ease,transform .15s var(--ease-out)}.viewbar__btn--wide{font-size:11px;padding:0 7px}@media(hover:hover)and (pointer:fine){.viewbar__btn:hover{background:var(--panel);color:var(--ink)}}.viewbar__btn:active{transform:scale(.9)}.viewbar__level{min-width:42px;text-align:center;font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums}.canvas-stage{position:relative;flex:1;overflow:auto;display:grid;place-items:center;place-items:safe center;padding:40px 28px 28px}.artboard{position:relative}.canvas-stage .canvas-container{border-radius:2px;box-shadow:0 0 0 1px #17171a14,0 1px 2px #17171a14,0 12px 32px -12px #17171a47;transition:box-shadow .26s var(--ease-out)}.canvas-stage[data-review=not_reviewed] .canvas-container,.canvas-stage[data-review=changes_required] .canvas-container{box-shadow:0 0 0 2px var(--warn-line),0 1px 2px #17171a14,0 12px 32px -12px #17171a47}.draft-overlay{position:absolute;bottom:calc(100% + 8px);left:0;pointer-events:none;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);font-size:11px;font-weight:600;letter-spacing:.01em;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.draft-overlay:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}@starting-style{.draft-overlay{opacity:0;transform:translateY(-4px)}}.role-tag{position:absolute;bottom:calc(100% + 8px);right:0;margin:0;pointer-events:none;display:inline-flex;align-items:center;gap:8px;max-width:62%;padding:4px 10px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--line-strong);color:var(--ink-2);font-size:11px;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.role-tag__name{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag__hint{flex:none;padding-left:8px;border-left:1px solid var(--line);color:var(--ink-3);white-space:nowrap}@starting-style{.role-tag{opacity:0;transform:translateY(-4px)}}.shortcut-help{position:absolute;top:12px;right:16px;z-index:2;display:grid;gap:10px;min-width:208px;padding:11px 13px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 8px 24px -12px #17171a4d;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}@starting-style{.shortcut-help{opacity:0;transform:translateY(-6px)}}.shortcut-help__group{display:grid;gap:4px}.shortcut-help__title{margin:0;font-size:11px;font-weight:600;color:var(--ink-3)}.shortcut-help__list{margin:0;display:grid;gap:2px}.shortcut-help__row{display:flex;align-items:baseline;gap:12px}.shortcut-help__row dt{font-size:12px;color:var(--ink)}.shortcut-help__row dd{margin:0 0 0 auto;font-size:11px;color:var(--ink-3);white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--r-pill);font-size:11px;font-weight:600;border:1px solid transparent;flex:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.badge--not_reviewed,.badge--changes_required{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.badge--approved{background:var(--ok-bg);color:var(--ok);border-color:#17693f47}.revisions{background:var(--panel);border-top:1px solid var(--line);padding:12px 16px 14px;display:grid;gap:8px}.revisions__title{margin:0;font-size:12px;font-weight:600;color:var(--ink-3);display:flex;align-items:center;gap:6px}.revisions__count{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--sunk);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 6px;font-variant-numeric:tabular-nums}.revision-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:168px;overflow:auto}.revision__dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--ink-3);transition:background-color .2s ease}.revision__dot[data-state=not_reviewed],.revision__dot[data-state=changes_required]{background:var(--warn)}.revision__dot[data-state=approved]{background:var(--ok)}.revision{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;font:inherit;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.revision:hover{background:var(--sunk)}}.revision:active{transform:scale(.99)}.revision--current{background:var(--sunk)}.revision--current .revision__note{color:var(--ink);font-weight:500}.revision__note{font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revision__source{margin-left:auto;flex:none;font-size:10px;color:var(--ink-3);white-space:nowrap}.revision-list li{transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}@starting-style{.revision-list li{opacity:0;transform:translateY(-6px)}}.selection-chip{align-self:flex-start;max-width:100%;margin:10px 0 0;display:inline-flex;align-items:center;gap:6px;padding:3px 3px 3px 10px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--sunk);color:var(--ink);font-size:12px;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.selection-chip:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-3);flex:none}@starting-style{.selection-chip{opacity:0;transform:translateY(4px)}}.selection-chip__label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-chip__clear{flex:none;width:18px;height:18px;display:grid;place-items:center;padding:0;font:inherit;font-size:10px;line-height:1;color:var(--ink-2);background:transparent;border:0;border-radius:50%;cursor:pointer;transition:background-color .12s ease,color .12s ease,transform .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.selection-chip__clear:hover{background:#17171a14;color:var(--ink)}}.selection-chip__clear:active{transform:scale(.9)}.chat-log{list-style:none;margin:0;padding:0;flex:1;overflow:auto;display:grid;gap:8px;align-content:end}.chat-empty{display:grid;gap:4px;justify-items:start;font-size:12px;color:var(--ink-3);padding:10px 0}.chat-empty__eg{font-size:12px;color:var(--ink-2);background:var(--sunk);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px 8px}.chat-msg{padding:8px 11px;border-radius:var(--r-md);font-size:13px;white-space:pre-wrap;max-width:92%;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.chat-msg--user{background:var(--ink);color:#fff;justify-self:end;border-bottom-right-radius:3px}.chat-msg--assistant{background:var(--sunk);border:1px solid var(--line);justify-self:start;border-bottom-left-radius:3px}@starting-style{.chat-msg{opacity:0;transform:translateY(6px)}}.chat-progress{display:flex;align-items:center;gap:7px;margin:8px 0 0;font-size:12px;color:var(--ink-2);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.chat-progress:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warn);flex:none;animation:pulse 1.1s ease-in-out infinite}@starting-style{.chat-progress{opacity:0;transform:translateY(4px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.chat-form{display:grid;gap:8px;margin-top:12px;justify-items:end}.chat-form .btn{padding:6px 16px}.chat-form textarea{width:100%;resize:vertical;font:inherit;font-size:13px;padding:9px 11px;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);transition:border-color .15s ease,box-shadow .15s ease}.chat-form textarea::placeholder{color:var(--ink-3)}.chat-form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #17171a14}.chat-form textarea:disabled{background:var(--sunk);color:var(--ink-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:active:not(:disabled),.revision:active,.asset:active,.viewbar__btn:active,.selection-chip__clear:active{transform:none}}
