:root{--ink:#151514;--sage:#8ea06f;--deep:#243225;--cream:#fbf3e4;--pink:#e98bb0;--gold:#c9a24c;--soft:#e7ecd9;--line:#1f211d;--shadow:0 16px 34px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% 0,#e7ecd9 0,#f9f0e0 33%,#e6e6d6 100%);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{position:absolute;left:-9999px}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#536044;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:999px;padding:.78rem 1rem;font-weight:900;text-decoration:none;color:var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff}.btn.primary{background:var(--pink)}.btn.secondary{background:var(--soft)}.btn.big{font-size:1rem;padding:1rem 1.35rem}.intro-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle,#31432f,#10140f 70%);padding:24px}.intro-gate.hidden{display:none}.intro-card{width:min(420px,92vw);background:var(--cream);border:3px solid var(--gold);border-radius:28px;padding:30px;text-align:center;box-shadow:0 0 0 7px rgba(233,139,176,.25),0 20px 80px #000}.intro-card img{width:78%;max-width:280px}.intro-card p{font-family:Georgia,serif;font-style:italic;font-size:1.15rem}.topbar{position:sticky;top:0;z-index:60;min-height:72px;background:#101210;border-bottom:3px solid var(--gold);display:flex;align-items:center;gap:10px;padding:10px 14px}.mini-logo img{width:110px;display:block}.topbar nav{margin-left:auto;display:flex;gap:6px}.topbar nav a{color:white;text-decoration:none;padding:.5rem .65rem;border-radius:999px;font-size:.82rem}.topbar nav a:hover{background:var(--sage)}.top-actions{display:flex;gap:8px}.top-actions button{width:46px;height:46px;border:2px solid white;border-radius:16px;background:var(--pink);font-size:1.1rem}#menuBtn{display:none}.top-widgets{background:linear-gradient(180deg,#141815,#20281e);display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;position:relative;z-index:20}.bling-clock,.radio-widget{min-height:102px;border:2px solid var(--sage);border-radius:24px;color:white;padding:14px;box-shadow:inset 0 0 25px rgba(142,160,111,.12);display:flex;align-items:center;justify-content:center;gap:14px}.bling-clock strong{display:block;font-family:Georgia,serif;font-size:2rem;color:#f3a1c3}.bling-clock em,.bling-clock small,.radio-widget small,.radio-widget span{display:block;font-style:normal;font-size:.72rem;letter-spacing:.08em}.radio-widget img{width:58px;height:58px;border-radius:16px;object-fit:cover}.radio-widget div{flex:1}.radio-widget strong{display:block;margin:.2rem 0}.radio-widget button{width:54px;height:54px;border-radius:50%;border:0;background:var(--pink);font-size:1.25rem;font-weight:900}.hero{padding:18px 14px 26px;background:linear-gradient(180deg,#172018,#0d100d);color:white}.hero-art{position:relative;max-width:1050px;margin:auto;border:3px solid var(--sage);border-radius:34px;overflow:hidden;min-height:68vh;background:#000;box-shadow:var(--shadow)}.hero-photo{width:100%;height:68vh;object-fit:cover;object-position:center 43%;display:block}.hero-title-card{position:absolute;left:4%;right:4%;bottom:4%;background:rgba(247,240,221,.93);border:2px solid var(--gold);border-radius:22px;padding:10px 14px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(8px)}.hero-title-card img{width:min(44vw,300px)}.hero-title-card span{color:var(--ink);font-family:Georgia,serif;font-style:italic;font-weight:800}.hero-sticker{position:absolute;font-size:2rem;filter:drop-shadow(0 3px 2px rgba(0,0,0,.25));animation:float 3s ease-in-out infinite}.s1{left:4%;top:12%}.s2{right:6%;top:18%}.s3{right:4%;bottom:28%}.s4{left:5%;bottom:28%}@keyframes float{50%{transform:translateY(-8px) rotate(4deg)}}.hero-copy{max-width:1050px;margin:18px auto 0}.hero-copy h1{font-family:Georgia,serif;font-size:clamp(2rem,6vw,4.5rem);line-height:.96;margin:.25rem 0 .6rem}.hero-copy p:not(.eyebrow){max-width:680px;color:#e7eadf}.paper-section,.work-section,.arcade-section,.podcast-bottom{max-width:1050px;margin:18px auto;background:rgba(255,248,236,.94);border:2px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.section-head h2,.work-section h2,.podcast-bottom h2,.game-shell h2{font-family:Georgia,serif;font-style:italic;font-size:clamp(2rem,7vw,3.5rem);line-height:.95;margin:.15rem 0 .5rem}.about-grid{display:grid;grid-template-columns:260px 1fr 260px;gap:18px;align-items:start}.polaroid{margin:0;background:white;border:1px solid #d7c8b3;padding:9px 9px 24px;box-shadow:0 10px 22px rgba(0,0,0,.16);position:relative}.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.polaroid figcaption{text-align:center;font-family:Georgia,serif;font-style:italic;margin-top:8px}.facts-card{background:linear-gradient(135deg,#eef1df,#f8dbe8);border:2px solid var(--sage);border-radius:18px;padding:14px}.facts-card ul{padding-left:1.25rem}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tag-row span,.word-list span{border:1.5px solid var(--ink);border-radius:999px;padding:.35rem .6rem;background:white;font-size:.8rem}.scrapbook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 8px;padding:10px 8px 16px}.scrapbook-grid .polaroid:nth-child(even){transform:rotate(2.5deg) translateY(10px)}.scrapbook-grid .polaroid:nth-child(odd){transform:rotate(-2.5deg)}.arcade-section{background:linear-gradient(180deg,#536744,#809468);border-color:#263125}.arcade-title{background:#171916;border:2px solid #f3a1c3;border-radius:20px;color:white;padding:12px;display:flex;align-items:center;justify-content:center;gap:10px}.arcade-title h2{margin:0;font-family:Georgia,serif;font-style:italic;color:#f4a4c3;font-size:clamp(2rem,7vw,3.8rem)}.arcade-sub{text-align:center;color:white}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.game-card{border:2px solid #121312;border-radius:18px;background:#fdf5e7;padding:10px;min-height:170px;box-shadow:4px 4px 0 #121312;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}.game-card.hot{background:linear-gradient(180deg,#f8d9e5,#fdf5e7)}.game-card b{background:#171916;color:white;border-radius:999px;padding:.4rem .8rem;margin-top:5px}.game-preview{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#dce4c4,#f5bfd2);font-size:2rem;border:1.5px solid #222}.work-section{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pretty-form{display:grid;gap:9px;background:white;border:2px solid var(--ink);border-radius:18px;padding:14px}.pretty-form input,.pretty-form select,.pretty-form textarea{width:100%;border:1.5px solid #bdaea0;border-radius:10px;padding:.72rem;background:#fffdf8}.pretty-form textarea{min-height:100px;resize:vertical}.check{font-size:.82rem}.podcast-card{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}.podcast-art{width:120px;height:120px;border-radius:28px;background:linear-gradient(145deg,#1d201c,#526543);display:grid;place-items:center;font-size:3rem;color:white;border:2px solid var(--gold)}footer{text-align:center;padding:30px;background:#111511;color:white}footer img{width:160px}
.game-modal{border:0;background:transparent;padding:0;width:min(980px,96vw);max-height:92vh}.game-modal::backdrop{background:rgba(11,15,11,.82);backdrop-filter:blur(4px)}.game-shell{position:relative;background:var(--cream);border:3px solid var(--sage);border-radius:28px;padding:22px;box-shadow:0 20px 70px rgba(0,0,0,.5);max-height:90vh;overflow:auto}.game-close{position:fixed;right:calc(2vw + 10px);top:calc(5vh + 6px);z-index:10;width:52px;height:52px;border-radius:50%;border:2px solid white;background:#111;color:white;font-size:1.8rem}.dress-layout,.wig-layout{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr);gap:18px}.doll-stage,.wig-stage{position:relative;min-height:620px;border:3px solid var(--ink);border-radius:28px;background:radial-gradient(circle at 50% 30%,#fff7f3,#dfe7c9 72%);overflow:hidden}.fashion-svg{width:100%;height:100%;display:block}.closet-panel{min-width:0}.outfit-thumbs,.wig-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.outfit-thumb,.wig-thumb{border:2px solid var(--ink);border-radius:14px;background:white;padding:6px;min-height:92px}.outfit-thumb.active,.wig-thumb.active{background:#f2c2d3;outline:3px solid var(--sage)}.outfit-thumb svg,.wig-thumb svg{width:100%;height:52px}.outfit-thumb small,.wig-thumb small{display:block;font-size:.68rem;line-height:1.05}.mood-bubble{position:absolute;right:12px;bottom:12px;width:72px;height:72px;border:3px solid var(--ink);border-radius:50%;background:white;display:grid;place-items:center;font-size:2.3rem}.kitchen-stage{border:3px solid var(--ink);border-radius:24px;padding:20px;background:linear-gradient(#e9ecda 0 52%,#bc9670 52% 100%);min-height:420px;display:grid;grid-template-rows:1fr auto;gap:16px}.stove{display:grid;place-items:center}.pot{width:240px;height:180px;border:8px solid #2a2926;border-radius:20px 20px 50px 50px;background:#8f9593;position:relative;box-shadow:inset 0 -20px 0 rgba(0,0,0,.12)}.pot:before,.pot:after{content:"";position:absolute;top:40px;width:80px;height:20px;background:#2a2926;border-radius:20px}.pot:before{left:-70px}.pot:after{right:-70px}.pot-contents{position:absolute;left:12px;right:12px;bottom:12px;min-height:74px;border-radius:0 0 36px 36px;background:#f8d3ad;display:flex;align-items:center;justify-content:center;gap:4px;font-size:2rem;overflow:hidden}.steam{position:absolute;left:0;right:0;top:-58px;text-align:center;font-size:2rem;opacity:0;animation:steam 1.2s infinite}.steam.on{opacity:.65}@keyframes steam{50%{transform:translateY(-12px);opacity:.25}}.ingredient-tray{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.ingredient{background:white;border:2px solid var(--ink);border-radius:16px;padding:8px;text-align:center}.ingredient span{display:block;font-size:2rem}.ingredient.done{opacity:.35}.ingredient.wrong{animation:shake .25s}.cook-meter{display:flex;align-items:center;gap:10px;margin:12px 0}.cook-meter>div{flex:1;height:16px;border:2px solid var(--ink);border-radius:999px;overflow:hidden}.cook-meter i{display:block;height:100%;width:0;background:var(--sage);transition:width .3s}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.word-toolbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.mini-game-btn{border:2px solid var(--ink);border-radius:999px;background:var(--pink);padding:.55rem .85rem;font-weight:900}.word-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;touch-action:none;user-select:none;-webkit-user-select:none}.word-cell{aspect-ratio:1;border:1.5px solid #bcae99;background:white;display:grid;place-items:center;font-family:monospace;font-weight:900;font-size:clamp(1rem,4vw,1.45rem);border-radius:5px;touch-action:none}.word-cell.selecting{background:#f5bfd2}.word-cell.found{background:#b8c999}.word-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.word-list .found{text-decoration:line-through;background:#b8c999}.makeover-face{width:min(340px,100%);display:block;margin:auto;border:3px solid var(--ink);border-radius:20px}.makeover-options,.option-group{display:grid;gap:8px;margin:12px 0}.option-group>div{display:flex;flex-wrap:wrap;gap:8px}.option-group button{border:2px solid var(--ink);border-radius:999px;background:white;padding:.5rem .7rem}.option-group button.active{background:var(--pink)}.makeover-result{font-family:Georgia,serif;font-weight:700;font-size:1.15rem;margin-top:12px;min-height:28px}
@media(max-width:780px){.topbar{min-height:66px}.topbar nav{display:none;position:absolute;top:66px;left:10px;right:10px;background:#111;border:2px solid var(--sage);border-radius:18px;padding:10px;flex-wrap:wrap}.topbar nav.open{display:flex}#menuBtn{display:block}.mini-logo img{width:105px}.top-widgets{grid-template-columns:1fr 1fr;padding:10px 8px;gap:8px}.bling-clock,.radio-widget{min-height:114px;padding:10px 8px;border-radius:20px}.bling-clock strong{font-size:1.55rem}.radio-widget img{width:46px;height:46px}.radio-widget button{width:46px;height:46px}.hero{padding:12px 8px 20px}.hero-art{min-height:76vh;border-radius:28px}.hero-photo{height:76vh;object-position:center 48%}.hero-title-card{left:3%;right:3%;bottom:2.5%;display:block;text-align:center;padding:7px 10px}.hero-title-card img{width:70%;max-width:none}.hero-title-card span{display:block;font-size:.92rem}.hero-copy{padding:0 6px}.paper-section,.work-section,.arcade-section,.podcast-bottom{margin:12px 8px;padding:16px;border-radius:22px}.about-grid,.work-section,.podcast-card{grid-template-columns:1fr}.main-polaroid{width:70%;margin:auto}.facts-card{margin-top:6px}.scrapbook-grid{grid-template-columns:repeat(2,1fr);padding:4px}.game-grid{grid-template-columns:repeat(2,1fr);gap:10px}.game-card{min-height:150px}.dress-layout,.wig-layout{grid-template-columns:1fr}.doll-stage,.wig-stage{min-height:540px}.outfit-thumbs,.wig-thumbs{grid-template-columns:repeat(3,1fr)}.ingredient-tray{grid-template-columns:repeat(3,1fr)}.podcast-art{width:90px;height:90px}.game-shell{padding:16px 12px}.game-close{right:14px;top:calc(5vh + 6px)}.word-grid{gap:3px}.word-cell{font-size:1.15rem}}

/* V9 — exact Chun game character supplied by user */
.character-stage{
  position:relative; overflow:hidden; min-height:620px; background:#5a5a5a;
  border:3px solid #171717; border-radius:28px;
}
.character-base{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  /* Source sheet has close-up left, front center, back right. Crop to the full-body front model. */
  object-position:50% 50%; transform:scale(1.78); transform-origin:50% 52%;
}
.character-overlay{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}
.wig-character-stage .character-base{transform:scale(1.78); transform-origin:50% 52%}
.doll-stage.character-stage,.wig-stage.character-stage{height:650px}
@media(max-width:600px){
  .character-stage{min-height:560px}
  .doll-stage.character-stage,.wig-stage.character-stage{height:580px}
}

/* V11 — upgraded avatar studios embedded into the original full Chun Coded site */
.upgraded-game-modal{
  width:min(1420px,98vw);
  height:min(94vh,980px);
  max-height:94vh;
  overflow:hidden;
  background:#0f120e;
  border:2px solid var(--sage);
  border-radius:28px;
}
.upgraded-game-modal .game-close{
  position:fixed;
  z-index:1002;
}
.avatar-game-frame{
  display:block;
  width:100%;
  height:100%;
  min-height:88vh;
  border:0;
  background:#10130f;
  border-radius:26px;
}
.legacy-game-dom{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:780px){
  .upgraded-game-modal{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    border:0;
    border-radius:0;
  }
  .avatar-game-frame{
    min-height:100dvh;
    border-radius:0;
  }
  .upgraded-game-modal .game-close{
    right:12px;
    top:max(12px,env(safe-area-inset-top));
  }
}

/* V13 — Chun Coded Recipe Book */
.recipe-section{padding:70px 5vw;background:linear-gradient(180deg,#f8f3e8,#eef5e9);color:#182019}.recipe-title{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.recipe-title h2{font-size:clamp(2rem,5vw,4.2rem);margin:.15em 0}.recipe-title p{max-width:650px}.recipe-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.recipe-tab{border:1px solid #879b78;background:#fff;padding:10px 16px;border-radius:999px;font-weight:800;cursor:pointer}.recipe-tab.active{background:#203b27;color:#fff}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recipe-card{background:#fff;border:1px solid #cad5c3;border-radius:22px;padding:20px;box-shadow:0 8px 25px #26341e14;display:flex;flex-direction:column;gap:12px}.recipe-card .recipe-icon{font-size:2.2rem}.recipe-card h3{margin:0;font-size:1.25rem}.recipe-meta{display:flex;gap:7px;flex-wrap:wrap}.recipe-meta span{font-size:.78rem;background:#edf3e9;padding:6px 9px;border-radius:999px;font-weight:800}.recipe-card details{border-top:1px dashed #bdc9b6;padding-top:10px}.recipe-card summary{cursor:pointer;font-weight:900;color:#315c37}.recipe-card ol,.recipe-card ul{padding-left:20px;line-height:1.55}.recipe-note{font-size:.85rem;opacity:.75;margin:0}.matcha-strip{margin-top:28px;background:#1c3422;color:#fff;border-radius:26px;padding:25px}.matcha-strip h3{font-size:1.7rem;margin:0 0 8px}.matcha-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.matcha-mini{background:#ffffff12;border:1px solid #ffffff25;border-radius:18px;padding:15px}.matcha-mini b{display:block;margin-bottom:6px}.recipe-disclaimer{font-size:.8rem;margin-top:18px;opacity:.65}@media(max-width:900px){.recipe-grid{grid-template-columns:1fr 1fr}.matcha-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.recipe-section{padding:48px 18px}.recipe-grid,.matcha-grid{grid-template-columns:1fr}}

/* V14 animated Chun Coded wordmark */
.animated-wordmark{font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:.12em;line-height:1;text-decoration:none;position:relative;isolation:isolate}
.animated-wordmark .wm-chun,.animated-wordmark .wm-coded{display:inline-block;transform-origin:50% 80%;will-change:transform,filter}
.animated-wordmark .wm-chun{animation:wordSway 2.7s ease-in-out infinite}
.animated-wordmark .wm-coded{animation:wordSway 2.7s ease-in-out -.48s infinite}
.animated-wordmark .wm-star{display:inline-block;font-family:Georgia,serif;font-style:normal;animation:starPulse 1.15s ease-in-out infinite;transform-origin:center;filter:drop-shadow(0 0 5px rgba(232,203,104,.72))}
.mini-logo{font-size:clamp(1.55rem,4vw,2.15rem);color:#fff;padding:.2rem .15rem;min-width:max-content}
.mini-logo .wm-star{color:#fff}
.hero-title-card{justify-content:center;flex-direction:column;gap:2px;text-align:center}
.hero-title-card .hero-wordmark{font-size:clamp(2.5rem,9vw,6rem);color:#171916;letter-spacing:-.035em}
.hero-title-card .hero-wordmark .wm-star{color:#171916}
.hero-title-card>span{font-size:clamp(.9rem,2vw,1.25rem)}
.intro-wordmark{font-size:clamp(3.2rem,14vw,6rem);color:#161816;justify-content:center;width:100%}
.intro-wordmark .wm-star{color:#171916}
@keyframes wordSway{0%,100%{transform:translateY(0) rotate(-1deg) scale(1)}25%{transform:translateY(-3px) rotate(1.4deg) scale(1.025)}55%{transform:translateY(2px) rotate(-.7deg) scale(.995)}75%{transform:translateY(-1px) rotate(.7deg) scale(1.012)}}
@keyframes starPulse{0%,100%{transform:rotate(-8deg) scale(.88);opacity:.75}50%{transform:rotate(12deg) scale(1.22);opacity:1}}
.shooting-chun-star{position:fixed;z-index:9999;pointer-events:none;font-family:Georgia,serif;font-size:clamp(1.7rem,5vw,3.5rem);color:#fff;text-shadow:0 0 7px #fff,0 0 15px #e9cd62,0 0 28px #e98bb0;left:-12vw;top:var(--star-y,22vh);opacity:0;transform:translate3d(0,0,0) rotate(-15deg) scale(.6)}
.shooting-chun-star.fire{animation:shootOff 1.05s cubic-bezier(.19,.8,.25,1) forwards}
.shooting-chun-star::after{content:"";position:absolute;right:55%;top:50%;width:12vw;height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(233,139,176,.7),rgba(255,255,255,.95));transform:translateY(-50%);filter:blur(.3px)}
@keyframes shootOff{0%{left:-12vw;opacity:0;transform:translate3d(0,20px,0) rotate(-20deg) scale(.6)}10%{opacity:1}70%{opacity:1}100%{left:108vw;opacity:0;transform:translate3d(0,-28vh,0) rotate(50deg) scale(1.45)}}
.intro-yell-burst{position:fixed;inset:0;z-index:10020;pointer-events:none;display:grid;place-items:center;opacity:0;font:900 clamp(3rem,14vw,9rem)/.9 Arial,sans-serif;letter-spacing:-.07em;color:#fff;text-align:center;text-transform:uppercase;text-shadow:0 4px 0 #151715,0 0 18px #e98bb0,0 0 38px #f0cf65}
.intro-yell-burst.go{animation:yellBurst .92s ease-out forwards}
@keyframes yellBurst{0%{opacity:0;transform:scale(.25) rotate(-7deg)}16%{opacity:1;transform:scale(1.18) rotate(2deg)}45%{opacity:1;transform:scale(.98) rotate(-1deg)}100%{opacity:0;transform:scale(1.55) rotate(3deg)}}
@media(max-width:780px){.mini-logo{font-size:1.62rem}.topbar{gap:8px}.hero-title-card{padding:8px 10px}.hero-title-card .hero-wordmark{font-size:clamp(2.8rem,14vw,4.7rem)}}
@media(prefers-reduced-motion:reduce){.animated-wordmark .wm-chun,.animated-wordmark .wm-coded,.animated-wordmark .wm-star{animation:none}.shooting-chun-star{display:none}}

.form-status{min-height:1.5em;margin:.65rem 0 0;font-weight:800;font-size:.95rem}
.form-status.success{color:#536b42}
.form-status.error{color:#9f244a}
.pretty-form button[disabled]{opacity:.65;cursor:wait}
