:root{--font-head:"Hachi Maru Pop","M PLUS Rounded 1c",system-ui,sans-serif;--font-ui:"M PLUS Rounded 1c",system-ui,-apple-system,sans-serif;--font-body:"Kiwi Maru","M PLUS Rounded 1c",serif;--bg:#fff5f7;--card:#ffe3e9;--border:#ffc2d1;--accent:#ff3b70;--text:#331a24;--radius:26px;--radius-lg:34px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);min-height:100vh;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit}.world{background-color:var(--bg);background-image:radial-gradient(var(--border) 1.4px,transparent 1.5px);background-size:22px 22px}.shell,.world{min-height:100vh}.shell{max-width:480px;margin:0 auto;padding:24px 18px 64px;display:flex;flex-direction:column}.sticker{font-family:var(--font-head);color:var(--text);text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 -2px 0 #fff,0 2px 0 #fff,-2px 0 0 #fff,2px 0 0 #fff,0 6px 14px rgba(0,0,0,.16);-webkit-text-stroke:.6px hsla(0,0%,100%,.5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-size:16px;font-weight:800;line-height:1;padding:16px 24px;border-radius:999px;border:none;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .08s ease,box-shadow .08s ease,background .18s ease}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 0 0 color-mix(in srgb,var(--accent) 70%,#000 30%),0 14px 22px -10px color-mix(in srgb,var(--accent) 60%,transparent);background-image:linear-gradient(180deg,hsla(0,0%,100%,.45),hsla(0,0%,100%,0) 46%)}.btn-primary:active{transform:translateY(4px);box-shadow:0 2px 0 0 color-mix(in srgb,var(--accent) 70%,#000 30%),0 6px 12px -8px color-mix(in srgb,var(--accent) 60%,transparent)}.btn-ghost{background:#fff;color:var(--accent);border:2px solid var(--border);box-shadow:0 5px 0 0 var(--border);font-weight:700}.btn-ghost:active{transform:translateY(3px);box-shadow:0 2px 0 0 var(--border)}.btn-block{width:100%}.btn:focus-visible,.choice:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.card{background:var(--card);border:3px solid #fff;border-radius:var(--radius);box-shadow:0 14px 30px -18px rgba(0,0,0,.4),0 0 0 2px var(--border);padding:26px 22px}.badge{position:relative;width:132px;height:132px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 34% 28%,hsla(0,0%,100%,.95) 0,hsla(0,0%,100%,0) 38%),radial-gradient(circle at 50% 50%,var(--card) 0,var(--border) 100%);box-shadow:inset 0 0 0 5px hsla(0,0%,100%,.9),inset 0 0 0 8px var(--accent),inset 0 -10px 18px -8px rgba(0,0,0,.22),0 12px 22px -8px rgba(0,0,0,.32)}.badge-img{width:74%;height:74%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}.badge-ph{background:radial-gradient(circle at 34% 28%,hsla(0,0%,100%,.95) 0,hsla(0,0%,100%,0) 38%),radial-gradient(circle at 50% 50%,var(--card) 0,var(--border) 100%)}.ph-code{font-family:var(--font-head);font-size:34px;letter-spacing:.08em;color:var(--accent)}.tilt-l{transform:rotate(-4deg)}.tilt-r{transform:rotate(3deg)}.landing{flex:1 1;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:20px}.landing .kicker{font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.18em;color:var(--accent);margin:0}.landing .logo{font-size:clamp(46px,14vw,64px);line-height:1.1}.landing .logo,.landing h1{font-family:var(--font-head);margin:0;color:var(--text)}.landing h1{font-size:clamp(22px,6.4vw,28px);line-height:1.5}.landing .lead{font-size:15px;margin:0 auto;max-width:20em;color:var(--text)}.landing .start-wrap{margin-top:12px}.landing .meta{font-family:var(--font-ui);font-size:12.5px;color:color-mix(in srgb,var(--text) 60%,transparent);margin:0}.spark{font-size:22px;letter-spacing:4px}.quiz{flex:1 1;display:flex;flex-direction:column}.progress{margin-bottom:26px}.progress-track{height:14px;border-radius:999px;background:#fff;border:2px solid var(--border);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--accent);background-image:linear-gradient(180deg,hsla(0,0%,100%,.5),hsla(0,0%,100%,0));transition:width .35s ease}.progress-label{margin:10px 2px 0;font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.04em}.quiz-body{flex:1 1;display:flex;flex-direction:column;justify-content:center}.question{font-family:var(--font-head);font-size:clamp(21px,6vw,26px);color:var(--text);text-align:center;margin:0 0 28px;line-height:1.6}.choices{display:flex;flex-direction:column;gap:14px}.choice{background:#fff;border:3px solid var(--border);border-radius:20px;padding:19px 22px;font-family:var(--font-ui);font-size:16.5px;font-weight:700;color:var(--text);text-align:left;cursor:pointer;box-shadow:0 5px 0 0 var(--border);transition:transform .1s ease,border-color .1s ease,box-shadow .1s ease}.choice:hover{border-color:var(--accent)}.choice.selected,.choice:active{transform:translateY(4px);border-color:var(--accent);box-shadow:0 1px 0 0 var(--accent)}.quiz-nav{margin-top:24px;display:flex;align-items:center;min-height:24px}.back-link{background:none;border:none;color:var(--accent);font-family:var(--font-ui);font-size:14px;font-weight:700;cursor:pointer;padding:8px 4px}.back-link:hover{text-decoration:underline}.result{display:flex;flex-direction:column;gap:18px}.result-hero{text-align:center;padding-top:6px}.result-hero .code{font-family:var(--font-ui);font-size:12.5px;font-weight:800;letter-spacing:.32em;color:var(--accent);margin:0 0 14px}.result-hero h1{font-size:clamp(30px,9vw,40px);margin:16px 0 0;line-height:1.25}.result-hero .tagline{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--accent);margin:12px 0 0}.pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.pill{background:#fff;color:var(--accent);border:2px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px}.hook,.pill{font-family:var(--font-ui);font-weight:800}.hook{background:var(--accent);color:#fff;border:3px solid #fff;border-radius:20px;box-shadow:0 0 0 2px var(--accent),0 12px 22px -12px rgba(0,0,0,.5);padding:20px;margin:0;font-size:17px;line-height:1.6;text-align:center}.hook .quote{display:block;font-size:12px;letter-spacing:.2em;opacity:.85;margin-bottom:6px}.section+.section{margin-top:20px}.section h2{font-family:var(--font-ui);font-size:16px;font-weight:800;color:var(--accent);margin:0 0 6px;display:flex;align-items:center;gap:7px}.section p{margin:0;color:var(--text);font-size:15px}.word-card{text-align:center;background:#fff;border:3px dashed var(--border)}.word-card p{font-family:var(--font-head);font-size:16px;line-height:1.7}.stats{display:flex;flex-direction:column;gap:18px}.thermo{display:flex;align-items:center;gap:12px}.thermo-bulb{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--accent);box-shadow:inset 0 0 0 4px #fff,0 0 0 2px var(--accent)}.thermo-tube{position:relative;display:block;flex:1 1;height:22px;border-radius:999px;background:#fff;border:2px solid var(--border);overflow:hidden}.thermo-mercury{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff6f3d,var(--accent));transition:width .5s ease}.thermo-val{font-family:var(--font-head);font-size:20px;color:var(--accent);flex:0 0 auto;min-width:56px;text-align:right}.meter-row{display:flex;align-items:center;gap:10px}.meter-label{font-family:var(--font-ui);font-size:13.5px;font-weight:800;color:var(--text);flex:0 0 88px}.meter-track{display:block;flex:1 1;height:16px;border-radius:999px;background:#fff;border:2px solid var(--border);overflow:hidden}.meter-fill{display:block;height:100%;border-radius:999px;background:var(--accent);background-image:linear-gradient(180deg,hsla(0,0%,100%,.5),hsla(0,0%,100%,0));transition:width .5s ease}.meter-val{font-family:var(--font-ui);font-size:13px;font-weight:800;color:var(--accent);flex:0 0 40px;text-align:right}.match-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:10px}.match-list a{display:inline-block;background:#fff;border:2px solid var(--border);border-radius:14px;padding:10px 16px;font-family:var(--font-ui);font-size:14px;font-weight:800;color:var(--accent);text-decoration:none;box-shadow:0 4px 0 0 var(--border)}.match-list a:active{transform:translateY(3px);box-shadow:0 1px 0 0 var(--border)}.share{text-align:center}.share h2{font-family:var(--font-ui);font-size:16px;font-weight:800;color:var(--accent);margin:0 0 14px}.share-preview{width:72%;max-width:260px;aspect-ratio:9/16;object-fit:cover;border-radius:18px;display:block;margin:0 auto 16px;border:3px solid #fff;box-shadow:0 14px 28px -14px rgba(0,0,0,.5),0 0 0 2px var(--border)}.share-row{flex-direction:column}.share-row,.share-sub{display:flex;gap:10px}.share-sub .btn{flex:1 1;font-size:14px;padding:13px 12px}.toast{margin-top:12px;font-size:13px;font-weight:700;color:var(--accent);min-height:18px}.note,.toast{font-family:var(--font-ui)}.note{font-size:12.5px;color:color-mix(in srgb,var(--text) 60%,transparent);margin:12px 0 0}.footer-link{text-align:center;margin-top:8px}.footer-link a{font-family:var(--font-ui);color:var(--accent);font-size:14px;font-weight:700;text-decoration:underline}.accuracy{text-align:center}.accuracy-q{font-family:var(--font-head);font-size:18px;color:var(--text);margin:0 0 14px}.accuracy-row{display:flex;gap:10px}.accuracy-row .btn{flex:1 1}.accuracy-feedback{display:flex;flex-direction:column;gap:10px}.accuracy-input{width:100%;resize:none;font-family:var(--font-body);font-size:15px;color:var(--text);background:#fff;border:2px solid var(--border);border-radius:14px;padding:12px 14px;line-height:1.6}.accuracy-input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.consent{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:center;padding:14px}.consent-inner{width:100%;max-width:480px;background:#fff;border:3px solid var(--border);border-radius:22px;box-shadow:0 18px 40px -16px rgba(0,0,0,.45);padding:18px 18px 16px}.consent-text{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text);margin:0 0 14px;line-height:1.7}.consent-link{color:var(--accent);text-decoration:underline;margin:0 2px}.consent-row{display:flex;gap:10px}.consent-row .btn{flex:1 1;font-size:14px;padding:13px 12px}.consent-reopen{position:fixed;left:10px;bottom:10px;z-index:40;background:hsla(0,0%,100%,.86);border:1px solid var(--border);padding:6px 12px;font-size:11.5px;font-weight:700;color:var(--text);cursor:pointer;box-shadow:0 4px 10px -4px rgba(0,0,0,.3)}.consent-reopen,.draft-badge{border-radius:999px;font-family:var(--font-ui)}.draft-badge{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;padding:5px 12px;margin:0}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}