:root{--ink:#2a2622;--ink2:#3d3732;--muted:#776b61;--line:#e8e5e2;--paper:#f8f4f1;--accent:#1d4ed8;--accent-soft:#e8eefd;--warning:#845611}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 system-ui,'Malgun Gothic',sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;padding:9px 13px}button:hover{background:#f4f6fc;border-color:#a4b3da}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#173eaf;color:white}button:focus-visible,input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:3px}input,textarea,select{border:1px solid #d9d4cf;border-radius:8px;padding:10px 12px;background:white;max-width:100%}textarea{resize:vertical;width:100%;min-height:88px}p{color:var(--muted);margin:8px 0}h1,h2,h3{line-height:1.35;letter-spacing:-.035em}h1{font-size:25px;margin:7px 0 10px}h2{font-size:25px;margin:9px 0 12px}h3{font-size:16px;margin:0 0 12px}.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 24px;background:white}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:18px;font-weight:750}.brand-mark{display:grid;place-items:center;background:var(--ink);color:white;width:32px;height:32px;border-radius:9px;font-size:19px}.account,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.workspace-shell{display:grid;grid-template-columns:200px minmax(300px,360px) minmax(0,1fr);height:calc(100dvh - 72px)}.sidebar{display:flex;flex-direction:column;padding:26px 16px;background:#fcfbfa;border-right:1px solid var(--line);overflow:auto}.sidebar-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#948677}.sidebar-label{margin:0 12px 16px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.tab{text-align:left;background:none;border:0;font-weight:550;padding:12px}.tab.active{background:var(--accent-soft);color:#1e3fa8;font-weight:750}.sidebar-bottom{margin-top:auto;padding:24px 12px 0}.sidebar-bottom button{width:100%;text-align:left;margin-bottom:22px}.sidebar-bottom p{font-size:12px}.beta-label{font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.8px;color:var(--muted)}#catalog{min-width:0;overflow:auto;padding:24px 20px 90px;border-right:1px solid var(--line);scrollbar-gutter:stable}.catalog-heading{margin-bottom:24px}.catalog-heading p{font-size:13px}.search{display:flex;align-items:center;gap:8px;background:white;border:1px solid #d9d4cf;border-radius:9px;padding:0 10px}.search input{border:0;background:none;min-width:0;width:100%;padding:11px 0}.role-filters{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.chip{border-radius:20px;padding:5px 12px;font-size:12px}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.catalog-count{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;font-size:12px}.cards{display:grid;gap:12px}.card{padding:18px;background:white;border:1px solid var(--line);border-radius:12px}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.card h3{font-size:18px;margin:12px 0 7px}.card p{font-size:13px;line-height:1.55}.recipe-id{font:11px ui-monospace,monospace;color:#9b8d7f}.badge{display:inline-block;font-size:10px;padding:2px 7px;background:#f5f1ed;color:#71665c;border-radius:5px;line-height:1.6}.ai-tag{background:#f7edd7;color:#8a621b}.tags{display:flex;gap:4px;flex-wrap:wrap}.combo{display:block;color:#948576;font-size:10px;margin:12px 0;overflow-wrap:anywhere}.card-bottom{margin-top:14px}.card-bottom button{font-size:12px;white-space:nowrap;border:0;padding:6px 0;color:var(--accent)}.catalog-foot{font-size:11px;margin-top:24px;color:var(--muted)}.catalog-foot p{font-size:11px}.detail-dock{overflow:auto;min-width:0;background:#fff;scrollbar-gutter:stable}.empty-detail{height:100%;min-height:450px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px;color:var(--muted)}.empty-detail h2{font-size:22px;color:var(--ink)}.empty-symbol{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:32px;margin-bottom:14px}.empty-detail .badge{margin-top:22px}.surface-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;background:white;border-bottom:1px solid var(--line);padding:15px 24px;position:sticky;top:0;z-index:3}.surface-heading>span{font-size:12px;color:var(--muted)}.surface-heading h2{font-size:20px;margin:0}.surface-heading button{font-size:12px;border:0}#detail,#history,#admin,#sources{padding:26px 28px 90px}.detail-meta{display:flex;gap:8px;align-items:center;color:#958779;font-size:11px}.review-notice{font-size:11px;background:#fff8e9;display:inline-block;padding:4px 8px;border-radius:5px;color:#89651e}.recipe-section{border-bottom:1px solid var(--line);padding:24px 0}.recipe-section p,.recipe-section li{font-size:13px}.recipe-section ul{padding-left:20px;color:var(--muted)}.section-number{display:inline-grid;place-items:center;background:var(--ink);color:white;width:24px;height:24px;border-radius:7px;font:650 12px/1 ui-monospace,monospace;margin-right:7px}.section-title{margin:26px 0 18px}.panel{padding:20px;border:1px solid var(--line);border-radius:10px;margin:0 0 18px;background:white}.panel label{display:block;margin:15px 0 5px;font-size:13px;font-weight:650}.panel label small{font-weight:400;color:var(--muted);font-size:11px}.panel input:not([type=checkbox]),.panel textarea{width:100%}.panel p{font-size:13px}.panel .actions{margin-top:12px}.hint{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0 12px}.detail-grid{display:block}.detail-grid>*{min-width:0}.promptArea{min-height:230px;background:#faf9f7;font:12px/1.7 ui-monospace,monospace}.resultArea{min-height:160px}.connection{padding:12px;border:1px solid #ebd8ae;background:#fff8e9;border-radius:8px;color:var(--warning);font-size:12px;margin:14px 0}.check{display:flex!important;align-items:flex-start;gap:9px;font-size:12px!important}.check input{margin-top:4px;width:16px;min-width:16px;height:16px}.qaItem{padding:13px;background:#faf9f7;border:1px solid var(--line);border-radius:8px;margin:10px 0;font-size:12px}.qaItem .badge{margin-left:6px}.qaItem p{font-size:12px;overflow-wrap:anywhere}summary{cursor:pointer;font-weight:650;font-size:13px}details.panel{padding:16px}details[open] summary{margin-bottom:14px}.floating-guide{position:fixed;right:24px;bottom:22px;z-index:5;background:#2a2622;color:white;border:0;border-radius:24px;padding:12px 19px;box-shadow:0 6px 22px #14203b25;font-size:12px}.floating-guide:hover{background:#413b35;color:white}dialog{padding:26px;border:1px solid var(--line);border-radius:16px;max-width:440px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;color:var(--ink);background:white;box-shadow:0 24px 80px #11182730}dialog::backdrop{background:#11182765}#loginDialog input{width:100%;margin:8px 0 14px}.detail-dialog{padding:0;max-width:860px;width:calc(100% - 48px)}.guide-dialog{max-width:640px;padding:0}.guide-step{display:flex;gap:14px;padding:20px 25px;border-bottom:1px solid var(--line)}.guide-step>.section-number{flex:none;margin-top:2px}.guide-step h3{margin:0 0 5px}.guide-step p{font-size:13px}.guide-step button{font-size:12px;color:var(--accent);margin-top:8px}.menu-dialog{margin:0;height:100dvh;max-height:none;width:280px;border-radius:0;padding:10px}.menu-dialog>button{width:100%;margin:8px 0;text-align:left}.mobile-menu,.bottom-nav{display:none}#message:empty,#surfaceMessage:empty{display:none}#message:not(:empty),#surfaceMessage:not(:empty){background:#fff8e9;border:1px solid #ebd8ae;border-radius:8px;color:#81521a;padding:12px;font-size:12px;margin:12px 0;overflow-wrap:anywhere}#surfaceMessage:not(:empty){margin:12px 24px}.empty-card{padding:24px 16px;color:var(--muted);font-size:13px;border:1px dashed #d9d4cf;border-radius:10px}.entry h3{margin-bottom:8px}.adminPrompt{min-height:260px!important}.entry input,#historySearch{width:100%;margin:12px 0 20px}.result{white-space:pre-wrap;overflow-wrap:anywhere}
@media(min-width:1440px){.workspace-shell{grid-template-columns:220px 400px minmax(0,1fr)}#detail,#history,#admin,#sources{max-width:900px;margin:auto;padding-left:40px;padding-right:40px}}
@media(min-width:720px) and (max-width:1023px){.workspace-shell{grid-template-columns:190px minmax(0,1fr)}.detail-dock{display:none}#catalog{padding:26px 30px 90px;border:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{padding:0 20px}.card-bottom{flex-wrap:wrap}}
@media(max-width:719px){.app-header{height:64px;padding:0 12px;gap:8px}.brand{font-size:13px;gap:6px}.brand-mark{width:27px;height:27px;font-size:16px}.account{gap:4px}.account button{font-size:11px;padding:8px}.account select{font-size:11px;padding:8px 4px;max-width:77px}.mobile-menu{display:block;font-size:11px;padding:8px;border:0}.sidebar,.detail-dock{display:none}.workspace-shell{display:block;height:calc(100dvh - 64px)}#catalog{height:100%;padding:22px 16px 150px;border:0}h1{font-size:25px}.role-filters{gap:7px}.chip{min-height:36px}.cards{gap:13px}.card{padding:20px}.card h3{font-size:19px}.card p{font-size:14px}.card-bottom button{min-height:38px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;justify-content:space-around;background:white;border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;font-size:12px;min-height:42px;padding:8px 24px}.floating-guide{bottom:76px;right:16px;font-size:11px;padding:11px 16px}.detail-dialog{margin:auto 0 0;width:100%;max-width:none;height:92dvh;max-height:92dvh;border-radius:20px 20px 0 0;border-bottom:0}.surface-heading{padding:14px 18px}.surface-heading button{min-height:36px}#detail,#history,#admin,#sources{padding:20px 18px 70px}.panel{padding:16px}.panel .actions button{min-height:44px}h2{font-size:24px}.guide-dialog{max-height:86dvh}.guide-step{padding:18px}.promptArea{min-height:240px}#surfaceMessage:not(:empty){margin:10px 18px}}

/* 2026-10-09: workspace navigation uses the requested hamburger drawer at every width. */
.menu-toggle{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:10px;border:0;background:transparent}.hamburger{display:flex;flex-direction:column;gap:5px;width:21px}.hamburger span{display:block;height:2px;width:100%;border-radius:2px;background:var(--ink)}.app-header{justify-content:flex-start;gap:12px}.app-header>.account{margin-left:auto}.sidebar{display:none}.workspace-shell{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}
@media(min-width:1440px){.workspace-shell{grid-template-columns:400px minmax(0,1fr)}}
@media(min-width:720px) and (max-width:1023px){.workspace-shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:719px){.app-header{gap:5px}.menu-toggle{width:34px;height:40px;padding:6px}.brand{font-size:12px}.brand-mark{display:none}}

/* UI guide v0.3: indigo, quiet cards, persistent shell and responsive detail. */
 #accessForm label{display:block;margin-top:14px}#accessForm input,#accessForm select{display:block;width:100%;margin:8px 0}#accessForm button{margin-top:10px}#authAlternatives button{width:100%;margin:5px 0}#accessStatus{overflow-wrap:anywhere}
:root{--ink:#2a2622;--ink2:#524a43;--muted:#7b6f64;--line:#efe9e2;--paper:#f9f7f4;--accent:#4a54d1;--accent-soft:#eef0fc}
/* Three-step work surface: supporting information stays available without competing with the task. */
html,body{height:100%;overflow:hidden}body{display:flex;flex-direction:column}.app-header,.beta-banner,.test-access{flex-shrink:0}.workspace-shell{flex:1;min-height:0;height:auto!important;width:100%}#catalog{height:100%}.detail-dock{height:100%}.section-nav button:disabled{opacity:.45;cursor:default}
.recipe-about{padding:12px 0 18px;margin-bottom:14px;border-bottom:1px solid var(--line)}.recipe-about>summary{font-size:12px;color:var(--muted);font-weight:500}.recipe-about .recipe-section{padding:14px 0}.summary-note{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:4px 0 0}.input-panel>summary{font-size:15px;line-height:1.5}.input-panel[open]>summary{margin-bottom:12px}
#taskForm textarea{min-height:64px}#taskForm #f-materials{min-height:130px}#taskForm>label{margin-top:14px}#taskForm .hint{margin-bottom:8px}.prompt-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.prompt-heading h3{margin:0}.prompt-heading .actions{margin:0}.prompt-heading button{font-size:12px}.secondary-actions button{border:0;background:transparent;color:var(--muted);font-size:12px;padding-left:0;padding-right:14px}#copyPanel>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.promptArea{min-height:250px;font-size:13px}
#reviewPanel #savePanel{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:18px 0 0;margin:20px 0 0}#saveJob{background:var(--accent);border-color:var(--accent);color:white}.connection-details{margin:14px 0}.connection-details summary{font-size:12px;font-weight:500;color:var(--muted)}#qaReport:empty{display:none}#notice{display:none}.catalog-foot{margin-top:18px}.review-notice{padding:0;border:0;margin:2px 0 8px}.detail-actions{margin:10px 0 16px}
.result-meta{margin:12px 0}.result-meta>summary{font-size:12px;font-weight:500;color:var(--muted)}#reviewPanel #savePanel{border:0;margin:0;padding:0}#saveState{margin-bottom:0}
.has-detail .card{padding:15px}.has-detail .card h3{font-size:16px}.has-detail .combo{display:none}.has-detail .card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.has-detail .card-bottom{margin-top:8px}.floating-guide{background:white;color:var(--muted);border:1px solid var(--line);box-shadow:0 3px 15px #14203b15;padding:10px 15px}.floating-guide:hover{background:var(--accent-soft);color:var(--accent)}
@media(max-width:719px){.prompt-heading{align-items:flex-start;gap:10px}.prompt-heading .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.prompt-heading button{width:100%}.detail-actions{display:grid;grid-template-columns:1fr}.detail-actions button{width:100%}.section-nav button{flex:1;font-size:12px}.recipe-about{margin-bottom:12px}.panel{margin-bottom:14px}.secondary-actions{gap:0}.secondary-actions button{font-size:11px}#qaButton,#saveJob{width:100%}}
button{min-height:44px}.primary:hover{background:#3a43b8}.brand-mark{background:var(--accent)}.app-header{height:60px}
.beta-banner{padding:9px 24px;border-bottom:1px dashed #d5daf7;color:var(--muted);background:#fff;font-size:12px}
.workspace-shell{max-width:1600px;margin:auto;height:calc(100dvh - 99px);grid-template-columns:minmax(0,1fr)}
.workspace-shell:not(.has-detail) .detail-dock{display:none}
.workspace-shell:not(.has-detail) #catalog{max-width:1320px;width:100%;margin:auto;border:0}
.workspace-shell:not(.has-detail) .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.workspace-shell.has-detail{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}
#emptyDetail{display:none}.catalog-heading{margin-bottom:20px}.card{cursor:pointer;transition:border-color .12s,box-shadow .12s}.card:hover,.card:focus-visible{border-color:var(--accent);box-shadow:0 5px 20px #4a54d110;outline:2px solid transparent}.card .hint{margin:0}.card-bottom{margin-top:8px}.ai-tag{background:var(--accent-soft);color:#3a43b8}.chip.active{background:var(--accent-soft);color:var(--accent);border-color:#d5daf7}.card .combo{font-size:12px}
.detail-actions{margin:14px 0 20px}.section-nav{display:flex;gap:4px;overflow:auto;position:sticky;top:68px;z-index:2;background:white;border-bottom:1px solid var(--line);padding:0}.section-nav button{white-space:nowrap;border:0;border-radius:0;background:white;color:var(--muted);border-bottom:2px solid transparent}.section-nav button.active{border-color:var(--accent);color:var(--accent)}
.recipe-section h3,.section-title,#reviewPanel>h3{border-left:3px solid var(--accent);padding-left:10px}.recipe-section,.panel{scroll-margin-top:125px}#reviewPanel{background:#f2f3f8;border-left:3px solid #0a5e46}.review-notice{border:1px dashed #d5daf7;background:transparent;color:var(--muted)}
.launch-options{display:grid;gap:10px;margin:20px 0}.launch-options button{display:flex;align-items:center;justify-content:space-between;text-align:left}.launch-options small{font-size:11px;color:var(--muted)}#launchCopy{min-height:190px}.favorite-card textarea{min-height:220px}.favorite-card input{font-size:17px;font-weight:650}.test-access{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 24px;background:#fbf0d6;font-size:12px}.test-access span{color:#6b4f00}.test-access:not([hidden])~.workspace-shell{height:calc(100dvh - 169px)}.menu-dialog{width:300px}
.favorite-source{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:18px;padding-top:12px;color:var(--muted);font-size:12px}.favorite-source small{display:block;margin-top:3px}.source-link{border:0;background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0;font-size:13px}.source-link:hover{background:var(--accent-soft)}
@media(min-width:720px) and (max-width:1023px){.workspace-shell.has-detail{grid-template-columns:1fr}.workspace-shell:not(.has-detail) .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-dialog{max-width:680px}.section-nav{top:68px}}
@media(max-width:719px){.beta-banner{padding:8px 14px;font-size:11px}.workspace-shell,.workspace-shell.has-detail{display:block;height:calc(100dvh - 105px)}.workspace-shell:not(.has-detail) .cards{grid-template-columns:1fr}.app-header{height:60px}.launch-dialog{margin:auto 0 0;width:100%;max-width:none;border-radius:20px 20px 0 0;padding:20px}.section-nav{top:65px}.section-nav button{font-size:12px;padding:7px 9px}.test-access{padding:10px 14px}.test-access:not([hidden])~.workspace-shell{height:calc(100dvh - 245px)}#catalog{padding-bottom:155px}.detail-actions button{font-size:12px}.brand{white-space:nowrap}.account select{max-width:65px}.account button{max-width:82px}.recipe-section,.panel{scroll-margin-top:120px}}

.input-intro{font-size:13px;color:var(--ink2)}.example-guide,.input-options,.common-guide{border:1px solid var(--line);border-radius:9px;padding:13px 15px;margin:16px 0;background:#fafaff}.example-guide{background:#f2f3ff;border-color:#dce0f7}.example-guide dl{margin:12px 0}.example-guide dt{font-size:12px;font-weight:650;color:var(--muted);margin-top:12px}.example-guide dd{margin:5px 0 14px;font-size:14px;white-space:pre-wrap}.example-preview{padding:10px 0;border-top:1px solid #dce0f7}.example-preview pre{font:13px/1.7 inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:white;border-radius:8px;padding:12px}.example-guide button{margin-top:10px}.input-preferences{display:grid;grid-template-columns:1fr 1fr;gap:14px}.input-preferences select{width:100%}#taskForm #f-context{min-height:66px}#taskForm #f-materials{min-height:116px}.common-value{display:block;font-weight:400;color:var(--muted);white-space:pre-wrap}.common-guide button{font-size:12px;margin:4px}#preferences{padding:24px}#preferencesForm textarea{min-height:66px}#preferencesForm select{width:100%}
@media(max-width:719px){#preferences{padding:20px 18px 70px}.example-guide,.input-options,.common-guide{padding:12px}.input-preferences{gap:10px}.input-preferences label{font-size:12px}}

.recipe-start{margin:16px 0 20px;padding:0 0 14px;border-bottom:1px solid var(--line)}.recipe-start h3{font-size:14px;margin:14px 0 6px}.recipe-start p{font-size:13px}.recipe-start .hint{margin-bottom:0}.example-preview pre{font-family:inherit;font-size:13px;line-height:1.7}

/* Prompt creation and storage is the primary product flow. */
.prompt-save{border-top:1px solid var(--line,#efe8e1);margin-top:20px;padding-top:16px}.prompt-save input{width:100%;box-sizing:border-box}.prompt-save .actions{margin-top:12px}.prompt-handoff{border-top:1px solid var(--line,#efe8e1);margin-top:20px;padding-top:8px}#generateState:empty{display:none}@media(max-width:600px){.prompt-save .actions,.prompt-handoff .actions{display:grid;grid-template-columns:1fr}.prompt-save button,.prompt-handoff button{width:100%}}

.storage-status{background:#f0f0ff;color:#39347d;border-radius:10px;padding:12px 14px}.connection-state{background:#f5f5fa;border-radius:10px;padding:14px}#connectionsDialog{width:min(560px,calc(100vw - 32px));box-sizing:border-box;max-height:85dvh;overflow:auto}#connectionsBody{line-height:1.7}#connectionsBody ol{padding-left:24px}
#connectionsBody{padding:16px 20px 20px}#connectionsBody>p:first-child{margin-top:0}#connectionsBody .connection-state{margin-bottom:16px}

/* Minimal navigation repair on the original visual baseline. */
html,body{overflow:clip}body{height:100dvh}.workspace-shell{min-height:0;margin:0 auto;flex:1;height:auto!important}.detail-dock,#catalog{overscroll-behavior:contain}.workspace-shell.has-detail:not(.picker-open){grid-template-columns:minmax(0,1fr)}.workspace-shell.has-detail.picker-open{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.detail-dock{display:block}.workspace-shell:not(.has-detail) .detail-dock{display:none}.surface-heading{position:sticky;top:0;flex-wrap:wrap;gap:8px;padding:10px 24px;min-height:60px}.surface-heading .actions{gap:8px}.quick-save{display:flex;align-items:center;gap:8px}.quick-save span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.surface-heading .quick-save button{font-size:13px;min-width:92px;border:1px solid var(--accent)}#preferences{max-width:900px;margin:auto}.floating-guide,#menuButton{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,140px));justify-content:center;position:relative;inset:auto;width:100%;flex:0 0 auto;min-height:66px;padding:4px 12px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;z-index:4;gap:4px}.bottom-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:4px 8px;border:0;border-radius:8px;font-size:12px;background:transparent;color:var(--muted)}.bottom-nav button::before{font-size:20px;line-height:24px;color:currentColor}.bottom-nav #toggleRecipes::before{content:'▦'}.bottom-nav #navWork::before{content:'✎'}.bottom-nav #navSaved::before{content:'▤'}.bottom-nav #navPreferences::before{content:'⚙'}.bottom-nav #navMore::before{content:'⋯'}.bottom-nav [aria-current="page"],.bottom-nav #navMore[aria-expanded="true"]{color:var(--accent);background:var(--accent-soft)}.bottom-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.execution-manual{padding:12px 0}.execution-manual pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:13px;line-height:1.7;background:var(--paper);padding:14px;border-radius:8px}#connectionCommand{width:100%;min-height:120px}#detailSurface{min-height:100%}#detail,#history,#sources,#admin{padding-bottom:32px}
@media(max-width:1023px){.workspace-shell.has-detail,.workspace-shell.has-detail.picker-open{display:block}.workspace-shell.has-detail #catalog{height:100%;max-height:none}.workspace-shell.has-detail.picker-open .detail-dock{display:none}.workspace-shell.has-detail:not(.picker-open) .detail-dock{display:block;height:100%}.workspace-shell.has-detail #catalog .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-heading{padding:8px 18px}.surface-heading>span{max-width:130px}.app-header{padding:0 16px}.test-access{padding:8px 16px;gap:6px}.test-access>span{display:none}.test-access strong{font-size:11px}.test-access button{font-size:11px;min-height:34px;padding:6px 9px}}
@media(max-width:599px){.workspace-shell.has-detail #catalog .cards{grid-template-columns:1fr}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:6px;padding-right:6px;gap:0}.bottom-nav button{font-size:11px;padding:4px 2px}.surface-heading{padding:8px 14px}.surface-heading>span{font-size:11px}.surface-heading .actions{gap:4px}.surface-heading .quick-save button{min-width:76px;min-height:38px}.surface-heading button{padding:7px 9px}.beta-banner{font-size:10px;padding:6px 14px}.test-access strong{width:100%}#detail,#history,#preferences,#sources,#admin{padding:20px 16px 32px}.app-header{padding:0 14px}.brand{font-size:14px}.account button{font-size:11px}.account select{max-width:65px}}

/* A persistent sidebar control, independent of the working content. */
@media(min-width:1024px){
 .bottom-nav{grid-template-columns:repeat(5,minmax(0,180px));gap:12px;min-height:90px;padding:10px 24px;background:#f0efff;border-top:1px solid #cecaf0;box-shadow:0 -3px 14px #35316c0a}
 .bottom-nav button{min-height:68px;gap:3px;padding:7px 16px;font-size:16px;font-weight:650;color:#574f48;background:#fff;border:1px solid #ddd9ef;border-radius:12px}
 .bottom-nav button::before{font-size:26px;line-height:28px}
 .bottom-nav button:hover{background:#e4e0ff;border-color:#ada5e5;color:#403596}
 .bottom-nav [aria-current="page"],.bottom-nav #navMore[aria-expanded="true"]{background:#5549bd;border-color:#5549bd;color:#fff;box-shadow:0 3px 8px #5549bd26}
 .bottom-nav button:focus-visible{outline:3px solid #29205f;outline-offset:2px}
}
.brand-controls{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;flex-shrink:0;background:transparent;border:0}.sidebar-toggle[aria-expanded="false"] .sidebar-arrow{transform:rotate(180deg);transform-origin:15px 12px}.workflow-overview{display:flex;justify-content:center;align-items:center;gap:24px;list-style:none;margin:0;padding:10px 16px;border-bottom:1px solid var(--line);background:white;flex-shrink:0;color:var(--muted);font-size:12px}.workflow-overview li{display:flex;align-items:center;gap:7px}.workflow-overview li+li::before{content:'›';margin-right:12px;color:#c4bdb5}.workflow-overview li>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px}
@media(max-width:599px){.brand-controls{gap:4px}.brand-mark{display:none}.brand{font-size:13px}.app-header{padding:0 8px;gap:4px}.account{gap:4px}.account button{padding:7px}.workflow-overview{gap:0;justify-content:space-between;padding:8px 12px;font-size:10px}.workflow-overview li{gap:4px}.workflow-overview li+li::before{margin-right:3px}.workflow-overview li>span{width:16px;height:16px;font-size:10px}}

#detail>.workflow-overview{justify-content:flex-start;flex-wrap:wrap;gap:8px 16px;margin:0 0 16px;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:599px){#detail>.workflow-overview{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:12px}#detail>.workflow-overview li+li::before{content:none}#detail>.workflow-overview li>span{width:20px;height:20px;font-size:11px}}

#examplePanel{padding:0;border:0;background:transparent;margin:16px 0}#examplePanel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 16px;border:1px solid #d5d0f3;border-radius:9px;background:#f2f0ff;color:#493c9f;list-style:none}#examplePanel>summary::-webkit-details-marker{display:none}#examplePanel>summary::after{content:'펼치기 ▾';font-size:12px;font-weight:500;white-space:nowrap}#examplePanel[open]>summary::after{content:'접기 ▴'}#examplePanel[open]{padding:0 16px 16px;border:1px solid #d5d0f3;background:#faf9ff;border-radius:9px}#examplePanel[open]>summary{margin:0 -16px 14px;border:0;border-bottom:1px solid #d5d0f3;border-radius:9px 9px 0 0}

.creation-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.creation-actions button{min-height:44px}.prompt-reference{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fafaff}.prompt-reference dl{margin:8px 0}.prompt-reference dt{font-size:12px;color:var(--muted)}.prompt-reference dd{margin:0 0 8px;overflow-wrap:anywhere}.prompt-reference code{overflow-wrap:anywhere}.skill-help{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:9px}.library-status{display:flex;align-items:center;gap:12px;margin:16px 0}.library-status .badge{font-size:12px}.saved-list{display:grid;gap:10px;margin:16px 0}.saved-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.saved-row h3{margin:0 0 5px}.saved-row p{margin:0 0 6px;font-size:13px}.saved-row small,.saved-row-actions>span{font-size:12px;color:var(--muted)}.saved-row-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.saved-row>div:first-child{min-width:0;overflow-wrap:anywhere}
@media(min-width:1024px){.bottom-nav{grid-template-columns:repeat(5,minmax(0,160px));gap:10px;min-height:80px;padding:7px 24px}.bottom-nav button{min-height:62px;font-size:15px}.bottom-nav button::before{font-size:24px;line-height:26px}}
@media(max-width:599px){.creation-actions{display:grid;grid-template-columns:1fr 1fr}.creation-actions button:last-child{grid-column:1/-1}.saved-row{align-items:flex-start;padding:14px;gap:10px}.saved-row-actions>span{max-width:90px}.prompt-reference{padding:12px}}

/* Clear hierarchy for creation, library, and account settings. */
.bottom-nav{grid-template-columns:repeat(4,minmax(0,170px))}.brand{font-size:20px}.surface-heading>span{font-size:15px;font-weight:600;color:var(--ink2)}#detail>.workflow-overview{font-size:14px}#detail>h2,#history>h2,#preferences>h2{font-size:28px}#history,#sources,#admin{width:100%;max-width:1000px;margin:0 auto}.menu-dialog{width:min(400px,calc(100vw - 32px));max-width:400px;padding:0}.menu-dialog .surface-heading strong{font-size:21px}.more-section{padding:18px 22px;border-bottom:1px solid var(--line)}.more-section h3{font-size:12px;color:var(--muted);margin:0 0 10px}.more-section button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;text-align:left;min-height:48px;padding:10px 12px;font-size:15px;border-radius:8px}.more-section button:hover{background:var(--accent-soft)}.more-section button span{font-size:22px;color:var(--muted)}.connection-switch{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:6px 10px;font-size:13px;border:0;background:transparent;white-space:nowrap}.connection-switch strong{font-size:12px;min-width:24px}.switch-track{display:inline-block;position:relative;width:40px;height:24px;border-radius:99px;background:#a79c90;flex-shrink:0}.switch-track::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002}.connection-switch[aria-checked="true"] .switch-track{background:#5549bd}.connection-switch[aria-checked="true"] .switch-track::after{left:19px}.connection-switch[aria-checked="true"]{color:#493c9f}.connection-heading{display:flex;justify-content:space-between;align-items:center}.connection-heading h3{margin:0}.connection-setup{border:1px solid var(--line);border-radius:10px;padding:16px;margin:18px 0}.connection-setup label{display:block;margin:12px 0 5px;font-size:13px;font-weight:600}.connection-setup input,.connection-setup select{width:100%}.connection-record{border-top:1px solid var(--line);padding:12px 0}.completion-toast{display:flex;align-items:center;gap:12px;position:fixed;top:78px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 28px);width:max-content;padding:14px 18px;background:#292443;color:white;border-radius:12px;box-shadow:0 8px 30px #22183d33;font-size:14px}.completion-toast>span:first-child{color:#bcf0d3;font-weight:800;font-size:20px}.completion-toast button{padding:0 5px;border:0;background:transparent;color:white;font-size:22px;min-width:30px}.completion-toast #completionText{overflow-wrap:anywhere}
@media(max-width:599px){.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.brand{font-size:15px}.surface-heading>span{font-size:13px}#detail>.workflow-overview{font-size:13px}#detail>h2,#history>h2,#preferences>h2{font-size:26px}.saved-row{flex-direction:column}.saved-row-actions{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:space-between}.saved-row-actions>span{max-width:none}.completion-toast{top:68px;font-size:13px;padding:12px}.more-section{padding:16px}}

.menu-dialog{margin:auto;height:auto;max-height:calc(100dvh - 64px);border-radius:16px}.menu-dialog .surface-heading{border-radius:16px 16px 0 0}@media(max-width:599px){.menu-dialog{margin:auto auto 0;width:100%;max-width:none;max-height:85dvh;border-radius:20px 20px 0 0}}

.menu-dialog{height:fit-content}
/* Isolated plan QA controls keep the existing main navigation unchanged. */
.test-access{flex-wrap:wrap}.test-plan-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-plan-controls label{font-weight:700}.test-plan-controls select{padding:7px 10px}.test-plan-controls #testPlanUsage{display:inline;font-size:12px}.test-plan-controls button{font-size:12px}#testPlansDialog{width:min(720px,calc(100vw - 24px));max-height:85dvh;overflow:auto}#testPlansBody{padding:18px 22px}.test-plan-notice{background:#f4f2fc;padding:12px;border-radius:10px}.plan-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.plan-option{border:1px solid var(--line);border-radius:12px;padding:18px}.plan-option.selected{border:2px solid var(--accent);background:#f9f8ff}.plan-option h3{font-size:20px}.plan-option p{font-size:13px}.plan-capacity{display:block;font-size:24px;margin:12px 0}.plan-option button{width:100%;margin-top:12px}.plan-warning{padding:12px;background:#fff4de;color:#664200;border-radius:8px}.plan-qa-help{margin-top:16px}.plan-qa-help summary{cursor:pointer;font-weight:700}.plan-qa-help li{margin:8px 0}@media(max-width:599px){.test-plan-controls{width:100%;gap:6px}.test-plan-controls label{font-size:12px}.test-plan-controls select{font-size:12px;padding:5px}.test-plan-controls button{padding:6px}.test-plan-controls #testPlanUsage{font-size:11px}.plan-options{grid-template-columns:1fr}#testPlansBody{padding:14px}.plan-option{padding:14px}}
.plan-option{display:flex;flex-direction:column}.plan-option .plan-description{color:var(--ink2);line-height:1.65;margin:8px 0 12px}.plan-option button{margin-top:auto}.plan-comparison{margin:26px 0 20px}.plan-comparison h3{font-size:20px;margin-bottom:6px}.plan-comparison table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:12px 0}.plan-comparison th,.plan-comparison td{text-align:left;vertical-align:top;padding:12px 10px;overflow-wrap:anywhere;word-break:keep-all;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.plan-comparison thead th{background:#eeebfb;color:#352a70;font-weight:750}.plan-comparison th:first-child{width:26%}.plan-comparison tbody th{background:#faf9fd;font-weight:650}.plan-comparison td+td,.plan-comparison th+th{border-left:1px solid var(--line)}.plan-comparison tbody tr:last-child>*{border-bottom:0}@media(max-width:599px){.plan-comparison th,.plan-comparison td{padding:10px 7px;font-size:12px}.plan-comparison th:first-child{width:27%}}
/* Readability pass: concise lists, comfortable controls, stable comparison columns. */
#testPlansDialog{width:min(760px,calc(100vw - 24px));max-width:760px}#testPlansDialog .surface-heading h2{font-size:22px}#testPlansDialog .surface-heading{padding:12px 20px}#closeTestPlans{min-width:44px;min-height:44px;font-size:22px}#testPlansBody{font-size:16px;line-height:1.65}.plan-bullets{padding-left:20px;margin:8px 0}.plan-bullets li{margin:5px 0}.plan-option .plan-bullets{margin-bottom:14px}.test-plan-notice .plan-bullets{margin:0}.plan-option p,.plan-option .plan-price{font-size:14px;color:#5c534b}.plan-option h3{font-size:22px;margin-bottom:2px}.plan-capacity{font-size:28px;margin:10px 0}.plan-option button,#restorePurchases{min-height:48px;font-size:16px;font-weight:600}.plan-current{display:flex;gap:8px 20px;flex-wrap:wrap;justify-content:space-between}.plan-comparison th,.plan-comparison td{font-size:14px;padding:12px 10px;line-height:1.6}.plan-comparison .plan-bullets{list-style:none;margin:0;padding:0}.plan-comparison .plan-bullets li{margin:0 0 5px}.plan-comparison .plan-bullets li:last-child{margin-bottom:0}#testPlansBody .hint{font-size:14px;color:#615850}.purchase-restore{border-top:1px solid var(--line);padding:22px 0 12px}.purchase-restore h3{font-size:20px}.purchase-restore .plan-bullets{font-size:15px}#restorePurchases{width:100%;margin:10px 0;background:#f4f2fb}#restorePurchases .badge{font-size:12px;margin-left:8px}#purchaseRestoreStatus{font-size:14px;color:#615850}.plan-qa-help summary{min-height:44px;padding:10px 0}#testPlanSelect,#openTestPlans{min-height:44px;font-size:14px}.test-plan-controls #testPlanUsage{font-size:13px}@media(max-width:599px){#testPlansDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 32px);margin:auto}#testPlansBody{padding:16px}#testPlansDialog .surface-heading{padding:8px 16px}#testPlansBody .plan-option{padding:18px}.plan-comparison th,.plan-comparison td{font-size:14px;padding:10px 6px}.plan-comparison th:first-child{width:25%}.plan-comparison h3{font-size:20px}.test-plan-controls label{font-size:13px}input,textarea,select{font-size:16px}.surface-heading button{min-height:44px}.menu-dialog .more-section button{min-height:48px;font-size:16px}.bottom-nav button{font-size:13px}.connection-switch{min-height:44px}}
#purchaseRestoreStatus{white-space:pre-line}
/* Personal recipes: one editor, three navigation destinations. */
.bottom-nav{grid-template-columns:repeat(3,minmax(0,190px))!important}
.new-recipe-fab{position:fixed;right:max(24px,calc((100vw - 1160px)/2));bottom:calc(100px + env(safe-area-inset-bottom));z-index:5;min-height:54px;padding:12px 24px;border-radius:28px;background:#5549bd;color:white;border:1px solid #5549bd;font-size:17px;font-weight:650;box-shadow:0 5px 20px #30245c30}
#history:has(.new-recipe-fab){padding-bottom:100px}
.recipe-builder{max-width:840px;margin:0 auto;padding-bottom:28px;font-size:16px;line-height:1.65}
.recipe-builder h2{font-size:28px;margin:20px 0 8px}.recipe-builder h3{font-size:20px;margin:24px 0 12px}
.recipe-builder p,.recipe-builder .hint{font-size:14px;line-height:1.7}.recipe-builder .hint{color:#665c53}
.recipe-builder input:not([type=checkbox]):not([type=radio]),.recipe-builder textarea,.recipe-builder select{width:100%;font-size:16px;padding:12px;border-radius:10px;border:1px solid #d4cec8;background:white;color:#2a2622}
.recipe-builder label{display:block;margin:12px 0 6px;font-weight:600;font-size:15px}
.recipe-builder button{min-height:44px;font-size:15px}.recipe-builder input[type=checkbox],.recipe-builder input[type=radio]{width:20px;height:20px;accent-color:#5549bd;flex:none}
.builder-tabs{display:flex;border-bottom:1px solid #e0dcd8;margin:24px 0;gap:8px}.builder-tabs button{border:0;background:transparent;border-radius:10px 10px 0 0;padding:12px 24px;color:#6c6158}.builder-tabs button[aria-pressed=true]{background:#eeebfa;color:#45339b;border-bottom:3px solid #5549bd;font-weight:700}
.builder-answer-form fieldset{border:0;padding:0;margin:20px 0}.builder-answer-form legend{font-size:16px;font-weight:650}.required-label{font-size:12px;color:#897c70;font-weight:400;margin-left:6px}
.recipe-builder .answer-choice{display:flex;gap:10px;align-items:center;min-height:44px;margin:4px 0;font-weight:400;cursor:pointer}.answer-field{margin:20px 0}.clear-answer{background:transparent;border:0;text-decoration:underline;color:#666;min-height:36px!important}
.form-question{background:#faf9fd;border:1px solid #e5e2df;border-radius:14px;padding:18px;margin:14px 0}.question-heading{display:flex;justify-content:space-between;align-items:center}.question-heading strong{color:#756a60}.question-heading button{padding:6px 12px}.question-controls{display:flex;gap:20px;align-items:end}.question-controls>label:first-child{flex:1}.question-controls .answer-choice{margin-bottom:12px;white-space:nowrap}
.answer-insert{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.answer-insert button{border:1px solid #cfc8eb;background:#f5f2fd;color:#513d96;padding:7px 12px;border-radius:22px;font-size:14px}
.template-editor{min-height:180px;border:1px solid #d4cec8;border-radius:12px;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.2;background:white;font-size:16px}.template-editor:focus{outline:2px solid #5549bd;outline-offset:2px}
.answer-chip{display:inline-block;padding:0 9px;margin:2px 3px;border-radius:7px;border:1px solid #c8bfe7;background:#efebfb;color:#513792;font-size:14px;line-height:1.8;vertical-align:baseline;user-select:all}
.builder-preview{border:1px solid #e5e2df;border-radius:14px;background:#f8f7fb;padding:18px;margin-top:28px}.builder-preview h3{margin-top:0}.builder-preview pre,.saved-original{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:15px;line-height:1.8;max-height:420px;overflow:auto;padding:12px 0}.builder-preview summary{font-size:15px;min-height:44px;padding:10px 0}
.builder-save{padding:12px 0 24px}.builder-save .primary{min-width:140px}.builder-save .actions{flex-wrap:wrap}.builder-warning{color:#785324;background:#fff8eb;padding:12px;border-radius:9px;font-size:14px}#builderMissing{color:#766b61}#builderState,#saveLinkStatus{color:#6a3f24;font-size:15px}.saved-check{color:#316444;font-weight:650}
.creation-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.creation-options button{text-align:left;padding:24px;border:1px solid #d2cce4;background:#fbfaff;border-radius:14px}.creation-options strong{display:block;font-size:19px;margin-bottom:8px}.creation-options span,.import-option span{display:block;font-size:14px;color:#756a60}.import-option{display:block;width:100%;text-align:left;border:1px solid #e5e2df;border-radius:12px;padding:16px;margin:12px 0;background:white}.import-option:hover{background:#f2eefa}.import-option strong{font-size:17px}
#saveLinkDialog{max-width:510px;font-size:16px}#saveLinkDialog h2{font-size:26px}#saveLinkDialog p{line-height:1.7}#saveLinkDialog button{min-height:48px;font-size:16px}#saveLinkDialog .actions{justify-content:flex-end;gap:10px}#answerBeforeLink{margin-top:12px;width:100%}
@media(max-width:599px){.bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}.new-recipe-fab{right:18px;bottom:calc(84px + env(safe-area-inset-bottom));font-size:16px;min-height:50px}.creation-options{grid-template-columns:1fr}.creation-options button{padding:20px}.recipe-builder h2{font-size:25px}.question-controls{display:block}.question-controls .answer-choice{margin-top:12px}.form-question{padding:14px}.builder-tabs button{flex:1;padding:12px}.builder-preview{padding:14px}.builder-save .actions button{flex:1}.answer-chip{font-size:14px}}

/* A quiet, login-first entry point; workspace navigation appears after sign-in. */
body.auth-locked{padding-bottom:0;background:#faf9f6}
body.auth-locked .workspace-shell,body.auth-locked .bottom-nav,body.auth-locked #betaBanner,body.auth-locked #testAccess,body.auth-locked #guideButton,body.auth-locked #sidebarToggle,body.auth-locked #menuButton,body.auth-locked #loginButton,body.auth-locked #completionToast,body.auth-locked .new-recipe-fab{display:none!important}
.login-welcome{min-height:calc(100dvh - 82px);display:flex;align-items:center;justify-content:center;padding:44px 24px 60px;position:relative}
/* 2026-11-11 사용자 지적: Google 로그인에서 돌아온 직후 세션 확인이 끝나기 전에 로그인 카드가 잠깐 보여 "로그인 안 된 것"처럼 보였다.
   부팅(body.booting) 동안은 카드를 감추고 점 세 개만 보여 준다. app.js 부팅이 끝나면 booting 을 뗀다. */
body.booting .login-card{visibility:hidden}
body.booting .login-welcome::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#7b61ff;box-shadow:-22px 0 0 0 #7b61ff,22px 0 0 0 #7b61ff;animation:pr-booting 1.1s ease-in-out infinite}
@keyframes pr-booting{0%,100%{opacity:.25}50%{opacity:1}}
.login-welcome[hidden]{display:none}.login-card{width:min(100%,480px);text-align:center}.login-brand-mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#eae6f5;color:#605199;font-size:29px;font-weight:700}.login-eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#938475;margin:18px 0 14px}.login-card h1{font-size:34px;line-height:1.4;letter-spacing:-1.1px;color:#2a2622;margin:0 0 18px}.login-intro{font-size:16px;line-height:1.8;color:#7d7166;margin-bottom:30px}
.social-buttons{display:grid;gap:12px}.social-signin{width:100%;min-height:54px;display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 20px;background:#fff;border:1px solid #ddd9d4;border-radius:12px;font-size:16px;font-weight:650;color:#2a2622}.social-signin:hover:not(:disabled){background:#f2eef9;border-color:#a89c90}.social-signin.apple-signin{background:#2a2622;border-color:#2a2622;color:white}.social-signin.apple-signin:hover:not(:disabled){background:#48413b}.social-signin:disabled{opacity:.5;cursor:not-allowed}.social-signin:focus-visible{outline:3px solid #9182ce;outline-offset:4px}.google-symbol{font-size:22px;font-weight:750;color:#4285f4;line-height:1}.login-config{font-size:14px;line-height:1.7;color:#756b56;background:#f2eee6;padding:14px 16px;border-radius:10px;margin:20px 0 0;text-align:left}.login-error{font-size:15px;line-height:1.6;color:#a13537}.login-error:empty{display:none}.login-steps{list-style:none;display:flex;justify-content:center;gap:18px;margin:30px 0 0;padding:0;border-top:1px solid #e8e4e1;padding-top:24px;font-size:13px;color:#7b6f65}.login-steps li{display:flex;align-items:center;gap:6px}.login-steps span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ece8f5;color:#86796e}
#loginDialog,#loginDemoDialog{width:min(480px,calc(100vw - 32px));max-width:480px;padding:28px;border-radius:18px}#loginDialog h2,#loginDemoDialog h2{font-size:25px;line-height:1.4;margin:12px 0}#loginDialog p,#loginDemoDialog p{line-height:1.75}#loginDialog #closeLogin{margin-top:20px;width:100%;min-height:44px}#loginDemoDialog .actions{margin-top:24px;gap:10px;flex-wrap:wrap}#loginDemoDialog .actions button{min-height:48px;font-size:15px;flex:1}#loginDemoError{color:#a13537}
@media(max-width:599px){.login-welcome{padding:34px 24px;min-height:calc(100dvh - 70px)}.login-card h1{font-size:28px}.login-intro{font-size:15px}.login-steps{gap:12px;font-size:12px}.login-config{font-size:14px}.auth-locked .app-header{padding:12px 18px}.auth-locked .brand{font-size:15px}.auth-locked .brand-mark{display:none}.auth-locked .account select{max-width:88px}#loginDialog,#loginDemoDialog{padding:22px}.login-steps li{gap:4px}}

/* Project UI guide v1: provider branding is not recolored by product themes. */
@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url('/assets/google-sans-medium.ttf') format('truetype');font-display:swap}
:root{--ui-text:#2a2622;--ui-muted:#70655b;--ui-accent:#6250a8;--ui-border:#dfdbd6;--ui-control-height:44px;--ui-space:8px}
.social-buttons{width:320px;max-width:100%;margin:0 auto;gap:16px}.social-signin{height:44px;min-height:44px;border-radius:4px;padding:0 12px;gap:10px;font-weight:500;box-sizing:border-box}.social-signin.provider-google{background:#fff;color:#1f1f1f;border:1px solid #747775;font-family:'Google Sans',Arial,'Malgun Gothic',sans-serif;font-size:14px;line-height:20px;justify-content:flex-start}.social-signin.provider-google span{flex:1;text-align:center}.google-brand-icon{width:20px;height:20px;object-fit:contain;flex:none}.social-signin.provider-google:hover:not(:disabled){background:#fff;border-color:#747775;box-shadow:0 1px 3px #0003}.social-signin.provider-apple{padding:0;border:0;background:#000;color:#fff;overflow:hidden;justify-content:center}.apple-brand-button{display:block;width:100%;height:44px;object-fit:contain}.social-signin.provider-apple:hover:not(:disabled){background:#000;box-shadow:0 1px 3px #0003}.social-signin:focus-visible{outline:3px solid var(--ui-accent);outline-offset:4px}.social-signin:disabled{opacity:.55}.field-help{font-size:14px;line-height:1.65;color:var(--ui-muted);margin:8px 0 16px}.field-role{display:inline-block;background:#eeeaf6;color:#6c6259;border-radius:5px;font-size:12px;line-height:1.5;font-weight:600;padding:3px 6px;margin:0 4px 6px 0}.optional-label{font-size:13px;font-weight:400;color:var(--ui-muted);margin-left:4px}.question-controls{flex-wrap:wrap;gap:16px}.question-controls>label{flex:1;min-width:150px}.recipe-builder label,.recipe-builder legend{font-size:15px;line-height:1.6}.recipe-builder h3{font-size:20px}#recipeFormGoal{min-height:96px;resize:vertical}.creation-actions{flex-wrap:wrap}.creation-actions>button{min-height:var(--ui-control-height)}
@media(max-width:599px){.social-buttons{width:320px}.question-controls>label{display:block;margin-bottom:14px}.recipe-builder input,.recipe-builder textarea,.recipe-builder select{font-size:16px}.login-card h1{font-size:28px}}

.input-preferences{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:599px){.input-preferences{grid-template-columns:1fr}.input-preferences label{font-size:15px}}
.builder-toolbar,.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.builder-toolbar{margin-bottom:20px}.builder-toolbar #builderImport{background:#eeeaf6;border-color:#cec5e4;color:#49356d;font-weight:650}.builder-common{border-bottom:1px solid #e6e3df;padding-bottom:20px}.builder-common h3{margin-top:24px}.common-settings{margin-top:20px;border:1px solid #e3e0dc;border-radius:12px;padding:0 16px}.common-settings summary{min-height:48px;display:flex;align-items:center;font-weight:600;cursor:pointer}.common-settings summary:before{content:'▸';margin-right:10px}.common-settings[open] summary:before{content:'▾'}.common-settings[open]{padding-bottom:16px}.input-form-section{border:1px solid #ded9d4;background:#fdfcfe;padding:20px;border-radius:16px}.input-form-section>h3{margin-top:0}.input-form-section #addFormQuestion{width:100%;border:1px dashed #ada296;background:white;color:#563a7b}.input-form-section .question-controls{margin-bottom:16px}.input-form-section .form-question{background:white}.ai-help-fab{position:fixed;right:26px;bottom:calc(102px + env(safe-area-inset-bottom));z-index:18;border:1px solid #56417b;border-radius:999px;background:#584077;color:#fff;padding:13px 22px;box-shadow:0 6px 24px #39264a2b;font-size:16px!important;font-weight:650}.ai-help-fab:hover{background:#493163}.recipe-builder{padding-bottom:84px}.builder-dialog{width:min(680px,calc(100vw - 32px));max-height:85dvh;padding:24px;border:1px solid #dcd8d3;border-radius:20px;color:#2a2622;box-sizing:border-box;overflow:auto}.builder-dialog::backdrop{background:#21162c66}.builder-dialog h2{font-size:24px;margin:0}.builder-dialog p{line-height:1.65}.builder-dialog .dialog-close{font-size:24px;min-width:44px}.builder-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.75}.builder-dialog .import-option{width:100%;text-align:left;display:block;margin:12px 0}.builder-dialog .import-option span{display:block;margin-top:5px;font-size:14px;color:#6e635a}.builder-dialog .actions{flex-wrap:wrap}.builder-dialog #assistantProposal{margin-top:20px;border-top:1px solid #ddd4e8;padding-top:18px}.builder-dialog li{margin:10px 0;line-height:1.7}.builder-dialog #assistantConnection{background:#f1edf6;padding:10px 14px;border-radius:10px;font-size:14px}.builder-dialog textarea{resize:vertical}.builder-dialog #assistantStatus{color:#694725;min-height:24px}.recipe-builder #builderUndo{margin-bottom:16px;color:#63408c;font-size:14px}.builder-dialog #recipeImportList{max-height:46dvh;overflow:auto;margin-top:14px}
@media(max-width:599px){.input-form-section{padding:14px}.ai-help-fab{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));padding:12px 18px}.builder-dialog{padding:18px;max-height:86dvh}.builder-dialog h2{font-size:22px}.builder-common>h3{font-size:20px}.builder-toolbar{margin-bottom:14px}.recipe-builder .question-controls>label{min-width:0}.common-settings{padding-inline:12px}}
.answer-chip.missing{border-color:#e0a3a3;background:#fdeeee;color:#9b2c2c;text-decoration:line-through}
.more-locale{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 4px;font-size:17px}
.more-locale select{min-height:44px;padding:0 10px;border-radius:10px;border:1px solid #dedad5;background:#fff;font-size:16px}
.more-note{margin:4px 12px 10px;color:#7f7368;font-size:13px;line-height:1.5}
/* 2026-11-11 사용자 결정: Apple 버튼은 Google 버튼과 같은 글자 크기(14px·500)·높이 44·모서리 4px 로 통일하고, 로고 20px 을 왼쪽 12px 에 두어 Google 의 G 로고 배치와 맞춘다. 비활성이어도 흐리지 않는다. */
.social-signin.provider-apple{padding:0 12px;justify-content:flex-start}.provider-apple .apple-text-label{display:flex;align-items:center;gap:10px;width:100%;height:44px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Google Sans',Arial,'Malgun Gothic',sans-serif;font-size:14px;font-weight:500;line-height:20px}.provider-apple .apple-text{flex:1;text-align:center}.provider-apple .apple-logo{width:20px;height:20px;flex:none}.social-signin.provider-apple:disabled{opacity:1;cursor:not-allowed}
/* Display language: pseudo-element labels cannot be reached by the i18n text layer. */
html:lang(en) #examplePanel>summary::after{content:'Expand ▾'}html:lang(en) #examplePanel[open]>summary::after{content:'Collapse ▴'}
html:lang(ja) #examplePanel>summary::after{content:'開く ▾'}html:lang(ja) #examplePanel[open]>summary::after{content:'閉じる ▴'}
/* PRL v2.2 문법 편집기 */
.prl-open{color:var(--accent)!important;font-weight:600}
.prl-dialog{max-width:900px;width:calc(100% - 32px);padding:0;display:none;flex-direction:column}.prl-dialog[open]{display:flex}
.prl-dialog .surface-heading h2{font-size:19px;margin:0}.prl-ver{font:700 11px ui-monospace,monospace;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}
.prl-dialog .prl-close{font-size:22px;min-width:44px}
.prl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 22px;border-bottom:1px solid var(--line);background:#fcfbfa}
.prl-meta label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--ink2)}.prl-meta select{padding:6px 8px;font-size:13px}
.prl-check{margin-left:auto;border-radius:999px;font-size:12px;font-weight:700;padding:7px 12px}.prl-check.ok{background:#e2f3eb;border-color:#9dd3bc;color:#0a5e46}.prl-check.warn{background:#fbf0d6;border-color:#edd48a;color:#6b4f00}.prl-check.err{background:#fbe7e2;border-color:#edb7a6;color:#963f1b}
.prl-tabs{display:flex;gap:4px;padding:10px 22px 0}.prl-tabs button{border:0;border-radius:0;background:none;font-weight:650;color:var(--muted);padding:10px 12px;box-shadow:inset 0 -2px 0 transparent}.prl-tabs button[aria-selected="true"]{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.prl-issues{list-style:none;margin:10px 22px 0;padding:0;display:grid;gap:6px}.prl-issues button{display:flex;gap:10px;width:100%;text-align:left;padding:8px 10px}.prl-issues b{font:700 12px ui-monospace,monospace;padding:2px 6px;border-radius:5px;flex:none}.prl-issues .is-e b{background:#fbe7e2;color:#963f1b}.prl-issues .is-w b{background:#fbf0d6;color:#6b4f00}.prl-issues span{display:flex;flex-direction:column;gap:2px;font-size:13px}.prl-issues small{color:var(--muted);font-size:12px}.prl-note{font-size:11px;color:var(--muted)}
#prlEditPane,#prlSendPane{padding:12px 22px 0}
.prl-kit{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.prl-kit button{font:600 12px ui-monospace,monospace;padding:6px 10px;background:#f9f6f3}
.prl-ed{position:relative}#prlText{min-height:340px;font:13px/1.75 ui-monospace,Consolas,monospace;background:#fbfbfd;tab-size:2}
.prl-ac{position:absolute;z-index:20;width:min(380px,100%);max-height:300px;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #11182733;padding:6px}
.prl-ac-hint{margin:2px 6px 6px;font-size:12px;color:var(--ink2)}.prl-ac-hint b{font-family:ui-monospace,monospace;color:var(--accent)}
.prl-ac button{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"l k" "d d";gap:0 8px;width:100%;border:0;border-radius:8px;text-align:left;padding:6px 8px;background:none}.prl-ac button[aria-selected="true"],.prl-ac button:hover{background:var(--accent-soft)}
.prl-ac .l{grid-area:l;font:700 13px ui-monospace,monospace}.prl-ac .k{grid-area:k;justify-self:end;font-size:11px;color:var(--muted)}.prl-ac .d{grid-area:d;font-size:12px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.prl-ac-none{margin:4px 8px;font-size:12px}
.prl-send{white-space:pre-wrap;overflow-wrap:anywhere;background:#2a2622;color:#f2ede8;border-radius:10px;padding:14px;font:12.5px/1.7 ui-monospace,monospace;max-height:52dvh;overflow:auto;margin:0}
.prl-runs{display:grid;gap:6px;margin-bottom:10px;padding:10px 12px;border:1px dashed #9dd3bc;border-radius:10px;background:#f4fbf8;font-size:13px}
.prl-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--line);margin-top:12px;position:sticky;bottom:0;background:white}.prl-foot #prlStatus{margin-right:auto;font-size:12px;color:#963f1b}
@media(max-width:719px){.prl-dialog{margin:auto 0 0;width:100%;max-width:none;max-height:94dvh;border-radius:20px 20px 0 0}.prl-meta,.prl-tabs,#prlEditPane,#prlSendPane,.prl-foot{padding-left:14px;padding-right:14px}.prl-check{margin-left:0}#prlText{min-height:260px;font-size:12.5px}.prl-ac{position:fixed;left:10px!important;right:10px;top:auto!important;bottom:10px;width:auto}.prl-foot button{flex:1;min-height:44px}}
@media(max-width:719px){.prl-foot button{white-space:nowrap;font-size:13.5px;padding:9px 10px}}

/* Login account linking (2026-10-12). Provider buttons keep their own brand guideline styles (.social-signin). */
.link-dialog{max-width:440px}
.link-id{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--line,#efe9e2);border-radius:12px;background:#faf8f6;margin:4px 0 14px}
.link-id>span{font-size:13px;color:#6a5f56}
.link-id>strong{font-size:20px;letter-spacing:.04em;font-family:ui-monospace,Consolas,monospace;color:#2a2622}
.link-id>small{font-size:13px;color:#6a5f56;line-height:1.5}
.link-intro{margin:0 0 12px;color:#48413b;line-height:1.6}
.link-rows{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.link-row{display:grid;gap:8px;padding:12px 0;border-top:1px solid #f2ece6}
.link-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.link-chip{font-size:13px;padding:2px 10px;border-radius:999px;background:#f5f0eb;color:#6a5f56}
.link-chip.on{background:#e2f3eb;color:#0a5e46}
.link-unlink{justify-self:start;min-height:40px;padding:0 14px;border:1px solid #d2ccc5;border-radius:8px;background:#fff;color:#48413b;font:inherit}
.link-unlink:disabled{opacity:.55;cursor:not-allowed}
.link-status{min-height:1.4em;margin:12px 0 4px;color:#2a2622}
.link-dialog>.link-id,.link-dialog>p,.link-dialog>ul{margin-left:18px;margin-right:18px}
.link-dialog>.link-id{margin-top:14px}

/* 2026-10-28 내 정보 페이지 · 내 레시피 탭 · 실행 시 질문 항목 */
.account-block{margin:0 0 16px}.account-block h2{font-size:18px;margin:0 0 8px}.account-block .actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.ai-list{list-style:none;padding:0;margin:12px 0}.ai-list li{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--line)}.ai-list li:first-child{border-top:0}.ai-list .badge{margin-left:8px}
.copy-row{display:flex;gap:8px;align-items:center}.copy-row input{flex:1;min-width:0}
.library-tabs{margin:12px 0 16px}.run-fields{margin:12px 0 0;padding:10px 12px;border:1px dashed var(--line);border-radius:10px}
/* 2026-10-28 실행 시 질문 카드 · 항목 설명 */
.run-card{margin:0 0 18px;padding:14px 16px;border:1px solid var(--accent);border-radius:12px;background:var(--accent-soft)}
.run-card h3{margin:0 0 8px;font-size:16px}.run-card ol{margin:0 0 8px;padding-left:20px;display:grid;gap:6px}.run-card li strong{display:block}.run-card .hint{margin:6px 0 0}
.field-hint{display:block;margin:2px 0 6px;color:var(--muted);font-size:13px;line-height:1.45}
/* 2026-11-01 로그인으로 연결 카드 */
.connect-card{margin:12px 0;padding:14px 16px;border:1px solid var(--accent);border-radius:12px;background:var(--accent-soft)}
.connect-card.pending{border-style:dashed;background:transparent}
.connect-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.connect-head h3{margin:0;font-size:16px}
.connect-steps{margin:10px 0 0;padding-left:20px;display:grid;gap:6px}
details.connect-key{margin-top:14px}

/* 2026-11-10 AI 도움 질문 카드(생성 전 확인): 선택지 칩 + 기타 입력 + 실행 시 질문 토글 */
.assistant-confirm-list{padding-left:20px;margin:8px 0 0}.assistant-confirm-list li{margin:14px 0}.assistant-confirm-list li>.hint{display:block;margin:2px 0 6px;font-size:13px}.assistant-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.assistant-chip{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border:1px solid #d5cfe6;border-radius:20px;background:#fff;cursor:pointer;font-size:14px;font-weight:400}.assistant-chip input{position:absolute;opacity:0;width:0;height:0}.assistant-chip:has(input:checked){background:var(--accent-soft,#eceaf8);color:var(--accent,#3a43b8);border-color:#b9b4e6;font-weight:600}.assistant-chip:has(input:focus-visible){outline:2px solid var(--accent,#3a43b8);outline-offset:2px}.assistant-other{display:block;width:100%;max-width:420px;margin:4px 0 8px;min-height:40px}.assistant-scope{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:4px;cursor:pointer}
