:root{--paper:#f1ecde;--ink:#21241e;--muted:#686b62;--orange:#ef573b;--blue:#2b49ed;--lime:#d7eb65;--stroke:rgba(33,36,30,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}.site-shell{min-height:100svh;max-width:1600px;margin:auto;display:flex;flex-direction:column;padding:0 clamp(19px,4.5vw,74px)}.site-header{height:94px;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{text-decoration:none;font-size:clamp(22px,2.9vw,37px);font-weight:700;letter-spacing:-.09em;white-space:nowrap;display:inline-flex;align-items:center;gap:.42em}.brand-icon{width:1.05em;height:1.05em;display:block;flex:0 0 auto}.wordmark-small{font:500 11px ui-monospace,Consolas,monospace;letter-spacing:0;margin-left:9px;vertical-align:top}.header-right,.micro,.eyebrow,.site-footer,.num-label,.source,.mini-tag{font:500 11px ui-monospace,Consolas,monospace;letter-spacing:.055em}.header-right{display:flex;align-items:center;gap:10px}.signal-dot{width:8px;height:8px;border-radius:50%;background:var(--orange)}#screen{flex:1}.site-footer{padding:22px 0 25px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:15px;font-size:10px}.hero{min-height:calc(100svh - 163px);display:grid;grid-template-columns:1.15fr .85fr;position:relative;gap:3vw;align-items:center;padding:54px 0 80px}.hero-copy{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:block;width:29px;height:1px;background:var(--ink)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(58px,8.1vw,142px);line-height:.99;letter-spacing:-.085em;margin:34px 0 27px;font-weight:700}.hero h1 .outline{-webkit-text-stroke:2px var(--ink);color:transparent}.hero h1 .japanese{font-size:clamp(28px,4.2vw,63px);display:block;letter-spacing:-.075em;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',system-ui,sans-serif;font-weight:900;line-height:1.3;margin-top:16px}.hero h1 .orange{color:var(--orange)}.hero-desc{font-size:clamp(15px,1.45vw,20px);line-height:1.95;letter-spacing:.01em;max-width:490px;margin-bottom:31px}.action{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;background:var(--ink);color:var(--paper);padding:20px 22px 20px 27px;border:none;text-decoration:none;font-size:18px;font-weight:700;min-width:288px;transition:background .2s,transform .2s,box-shadow .2s}.action:hover{background:var(--orange);transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}.action:focus-visible,.option:focus-visible,.plain-btn:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.action:active{transform:translate(0,0);box-shadow:none}.action span:last-child{font-size:27px;line-height:1}.hero-fine{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font:500 11px ui-monospace,Consolas,monospace}.hero-art{min-height:510px;display:grid;place-items:center;position:relative;isolation:isolate}.art-disc{width:min(100%,500px);aspect-ratio:1;border-radius:50%;background:var(--blue);position:relative;transform:rotate(-12deg);box-shadow:30px 28px 0 var(--lime);display:grid;place-items:center}.art-eye{width:78%;height:51%;border-radius:50%;background:var(--paper);transform:rotate(12deg);display:grid;place-items:center;position:relative}.art-pupil{width:38%;aspect-ratio:1;background:var(--ink);border-radius:50%;position:relative;animation:look 7s ease-in-out infinite}.art-pupil:after{content:'';position:absolute;width:27%;height:27%;top:19%;right:17%;border-radius:50%;background:var(--paper)}.hero-emblem{position:absolute;right:0;top:1%;width:clamp(96px,11vw,155px);height:auto;z-index:2;animation:wobble 7s ease-in-out infinite;filter:drop-shadow(8px 10px 0 rgba(0,0,0,.12))}.art-sticker{position:absolute;bottom:5%;left:-4%;background:var(--orange);color:white;border-radius:50%;width:136px;height:136px;display:grid;place-items:center;text-align:center;font:700 24px/1.1 'Arial',sans-serif;transform:rotate(18deg);z-index:3}.art-caption{position:absolute;right:0;bottom:-5%;font:500 11px ui-monospace,Consolas,monospace;transform:rotate(-90deg);transform-origin:right top}.marquee{margin:0 calc(-1 * clamp(19px,4.5vw,74px));padding:11px 20px;background:var(--lime);overflow:hidden;white-space:nowrap;border-block:1px solid var(--ink);font:700 14px ui-monospace,Consolas,monospace;letter-spacing:.08em}.marquee span{padding-right:46px}.quiz{max-width:1100px;margin:0 auto;padding:42px 0 70px;min-height:calc(100svh - 164px)}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.progress-track{flex:1;max-width:360px;display:flex;gap:5px}.progress-segment{flex:1;height:5px;background:#d7d1c1}.progress-segment.done{background:var(--orange)}.quiz-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(30px,5vw,90px)}.scene{position:relative;min-height:440px;background:var(--lime);overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:24px;border:1px solid var(--ink)}.scene.blue{background:var(--blue);color:#fff}.scene.orange{background:var(--orange)}.scene.cream{background:#e4d6bc}.scene-tag{font:500 11px ui-monospace,Consolas,monospace;border:1px solid currentColor;padding:7px 9px;position:relative;z-index:2}.scene-mark{font-size:clamp(140px,21vw,310px);font-weight:700;line-height:1;text-align:center;align-self:center;margin:auto;letter-spacing:-.12em;filter:drop-shadow(10px 13px 0 rgba(0,0,0,.1));transform:rotate(-12deg);animation:float 5s ease-in-out infinite}.scene-end{font:500 12px ui-monospace,Consolas,monospace;position:relative;z-index:2}.question-side{display:flex;flex-direction:column;justify-content:center}.question-kicker{font:500 12px ui-monospace,Consolas,monospace;color:var(--orange);margin-bottom:18px}.question-title{font-size:clamp(27px,3.2vw,48px);font-weight:900;letter-spacing:-.052em;line-height:1.4;margin-bottom:33px}.option-list{display:grid;gap:10px}.option{width:100%;background:transparent;border:1px solid var(--ink);text-align:left;min-height:72px;padding:17px 17px;display:flex;align-items:center;gap:17px;font-weight:700;font-size:clamp(14px,1.15vw,17px);line-height:1.55;transition:background .15s,color .15s,transform .15s}.option .letter{flex:0 0 36px;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:500 13px ui-monospace,Consolas,monospace}.option:hover:not(:disabled){background:var(--lime);transform:translateX(4px)}.option:disabled{cursor:default}.option.selected{background:var(--ink);color:var(--paper)}.option.correct{background:var(--lime);color:var(--ink)}.option.wrong{background:#f4c3b6;color:var(--ink)}.answer-panel{margin-top:18px;border-top:2px solid var(--ink);padding-top:20px;animation:rise .3s ease both}.answer-heading{display:flex;gap:10px;align-items:baseline;margin-bottom:9px}.answer-heading strong{font-size:23px;letter-spacing:-.04em}.answer-heading span{font:500 10px ui-monospace,Consolas,monospace}.answer-note{font-size:16px;line-height:1.8;margin-bottom:18px}.fact{background:#e6ddca;padding:23px 23px 18px;position:relative;margin-bottom:17px}.fact-kicker{font:500 10px ui-monospace,Consolas,monospace;color:#626356}.fact-number{font-size:clamp(42px,5.4vw,69px);font-weight:700;letter-spacing:-.07em;line-height:1.1;margin:8px 0}.fact-number small{font-size:.31em;letter-spacing:-.02em;margin-left:7px}.fact-caption{line-height:1.65;font-size:13px;margin:0}.source{display:inline-block;font-size:10px;color:var(--muted);margin-top:12px;text-underline-offset:3px}.next-row{display:flex;justify-content:flex-end}.next-row .action{min-width:190px;font-size:15px;padding:15px 17px;gap:30px}.results{padding:45px 0 80px;max-width:1000px;margin:auto}.results-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.result-poster{background:var(--lime);border:2px solid var(--ink);min-height:485px;padding:clamp(25px,5vw,65px);position:relative;overflow:hidden}.poster-emblem{position:absolute;right:-54px;top:-42px;width:clamp(170px,24vw,340px);height:auto;transform:rotate(8deg);z-index:0;filter:drop-shadow(12px 14px 0 rgba(0,0,0,.1))}.poster-content{position:relative;z-index:1}.poster-top{font:500 11px ui-monospace,Consolas,monospace;letter-spacing:.1em}.poster-score{font-size:clamp(130px,23vw,290px);letter-spacing:-.105em;line-height:1;font-weight:700;margin:45px 0 0}.poster-score span{font-size:.31em;letter-spacing:-.08em}.poster-label{font-size:clamp(24px,3vw,42px);font-weight:900;letter-spacing:-.06em;line-height:1.4;max-width:600px}.poster-bottom{margin-top:55px;font:500 11px ui-monospace,Consolas,monospace}.results-actions{display:flex;flex-wrap:wrap;gap:12px;margin:23px 0 38px}.results-actions .action{min-width:0;flex:1}.plain-btn{border:1px solid var(--ink);background:transparent;padding:17px 22px;font-weight:700;font-size:15px;transition:background .2s}.plain-btn:hover{background:var(--lime)}.review h3{font-size:24px;letter-spacing:-.05em}.review-item{border-top:1px solid var(--stroke);padding:17px 0;display:grid;grid-template-columns:65px 1fr;gap:10px;line-height:1.7}.review-item:last-child{border-bottom:1px solid var(--stroke)}.review-index{font:500 12px ui-monospace,Consolas,monospace;color:var(--orange);padding-top:4px}.review-item p{margin:4px 0 0;color:var(--muted);font-size:14px}.credits{font-size:12px;line-height:1.8;color:var(--muted);margin-top:30px}.credits a{text-underline-offset:3px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:13px 20px;z-index:10;font-size:13px;box-shadow:4px 4px 0 var(--orange)}@keyframes float{50%{transform:translateY(-13px) rotate(-7deg)}}@keyframes wobble{50%{transform:rotate(22deg)}}@keyframes look{20%{transform:translateX(-12px)}65%{transform:translateX(15px)}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:800px){.site-header{height:72px}.header-right{font-size:9px}.hero{grid-template-columns:1fr;min-height:auto;padding:40px 0 60px}.hero h1{font-size:clamp(57px,13vw,104px)}.hero-art{min-height:320px;order:-1}.art-disc{width:min(64vw,300px);box-shadow:17px 18px 0 var(--lime)}.art-sticker{width:95px;height:95px;font-size:17px;left:10%}.hero-emblem{right:5%;top:4%}.art-caption{display:none}.hero-copy{margin-top:10px}.quiz-grid{grid-template-columns:1fr;gap:24px}.scene{min-height:190px;padding:17px}.scene-mark{font-size:120px}.quiz{padding-top:24px}.question-title{margin-bottom:22px}.site-footer{font-size:8px}.result-poster{min-height:380px}.poster-score{margin-top:43px}.results-actions{flex-direction:column}.results-actions .action{flex:none;width:100%}}@media(max-width:420px){.header-right{display:none}.hero-art{min-height:275px}.hero h1{font-size:54px}.hero h1 .japanese{font-size:30px}.scene{min-height:155px}.scene-mark{font-size:100px}.quiz-top{margin-bottom:20px}.question-title{font-size:26px}.option{min-height:66px}.poster-score{font-size:123px}.poster-emblem{right:-78px;top:-8px;width:180px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Evidence cards: numbers, public notices, and secondary citations */
.fact-number.fact-long{font-size:clamp(34px,4.3vw,58px);letter-spacing:-.055em}
.fact-number small{display:inline-block;font-size:clamp(14px,1.4vw,19px);line-height:1.45;vertical-align:baseline;letter-spacing:0}
.source-secondary{display:block;margin-top:8px}
.fact-kicker{letter-spacing:.085em}
@media(max-width:420px){.fact-number.fact-long{font-size:34px}.fact-number small{font-size:13px}.fact{padding:18px}.source{font-size:10px;overflow-wrap:anywhere}}

/* v3: meaningful Japanese microcopy; maintain poster-like composition. */
.hero h1.hero-jp{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans CJK JP',system-ui,sans-serif;font-weight:900;font-size:clamp(64px,7.9vw,136px);letter-spacing:-.095em;line-height:1.17;margin:26px 0 28px}
.hero h1.hero-jp .outline{display:inline-block;line-height:1.2}
.hero-copy .eyebrow{font-size:13px;font-family:inherit;font-weight:700;letter-spacing:0}
.hero-fine{font-family:inherit;font-size:12px;letter-spacing:0}
.art-sticker{font-family:inherit;font-size:23px;line-height:1.35}
.question-kicker{font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0}
.scene-tag,.scene-end,.answer-heading span,.fact-kicker,.micro,.poster-top,.poster-bottom{font-family:inherit;letter-spacing:0}
.scene-end{font-size:13px;font-weight:700}
.scene-tag{font-size:12px}
.answer-heading span{font-size:12px;font-weight:700}
.fact-kicker{font-size:12px;font-weight:700}
.poster-top,.poster-bottom{font-size:13px;font-weight:700}
.site-footer a{text-underline-offset:4px}
.site-footer{font-family:inherit;letter-spacing:0;font-size:12px}
.about-page{max-width:900px;margin:0 auto;padding:70px 0 100px;width:100%}
.about-page h1{font-size:clamp(58px,9.8vw,122px);line-height:1.13;letter-spacing:-.085em;margin:20px 0 35px}
.about-lead{font-size:clamp(17px,2vw,23px);font-weight:700;line-height:1.85;max-width:800px}
.about-section{padding:30px 0;border-top:1px solid var(--stroke)}
.about-section h2{font-size:clamp(23px,3vw,34px);letter-spacing:-.035em;margin:0 0 16px}
.about-section p{line-height:1.9;font-size:15px;max-width:800px}
.about-note{color:var(--muted);font-size:13px!important}
.references{list-style:none;padding:0;margin:0}
.references li{border-bottom:1px solid var(--stroke);padding:14px 0;line-height:1.65}
.references a{text-underline-offset:4px}
.about-back{margin-top:20px}
@media(max-width:800px){.hero h1.hero-jp{font-size:clamp(58px,12vw,99px)}.about-page{padding:45px 0 75px}.site-footer{font-size:11px}}
@media(max-width:420px){.hero h1.hero-jp{font-size:clamp(49px,12.9vw,68px)}.hero h1.hero-jp .outline{-webkit-text-stroke:1.5px var(--ink)}.art-sticker{font-size:16px}.site-footer{flex-wrap:wrap;line-height:1.6}}

/* Verification build: readable About heading on narrow screens */
.about-page h1.about-heading{font-size:clamp(38px,7.3vw,88px);line-height:1.23;letter-spacing:-.072em;overflow-wrap:anywhere}
@media(max-width:420px){.about-page h1.about-heading{font-size:clamp(35px,9.2vw,42px)}}

/* Long Japanese site name: keep the wordmark comfortable on phones. */
.wordmark{letter-spacing:-.07em;font-size:clamp(20px,2.2vw,29px)}
@media(max-width:420px){.wordmark{font-size:19px;gap:.25em}.brand-icon{width:1em;height:1em}}

/* Sharing actions: unobtrusive, touch-friendly X / LINE / copy / download */
.results-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.results-actions .action,.results-actions .plain-btn{min-width:0;width:100%;min-height:64px;flex:none;display:inline-flex;align-items:center;justify-content:space-between;text-align:left;gap:10px}
.results-actions .action{padding:17px 20px;font-size:16px}
.results-actions .plain-btn{padding:17px 20px}
.results-actions #copyLink,.results-actions #retry{grid-column:1/-1;justify-content:center;min-height:50px}
.action.share-line{background:#07763e;color:#fff}
.action.share-line:hover{background:#05572e;box-shadow:5px 5px 0 var(--ink)}
@media(max-width:620px){.results-actions{grid-template-columns:1fr}.results-actions .action,.results-actions .plain-btn{width:100%;min-height:58px}.results-actions #copyLink,.results-actions #retry{grid-column:auto}}

.wordmark {
  color: #0849ff;
  font-weight: 900;
  letter-spacing: -0.07em;
  text-shadow: 2px 3px 0 #a4ee00;
  transition: color .2s, text-shadow .2s;
}

.wordmark:hover {
  color: #061847;
  text-shadow: 3px 4px 0 #ff8b00;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
