:root{--bg:#100b25;--panel:#201739;--ink:#fff8ff;--muted:#b8afce;--pink:#ff5bbd;--mint:#68f3dd;--gold:#ffd77a;--line:#ffffff20}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#38205c,transparent 42%),var(--bg);color:var(--ink);font-family:"Gowun Dodum",sans-serif;line-height:1.75}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1160px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;background:#100b25eF;backdrop-filter:blur(14px);z-index:5}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:white;font-weight:bold;font-size:20px}.brand small{display:block;color:var(--mint);font-size:9px;letter-spacing:.2em}.logo{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,var(--pink),#8666ff)}nav{display:flex;gap:8px}nav button{background:none;border:0;color:var(--muted);padding:8px 12px;border-radius:10px}nav button:hover{background:#ffffff12;color:white}main{max-width:1160px;padding:0 24px;margin:auto}.view{display:none;min-height:70vh}.view.active{display:block}.hero{min-height:610px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:48px 0}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--mint);font-weight:bold}.hero h1,.page-head h1{font-family:"Gowun Batang",serif;font-size:clamp(43px,6vw,72px);line-height:1.17;letter-spacing:-.06em;margin:18px 0}.hero h1 em{font-style:normal;color:var(--pink);text-shadow:0 0 28px #ff5bbd55}.hero-sub{font-size:21px;font-weight:bold}.muted,.heading p,.page-head p{color:var(--muted)}.primary,.secondary{padding:12px 18px;border-radius:13px;border:1px solid transparent;font-weight:bold}.primary{background:linear-gradient(110deg,#ff5bbd,#a37aff);color:#180d2b;box-shadow:0 8px 28px #ff5bbd30}.secondary{background:#ffffff0b;color:var(--ink);border-color:#ffffff24}.note{display:block;color:#978cb4;font-size:12px;margin-top:12px}.toy-wrap{min-height:440px;display:grid;place-items:center;position:relative}.toy{width:320px;padding:20px 22px 24px;border-radius:42px;background:linear-gradient(135deg,#ffb6e3,#ff68c1 38%,#c53f99 70%,#862e87);border:2px solid #ffd7f1;box-shadow:inset 7px 7px 12px #ffffff90,inset -10px -12px 20px #671c7d90,0 30px 70px #0007,0 0 45px #ff5bbd55;transform:rotate(-3deg);animation:float 5s ease-in-out infinite}.toy-label{text-align:center;color:#72215f;letter-spacing:.25em;font-weight:bold;margin-bottom:13px}.toy-window{height:245px;position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(150deg,#151b5a,#27205f 50%,#0e6b7e);border:7px solid #fbe1f2;box-shadow:inset 0 0 22px #05051c}.glare{position:absolute;inset:0;background:linear-gradient(115deg,#ffffff3b,transparent 30%,transparent 75%,#8bffff22);pointer-events:none}.ring{position:absolute;width:42px;height:42px;border:7px solid;border-radius:50%;filter:drop-shadow(0 0 7px currentColor);animation:ring 3.5s ease-in-out infinite alternate}.r1{color:#ff5ab8;left:20%;top:25%}.r2{color:#5be9ff;left:56%;top:43%;animation-delay:-1.7s}.r3{color:#ffe66d;left:34%;top:65%;animation-delay:-2.1s}.r4{color:#6effbe;left:69%;top:18%;animation-delay:-.9s}.r5{color:#bd8aff;left:13%;top:72%;animation-delay:-1.2s}.bubble{position:absolute;border:1px solid #ffffff7a;border-radius:50%;width:8px;height:8px;bottom:-10px;animation:bubble 4s linear infinite}.b1{left:20%}.b2{left:76%;animation-delay:-2s}.b3{left:47%;animation-delay:-1s}.buttons{display:flex;justify-content:center;gap:12px;padding:16px}.buttons i{width:15px;height:15px;background:#7b2877;border:2px solid #ffc5e8;border-radius:50%}.controls{text-align:center;color:#72215f;font-weight:bold}.spark{position:absolute;color:var(--gold);font-size:30px}.sp1{top:35px;right:10%}.sp2{bottom:35px;left:7%}@keyframes ring{to{transform:translate(13px,-20px) rotate(30deg)}}@keyframes bubble{to{transform:translateY(-250px);opacity:0}}@keyframes float{50%{translate:0 -10px}}.section{padding:55px 0}.heading{text-align:center;margin-bottom:30px}.heading h2,.wish-cta h2{font-family:"Gowun Batang",serif;font-size:clamp(28px,4vw,40px);margin:8px 0}.characters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.char{background:linear-gradient(160deg,#281b4a,#17112e);border:1px solid var(--line);border-radius:20px;padding:22px 15px;text-align:center}.char.selected{border-color:var(--pink);box-shadow:0 0 25px #ff5bbd22}.hamster{margin:0 auto 12px;width:80px;height:80px;border-radius:48%;display:grid;place-items:center;font-size:48px;background:radial-gradient(circle at 35% 25%,#fff2db,#c38a63 70%);box-shadow:0 10px 25px #0004}.char:nth-child(2) .hamster{background:radial-gradient(circle at 35% 25%,#fff5f8,#e4a6c5 70%)}.char:nth-child(3) .hamster{background:radial-gradient(circle at 35% 25%,#fff3dc,#9b8d7b 70%)}.char:nth-child(4) .hamster{background:radial-gradient(circle at 35% 25%,#fff1db,#8a6b56 70%)}.char h3{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.char p{color:var(--muted);font-size:12px;min-height:42px}.char small{color:#b8afce}.plans{border-top:1px solid var(--line)}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plans-grid article{background:#1b1434;border:1px solid var(--line);border-radius:20px;padding:24px}.plans-grid article>b{font-size:11px;letter-spacing:.1em;color:var(--mint)}.plans-grid article>b.pink{color:var(--pink)}.plans-grid article>b.gold{color:var(--gold)}.plans-grid h3{margin:12px 0 0}.plans-grid strong{font-size:28px}.plans-grid p{color:var(--muted);font-size:13px;min-height:48px}.plans-grid button{width:100%}.wish-cta{display:flex;align-items:center;justify-content:space-between;padding:32px;background:linear-gradient(110deg,#2c1749,#19112f);border:1px solid var(--line);border-radius:24px;margin:25px 0 60px}.wish-cta h2{margin-bottom:0}.page-head{padding:55px 0 25px}.page-head h1{font-size:clamp(34px,5vw,52px);margin:10px 0}.panel{background:#1c1537;border:1px solid var(--line);border-radius:22px;padding:clamp(18px,4vw,32px);margin-bottom:70px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.panel label{display:flex;flex-direction:column;gap:7px;color:#eee6ff;font-size:13px;font-weight:bold;margin-bottom:16px}.form-grid input,.form-grid select,.wide select,.panel input,.panel select,.panel textarea{width:100%;border:1px solid #ffffff26;border-radius:12px;background:#110c25;color:white;padding:13px;outline:none}.wide{display:block;margin-top:16px}.question-group{margin-top:28px}.question-group>p{color:var(--muted);font-size:13px}.question{padding:18px 0;border-top:1px solid var(--line)}.question legend{font-weight:bold;margin-bottom:10px}.options{display:flex;flex-wrap:wrap;gap:8px}.option{position:relative;margin:0!important}.option input{position:absolute;opacity:0}.option span{display:block;border:1px solid #ffffff25;border-radius:100px;padding:8px 12px;color:var(--muted);font-size:12px;cursor:pointer}.option input:checked+span{background:#ff5bbd20;border-color:var(--pink);color:white}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;justify-content:space-between}.result-card{background:#1c1537;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,34px);margin-bottom:16px}.result-card h2{font-family:"Gowun Batang",serif;margin:0 0 12px}.result-card h3{margin-top:26px;color:#ffd6ef}.lead{font-size:22px;color:#ffd6ef;font-weight:bold}.result-card li{margin:10px 0;color:#e4dcef}.quote{border-left:3px solid var(--mint);padding:14px 17px;background:#68f3dd0d;color:#e8fff9;margin-top:22px}.result-actions{justify-content:flex-start;margin-bottom:70px}.talisman-layout{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(300px,1fr);gap:24px;align-items:start;margin-bottom:70px}.talisman-layout .panel{display:flex;flex-direction:column;gap:10px;margin:0}.talisman-layout textarea{min-height:100px;resize:vertical}.canvas-wrap{padding:12px;border-radius:24px;background:#ffffff08;border:1px solid var(--line)}canvas{width:100%;height:auto;display:block;border-radius:14px}.saved-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#1c1537;border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:12px}.saved-item p{color:var(--muted);font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 35px;color:#8d83a8;font-size:11px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;background:#fff2fb;color:#251334;padding:12px 18px;border-radius:12px;transition:.25s;z-index:20;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:760px){.topbar{padding:0 12px;height:65px}nav{gap:0}nav button{font-size:11px;padding:8px}.hero{grid-template-columns:1fr;text-align:center;padding-top:25px}.toy-wrap{min-height:390px;grid-row:1}.hero-copy{grid-row:2;padding-bottom:25px}.toy{width:275px}.toy-window{height:210px}.characters{grid-template-columns:repeat(2,1fr)}.plans-grid{grid-template-columns:1fr}.plans-grid p{min-height:0}.wish-cta{display:block;text-align:center}.wish-cta button{margin-top:20px}.form-grid,.talisman-layout{grid-template-columns:1fr}.page-head{padding-top:35px}footer{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* V5: European editorial / old-world apothecary styling + larger mobile typography */
:root{
 --bg:#f4eee3;--panel:#fffaf2;--ink:#30261f;--muted:#76685b;
 --pink:#a94752;--mint:#526b57;--gold:#b58a45;--line:#30261f24;
}
body{
 background:radial-gradient(ellipse at 50% 0%,#fffaf3 0%,transparent 52%),#f4eee3;
 color:var(--ink);font-family:"Gowun Batang",serif;line-height:1.9;font-size:18px;
}
.topbar{background:#f4eee3ed;border-bottom:1px solid #30261f25}
.brand{color:#30261f;font-family:"Gowun Batang",serif;font-size:23px;letter-spacing:.04em}
.brand small{color:#526b57;font-size:11px;letter-spacing:.18em}
.logo{border-radius:50%;background:#526b57;box-shadow:inset 0 0 0 2px #f4eee3}
nav button{color:#76685b;font-size:15px}
nav button:hover{background:#e7ddcd;color:#30261f}
.eyebrow{font-size:13px;letter-spacing:.16em;color:#526b57}
.hero h1,.page-head h1{font-family:"Gowun Batang",serif;color:#30261f;letter-spacing:-.035em}
.hero h1 em{color:#a94752;text-shadow:none}
.hero-sub{font-size:23px;line-height:1.65}
.muted,.heading p,.page-head p{color:#76685b}
.primary{background:#526b57;color:#fffaf2;box-shadow:0 8px 20px #526b5720}
.secondary{background:#fffaf2;color:#30261f;border-color:#b8a995}
.note{color:#76685b;font-size:14px}
.card,.panel,.result-card,.character-card,.price-card{background:#fffaf2!important;border-color:#d9cbbb!important;color:#30261f}
button,input,select,textarea{font-size:17px}
input,select,textarea{background:#fffdf8!important;color:#30261f!important;border:1px solid #cfc0ad!important;border-radius:12px}
h2,h3,h4{font-family:"Gowun Batang",serif;color:#30261f}
p,li,label,.muted{font-size:18px}
.result,.result p,.result li,.reading,.reading p,.reading li,.analysis-text{font-size:19px;line-height:2}
.result h2,.reading h2{font-size:27px}
.result h3,.reading h3{font-size:22px}
.toy-wrap{filter:saturate(.8)}
.toy{box-shadow:inset 7px 7px 12px #ffffff90,inset -10px -12px 20px #671c7d55,0 22px 40px #30261f20}
footer nav{display:flex;flex-wrap:wrap;gap:12px}footer a,.privacy-summary a{color:inherit;text-decoration:underline}.privacy-summary{margin-bottom:18px;padding:16px 18px;border:1px solid #d9cbbb;border-radius:16px;background:#fffaf2}.privacy-summary p{margin:.45rem 0 0;line-height:1.65}
@media(max-width:700px){
 body{font-size:18px;line-height:1.9}
 main{padding:0 18px}
 .topbar{height:64px;padding:0 16px}
 .brand{font-size:21px}
 nav{gap:2px} nav button{font-size:14px;padding:8px 7px}
 .hero{grid-template-columns:1fr;gap:12px;padding:28px 0}
 .hero h1,.page-head h1{font-size:clamp(38px,10vw,48px);line-height:1.3}
 .hero-sub{font-size:21px}
 .eyebrow{font-size:13px}
 .primary,.secondary{font-size:18px;padding:14px 18px}
 .note{font-size:14px}
 .result,.result p,.result li,.reading,.reading p,.reading li,.analysis-text{font-size:18px;line-height:1.95}
 .result h2,.reading h2{font-size:25px}
 .result h3,.reading h3{font-size:21px}
}
