@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{--bg:#fffaf2;--bg2:#f1f8ff;--ink:#17324d;--muted:#728395;--line:#dbe8f3;--blue:#2f80ed;--yellow:#ffd166;--green:#168653;--red:#d94f4f}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif;line-height:1.65;background:radial-gradient(circle at 8% 0%,rgba(255,209,102,.25),transparent 28rem),radial-gradient(circle at 100% 12%,rgba(91,168,255,.18),transparent 30rem),linear-gradient(180deg,var(--bg),#fff 45%,var(--bg2))}
button,input{font:inherit}.wrap{width:min(100% - 32px,980px);margin:auto}.narrow{max-width:760px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-row{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:900;font-size:19px}.brand-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--blue),#6d8cff);color:#fff;box-shadow:0 7px 20px rgba(47,128,237,.2)}.brand-icon svg{width:28px;height:28px}.tools-link{color:var(--ink);text-decoration:none;font-size:12px;font-weight:900;border:1px solid var(--line);padding:9px 12px;border-radius:999px;background:#fff}.view{display:none;min-height:75vh}.view.active{display:block}.hero{text-align:center;padding:54px 0 28px}.hero h1,.challenge-intro h1{font-size:clamp(36px,7vw,60px);line-height:1.06;letter-spacing:-.045em;margin:4px 0 10px}.hero p{margin:0;color:var(--muted)}.eyebrow{margin:0;color:var(--blue)!important;font-size:12px;font-weight:900;letter-spacing:.12em}.card{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 52px rgba(47,128,237,.08)}.daily-card,.simple-card{padding:26px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.card-head h2{margin:5px 0 0}.today-chip,.section-chip{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.11em;padding:5px 9px;border-radius:999px;background:#fff5d2;color:#9a6900}.timer{background:#edf6ff;border:1px solid #d7e9ff;border-radius:16px;padding:8px 12px;text-align:right;min-width:100px}.timer small{display:block;color:#718ba5;font-weight:800}.timer strong{font-size:22px;color:var(--blue);font-variant-numeric:tabular-nums}.puzzle-stage{height:370px;margin:22px 0 12px;background:#fff;border:2px solid #e6f0f8;border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;box-shadow:inset 0 0 0 8px #fbfdff}.puzzle-stage.compact{height:310px}.question{text-align:center;font-weight:900;font-size:18px}.answer-form{display:grid;grid-template-columns:1fr auto;gap:10px}.answer-form input,.rank-form input{border:1.5px solid #d7e5f1;border-radius:15px;padding:14px 15px;outline:none}.answer-form input:focus,.rank-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,128,237,.1)}button{cursor:pointer}.primary,.secondary,.hint-btn,.answer-btn,.challenge-link,.share-btn{border:0;border-radius:15px;font-weight:900}.primary{background:linear-gradient(135deg,var(--blue),#597cff);color:#fff;padding:13px 20px;box-shadow:0 7px 18px rgba(47,128,237,.22)}.primary.big{width:100%;padding:16px}.secondary{background:#fff;border:1px solid #cfdeeb;padding:13px 18px;color:var(--ink)}.hint-btn{padding:10px 13px;background:#fff5d2;color:#866100;border:1px solid #f0df9d}.hint-btn:disabled{opacity:.6}.answer-btn{padding:10px 13px;background:#edf6ff;color:var(--blue);border:1px solid #d6e9ff}.helper-row{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.feedback{min-height:28px;padding-top:8px;text-align:center;font-weight:800}.feedback.good{color:var(--green)}.feedback.bad{color:var(--red)}.info-box{background:#f7fbff;border:1px solid #dcecf8;border-radius:17px;padding:16px;margin-top:12px}.hidden{display:none!important}.result{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.result-title{display:flex;align-items:center;gap:12px}.result-title small,.share-head small{color:var(--blue);font-weight:900;letter-spacing:.1em}.result-title h3,.share-head h3{margin:0;font-size:30px}.check{width:50px;height:50px;border-radius:50%;background:#e8f8f0;color:var(--green);display:grid;place-items:center;font-size:27px;font-weight:900}.stats,.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.stats>div,.score-grid>div{background:linear-gradient(180deg,#f8fbff,#edf6ff);border:1px solid #dbeaf7;border-radius:17px;padding:14px;text-align:center}.stats span,.score-grid span{display:block;color:#6d8194;font-size:12px}.stats strong{font-size:20px}.demo-note{font-size:11px;color:#8a98a7;text-align:center}.share{margin-top:18px}.share-head{display:flex;justify-content:space-between;align-items:center}.mini-pill{font-size:11px;border:1px solid #d6e4ef;border-radius:999px;padding:5px 9px;color:#6b7f91}.share-card{margin-top:12px;background:linear-gradient(135deg,#245fae,#4c8ef7 60%,#7aa7ff);color:#fff;border-radius:22px;padding:18px;box-shadow:0 14px 30px rgba(47,128,237,.22)}.share-brand{font-weight:900}.share-puzzle{height:150px;background:#fff;border-radius:16px;margin:14px 0;overflow:hidden;filter:blur(8px);border:3px solid rgba(255,255,255,.25)}.share-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.share-stats span{font-size:12px;font-weight:800;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 8px}.share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.share-btn{padding:12px;color:#fff}.share-btn.x{background:#111}.share-btn.fb{background:#1877f2}.action-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin:18px 0 50px}.challenge-link{background:linear-gradient(135deg,#17324d,#234b71);color:#fff;padding:17px 18px;display:flex;justify-content:space-between;align-items:center;text-align:left}.challenge-link small,.challenge-link b{display:block}.challenge-link small{color:#c6d7e7}.challenge-link b{font-size:18px}.about{padding:36px 0 72px;border-top:1px solid var(--line)}.about h2{font-size:31px;margin:8px 0 6px}.about>p{color:var(--muted);max-width:760px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.feature-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(47,128,237,.05)}.feature-grid b,.feature-grid span{display:block}.feature-grid span{font-size:13px;color:var(--muted)}.feature-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#edf6ff,#fff5d2);color:var(--blue);font-weight:900;margin-bottom:10px}.back{margin:28px 0 12px;border:0;background:none;color:var(--blue);font-weight:900}.standalone{display:block;margin:12px auto}.challenge-status{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.progress{height:8px;background:#eaf2f8;border-radius:99px;margin-top:8px;overflow:hidden}.progress i{display:block;width:10%;height:100%;background:linear-gradient(90deg,var(--blue),var(--yellow))}.score-grid{grid-template-columns:1fr 1fr}.score-grid strong{font-size:28px}.badge{margin:16px auto 24px;width:max-content;max-width:100%;background:linear-gradient(135deg,var(--yellow),#ffb84d);color:#704b00;border-radius:999px;padding:10px 14px;font-weight:900}.rank-form{display:grid;grid-template-columns:1fr auto;gap:8px}.full{width:100%}.muted{color:var(--muted);font-size:13px}ol{padding-left:22px}footer{background:#17324d;color:#dbe7f2;margin-top:36px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px 0 20px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-brand{color:#fff;text-decoration:none}.footer-main nav{display:flex;flex-wrap:wrap;gap:18px}.footer-main nav a{color:#dbe7f2;text-decoration:none;font-size:13px}.footer-copy{padding:16px 0 20px;font-size:12px;color:#9bb0c4}
/* puzzles */
.puzzle{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;color:#050505;font-weight:900}.row{display:flex;align-items:center;gap:22px}.q1 .a{font-size:88px}.q1 .b{font-size:64px}.q2{flex-direction:column}.q2 .big{font-size:138px;line-height:.85}.q2 .small{font-size:64px;margin-top:12px}.q3 .slope{position:absolute;width:72%;height:10px;background:#111;transform:rotate(18deg);border-radius:99px}.q3 .mouth{font-size:112px;transform:rotate(14deg) translate(-20px,-28px)}.q4{justify-content:flex-start;padding-left:10%}.q4 .txt{font-size:76px;z-index:2}.q4 .dark{position:absolute;right:0;width:62%;height:100%;background:linear-gradient(90deg,rgba(0,0,0,0),#000 20%)}.q5{gap:70px}.q5 .heart{font-size:88px}.q5 .box{font-size:70px;border:8px solid #111;padding:44px 48px}.q6 .x{font-size:92px}.q6 .mouthchar{font-size:64px;border:5px solid #111;padding:0 8px}.q7{gap:55px}.half{width:62px;overflow:hidden;height:125px;display:flex;align-items:center}.half span{font-size:120px}.half.right{justify-content:flex-end}.half.right span{transform:translateX(55px)}.q8{flex-direction:column;gap:38px}.q8 i{height:18px;background:#111;border-radius:99px}.q8 .long{width:74%}.q8 .short{width:22%}.q9 .narrow{width:110px;height:280px;border:7px solid #111;display:grid;place-items:center}.q9 .narrow span{font-size:120px;transform:scaleX(.45)}.q10 svg{width:80%;height:80%}.q11{flex-direction:column;gap:44px}.q11 span{font-size:104px}.q12{gap:30px}.q12 .books{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-size:62px}.q12 .tree{font-size:96px}.q13 .princes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 25px;font-size:42px}.q14 .wheelbox{width:300px;height:260px;position:relative}.q14 .car{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:92px}.q14 .wheel{position:absolute;font-size:52px}.q14 .w1{top:0;left:50%;transform:translateX(-50%)}.q14 .w2{bottom:5px;left:26px}.q14 .w3{bottom:5px;right:26px}.q15 .seven{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 26px;font-size:70px}.q16{gap:45px}.q16 span{font-size:118px}.q16 span:last-child{transform:translateY(24px)}.q17 span{font-size:110px;transform:rotate(180deg);display:inline-block}.q18{gap:26px}.q18 span{font-size:82px}
@media(max-width:680px){.wrap{width:min(100% - 20px,980px)}.header-row{min-height:60px}.brand{font-size:16px}.brand-icon{width:34px;height:34px}.tools-link{font-size:10px;padding:8px 9px}.hero{padding:36px 0 20px}.hero h1{font-size:39px}.daily-card,.simple-card{padding:16px}.puzzle-stage{height:300px}.answer-form{grid-template-columns:1fr}.answer-form .primary{width:100%}.helper-row>*{flex:1}.stats{grid-template-columns:1fr 1fr}.share-buttons{grid-template-columns:1fr}.action-grid,.feature-grid{grid-template-columns:1fr}.footer-main{flex-direction:column;align-items:flex-start}.q4 .txt{font-size:52px}.q5{gap:24px}.q5 .heart{font-size:62px}.q5 .box{font-size:47px;padding:34px 26px;border-width:6px}.q12 .books{font-size:46px;gap:10px}.q12 .tree{font-size:72px}.q13 .princes{font-size:30px;gap:12px}.q15 .seven{font-size:51px}.q18{gap:12px}.q18 span{font-size:58px}}

/* =========================
   MVP v3 visual overrides
   ========================= */
:root{
  --bg:#F8FAFC;
  --ink:#0F172A;
  --muted:#64748B;
  --line:#E2E8F0;
  --blue:#2563EB;
  --blue-dark:#1D4ED8;
  --cyan:#0891B2;
  --orange:#F97316;
  --orange-soft:#FFF7ED;
  --green:#059669;
  --red:#DC2626;
}
body{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:400;
  color:var(--ink);
  background:#F8FAFC;
}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #E2E8F0;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.brand{color:#0F172A;font-weight:700}.brand-icon{background:#0F172A;box-shadow:none}.tools-link{color:#0F172A;border-color:#CBD5E1;font-weight:700;transition:.2s}.tools-link:hover{border-color:#2563EB;color:#2563EB}
.hero{position:relative;padding:58px 0 32px;background:#fff;border-left:1px solid #EEF2F7;border-right:1px solid #EEF2F7;margin:0 -1px}.hero:after{content:"";display:block;width:56px;height:4px;border-radius:99px;background:linear-gradient(90deg,#2563EB,#06B6D4);margin:22px auto 0}.hero h1,.challenge-intro h1{color:#0F172A;font-weight:700}.hero p{color:#64748B}.eyebrow{color:#2563EB!important;font-weight:700}
.card{background:#fff;border:1px solid #E2E8F0;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.daily-card{margin-top:8px}.today-chip,.section-chip{background:#0F172A;color:#fff;font-weight:700;letter-spacing:.10em}.card-head h2{font-weight:700;color:#0F172A}
.timer{display:grid;justify-items:center;align-content:center;text-align:center;background:#EFF6FF;border-color:#BFDBFE;min-width:112px;padding:9px 14px}.timer small{width:100%;text-align:center;color:#475569;font-weight:500}.timer strong{width:100%;text-align:center;color:#1D4ED8;font-weight:700}
.puzzle-wrap{position:relative}.puzzle-stage{background:#fff;border:1px solid #CBD5E1;box-shadow:none}.timeup-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:180px;padding:14px 24px;border-radius:16px;background:rgba(15,23,42,.92);color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.22)}.timeup-overlay span{font-size:10px;letter-spacing:.16em;color:#93C5FD;font-weight:700}.timeup-overlay strong{font-size:22px;font-weight:700;letter-spacing:.02em}
.question{color:#0F172A;font-weight:700}.answer-form input,.rank-form input{border-color:#CBD5E1;background:#fff}.answer-form input:focus,.rank-form input:focus{border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.primary{background:#2563EB;box-shadow:none;font-weight:700;transition:.2s}.primary:hover{background:#1D4ED8;transform:translateY(-1px)}.secondary{border-color:#CBD5E1;color:#0F172A;background:#fff;font-weight:500}.secondary:hover{border-color:#94A3B8;background:#F8FAFC}.hint-btn{background:#FFF7ED;color:#C2410C;border-color:#FED7AA;font-weight:600}.answer-btn{background:#F1F5F9;color:#334155;border-color:#CBD5E1;font-weight:600}
.info-box{background:#F8FAFC;border-color:#E2E8F0}.feedback.good{color:#059669}.feedback.bad{color:#DC2626}.check{background:#ECFDF5;color:#059669}.stats>div,.score-grid>div{background:#F8FAFC;border-color:#E2E8F0}.stats strong{color:#0F172A}.share-card{background:linear-gradient(135deg,#0F172A 0%,#172554 44%,#1D4ED8 100%);box-shadow:none}.share-puzzle{border:1px solid rgba(255,255,255,.35)}.challenge-link{background:#0F172A;box-shadow:none}.challenge-link:hover{background:#172554}
.about{background:#fff;margin:0 -1px;padding-left:1px;padding-right:1px}.about h2,.benefits h2{font-weight:700;color:#0F172A}.feature-grid article{box-shadow:none;border-color:#E2E8F0}.feature-icon{background:#EFF6FF;color:#1D4ED8}.section-chip{background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE}
.benefits{padding:0 0 72px}.benefits-chip{background:#FFF7ED;color:#C2410C;border-color:#FED7AA}.benefits h2{font-size:31px;margin:8px 0 6px}.benefits-lead{max-width:780px;color:#64748B;margin:0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.benefit-grid article{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:18px;display:flex;gap:13px;align-items:flex-start}.benefit-icon{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#0F172A;color:#fff;font-size:14px;font-weight:700}.benefit-grid b{display:block;font-weight:700;margin-bottom:4px}.benefit-grid p{margin:0;color:#64748B;font-size:13px;line-height:1.7}.research-note{margin-top:18px;background:#fff;border:1px solid #E2E8F0;border-left:4px solid #2563EB;border-radius:16px;padding:17px 18px}.research-note>b{font-weight:700}.research-note p{margin:6px 0;color:#475569;font-size:13px}.research-note .research-caution{color:#64748B;font-size:12px}.source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.source-links a{font-size:11px;color:#1D4ED8;text-decoration:none;background:#EFF6FF;border:1px solid #BFDBFE;border-radius:999px;padding:6px 9px}.source-links a:hover{text-decoration:underline}
footer{background:#0F172A}.footer-main nav a{color:#CBD5E1}.footer-copy{color:#94A3B8}
.badge{background:#FFF7ED;color:#C2410C;border:1px solid #FED7AA}.progress i{background:linear-gradient(90deg,#2563EB,#06B6D4)}
@media(max-width:680px){.hero{margin:0}.timer{min-width:100px}.benefit-grid{grid-template-columns:1fr}.timeup-overlay{min-width:160px;padding:12px 20px}.timeup-overlay strong{font-size:20px}}


/* =========================
   MVP v4 refinements
   ========================= */
body{font-family:"Noto Sans JP",sans-serif;font-weight:400;background:#F7F8FA}
/* compact, balanced PC answer area */
.answer-form{grid-template-columns:minmax(0,1fr) 180px;max-width:720px;margin-left:auto;margin-right:auto;gap:12px}
.answer-form input{min-width:0}
.answer-form .primary{min-width:180px}
.centered-tools{justify-content:center;gap:10px;max-width:520px;margin-left:auto;margin-right:auto}
.centered-tools .hint-btn,.centered-tools .answer-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px}
.helper-symbol{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.72);font-size:12px;font-weight:700}
/* stacked next actions instead of two competing cards */
.next-actions{margin:20px auto 54px;display:grid;gap:10px;max-width:820px}
.challenge-feature{width:100%;border:0;background:#0F172A;color:#fff;border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;text-align:left;cursor:pointer;transition:.2s}
.challenge-feature:hover{background:#172554;transform:translateY(-1px)}
.challenge-feature-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#2563EB;color:#fff;font-size:18px;font-weight:700}
.challenge-feature-copy small,.challenge-feature-copy b,.challenge-feature-copy em{display:block}.challenge-feature-copy small{color:#93C5FD;font-size:11px;letter-spacing:.08em}.challenge-feature-copy b{font-size:21px;margin:1px 0}.challenge-feature-copy em{font-size:12px;color:#CBD5E1;font-style:normal}.challenge-feature-arrow{font-size:26px;color:#93C5FD}
.yesterday-link{justify-self:center;border:0;background:transparent;color:#475569;padding:9px 14px;font-weight:500;cursor:pointer}.yesterday-link:hover{color:#1D4ED8}.yesterday-link span{color:#2563EB}
/* benefit copy */
.benefits{padding-bottom:74px}.benefits-lead{font-size:15px;line-height:1.9}.benefit-grid article{min-height:154px}.benefit-icon{background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE;font-size:18px}.research-note{display:none!important}
/* logo consistency */
.footer-brand{display:flex;align-items:center;gap:9px}.footer-brand .brand-icon{width:34px;height:34px;background:#fff;color:#0F172A;border-radius:11px}.footer-brand .brand-icon svg{width:25px;height:25px}
.mini-logo-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.14);color:#fff}.mini-logo-icon svg{width:21px;height:21px}.share-brand,.title-share-brand{display:flex;align-items:center;gap:8px}
/* challenge course naming */
.challenge-lead{color:#64748B;margin-top:0}.course-list{display:grid;gap:10px;margin:24px 0}.course-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid #E2E8F0;border-radius:18px;padding:16px;background:#fff}.course-card.active-course{border-color:#93C5FD;background:#F8FBFF;box-shadow:0 0 0 3px rgba(37,99,235,.06)}.course-card.locked{opacity:.58;background:#F8FAFC}.course-number{font-size:11px;font-weight:700;color:#1D4ED8;background:#EFF6FF;border:1px solid #BFDBFE;border-radius:999px;padding:6px 8px}.course-card small{display:block;color:#2563EB;font-size:10px;letter-spacing:.08em;font-weight:700}.course-card b{display:block;font-size:19px;margin:1px 0 2px}.course-card p{margin:0;color:#64748B;font-size:12px}.course-status{font-size:11px;font-weight:700;color:#1D4ED8;border:1px solid #BFDBFE;background:#EFF6FF;border-radius:999px;padding:6px 9px}.locked .course-status{color:#64748B;background:#F1F5F9;border-color:#E2E8F0}.challenge-rules{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.challenge-rules span{font-size:11px;color:#475569;border:1px solid #E2E8F0;background:#F8FAFC;border-radius:999px;padding:6px 9px}
/* title award + challenge share */
.title-award{margin:22px 0 24px;text-align:center;border:1px solid #E2E8F0;border-radius:22px;padding:22px;background:linear-gradient(180deg,#FFFFFF,#F8FAFC)}.title-award-label{margin:0;color:#64748B;font-size:11px;letter-spacing:.12em;font-weight:700}.title-icon{width:112px;height:112px;margin:12px auto 8px}.title-icon svg,.share-title-icon svg{width:100%;height:100%}.title-award h3{font-size:30px;margin:6px 0 3px;color:#0F172A}.title-percent{margin:0;color:#1D4ED8;font-size:13px;font-weight:700}.title-method{max-width:560px;margin:12px auto 0;color:#64748B;font-size:12px}.challenge-share{margin:24px 0}.title-share-card{margin-top:12px;background:linear-gradient(135deg,#0F172A 0%,#172554 52%,#1D4ED8 100%);color:#fff;border-radius:22px;padding:20px;text-align:center}.title-share-brand{justify-content:flex-start;font-weight:700}.title-share-card>small{display:block;color:#BFDBFE;margin-top:14px}.share-title-icon{width:96px;height:96px;margin:12px auto 4px}.title-share-card>strong{font-size:25px;display:block}.title-share-stats{display:flex;justify-content:center;gap:8px;margin-top:12px}.title-share-stats span{font-size:12px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.1);padding:5px 9px;border-radius:999px}.ranking-entry{border-top:1px solid #E2E8F0;padding-top:20px;margin-top:22px}
@media(max-width:680px){.answer-form{grid-template-columns:1fr;max-width:none}.answer-form .primary{min-width:0}.centered-tools{max-width:none;gap:8px}.centered-tools .hint-btn,.centered-tools .answer-btn{min-width:0}.challenge-feature{grid-template-columns:auto 1fr auto;padding:16px}.challenge-feature-icon{width:46px;height:46px;border-radius:14px}.challenge-feature-copy b{font-size:18px}.challenge-feature-copy em{font-size:11px}.course-card{grid-template-columns:auto 1fr;align-items:start}.course-status{grid-column:2;width:max-content}.title-award h3{font-size:27px}.benefit-grid article{min-height:0}}


/* ==== MVP v5 refinements ==== */
.answer-note{margin:6px auto 0;max-width:720px;text-align:left;color:#64748B;font-size:12px;padding-left:2px}
.puzzle-stage.compact{height:350px;padding:14px}
.challenge-feature{background:linear-gradient(135deg,#0F172A 0%,#172554 45%,#1D4ED8 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 34px rgba(29,78,216,.18);position:relative;overflow:hidden}
.challenge-feature::before{content:"";position:absolute;inset:auto auto -24px -24px;width:150px;height:150px;background:radial-gradient(circle,rgba(255,209,102,.34),transparent 60%)}
.challenge-feature::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%)}
.challenge-feature-icon{background:linear-gradient(135deg,#F59E0B,#FCD34D);color:#0F172A;box-shadow:0 10px 24px rgba(251,191,36,.28)}
.challenge-feature-copy small{color:#DBEAFE}.challenge-feature-copy b{color:#fff}.challenge-feature-copy em{color:#E2E8F0}.challenge-feature-arrow{color:#FCD34D}
.title-icon img,.share-title-icon img{width:100%;height:100%;object-fit:contain;display:block}
.q3 .slope{width:68%;height:12px;left:16%;top:58%;transform:rotate(18deg);transform-origin:left center}
.q3 .mouth{position:absolute;left:34%;top:24%;font-size:104px;transform:rotate(12deg)}
.q3 .trail{position:absolute;width:28px;height:5px;border-radius:999px;background:#94A3B8;opacity:.85;transform:rotate(18deg)}
.q3 .t1{left:24%;top:34%}.q3 .t2{left:21%;top:39%}.q3 .t3{left:18%;top:44%}
.puzzle-stage.compact .q12 .books{font-size:56px;gap:12px}.puzzle-stage.compact .q12 .tree{font-size:84px}
.puzzle-stage.compact .q13 .princes{font-size:36px;gap:12px 16px}
.puzzle-stage.compact .q14 .wheelbox{transform:scale(.92)}
.puzzle-stage.compact .q15 .seven{font-size:58px;gap:10px 16px}.q15 .seven{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 18px;align-items:center;justify-items:center}
.puzzle-stage.compact .q16 span{font-size:108px}.puzzle-stage.compact .q18 span{font-size:74px}
.helper-row .hint-btn,.helper-row .answer-btn{transition:.18s}.helper-row .hint-btn:hover,.helper-row .answer-btn:hover{transform:translateY(-1px)}
@media(max-width:680px){.puzzle-stage.compact{height:320px;padding:10px}.answer-note{font-size:11px}.q3 .mouth{left:31%;top:26%;font-size:84px}.q3 .trail{width:22px;height:4px}.puzzle-stage.compact .q13 .princes{font-size:30px;gap:10px 12px}.puzzle-stage.compact .q15 .seven{font-size:50px;gap:8px 12px}.challenge-feature{padding:18px}}


/* =========================
   MVP v6 refinements
   ========================= */
/* Daily puzzle starts only after explicit tap */
.puzzle-wrap.prestart .puzzle-stage{filter:blur(10px);transform:scale(.985);user-select:none}
.puzzle-wrap .puzzle-stage{transition:filter .28s ease,transform .28s ease}
.start-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;border-radius:20px;background:rgba(248,250,252,.10);backdrop-filter:saturate(.85)}
.start-daily-btn{border:0;min-width:150px;padding:16px 34px;border-radius:999px;background:#2563EB;color:#fff;font-size:19px;font-weight:700;box-shadow:0 12px 32px rgba(37,99,235,.28);transition:.18s}
.start-daily-btn:hover{background:#1D4ED8;transform:translateY(-1px)}
.answer-form button:disabled,.answer-form input:disabled,.answer-btn:disabled{opacity:.48;cursor:not-allowed}

/* 10-question challenge showcase on home */
.challenge-showcase{padding:38px 0 62px;border-top:1px solid #E2E8F0}
.challenge-showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.challenge-showcase-head h2{font-size:31px;line-height:1.2;margin:8px 0 5px;color:#0F172A}
.challenge-showcase-head p{margin:0;color:#64748B;max-width:650px}
.swipe-hint{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.12em;color:#64748B}
.challenge-card-slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:thin;scrollbar-color:#CBD5E1 transparent}
.challenge-poster-card{position:relative;flex:0 0 300px;aspect-ratio:3/4;border:0;padding:0;border-radius:24px;overflow:hidden;background:#fff;scroll-snap-align:start;box-shadow:0 12px 30px rgba(15,23,42,.10);transition:transform .2s,box-shadow .2s;cursor:pointer}
.challenge-poster-card img{width:100%;height:100%;display:block;object-fit:cover}
.challenge-poster-card.is-live:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(37,99,235,.18)}
.course-live-badge,.course-lock-badge{position:absolute;top:12px;right:12px;z-index:2;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;box-shadow:0 5px 14px rgba(15,23,42,.12)}
.course-live-badge{background:#ECFDF5;color:#047857;border:1px solid #A7F3D0}
.course-lock-badge{background:rgba(15,23,42,.88);color:#fff;border:1px solid rgba(255,255,255,.22)}
.challenge-poster-card.is-locked img{filter:saturate(.62) brightness(.82)}
.challenge-poster-card.is-locked{cursor:not-allowed}
.challenge-poster-card.locked-bump{animation:lockedBump .26s ease}
@keyframes lockedBump{0%,100%{transform:translateX(0)}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}

.home-ranking{margin-top:20px;background:#fff;border:1px solid #E2E8F0;border-radius:22px;padding:20px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.home-ranking-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ranking-kicker{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;color:#2563EB}
.home-ranking-head h3{margin:2px 0 0;font-size:21px;color:#0F172A}
.home-ranking-rows{display:grid;gap:7px}
.home-rank-row{display:grid;grid-template-columns:36px 52px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-radius:14px;background:#F8FAFC;border:1px solid #EEF2F7}
.home-rank-pos{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#E2E8F0;color:#475569}
.home-rank-pos.pos-1{background:#FEF3C7;color:#92400E}.home-rank-pos.pos-2{background:#F1F5F9;color:#475569}.home-rank-pos.pos-3{background:#FFEDD5;color:#9A3412}
.home-rank-badge{width:50px;height:38px;object-fit:cover;border-radius:8px;display:block}
.home-rank-user strong,.home-rank-user span,.home-rank-record strong,.home-rank-record span{display:block}
.home-rank-user strong{font-size:14px;color:#0F172A}.home-rank-user span{font-size:10px;color:#64748B;margin-top:1px}
.home-rank-record{text-align:right}.home-rank-record strong{font-size:13px;color:#0F172A}.home-rank-record span{font-size:11px;color:#64748B;font-variant-numeric:tabular-nums}
.ranking-more{display:block;margin:13px auto 0;border:0;background:transparent;color:#2563EB;font-weight:600;font-size:13px;padding:7px 10px}
.home-yesterday-link{display:block;margin:16px auto 0}

/* Adopted rank-badge board crops */
.title-icon{width:220px;height:145px}.share-title-icon{width:180px;height:118px}
.title-icon img,.share-title-icon img{border-radius:14px;object-fit:cover;box-shadow:0 10px 24px rgba(15,23,42,.14)}

@media(max-width:680px){
  .hero{padding-top:28px;padding-bottom:16px}
  .hero h1{margin-top:2px}
  .challenge-showcase{padding-top:30px;padding-bottom:52px}
  .challenge-showcase-head{align-items:flex-start}.swipe-hint{padding-top:10px}
  .challenge-poster-card{flex-basis:78vw;max-width:310px;border-radius:22px}
  .challenge-card-slider{margin-right:-10px;padding-right:24px}
  .home-ranking{padding:15px}
  .home-rank-row{grid-template-columns:30px 44px 1fr auto;gap:8px;padding:8px}
  .home-rank-badge{width:42px;height:32px}
  .home-rank-user strong{font-size:13px}.home-rank-user span{font-size:9px}
  .home-rank-record strong{font-size:12px}.home-rank-record span{font-size:10px}
  .title-icon{width:190px;height:126px}.share-title-icon{width:160px;height:106px}
  .start-daily-btn{min-width:135px;padding:14px 28px;font-size:18px}
}


/* =========================
   MVP v7 refinements
   ========================= */
.static-badge{position:static;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
.direct-start-card .course-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.challenge-course-poster{margin:14px 0 16px;border-radius:22px;overflow:hidden;border:1px solid #E2E8F0;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.challenge-course-poster img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.challenge-prestart-wrap{margin-top:6px}.challenge-prestart-wrap .puzzle-stage{height:340px}
.challenge-start-note{margin:10px 0 0;text-align:center;color:#64748B;font-size:12px}
.challenge-intro h1{margin:2px 0 6px;font-size:clamp(34px,7vw,52px)}
.challenge-intro .challenge-lead{margin:0;max-width:46rem}
.challenge-rules{margin:6px 0 0}
.challenge-showcase-head{margin-bottom:14px}
@media(max-width:680px){.direct-start-card .course-hero{flex-direction:column;align-items:flex-start}.challenge-course-poster img{aspect-ratio:4/3}.challenge-prestart-wrap .puzzle-stage{height:300px}}


/* =========================
   MVP v8 bug fixes + synced rankings
   ========================= */
.ranking-head-meta{display:flex;align-items:center;gap:8px}
.ranking-course-dot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.ranking-course-dot.door{background:#F59E0B}
.ranking-course-dot.maze{background:#2563EB}
.ranking-course-dot.king_trial{background:#B91C1C}
.challenge-poster-card.is-selected{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}
.home-ranking-rows{transition:opacity .18s ease,transform .18s ease}
.home-ranking-rows.rank-slide-left{opacity:0;transform:translateX(-18px)}
.home-ranking-rows.rank-slide-right{opacity:0;transform:translateX(18px)}
.home-ranking-rows.rank-slide-in{animation:rankSlideIn .22s ease}
@keyframes rankSlideIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
/* Ensure overlays always receive taps above blurred puzzle. */
.puzzle-wrap{position:relative}
.start-overlay{pointer-events:auto}
.start-daily-btn{position:relative;z-index:8;pointer-events:auto;touch-action:manipulation}
.challenge-poster-card{touch-action:manipulation}
@media(max-width:680px){.ranking-head-meta{gap:6px}.ranking-course-dot{width:8px;height:8px}}


/* =========================
   MVP v9 refinements
   ========================= */
/* PC: course cards are selectors, not direct game-launch buttons. */
.challenge-poster-card{cursor:pointer}
.challenge-poster-card.is-selected{outline:3px solid #2563EB;outline-offset:3px;box-shadow:0 18px 38px rgba(37,99,235,.16)}
.challenge-poster-card.is-locked{cursor:pointer}
.challenge-poster-card.is-locked:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.13)}

.selected-course-play{display:flex;align-items:center;justify-content:center;gap:8px;width:min(100%,440px);margin:16px auto 0;border:0;border-radius:15px;padding:14px 18px;background:#2563EB;color:#fff;font-weight:700;font-size:15px;transition:.18s;cursor:pointer}
.selected-course-play:not(:disabled):hover{background:#1D4ED8;transform:translateY(-1px)}
.selected-course-play:disabled{background:#E2E8F0;color:#94A3B8;cursor:not-allowed}

/* TOP10 expansion stays inside the same ranking card. */
.home-rank-row:nth-child(n+4) .home-rank-pos{background:#F1F5F9;color:#64748B}
.ranking-more{border-top:1px solid #EEF2F7;width:100%;margin-top:12px;padding-top:14px}

/* Challenge launch screen: no large course artwork; same visual language as today's problem. */
.direct-start-card{text-align:center}
.direct-start-card .eyebrow{margin-bottom:4px}
.direct-start-card .challenge-lead{margin-left:auto;margin-right:auto;max-width:620px}
.challenge-rules-centered{justify-content:center;margin:14px 0 2px}
.challenge-prestart-wrap{margin-top:16px}
.challenge-prestart-wrap .puzzle-stage{margin-top:0}
.challenge-course-poster{display:none!important}

@media(min-width:681px){
  .challenge-card-slider{overflow-x:auto;scroll-snap-type:x proximity}
  .challenge-poster-card{flex:1 1 0;min-width:0;max-width:none}
}
@media(max-width:680px){
  .selected-course-play{width:100%}
  .direct-start-card{text-align:left}
  .direct-start-card .challenge-lead{text-align:left}
  .challenge-rules-centered{justify-content:flex-start}
}


/* =========================
   MVP v11 puzzle refinements
   ========================= */
.q6 .mouthchar{font-size:92px;border:0!important;padding:0!important;background:transparent!important}
.q19 span{font-size:112px;line-height:1;color:#DC2626;font-weight:900;letter-spacing:.08em}
@media(max-width:680px){.q6 .x,.q6 .mouthchar{font-size:72px}.q19 span{font-size:92px}}

/* Production additions; approved v12 layout preserved. */
.question-image{display:block;width:100%;height:100%;object-fit:contain}.ad-slot{min-height:280px;margin-top:36px;overflow:hidden}.legal{padding:40px 0}.legal p{line-height:1.9}.contact-form{display:grid;gap:12px}.contact-form input,.contact-form textarea{font:inherit;padding:12px;border:1px solid #a8b7c5;border-radius:10px;width:100%}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}:focus-visible{outline:3px solid #2563eb;outline-offset:4px}.feedback{overflow-wrap:anywhere}.home-rank-user{min-width:0;overflow-wrap:anywhere}.share-puzzle{overflow:hidden}.share-puzzle .question-image{filter:blur(18px)}.challenge-poster-card img{object-fit:contain}.start-daily-btn:disabled{cursor:default;opacity:.75}@media(prefers-reduced-motion:reduce){html,*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
