:root{
 --ink:#101828;--muted:#667085;--line:#e4e7ec;--surface:#fff;--soft:#f7f8fc;
 --primary:#5b5ce2;--primary2:#7c4dff;--navy:#15213b;--success:#12b76a;
 --shadow:0 18px 60px rgba(16,24,40,.10);--radius:20px;
 font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;color:var(--ink);background:#fff
}
*{box-sizing:border-box}body{margin:0;background:#fff}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}
.topbar{height:76px;display:flex;align-items:center;padding:0 max(28px,5vw);gap:38px;border-bottom:1px solid rgba(228,231,236,.8);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}
.logo{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.02em;font-size:20px;white-space:nowrap}.logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary),#8f5bff);color:#fff;font-weight:900}.brand-word{font-weight:900;letter-spacing:.045em}
.main-nav{display:flex;align-items:center;gap:26px;flex:1}.main-nav a{font-size:15px;font-weight:700;color:#475467;padding:28px 0;position:relative}.main-nav a:hover,.main-nav a.active{color:var(--primary)}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--primary)}
.account-nav{display:flex;align-items:center;gap:10px}.text-button{font-weight:700;padding:10px 12px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 20px;font-weight:800;transition:.2s}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 8px 22px rgba(91,92,226,.22)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(91,92,226,.28)}.secondary-button{background:#fff;border:1px solid #d0d5dd;color:#344054}.secondary-button:hover{background:#f9fafb}.primary-button.small{padding:10px 16px}.primary-button.large,.secondary-button.large{padding:16px 24px;font-size:16px}.full{width:100%}.mobile-menu{display:none;background:none;border:0;font-size:24px}
.hero{min-height:660px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding:76px max(40px,8vw);background:radial-gradient(circle at 15% 15%,#f0edff 0,transparent 30%),linear-gradient(180deg,#fff,#fafaff)}
.hero-copy h1{font-size:clamp(43px,5.2vw,72px);line-height:1.08;letter-spacing:-.055em;margin:20px 0}.hero-copy h1 em{font-style:normal;color:var(--primary)}.hero-copy>p{font-size:19px;line-height:1.75;color:var(--muted);max-width:660px}.pill{display:inline-flex;padding:8px 13px;border-radius:999px;background:#eeecff;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.08em}.pill.warm{background:#fff0df;color:#e56b00}
.hero-actions{display:flex;gap:12px;margin:32px 0}.trust-row{display:flex;flex-wrap:wrap;gap:22px;color:#667085;font-size:14px;font-weight:700}
.preview-window{background:#fff;border:1px solid #e4e7ec;border-radius:23px;box-shadow:0 35px 90px rgba(60,52,130,.18);overflow:hidden;transform:rotate(1deg)}.window-bar{height:47px;background:#f7f7fb;display:flex;align-items:center;gap:7px;padding:0 17px;color:#98a2b3;font-size:12px}.window-bar i{width:10px;height:10px;border-radius:50%;background:#d0d5dd}.window-bar span{margin-left:8px}.preview-body{display:grid;grid-template-columns:130px 1fr;min-height:390px}.preview-sidebar{background:#18182e;color:#fff;padding:25px 16px;display:flex;flex-direction:column;gap:16px;font-size:12px}.preview-sidebar span{color:#a9a9c7}.preview-document{padding:34px}.preview-document h3{font-size:24px;margin:18px 0}.preview-document h4{font-size:13px;margin:25px 0 10px}.document-label{font-size:11px;color:var(--primary);font-weight:800;background:#f0efff;padding:7px 10px;border-radius:8px}.fake-line{height:9px;background:#e9ebf1;border-radius:6px;margin:9px 0;width:70%}.fake-line.wide{width:100%}.fake-line.medium{width:85%}.fake-table{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.fake-table span{height:55px;background:#f1f2f6;border-radius:5px}
.section{padding:92px max(35px,8vw)}.section-heading{text-align:center;margin-bottom:38px}.section-heading.left{text-align:left}.section-heading h2{font-size:clamp(31px,4vw,48px);letter-spacing:-.04em;margin:10px 0}.section-heading p{color:var(--muted);font-size:17px}.eyebrow{color:var(--primary);font-weight:900;font-size:12px;letter-spacing:.12em}
.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.tool-card{position:relative;padding:24px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;gap:14px;min-height:116px;transition:.2s;background:#fff}.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}.tool-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:23px;background:#f2f4f7}.tool-card h3{margin:0 0 6px;font-size:17px}.tool-card p{margin:0;color:var(--muted);font-size:13px}.tool-card .arrow{position:absolute;right:18px;top:18px;color:#98a2b3}.tool-card.blue .tool-icon{background:#eaf3ff}.tool-card.violet .tool-icon{background:#f0ecff}.tool-card.orange .tool-icon{background:#fff0df}.tool-card.green .tool-icon{background:#e9fbf2}.tool-card.pink .tool-icon{background:#fff0f7}.tool-card.cyan .tool-icon{background:#e8fbff}.tool-card.yellow .tool-icon{background:#fff8d9}.tool-card.navy .tool-icon{background:#edf0f7}
.soft-section{background:#f7f7fc}.category-tabs{display:flex;gap:10px;margin-bottom:24px}.tab,.filter{padding:10px 16px;border-radius:999px;border:1px solid #e4e7ec;background:#fff;font-weight:700;color:#667085}.tab.active,.filter.active{background:#25263d;color:#fff;border-color:#25263d}.template-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.template-card{background:#fff;padding:26px;border-radius:17px;border:1px solid #e9eaf0;min-height:190px;transition:.2s}.template-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.template-card>span{font-size:12px;font-weight:900;color:var(--primary)}.template-card h3{font-size:20px;margin:27px 0 10px}.template-card p{color:var(--muted);line-height:1.6;font-size:14px}.center-action{text-align:center;margin-top:35px}
.split-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.split-feature h2{font-size:44px;letter-spacing:-.04em;margin:15px 0}.split-feature p{color:var(--muted);line-height:1.8}.check-list{list-style:none;padding:0;display:grid;gap:14px}.check-list li:before{content:"✓";color:var(--success);font-weight:900;margin-right:10px}.feature-panel{padding:42px;background:linear-gradient(145deg,#1e2141,#4546a4);color:#fff;border-radius:27px;box-shadow:var(--shadow)}.feature-chip{font-size:12px;color:#c8c8ff}.feature-panel h3{font-size:30px}.quick-list{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.quick-list span{padding:10px 12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:10px;font-size:13px}
.cta{text-align:center;padding:80px 30px;background:linear-gradient(135deg,#5956dd,#823ef0);color:#fff}.cta h2{font-size:42px;margin:0 0 12px}.cta p{opacity:.82;margin-bottom:28px}.primary-button.light{background:#fff;color:var(--primary)}
.workspace-page,.content-page{padding:55px max(28px,6vw) 100px;background:#fafbfe;min-height:calc(100vh - 76px)}.content-page.narrow{max-width:950px;margin:auto;background:#fff}.page-intro{margin-bottom:35px}.page-intro.centered{text-align:center}.page-intro h1{font-size:45px;letter-spacing:-.04em;margin:13px 0}.page-intro p{color:var(--muted);font-size:17px}
.studio-layout{display:grid;grid-template-columns:220px 1fr;gap:24px}.studio-sidebar{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;height:fit-content;position:sticky;top:100px}.studio-sidebar h3{font-size:14px;color:#98a2b3;margin:5px 10px 15px}.side-category{width:100%;border:0;background:transparent;text-align:left;border-radius:10px;padding:12px;font-weight:700;color:#475467}.side-category:hover,.side-category.active{background:#f0efff;color:var(--primary)}.sidebar-link{display:flex;justify-content:space-between;margin-top:18px;border-top:1px solid var(--line);padding:19px 10px 5px;font-weight:800}
.template-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.template-choice{border:1px solid var(--line);background:#fff;border-radius:13px;text-align:left;padding:14px;display:grid;gap:5px;color:var(--ink)}.template-choice:hover,.template-choice.selected{border-color:var(--primary);background:#f7f6ff;box-shadow:0 0 0 2px rgba(91,92,226,.08)}.template-choice small{color:var(--muted);font-size:11px}.choice-icon{color:var(--primary)}
.editor-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:20px}.input-panel,.result-panel,.translation-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px rgba(16,24,40,.04)}.input-panel{padding:23px;display:grid;gap:17px}.panel-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px}.panel-title>div{display:flex;align-items:center;gap:10px}.panel-title h2{font-size:18px;margin:0}.panel-title>span{font-size:12px;color:var(--primary);background:#f0efff;padding:7px 10px;border-radius:8px;font-weight:800}.step{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eeecff;color:var(--primary);font-weight:900}.input-panel label,.auth-card label{display:grid;gap:8px;font-size:13px;font-weight:800;color:#344054}.input-panel input,.input-panel textarea,.input-panel select,.auth-card input,.search-filter input{border:1px solid #d0d5dd;border-radius:10px;padding:12px 13px;outline:none;background:#fff;color:#101828}.input-panel input:focus,.input-panel textarea:focus,.input-panel select:focus,.search-filter input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,92,226,.1)}.input-panel textarea{resize:vertical}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-status{min-height:20px;margin:0;color:#b54708;font-size:13px;white-space:pre-wrap}.result-panel{overflow:hidden;min-height:700px}.result-panel .panel-title{padding:20px 22px}.icon-button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:800}.result-content{margin:0;padding:25px;white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:1.8;color:#344054;max-height:760px;overflow:auto}
.translation-card{max-width:1200px;margin:auto;overflow:hidden}.language-bar{height:66px;display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;border-bottom:1px solid var(--line)}.language-bar select{border:0;background:#fff;font-weight:800;padding:20px}.swap-button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:50%;justify-self:center}.translation-grid{display:grid;grid-template-columns:1fr 1fr;min-height:420px}.translation-grid>div{position:relative}.translation-grid>div:first-child{border-right:1px solid var(--line)}.translation-grid textarea,.translation-output{width:100%;height:100%;min-height:420px;border:0;resize:none;padding:28px;outline:0;font-size:17px;line-height:1.75}.translation-output{background:#fbfbfd;color:#475467;white-space:pre-wrap}.counter{position:absolute;right:18px;bottom:14px;color:#98a2b3;font-size:12px}.translation-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px;border-top:1px solid var(--line)}.translation-actions select{margin-right:auto;border:1px solid var(--line);border-radius:10px;padding:10px}.notice-box{max-width:1200px;margin:20px auto 0;background:#fff;border:1px dashed #c7c9db;border-radius:15px;padding:18px 22px}.notice-box p{color:var(--muted);margin:6px 0}
.recipe-bg{background:linear-gradient(180deg,#fffaf4,#fafbfe)}.recipe-layout{max-width:1150px;margin:auto}.orange-step{background:#fff0df;color:#dd6500}.orange-button{background:linear-gradient(135deg,#f58b28,#e85a1c)}
.search-filter{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.search-filter input{min-width:330px}.search-filter>div{display:flex;gap:8px}.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.library-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;transition:.2s}.library-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.library-thumb{height:150px;border-radius:12px;background:linear-gradient(145deg,#f0efff,#e7f3ff);display:flex;align-items:center;justify-content:center;position:relative}.library-thumb span{font-size:27px;font-weight:900;color:var(--primary)}.library-thumb i{position:absolute;right:12px;bottom:10px;font-style:normal;font-size:11px;color:#667085}.library-card h3{margin:17px 3px 6px}.library-card p{color:var(--muted);font-size:13px;min-height:38px;margin:0 3px 15px}.library-card b{color:var(--primary);font-size:13px;margin:3px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1050px;margin:auto}.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;position:relative}.price-card.featured{border:2px solid var(--primary);transform:translateY(-10px);box-shadow:var(--shadow)}.price-card>span{font-weight:900;color:var(--primary);font-size:12px}.price-card h2{font-size:42px;margin:20px 0 4px}.price-card h2 small{font-size:15px;color:var(--muted)}.price-card p{color:var(--muted)}.price-card ul{list-style:none;padding:0;display:grid;gap:14px;margin:28px 0}.price-card li:before{content:"✓";color:var(--success);font-weight:900;margin-right:9px}.recommended{position:absolute;right:20px;top:18px;background:var(--primary);color:#fff;padding:6px 10px;border-radius:999px;font-size:11px}
.business-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:100px max(40px,8vw);background:#f4f3ff}.business-hero h1{font-size:58px;letter-spacing:-.05em;margin:18px 0}.business-hero p{font-size:18px;color:var(--muted);line-height:1.8;margin-bottom:28px}.business-art{background:#fff;padding:25px;border-radius:25px;display:grid;grid-template-columns:1fr 1fr;gap:14px;box-shadow:var(--shadow)}.metric{background:#f8f9fc;border:1px solid var(--line);border-radius:15px;padding:22px;display:grid;gap:20px}.metric strong{font-size:38px}.metric.wide{grid-column:1/-1}.bar{height:12px;background:#e9eaf1;border-radius:10px}.bar i{display:block;width:67%;height:100%;background:var(--primary);border-radius:10px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit-grid article{padding:27px;border:1px solid var(--line);border-radius:17px}.benefit-grid span{color:var(--primary);font-weight:900}.benefit-grid p{color:var(--muted);line-height:1.7}
.empty-state{text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:80px 30px}.empty-icon{font-size:60px}.empty-state p{color:var(--muted);max-width:600px;margin:15px auto 25px;line-height:1.7}.faq-list{display:grid;gap:12px}.faq-list details{border:1px solid var(--line);border-radius:14px;padding:19px;background:#fff}.faq-list summary{font-weight:800;cursor:pointer}.faq-list p{color:var(--muted);line-height:1.7}
.auth-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:55px;background:linear-gradient(135deg,#f7f6ff,#f7fbff)}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:var(--shadow);display:grid;gap:18px}.auth-logo{justify-content:center}.auth-card h1{text-align:center;margin:5px 0 0}.auth-card>p{text-align:center;color:var(--muted);margin:0 0 10px}.auth-card button:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:10px;color:#98a2b3;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.social-button{padding:12px;border:1px solid var(--line);background:#fff;border-radius:11px;font-weight:800}.auth-note{font-size:13px}.auth-note a{color:var(--primary)}
.footer{padding:45px max(35px,7vw);display:grid;grid-template-columns:1fr auto;gap:25px;border-top:1px solid var(--line);background:#fff}.footer p{color:var(--muted)}.footer-links{display:flex;gap:20px;align-items:center;color:#475467;font-weight:700}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:12px}.footer-logo{font-size:17px}
@media(max-width:1100px){.main-nav{gap:14px}.main-nav a{font-size:13px}.tool-grid,.template-row,.library-grid{grid-template-columns:repeat(2,1fr)}.template-picker{grid-template-columns:repeat(3,1fr)}.editor-grid{grid-template-columns:1fr}.result-panel{min-height:500px}.benefit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:14px 22px}.mobile-menu{display:block;margin-left:auto}.main-nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px}.account-nav{display:none}.hero,.split-feature,.business-hero{grid-template-columns:1fr}.hero{padding:60px 25px}.hero-preview{display:none}.studio-layout{grid-template-columns:1fr}.studio-sidebar{position:static;display:flex;overflow:auto}.studio-sidebar h3,.sidebar-link{display:none}.side-category{width:auto;white-space:nowrap}.template-picker{grid-template-columns:repeat(2,1fr)}.translation-grid{grid-template-columns:1fr}.translation-grid>div:first-child{border-right:0;border-bottom:1px solid var(--line)}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.search-filter{align-items:stretch;flex-direction:column}.search-filter input{min-width:0}.footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
@media(max-width:560px){.tool-grid,.template-row,.library-grid,.benefit-grid{grid-template-columns:1fr}.template-picker{grid-template-columns:1fr 1fr}.template-choice small{display:none}.two-columns{grid-template-columns:1fr}.translation-actions{flex-wrap:wrap}.translation-actions select{width:100%;margin:0}.workspace-page,.content-page{padding:38px 16px 70px}.page-intro h1{font-size:35px}.hero-copy h1{font-size:42px}.trust-row{display:grid;gap:10px}.hero-actions{flex-direction:column}.category-tabs{overflow:auto}.business-hero h1{font-size:42px}}


/* Recipe menu selector */
.cuisine-section{
  max-width:1150px;margin:0 auto 22px;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:20px;box-shadow:0 8px 30px rgba(16,24,40,.04)
}
.cuisine-tabs{display:flex;gap:9px;overflow:auto;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cuisine-tab{
  flex:0 0 auto;border:1px solid var(--line);background:#fff;color:#475467;
  border-radius:999px;padding:10px 17px;font-weight:800
}
.cuisine-tab:hover,.cuisine-tab.active{background:#fff0df;border-color:#f58b28;color:#d65d00}
.dish-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding-top:16px}
.dish-card{
  border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px 11px;
  display:grid;gap:4px;text-align:left;color:var(--ink);min-height:91px
}
.dish-card:hover,.dish-card.selected{
  border-color:#f58b28;background:#fff9f2;box-shadow:0 0 0 2px rgba(245,139,40,.09)
}
.dish-emoji{font-size:19px}.dish-card b{font-size:14px}.dish-card small{font-size:10px;color:var(--muted)}
@media(max-width:1100px){.dish-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.dish-grid{grid-template-columns:repeat(2,1fr)}}


/* Recipe V0.4 */
.selected-recipe-box{
  display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #ffd9b5;
  border-radius:14px;background:#fff9f2
}
.selected-recipe-icon{
  width:54px;height:54px;display:grid;place-items:center;border-radius:15px;
  background:#fff0df;font-size:27px
}
.selected-recipe-box>div{display:grid;gap:4px}
.selected-recipe-box small{color:#b54708;font-weight:800}
.selected-recipe-box strong{font-size:21px}
.selected-recipe-box p{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.recipe-output-guide{
  display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:16px;
  background:#f8f9fc;border:1px solid var(--line);border-radius:13px
}
.recipe-output-guide b{grid-column:1/-1;font-size:13px;margin-bottom:2px}
.recipe-output-guide span{font-size:12px;color:#475467}
@media(max-width:560px){.recipe-output-guide{grid-template-columns:1fr}}


/* Stage final additions */
.dynamic-fields{display:grid;gap:16px}
.plan-limit-box{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 15px;
  border:1px solid #ddd9ff;background:#f7f6ff;border-radius:12px;font-size:12px
}
.plan-limit-box b{color:var(--primary)}.plan-limit-box span{color:#667085}
.plan-limit-box a{margin-left:auto;color:var(--primary);font-weight:800}

.story-bg{background:linear-gradient(180deg,#fbf8ff,#fafbfe)}
.story-layout,.fortune-layout{max-width:1180px;margin:auto}
.story-pill{background:#f1e9ff;color:#7b3fe4}.story-step{background:#efe5ff;color:#7b3fe4}
.story-button{background:linear-gradient(135deg,#7b3fe4,#b05cff)}

.fortune-bg{background:linear-gradient(180deg,#fffaf2,#fafbfe)}
.fortune-pill{background:#fff1d8;color:#b66300}.fortune-step{background:#fff1d8;color:#b66300}
.fortune-button{background:linear-gradient(135deg,#d88921,#ab5f00)}
.fortune-notice{
  max-width:1180px;margin:0 auto 18px;padding:16px 18px;border:1px solid #f1d5a9;
  border-radius:14px;background:#fffaf2
}
.fortune-notice b{color:#9a5700}.fortune-notice p{margin:5px 0 0;color:#7a6241;font-size:13px}
.fortune-tabs{
  max-width:1180px;margin:0 auto 18px;display:flex;gap:9px;overflow:auto
}
.fortune-tab{
  flex:0 0 auto;padding:11px 17px;border:1px solid var(--line);border-radius:999px;
  background:#fff;color:#475467;font-weight:800
}
.fortune-tab:hover,.fortune-tab.active{background:#fff2db;border-color:#d88921;color:#9a5700}

/* ===========================
   Fortune V2 Result
=========================== */

.fortune-form-symbol{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    border-radius:14px;
    background:linear-gradient(135deg,#fff7ea,#fffdf8);
    border:1px solid #f2d7a7;
    margin-bottom:8px;
}

.fortune-form-symbol span{
    font-size:34px;
}

.fortune-form-symbol p{
    margin:0;
    color:#7a6241;
}

.fortune-result-stage{
    min-height:620px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
}

.fortune-empty-state,
.fortune-loading-state{
    width:100%;
    text-align:center;
}

.fortune-orb{
    width:120px;
    height:120px;
    margin:auto;
    border-radius:50%;
    background:linear-gradient(135deg,#ffe8b5,#fff8e9);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:48px;
    box-shadow:0 10px 40px rgba(216,137,33,.2);
}

.fortune-loading-symbol{
    font-size:56px;
    animation:fortuneSpin 2.5s linear infinite;
}

@keyframes fortuneSpin{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

.fortune-progress-track{
    width:100%;
    height:10px;
    background:#efe9dc;
    border-radius:999px;
    overflow:hidden;
    margin-top:22px;
}

.fortune-progress-bar{
    height:100%;
    width:0;
    background:linear-gradient(90deg,#d88921,#ffd777);
    transition:.35s;
}

.fortune-reading-header{
    display:flex;
    gap:18px;
    align-items:center;
    margin-bottom:24px;
}

.fortune-reading-symbol{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#fff2db;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
}

.fortune-reading-content{
    line-height:1.9;
    font-size:16px;
    white-space:pre-wrap;
}

.fortune-reading-content h1{
    color:#d88921;
    font-size:30px;
}

.fortune-reading-content h2{
    margin-top:30px;
    border-bottom:1px solid #eee;
    padding-bottom:10px;
    color:#b66300;
}

.fortune-reading-content h3{
    margin-top:22px;
    color:#7c5200;
}

.fortune-reading-content strong{
    color:#9d5f00;
}

.fortune-reading-content hr{
    border:none;
    border-top:1px solid #eee;
    margin:26px 0;
}

.fortune-result-footer{
    margin-top:35px;
    padding-top:20px;
    border-top:1px solid #eee;
    font-size:13px;
    color:#777;
}
.fortune-stars{
    color:#e0a800;
    font-size:20px;
    font-weight:700;
}

.fortune-score{
    color:#b66300;
    font-weight:700;
    background:#fff3d6;
    padding:2px 8px;
    border-radius:999px;
}
@media(max-width:1100px){
  .tool-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .tool-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .tool-grid{grid-template-columns:1fr}
}
.image-bg{background:linear-gradient(180deg,#f7fbff,#fafbfe)}.image-layout,.legal-layout{max-width:1180px;margin:auto}.image-result{min-height:620px}.image-preview{min-height:560px;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted)}.image-preview img{display:block;max-width:100%;max-height:720px;border-radius:15px;box-shadow:var(--shadow)}.loading-orb{width:55px;height:55px;border-radius:50%;border:5px solid #e4e7ec;border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.legal-bg{background:linear-gradient(180deg,#f8f7ff,#fafbfe)}.legal-pill{background:#ede9fe;color:#6d28d9}.legal-notice{max-width:1180px;margin:0 auto 18px;padding:16px 18px;border:1px solid #ddd6fe;border-radius:14px;background:#faf8ff}.legal-notice b{color:#6d28d9}.legal-notice p{margin:5px 0 0;color:#5b5670;font-size:13px;line-height:1.6}
.pricing-four{grid-template-columns:repeat(4,1fr);max-width:1320px}.plan-builder{max-width:1050px;margin:70px auto 0}.feature-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.feature-check{display:flex;align-items:center;gap:10px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.feature-check input{accent-color:var(--primary)}.feature-check span{font-size:22px}
@media(max-width:1100px){.pricing-four{grid-template-columns:repeat(2,1fr)}.feature-check-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.pricing-four,.feature-check-grid{grid-template-columns:1fr}}

/* =========================================================
   KWRITELY Fortune V2
   - 오늘의 운세 별점
   - 타로 카드
   - 사주 음양·오행
   - 이름 한자 카드
   - 궁합 지수
========================================================= */

.fortune-result-document{
  width:100%;
  min-width:0;
}

.fortune-result-stage{
  align-items:flex-start;
}

.fortune-empty-state,
.fortune-loading-state{
  align-self:center;
}

.fortune-reading-heading{
  min-width:0;
}

.fortune-reading-label{
  display:inline-flex;
  margin-bottom:5px;
  color:#b66300;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
}

.fortune-reading-heading h3{
  margin:0;
  color:#2d261c;
  font-size:22px;
  letter-spacing:-.025em;
}

.fortune-reading-content{
  padding:0;
  max-height:none;
  overflow:visible;
  white-space:normal;
}

.fortune-prose{
  margin-top:26px;
}

.fortune-prose p{
  margin:0 0 14px;
  color:#4f473c;
  line-height:1.9;
}

.fortune-prose ul{
  margin:12px 0 18px;
  padding-left:20px;
  color:#4f473c;
}

.fortune-rating-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}

.fortune-rating-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 18px;
  border:1px solid #f0d6aa;
  border-radius:15px;
  background:linear-gradient(145deg,#fffdf8,#fff7e8);
  box-shadow:0 7px 20px rgba(164,100,10,.06);
}

.fortune-rating-card span:first-child{
  color:#5b4630;
  font-weight:900;
}

.fortune-stars{
  display:inline-flex;
  white-space:nowrap;
  color:#e0a219;
  font-size:20px;
  font-weight:900;
  letter-spacing:1px;
}

.fortune-lucky-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0 8px;
}

.fortune-lucky-item{
  display:grid;
  gap:6px;
  min-height:82px;
  padding:14px;
  border:1px solid #eadfcb;
  border-radius:13px;
  background:#fff;
}

.fortune-lucky-item small{
  color:#8a7760;
  font-size:11px;
  font-weight:800;
}

.fortune-lucky-item strong{
  color:#9a5700;
  font-size:15px;
}

.tarot-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:24px;
}

.tarot-card{
  position:relative;
  min-height:285px;
  padding:20px;
  overflow:hidden;
  border:1px solid #d9d0ed;
  border-radius:20px;
  background:
    radial-gradient(circle at 80% 5%,rgba(255,232,169,.55),transparent 27%),
    linear-gradient(155deg,#272344,#4b3767);
  color:#fff;
  box-shadow:0 18px 35px rgba(48,34,75,.18);
}

.tarot-card:before{
  content:"";
  position:absolute;
  inset:8px;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
}

.tarot-card-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.tarot-card-icon{
  font-size:30px;
}

.tarot-card-number{
  color:#d9c8f1;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}

.tarot-card h4{
  position:relative;
  z-index:1;
  margin:28px 0 8px;
  color:#fff;
  font-size:22px;
  letter-spacing:-.02em;
}

.tarot-orientation{
  position:relative;
  z-index:1;
  display:inline-flex;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#ffe2a7;
  font-size:11px;
  font-weight:900;
}

.tarot-divider{
  position:relative;
  z-index:1;
  height:1px;
  margin:18px 0;
  background:linear-gradient(90deg,rgba(255,255,255,.4),transparent);
}

.tarot-card strong,
.tarot-card p{
  position:relative;
  z-index:1;
}

.tarot-card strong{
  display:block;
  margin-bottom:9px;
  color:#ffe5b0;
  line-height:1.5;
}

.tarot-card p{
  margin:0;
  color:#e8e1f1;
  font-size:13px;
  line-height:1.75;
}

.saju-overview-card{
  display:grid;
  grid-template-columns:155px 1fr;
  gap:24px;
  padding:22px;
  border:1px solid #ddd5c7;
  border-radius:20px;
  background:linear-gradient(145deg,#fffefa,#f8f2e8);
}

.saju-yinyang{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:190px;
  border-radius:16px;
  background:#22211f;
  color:#fff;
  box-shadow:0 14px 30px rgba(24,24,22,.18);
}

.saju-yinyang>span{
  font-size:64px;
  line-height:1;
}

.saju-yinyang small{
  margin-top:14px;
  color:#c9c3b8;
  font-weight:800;
}

.saju-yinyang strong{
  margin-top:3px;
  font-size:25px;
}

.saju-elements{
  display:grid;
  gap:13px;
  align-content:center;
}

.saju-element-row{
  display:grid;
  grid-template-columns:34px 1fr 118px;
  align-items:center;
  gap:11px;
}

.saju-element-name{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:9px;
  background:#fff;
  color:#554937;
  font-weight:900;
  box-shadow:0 3px 10px rgba(48,39,27,.07);
}

.saju-element-track{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#e8dfd1;
}

.saju-element-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#b27928,#f0c46a);
}

.saju-element-row .fortune-stars{
  justify-self:end;
  font-size:15px;
}

.fortune-reference-note{
  grid-column:1/-1;
  margin:0;
  padding-top:14px;
  border-top:1px dashed #d8cbb8;
  color:#81725f;
  font-size:12px;
}

.name-hanja-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-bottom:25px;
}

.name-hanja-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:205px;
  padding:20px;
  overflow:hidden;
  border:1px solid #e1d2b9;
  border-radius:18px;
  background:
    linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.8)),
    repeating-linear-gradient(0deg,#f1e7d8 0,#f1e7d8 1px,transparent 1px,transparent 24px);
  text-align:center;
  box-shadow:0 12px 28px rgba(96,71,31,.08);
}

.name-hanja-card:after{
  content:"";
  position:absolute;
  top:12px;
  bottom:12px;
  left:50%;
  width:1px;
  background:rgba(173,137,79,.12);
}

.name-hanja-character,
.name-hanja-reading,
.name-hanja-card p{
  position:relative;
  z-index:1;
}

.name-hanja-character{
  font-family:"Noto Serif KR","Batang","바탕",serif;
  color:#392e21;
  font-size:62px;
  line-height:1.1;
}

.name-hanja-reading{
  margin-top:10px;
  color:#9a5700;
  font-size:14px;
  font-weight:900;
}

.name-hanja-card p{
  margin:9px 0 0;
  color:#6c5a43;
  font-size:14px;
}

.compatibility-score-card{
  display:grid;
  grid-template-columns:190px 1fr;
  align-items:center;
  gap:26px;
  padding:24px;
  border:1px solid #efd1d8;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,207,222,.45),transparent 35%),
    linear-gradient(145deg,#fff,#fff7f9);
}

.compatibility-score-ring{
  --score:75;
  display:grid;
  place-items:center;
  width:170px;
  height:170px;
  border-radius:50%;
  background:conic-gradient(#db6683 calc(var(--score) * 1%),#f2e3e7 0);
  box-shadow:0 16px 38px rgba(170,71,97,.16);
}

.compatibility-score-ring:before{
  content:"";
  grid-area:1/1;
  width:132px;
  height:132px;
  border-radius:50%;
  background:#fff;
}

.compatibility-score-ring>div{
  position:relative;
  z-index:1;
  grid-area:1/1;
  display:grid;
  text-align:center;
}

.compatibility-score-ring small{
  color:#946271;
  font-size:12px;
  font-weight:900;
}

.compatibility-score-ring strong{
  color:#bd496a;
  font-size:38px;
  letter-spacing:-.04em;
}

.compatibility-score-copy h4{
  margin:13px 0 7px;
  color:#4e3039;
  font-size:21px;
  line-height:1.5;
}

.compatibility-score-copy p{
  margin:0;
  color:#8e7078;
  font-size:12px;
}

@media(max-width:760px){
  .fortune-result-stage{
    padding:20px;
  }

  .fortune-rating-grid,
  .fortune-lucky-grid{
    grid-template-columns:1fr 1fr;
  }

  .tarot-card-grid{
    grid-template-columns:1fr;
  }

  .tarot-card{
    min-height:245px;
  }

  .saju-overview-card{
    grid-template-columns:1fr;
  }

  .saju-yinyang{
    min-height:145px;
  }

  .name-hanja-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .compatibility-score-card{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
}

@media(max-width:520px){
  .fortune-rating-grid,
  .fortune-lucky-grid,
  .name-hanja-grid{
    grid-template-columns:1fr;
  }

  .fortune-rating-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .saju-element-row{
    grid-template-columns:32px 1fr;
  }

  .saju-element-row .fortune-stars{
    grid-column:2;
    justify-self:start;
  }

  .compatibility-score-ring{
    width:150px;
    height:150px;
  }

  .compatibility-score-ring:before{
    width:116px;
    height:116px;
  }
}

/* =========================================================
   KWRITELY Tarot Picker
   - 카드 뒷면 10장
   - 3장 선택
   - 카드 뒤집기 애니메이션
========================================================= */

.tarot-picker-field{
  display:grid;
  gap:14px;
  min-width:0;
}

.tarot-picker-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.tarot-picker-title strong{
  color:#35284f;
  font-size:14px;
}

.tarot-picker-title span{
  color:#806b9d;
  font-size:12px;
  font-weight:800;
}

.tarot-picker-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:11px;
}

.tarot-pick-card{
  min-width:0;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  perspective:900px;
  outline:none;
}

.tarot-pick-card:focus-visible{
  border-radius:14px;
  box-shadow:0 0 0 4px rgba(124,77,255,.18);
}

.tarot-pick-inner{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:2 / 3;
  transform-style:preserve-3d;
  transition:transform .55s ease;
}

.tarot-pick-card.selected .tarot-pick-inner{
  transform:rotateY(180deg);
}

.tarot-pick-back,
.tarot-pick-front{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:14px;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.tarot-pick-back{
  border:2px solid #cbbce1;
  background:
    radial-gradient(circle at center,rgba(255,222,135,.23),transparent 26%),
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,.04) 0,
      rgba(255,255,255,.04) 5px,
      transparent 5px,
      transparent 10px
    ),
    linear-gradient(145deg,#251d3d,#503a73);
  color:#f4db9a;
  box-shadow:0 10px 24px rgba(50,35,80,.16);
}

.tarot-pick-back::before{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(244,219,154,.45);
  border-radius:10px;
}

.tarot-pick-back::after{
  content:"";
  position:absolute;
  width:46%;
  aspect-ratio:1;
  border:1px solid rgba(244,219,154,.35);
  transform:rotate(45deg);
}

.tarot-pick-back i{
  position:relative;
  z-index:1;
  font-size:28px;
  font-style:normal;
}

.tarot-pick-back small{
  position:relative;
  z-index:1;
  margin-top:9px;
  color:#d9c8ef;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}

.tarot-pick-front{
  padding:10px 6px;
  border:2px solid #dbb85f;
  background:
    radial-gradient(circle at 50% 26%,#fff4bd,transparent 30%),
    linear-gradient(155deg,#fffaf0,#e7d3a1);
  color:#3c2a52;
  text-align:center;
  transform:rotateY(180deg);
  box-shadow:0 12px 28px rgba(89,57,120,.22);
}

.tarot-pick-front i{
  margin-bottom:9px;
  color:#815897;
  font-size:26px;
  font-style:normal;
}

.tarot-pick-front strong{
  font-size:10px;
  line-height:1.25;
  word-break:break-word;
}

.tarot-pick-front small{
  margin-top:4px;
  color:#786486;
  font-size:9px;
}

.tarot-pick-card:hover .tarot-pick-inner{
  transform:translateY(-5px);
}

.tarot-pick-card.selected:hover .tarot-pick-inner{
  transform:translateY(-5px) rotateY(180deg);
}

.tarot-pick-card.selected .tarot-pick-front{
  box-shadow:
    0 0 0 3px rgba(217,184,95,.28),
    0 15px 30px rgba(89,57,120,.25);
}

.tarot-pick-card.selected .tarot-pick-front::after{
  content:"선택됨";
  position:absolute;
  right:5px;
  top:5px;
  padding:3px 5px;
  border-radius:999px;
  background:#5b3c78;
  color:#fff;
  font-size:7px;
  font-weight:900;
}

@media(max-width:760px){
  .tarot-picker-grid{
    grid-template-columns:repeat(5,minmax(54px,1fr));
    gap:7px;
  }

  .tarot-pick-front strong{
    font-size:8px;
  }

  .tarot-pick-front small{
    font-size:8px;
  }
}

@media(max-width:560px){
  .tarot-picker-grid{
    grid-template-columns:repeat(5,minmax(48px,1fr));
    gap:5px;
  }

  .tarot-picker-title{
    align-items:flex-start;
    flex-direction:column;
  }

  .tarot-pick-back i,
  .tarot-pick-front i{
    font-size:20px;
  }

  .tarot-pick-back small{
    display:none;
  }
}

