:root{color-scheme:light;font-family:Segoe UI,Pretendard,sans-serif;line-height:1.5;font-weight:400;font-size:14px;background:radial-gradient(circle at top left,rgba(244,178,66,.18),transparent 28%),radial-gradient(circle at top right,rgba(22,89,110,.15),transparent 24%),#f5f1e8;color:#18212b;--panel: rgba(255, 252, 247, .78);--panel-strong: #fffdf9;--line: rgba(24, 33, 43, .12);--accent: #c85e2a;--accent-soft: rgba(200, 94, 42, .12);--ink-soft: #5f6670;--shadow: 0 20px 45px rgba(37, 32, 24, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;font-size:.93rem}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);padding:28px;border-radius:24px;background:#fffcf7e0;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:14px;text-align:left}.auth-card h1{margin:0;font-size:1.7rem;line-height:1.1}.auth-card p{margin:0;color:#48505a}.google-signin-slot{min-height:44px}.auth-retry-button{width:fit-content;padding:10px 16px;border-radius:999px;border:1px solid rgba(24,33,43,.16);background:#fffdf9;color:#18212b}.auth-retry-button:hover{background:#f7efe3}.auth-helper{font-size:.84rem}.auth-error{color:#8e2727;font-size:.84rem}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(302px,.72fr);min-height:100vh;gap:16px;padding:104px 16px 16px}.app-shell.plan-mode{grid-template-columns:minmax(0,1fr)}.topbar,.content-area,.rnb{background:var(--panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.topbar{position:fixed;top:16px;left:16px;right:16px;z-index:40}.topbar-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px}.topbar-brand h1{margin:6px 0 0;line-height:1.1;font-size:1.15rem}.topbar-nav{display:flex;gap:8px;overflow:auto;padding:4px 2px;scrollbar-width:thin}.topbar-nav button{flex:0 0 auto;border:1px solid rgba(24,33,43,.12);border-radius:999px;padding:9px 12px;background:#fffefbd6;color:#18212b;font-weight:700;font-size:.82rem;white-space:nowrap}.topbar-nav button.active{border-color:#c85e2a5c;background:#c85e2a1f;color:#7d451d}.topbar-controls{display:flex;align-items:center;gap:10px}.topbar-user{display:grid;gap:2px;text-align:right}.topbar-user strong{font-size:.84rem}.topbar-user span{color:var(--ink-soft);font-size:.74rem}.topbar-controls button.secondary{border:0;border-radius:10px;padding:9px 12px;background:#18212b14;color:#26303b;font-weight:700;font-size:.82rem}.chart-select{display:inline-flex;align-items:center;gap:10px}.chart-select span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;white-space:nowrap}.chart-select select{border:1px solid rgba(24,33,43,.12);border-radius:10px;padding:9px 10px;background:#fffefbd6;color:#18212b;font-weight:700;font-size:.82rem;min-width:220px}.eyebrow,.section-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;color:var(--accent);font-weight:700}.rnb-header h3{margin:6px 0 8px;line-height:1.1}.rnb-header h3{font-size:1.15rem}.lead,.save-state,.group-nav button small,.preview-header small{color:var(--ink-soft)}.lead,.preview-panel p,.preview-panel li,textarea{font-size:.9rem}.content-area{display:flex;flex-direction:column;padding:12px;gap:0}.content-area.plan-mode{padding:0}.embed-panel,.preview-panel,textarea{background:var(--panel-strong);border:1px solid rgba(24,33,43,.08)}.embed-panel{flex:1;min-height:760px;border-radius:14px;overflow:hidden;position:relative;display:flex;flex-direction:column}.embed-panel.plan-mode{min-height:calc(100vh - 136px);border:0;border-radius:16px}.embed-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:12px;border-bottom:1px solid rgba(24,33,43,.08);background:#fffefbe6}.embed-panel metabase-dashboard{width:100%;flex:1;min-height:700px;display:block}.embed-panel iframe{width:100%;flex:1;min-height:700px;border:0;display:block;background:#f7f7f7}.embed-panel.plan-mode iframe{min-height:calc(100vh - 136px)}.embed-loading{display:flex;flex:1;min-height:700px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:0;background:#f7f7f7;color:#4d5560}.rnb{display:flex;flex-direction:column;gap:12px;padding:18px;min-height:0}.rnb-header{display:none}.memo-actions{display:flex;gap:8px}.memo-actions,.status-banner,.preview-panel,#memo-editor,.save-state{display:none}.rnb-header button{border:0;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,#c85e2a,#df8e42);color:#fff;font-weight:700;box-shadow:0 14px 28px #c85e2a40;font-size:.84rem}.rnb-header button.secondary{background:#18212b14;color:#26303b;box-shadow:none}.rnb-header button:disabled{opacity:.55;cursor:not-allowed}.status-banner{padding:11px 12px;border-radius:12px;background:#c85e2a1a;color:#7d451d;border:1px solid rgba(200,94,42,.16);font-size:.82rem}.status-banner.error{background:#a129291a;color:#8e2727;border-color:#a129292e}textarea{width:100%;min-height:340px;resize:vertical;border-radius:12px;padding:14px;outline:none}textarea:focus{border-color:#c85e2a66;box-shadow:0 0 0 4px var(--accent-soft)}.save-state{display:none!important;justify-content:space-between;gap:12px;font-size:.76rem;height:0;overflow:hidden;padding:0;margin:0}.preview-panel{flex:1;min-height:0;border-radius:14px;padding:16px;overflow:auto}.memo-surface,textarea{flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#18212b6b;display:grid;place-items:center;padding:16px;z-index:50}.modal-panel{width:min(720px,96vw);max-height:min(84vh,860px);overflow:auto;background:var(--panel-strong);border:1px solid rgba(24,33,43,.14);border-radius:16px;box-shadow:0 30px 80px #00000038;padding:16px}.modal-panel button{border:0;border-radius:10px;padding:9px 14px;background:#26303b;color:#fff;font-weight:700;font-size:.82rem}.modal-panel button.secondary{background:#18212b14;color:#26303b}.modal-panel button:disabled{opacity:.55;cursor:not-allowed}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.modal-header h2{margin:6px 0 0;font-size:1.25rem;line-height:1.15}.settings-section{display:grid;gap:10px}.settings-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-title h3{margin:0;font-size:.98rem}.settings-card{display:grid;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(24,33,43,.1);background:#18212b0a}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-field{display:grid;gap:6px}.settings-field span{color:var(--ink-soft);font-size:.76rem;font-weight:700}.settings-field input,.settings-field textarea{width:100%;border:1px solid rgba(24,33,43,.12);border-radius:10px;padding:10px 11px;background:#fffefbdb;color:#18212b;outline:none;resize:vertical}.settings-field input:focus,.settings-field textarea:focus{border-color:#c85e2a66;box-shadow:0 0 0 4px var(--accent-soft)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-label{color:var(--ink-soft);font-size:.82rem}.settings-actions{display:flex;gap:8px}.settings-hint{display:grid;gap:6px;font-size:.82rem;color:var(--ink-soft)}.settings-hint a{color:var(--accent);word-break:break-all}.codex-login-required{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#18212b0a;border:1px solid rgba(24,33,43,.08);color:var(--ink-soft);font-size:.82rem}.codex-login-required button.secondary{border:0;border-radius:10px;padding:8px 12px;background:#18212b14;color:#26303b;font-weight:700;font-size:.8rem}.codex-panel{display:flex;flex:1;min-height:0;flex-direction:column;gap:10px;padding-top:0;border-top:0}.codex-auth{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:#18212b0a;border:1px solid rgba(24,33,43,.08)}.codex-auth-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.codex-auth-label{color:var(--ink-soft);font-size:.78rem}.codex-auth-actions{display:flex;gap:8px}.codex-auth-actions button{border:0;border-radius:10px;padding:8px 12px;background:#26303b;color:#fff;font-weight:700;font-size:.8rem}.codex-auth-actions button.secondary{background:#18212b14;color:#26303b}.codex-auth-actions button:disabled{opacity:.55;cursor:not-allowed}.codex-device-hint{display:grid;gap:6px;font-size:.78rem;color:var(--ink-soft)}.codex-device-hint a{color:var(--accent);word-break:break-all}.codex-header{display:grid;gap:8px}.codex-header h4{margin:4px 0 0;font-size:0;line-height:1.2}.codex-header h4:before{content:"차트 분석";font-size:.95rem}.codex-state{color:var(--ink-soft);font-size:.76rem}.codex-state.error{color:#8e2727}.codex-form{display:grid;gap:8px}.codex-form textarea{min-height:82px;max-height:160px;flex:initial;resize:vertical}.codex-form button{justify-self:end;border:0;border-radius:10px;padding:9px 14px;background:#26303b;color:#fff;font-weight:700;font-size:.82rem}.codex-form button:disabled{opacity:.55;cursor:not-allowed}.codex-answer{flex:1;min-height:0;max-height:none;overflow:auto;padding:13px;border-radius:12px;background:#fffdf9;border:1px solid rgba(24,33,43,.08);color:#38404b;font-size:.86rem}.codex-answer span{color:var(--ink-soft)}.codex-answer article>:first-child{margin-top:0}.codex-answer article>:last-child{margin-bottom:0}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.85rem}.preview-panel article,.markdown-preview article{color:#20242b}.preview-panel h1,.preview-panel h2,.preview-panel h3,.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin:1em 0 .45em;line-height:1.2}.preview-panel h1,.markdown-preview h1{font-size:1.3rem}.preview-panel h2,.markdown-preview h2{font-size:1.1rem}.preview-panel h3,.markdown-preview h3{font-size:.98rem}.preview-panel p,.preview-panel li,.markdown-preview p,.markdown-preview li{color:#38404b}.preview-panel ul,.preview-panel ol,.markdown-preview ul,.markdown-preview ol{margin:.35rem 0 .85rem;padding-left:1rem}.preview-panel code,.markdown-preview code{padding:.14rem .4rem;border-radius:6px;background:#18212b14;font-family:Consolas,monospace}.preview-panel pre,.markdown-preview pre{overflow:auto;margin:.75rem 0;padding:.85rem;border-radius:10px;background:#18212b0f;border:1px solid rgba(24,33,43,.08)}.preview-panel pre code,.markdown-preview pre code{padding:0;background:transparent;white-space:pre}.preview-panel blockquote,.markdown-preview blockquote{margin:.75rem 0;padding:.15rem 0 .15rem .8rem;border-left:3px solid rgba(200,94,42,.36);color:var(--ink-soft)}.preview-panel hr,.markdown-preview hr{border:0;border-top:1px solid rgba(24,33,43,.1);margin:.9rem 0}.preview-panel a,.markdown-preview a{color:var(--accent)}@media (max-width: 1280px){.app-shell{grid-template-columns:minmax(0,1.4fr) minmax(270px,.63fr)}.chart-select select{min-width:180px}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr;padding:144px 14px 14px}.topbar,.content-area,.rnb{border-radius:14px}.rnb-header,.save-state{flex-direction:column;align-items:flex-start}.topbar{top:14px;left:14px;right:14px}.topbar-inner{grid-template-columns:1fr;align-items:start}.topbar-controls{justify-content:space-between;width:100%}.topbar-user{text-align:left}.chart-select select{min-width:0;flex:1 1 auto}.embed-toolbar{justify-content:stretch}.embed-toolbar .chart-select{width:100%}.settings-grid{grid-template-columns:1fr}}
