/* Studio-only styles: never loaded by shared invitations. */
:root{--paper:#f5f6f3;--surface:#fff;--ink:#1c2420;--muted:#616c66;--line:#e1e5df;--line-strong:#d3d9d2;--accent:#1f4d3d;--accent-hover:#173b2f;--accent-soft:#e7efe9;--warn:#7a4a2b;--radius:12px;--radius-lg:16px;--shadow:0 1px 2px #1c24200a,0 8px 24px -12px #1c242024;--ease:cubic-bezier(.16,1,.3,1)}
body{background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',Arial,sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.finished-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Header */
.studio-header{height:68px;padding:0 40px;border-bottom:1px solid var(--line);background:#f5f6f3e6;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);position:sticky;top:0;z-index:5}
.brand{font:24px Georgia,serif;color:var(--ink);display:flex;align-items:center;gap:16px}
.brand span{font:12px/1.5 'Noto Sans KR',Arial,sans-serif;color:var(--muted);border-left:1px solid var(--line-strong);padding-left:16px;margin-top:0}
.header-tools{gap:10px}
.header-tools select{height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);max-width:200px;font-size:13px}
#signin{font-size:13px;font-weight:500;color:#fff;background:var(--accent);text-decoration:none;padding:10px 18px;border-radius:999px;transition:background .2s}
#signin:hover{background:var(--accent-hover)}
#account{font-size:13px;color:var(--muted)}

/* Shared controls */
.primary,.secondary{border-radius:10px;min-height:48px;font-size:15px;font-weight:500;transition:background .2s,border-color .2s,transform .15s var(--ease)}
.primary{background:var(--accent);border:1px solid var(--accent);color:#fff}
.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}
.secondary:hover:not(:disabled){background:var(--accent-soft);border-color:#b9c9be}
.primary:active:not(:disabled),.secondary:active:not(:disabled){transform:scale(.985)}
.wide{margin-top:12px}
.icon-button{width:38px;height:38px;border:1px solid var(--line-strong);border-radius:10px;color:var(--ink);background:var(--surface);transition:background .2s}
.icon-button:hover:not(:disabled){background:var(--accent-soft)}
.icon-button:disabled{opacity:.4;cursor:default}
.status{font-size:13px;line-height:1.7;color:var(--warn);background:#f6efe8;border-radius:10px;padding:12px 14px;margin:18px 0 0;min-height:0}
.status:empty{display:none}
.quiet{color:var(--muted);font-size:13px;line-height:1.7}

/* Design library */
body[data-step=design] .studio{max-width:1280px}
body[data-step=design] .workspace{padding:64px 40px 88px}
.collection-heading{text-align:left;margin:0 0 36px}
.collection-heading .collection-label{font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--accent)}
.workspace .collection-heading h1{font:700 40px/1.3 'Nanum Myeongjo',Georgia,serif;margin:14px 0 0;letter-spacing:-.01em}
.collection-heading p{font:15px/1.7 'Noto Sans KR',Arial,sans-serif;color:var(--muted);margin:12px 0 0;max-width:46ch}
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
.library-filters{display:flex;gap:8px;flex-wrap:wrap}
.library-filters button{background:transparent;border:1px solid var(--line-strong);border-radius:999px;padding:0 18px;font-size:14px;color:var(--muted);min-height:40px;transition:background .2s,color .2s,border-color .2s}
.library-filters button:hover{border-color:var(--ink);color:var(--ink)}
.library-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}
.library-count{font-size:13px;color:var(--muted);white-space:nowrap}
.finished-examples{grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 28px}
.finished-example{min-width:0}
.finished-open{border:1px solid var(--line);border-radius:var(--radius-lg);aspect-ratio:3/4;background:var(--surface);box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .2s}
.finished-open:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 2px 4px #1c24200a,0 24px 40px -20px #1c242040}
.finished-caption{margin:0;padding:16px 2px 0;font-size:15px;line-height:1.5}
.design-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:500}
.design-title svg{width:28px;height:28px;padding:6px;border-radius:50%;color:var(--muted);flex-shrink:0;transition:background .2s,color .2s}
.finished-example:hover .design-title svg{background:var(--ink);color:#fff}
.finished-caption small{font-size:13px;color:var(--muted);margin-top:2px}
.design-palette{display:flex;gap:6px;margin-top:12px}
.design-palette span{display:block;width:14px;height:14px;border:1px solid #1c242022;border-radius:50%}

/* Editor layout */
.studio{grid-template-columns:minmax(380px,460px) minmax(0,1fr);max-width:1360px}
.workspace{padding:36px 36px 56px;background:var(--surface);border-color:var(--line)}
body[data-step=design] .workspace{background:transparent}
.workspace h1{font:700 26px/1.45 'Nanum Myeongjo',Georgia,serif;margin-bottom:24px}
.workspace h2{font-size:16px;font-weight:500}
body:not([data-step=design]) .steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 32px;padding:0;border:0}
.steps button{font-size:12px;border:1px solid transparent;border-radius:999px;min-height:36px;background:var(--paper);color:var(--muted);padding:6px 4px;transition:background .2s,color .2s}
.steps button:hover{color:var(--ink)}
.steps button.active{background:var(--accent);color:#fff;font-weight:500}
.field{color:var(--muted);font-size:13px;font-weight:500;margin:18px 0}
.field input,.field textarea,.field select{border:1px solid var(--line-strong);border-radius:10px;color:var(--ink);padding:12px 14px;margin-top:8px;background:var(--surface);box-shadow:none;font-size:15px;font-weight:400;line-height:1.6;transition:border-color .2s,box-shadow .2s}
.field input,.field select{min-height:48px}
.field input:hover,.field textarea:hover,.field select:hover{border-color:#aab6ad}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px #1f4d3d26}
#previous-step{background:none;border:0;color:var(--muted);min-height:44px;font-weight:400}
#previous-step:hover:not(:disabled){background:none;color:var(--ink);text-decoration:underline;text-underline-offset:4px}

/* Venue picker */
.workspace .venue-modes{gap:4px;border:0;background:var(--paper);padding:4px;border-radius:12px;margin-top:8px}
.workspace .venue-modes button{flex:1;border:0;border-radius:9px;padding:9px 12px;font-size:13px;color:var(--muted)}
.workspace .venue-modes button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:0 1px 3px #1c242018}
.workspace .venue-results{border-color:var(--line-strong);border-radius:12px}
.workspace .venue-results button{padding:12px 14px}
.workspace .venue-results button:hover{background:var(--accent-soft)}
.workspace .venue-count,.workspace .venue-source{color:var(--muted)}
.workspace .venue-source a{color:var(--accent)}

/* Photos */
.photo-list{gap:10px}.photo-list:empty{display:none}
.photo-list img{border-radius:10px}.photo-list small{color:var(--muted);margin-top:6px}
.upload-label{border:1.5px dashed #a9b9ae;background:var(--paper);border-radius:var(--radius-lg);padding:28px 20px;font-size:15px;font-weight:500;color:var(--ink);text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.upload-label:hover{border-color:var(--accent);background:var(--accent-soft)}
.upload-label input{margin-top:14px;font-size:13px;font-weight:400;color:var(--muted)}
.upload-label input::file-selector-button{font:inherit;margin-right:12px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}

/* Draft and natural-language editing */
.chat-feed{gap:8px;margin-bottom:20px;max-height:300px}.chat-feed:empty{display:none}
.chat-line{border:0;font-size:14px;line-height:1.65;padding:10px 14px;border-radius:14px;max-width:88%}
.chat-line.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.chat-line.assistant{align-self:flex-start;background:var(--paper);color:var(--ink);border-bottom-left-radius:4px}
.chat-form textarea{border:1px solid var(--line-strong);border-radius:12px;padding:14px;font-size:15px;line-height:1.75;min-height:124px;transition:border-color .2s,box-shadow .2s}
.chat-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px #1f4d3d26}
.suggestions{margin:12px 0 4px}
.suggestions button{border:1px solid var(--line-strong);border-radius:999px;font-size:13px;background:var(--surface);color:var(--ink);padding:8px 14px;transition:background .2s}
.suggestions button:hover{background:var(--accent-soft)}
.model-progress{margin-top:16px;accent-color:var(--accent)}
.edit-review{margin-top:24px;padding:20px;border:0;border-radius:var(--radius-lg);background:var(--paper)}
.edit-review ul{font-size:14px;color:var(--ink)}
.creator-responses{margin-top:12px}.creator-responses .secondary{flex:1}

/* Sharing */
.workspace .share-result{border:0;border-radius:var(--radius-lg);background:var(--paper);padding:20px;margin:20px 0 8px}
.share-address{color:var(--muted);font-weight:500}
.share-address input{border:1px solid var(--line-strong);border-radius:10px;padding:12px 14px;background:var(--surface);color:var(--ink)}
.share-actions .secondary{min-height:42px;font-size:14px;padding:8px 14px}
.share-stop{color:var(--warn)}

/* Preview: phone frame */
.preview-workspace{background:#eceee9;padding:24px 32px 32px}
.preview-bar{max-width:402px;margin:0 auto 18px;padding:0;border:0;color:var(--muted);font-size:13px;min-height:38px}
#preview-title{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.preview-scroll{width:min(100%,402px);margin:0 auto;border:10px solid var(--ink);border-radius:44px;background:var(--surface);height:calc(100dvh - 180px);min-height:560px;max-height:820px;box-shadow:0 40px 60px -36px #1c242066;scrollbar-width:none}
.preview-scroll::-webkit-scrollbar{display:none}
.preview-scroll>.mobile-invitation,.preview-scroll .mobile-invitation{box-shadow:none}

/* Dialogs */
dialog{border-radius:20px;box-shadow:0 30px 80px -20px #1c242080}
dialog::backdrop{background:#141c188c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.dialog-tools{border-bottom:1px solid var(--line);padding:14px 18px;gap:12px}
#sample-dialog .dialog-tools>span{font-size:14px;color:var(--ink);font-weight:500}
.dialog-tools h2{font:700 18px 'Nanum Myeongjo',Georgia,serif}
.example-selects label{font-size:12px;font-weight:500;color:var(--muted)}
.example-selects select{border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;min-height:44px;color:var(--ink);font-size:14px}
.guestbook-jump{color:var(--accent);text-underline-offset:4px}

/* Guest responses */
.response-project{color:var(--muted)}
.response-tabs{border-color:var(--line)}
.response-tabs button{color:var(--muted)}
.response-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}
.response-summary dl{gap:10px;border:0;padding:0}
.response-summary dl>div{background:var(--paper);border-radius:12px;padding:14px 16px}
.response-summary dt{color:var(--muted)}.response-summary dd{color:var(--ink);font:700 24px 'Nanum Myeongjo',Georgia,serif}
.response-toolbar input,.response-toolbar select{border-color:var(--line-strong);border-radius:10px;min-height:42px}
.response-table th{background:var(--paper);color:var(--muted)}
.response-table td,.response-table th,.response-message{border-color:var(--line)}
.response-status,.response-delete{color:var(--warn)}

@media(max-width:1000px){.finished-examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 20px}.studio{grid-template-columns:minmax(340px,420px) minmax(0,1fr)}.preview-workspace{padding:24px 18px}}
@media(max-width:850px){.studio{grid-template-columns:1fr}.studio-header{padding:0 24px}.brand span{display:none}.workspace{padding:28px 24px 40px}body[data-step=design] .workspace{padding:44px 24px 64px}.preview-workspace{padding:28px 16px 40px}.preview-scroll{height:720px;min-height:0;max-height:none}}
@media(max-width:650px){.finished-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.finished-open{border-radius:var(--radius)}.collection-heading h1{font-size:32px}.library-toolbar{gap:14px;flex-wrap:wrap}.library-count{margin-left:auto}.finished-caption{padding-top:12px;font-size:14px}.finished-caption small{font-size:12px}.design-title svg{display:none}}
@media(max-width:520px){.studio-header{position:relative;height:auto;min-height:64px;padding:12px 16px;gap:12px;flex-wrap:wrap}.brand{font-size:22px}.header-tools{gap:8px}.header-tools select{max-width:116px;font-size:12px}#signin{padding:9px 14px}.workspace{padding:24px 16px 36px}body[data-step=design] .workspace{padding:32px 16px 52px}.collection-heading{margin-bottom:24px}.collection-heading h1{font-size:28px}.collection-heading p{font-size:14px}.library-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px;scrollbar-width:none;width:calc(100% + 32px)}.library-filters::-webkit-scrollbar{display:none}.library-filters button{flex-shrink:0;font-size:13px;padding:0 14px}.library-count{display:none}.preview-workspace{padding:24px 12px 32px}.preview-scroll{border-width:8px;border-radius:36px;height:680px}dialog{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.finished-open,.primary,.secondary,.design-title svg{transition:none}.finished-open:hover{transform:none}.primary:active:not(:disabled),.secondary:active:not(:disabled){transform:none}}
