:root{color:#071126;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7fb;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f4f7fb;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #0d55ee3d}.app-shell{background:#fbfcff;width:min(100%,720px);min-height:100vh;margin:0 auto;box-shadow:0 0 42px #08245f14}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfcfff0;border-bottom:1px solid #dfe6f2;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 24px;display:flex;position:sticky;top:0}.brand-link{align-items:center;min-width:0;text-decoration:none;display:inline-flex}.brand-logo{width:184px;max-width:48vw;height:auto;display:block}.brand-logo.large{width:240px;margin:0 auto 36px}.account-menu{flex:none;position:relative}.account-trigger{color:#071126;background:#fff;border:1px solid #d8e1ef;border-radius:999px;align-items:center;gap:10px;min-height:48px;padding:6px 10px 6px 6px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex;box-shadow:0 10px 24px #08245f14}.account-trigger:hover{border-color:#9db1cf;box-shadow:0 14px 30px #08245f1f}.account-trigger:active{transform:translateY(1px)}.account-avatar{color:#fff;background:linear-gradient(145deg,#0d55ee,#08245f);border-radius:12px;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.account-avatar.large{border-radius:14px;width:44px;height:44px;font-size:18px}.account-trigger-text{text-align:left;gap:1px;display:grid}.account-name{color:#071126;text-overflow:ellipsis;white-space:nowrap;max-width:128px;font-size:13px;font-weight:750;line-height:1.25;overflow:hidden}.account-points{color:#0d55ee;font-variant-numeric:tabular-nums;font-size:12px;font-weight:800;line-height:1.2}.account-chevron{color:#647084;font-size:15px;transform:translateY(-1px)}.account-popover{background:#fff;border:1px solid #dbe4f1;border-radius:16px;width:min(316px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 70px #08245f38}.account-popover-header{border-bottom:1px solid #edf1f7;align-items:center;gap:12px;padding:4px 4px 14px;display:flex}.account-email{color:#647084;text-overflow:ellipsis;white-space:nowrap;max-width:210px;margin:3px 0 0;font-size:12px;overflow:hidden}.account-score{color:#354158;background:#f3f7ff;border-radius:12px;justify-content:space-between;align-items:center;margin:12px 0;padding:12px 14px;font-size:13px;font-weight:700;display:flex}.account-score strong{color:#0d55ee;font-variant-numeric:tabular-nums;font-size:18px}.menu-item{color:#071126;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;min-height:42px;padding:0 12px;font-size:14px;font-weight:700;transition:background .16s,color .16s}.menu-item:hover{color:#0d55ee;background:#f3f7ff}.menu-item.danger{color:#b42318}.menu-item.danger:hover{color:#8f1d14;background:#fff1f0}.account-editor{background:#fff;border:1px solid #dfe6f2;border-radius:16px;gap:13px;margin:18px 24px 0;padding:20px;display:grid;box-shadow:0 16px 40px #08245f12}.account-editor h2{margin:0 0 2px;font-size:19px;line-height:1.35}.account-editor label{color:#354158;gap:6px;font-size:12px;font-weight:750;display:grid}.account-editor input{color:#071126;background:#fff;border:1px solid #bdc5d2;border-radius:10px;height:42px;padding:0 12px}.account-editor input:focus{border-color:#0d55ee}.quiz-page{padding:42px 24px 28px}.intro{border-bottom:1px solid #dfe6f2;padding-bottom:28px}.intro h1{letter-spacing:0;text-wrap:balance;margin:0 0 10px;font-size:clamp(28px,6vw,38px);line-height:1.22}.intro p{color:#647084;margin:0;font-size:16px;line-height:1.6}.question-block{padding-top:32px}.question-block h2{letter-spacing:0;text-wrap:pretty;margin:0 0 24px;font-size:clamp(22px,4.8vw,30px);line-height:1.45}.question-block h2 span{color:#0d55ee}.answers{border:0;gap:10px;margin:0;padding:0;display:grid}.answer{color:#071126;cursor:pointer;background:#fff;border:1px solid #d3dae7;border-radius:14px;align-items:center;gap:14px;min-height:62px;padding:13px 16px;font-size:17px;font-weight:700;line-height:1.45;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:flex}.answer:hover{border-color:#8fa2c0;box-shadow:0 8px 20px #08245f14}.answer:active{transform:translateY(1px)}.answer.selected{background:#f3f7ff;border:2px solid #0d55ee;padding:12px 15px;box-shadow:0 10px 26px #0d55ee1c}.answer input{opacity:0;pointer-events:none;position:absolute}.radio{border:2px solid #9ba4b3;border-radius:50%;flex:none;width:22px;height:22px}.selected .radio{border:6px solid #0d55ee}.primary-button{color:#fff;background:#0d55ee;border:0;border-radius:14px;width:100%;min-height:58px;margin-top:24px;font-size:17px;font-weight:850;transition:background .16s,transform .16s,box-shadow .16s;box-shadow:0 14px 30px #0d55ee38}.primary-button:hover:not(:disabled){background:#0a49cf;box-shadow:0 18px 34px #0d55ee47}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{cursor:not-allowed;box-shadow:none;background:#aab8d5}.result{background:#f3f7ff;border-left:4px solid #0d55ee;border-radius:14px;padding:22px}.result.incorrect{background:#fff5f5;border-color:#dc4c4c}.result p{margin:7px 0;font-size:15px;line-height:1.75}.result-title{font-weight:850;font-size:24px!important;line-height:1.35!important}.reward{color:#0d55ee;font-variant-numeric:tabular-nums;font-weight:850;font-size:24px!important}.inline-error,.error{color:#b42318}.state-message{color:#647084;text-align:center;margin:20vh 0 16px}.text-button{color:#0d55ee;background:#fff;border:1px solid #0d55ee;border-radius:999px;margin:auto;padding:10px 16px;font-size:14px;font-weight:750;display:block}.app-footer{color:#647084;text-align:center;border-top:1px solid #dfe6f2;gap:14px;margin-top:34px;padding-top:22px;display:grid}.footer-refresh{margin:0;font-size:12px;font-weight:750}.footer-nav{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.footer-nav a{color:#354158;background:#fff;border:1px solid #dbe4f1;border-radius:999px;align-items:center;min-height:36px;padding:0 12px;font-size:12px;font-weight:750;text-decoration:none;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.footer-nav a:hover{color:#0d55ee;background:#f3f7ff;border-color:#0d55ee}.policy-page{background:#fbfcff;min-height:100vh}.policy-header{background:#fff;border-bottom:1px solid #dfe6f2;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 24px;display:flex}.policy-back{color:#0d55ee;white-space:nowrap;font-size:13px;font-weight:750;text-decoration:none}.policy-content{color:#071126;width:min(100% - 40px,700px);margin:0 auto;padding:52px 0 72px}.policy-eyebrow{color:#0d55ee;letter-spacing:0;margin:0 0 10px;font-size:12px;font-weight:850}.policy-content h1{letter-spacing:0;margin:0;font-size:clamp(30px,6vw,42px);line-height:1.22}.policy-updated{color:#647084;margin:12px 0 38px;font-size:13px}.policy-content h2{margin:36px 0 12px;font-size:20px;line-height:1.45}.policy-content p,.policy-content li{color:#354158;font-size:15px;line-height:1.9}.policy-content ul{padding-left:1.35em}.policy-content a{color:#0d55ee}.policy-footer-note{margin-top:48px;font-size:13px;color:#647084!important}.extra-area{border-top:1px solid #dfe6f2;margin-top:42px;padding-top:34px}.extra-area h2{letter-spacing:0;margin:0 0 10px;font-size:24px;line-height:1.35}.extra-area>p{color:#647084;margin:0;font-size:15px;line-height:1.7}.ad-button{color:#0d55ee;background:#fff;border:1px solid #0d55ee;border-radius:14px;width:100%;min-height:54px;margin-top:20px;font-size:16px;font-weight:850;transition:background .16s,transform .16s,box-shadow .16s}.ad-button:hover:not(:disabled){background:#f3f7ff;box-shadow:0 12px 26px #0d55ee1f}.ad-button:active:not(:disabled){transform:translateY(1px)}.ad-button:disabled{opacity:.6;cursor:wait}.development-note{text-align:center;margin-top:12px!important;font-size:12px!important}.extra-header{justify-content:space-between;align-items:end;gap:12px;margin-bottom:22px;display:flex}.extra-label{color:#0d55ee;margin:0 0 5px;font-size:12px;font-weight:850}.extra-header h2{margin:0}.remaining{color:#647084;white-space:nowrap;margin:0 0 4px;font-size:13px}.extra-area h3{margin:0 0 22px;font-size:clamp(21px,4.4vw,28px);line-height:1.45}.extra-area h3 span{color:#0d55ee}.extra-answers{margin-bottom:0}.complete-message{background:#f3f7ff;border-radius:14px;padding:22px;color:#071126!important}.state-message.compact{margin:42px 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.session-loading{color:#647084;text-align:center;margin:30vh auto}.native-required{text-align:center;width:min(100% - 40px,520px);margin:24vh auto 0}.native-required h1{margin:0 0 12px;font-size:28px;line-height:1.35}.native-required>p:last-child{color:#647084}.auth-shell{background:#fbfcff;grid-template-rows:auto 1fr;min-height:100vh;display:grid}.auth-brand{background:#fff;border-bottom:1px solid #dfe6f2;align-items:center;min-height:72px;padding:12px 24px;display:flex}.auth-panel{width:min(100% - 40px,420px);margin:56px auto 48px}.auth-panel h1{letter-spacing:0;margin:0 0 10px;font-size:30px;line-height:1.25}.auth-lead{color:#647084;margin:0 0 30px;font-size:15px;line-height:1.7}.auth-tabs{border-bottom:1px solid #dfe6f2;grid-template-columns:1fr 1fr;margin-bottom:24px;display:grid}.auth-tabs button{color:#647084;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 8px;font-size:14px;font-weight:800}.auth-tabs button[aria-selected=true]{color:#0d55ee;border-bottom-color:#0d55ee}.auth-panel form{gap:16px;display:grid}.auth-panel label{color:#354158;gap:8px;font-size:13px;font-weight:750;display:grid}.auth-panel input{color:#071126;background:#fff;border:1px solid #bdc5d2;border-radius:12px;height:48px;padding:0 14px}.auth-panel input:focus{border-color:#0d55ee}.form-hint{color:#647084;margin:-8px 0 0;font-size:12px}.auth-error{color:#b42318;margin:0;font-size:13px;line-height:1.6}.auth-submit{margin-top:2px}.oauth-separator{color:#7a8598;align-items:center;gap:12px;margin:24px 0 16px;font-size:12px;font-weight:750;display:flex}.oauth-separator:before,.oauth-separator:after{content:"";background:#dfe6f2;flex:1;height:1px}.oauth-buttons{gap:12px;display:grid}.oauth-button{border:1px solid #bdc5d2;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:50px;font-size:14px;font-weight:850;text-decoration:none;transition:border-color .18s,color .18s,background .18s,transform .18s,box-shadow .18s;display:flex}.oauth-button:hover{transform:translateY(-1px)}.oauth-button:active{transform:translateY(1px)}.oauth-button.google{color:#071126;background:#fff;box-shadow:0 10px 24px #08245f12}.oauth-button.google:hover{background:#fff;border-color:#9db1cf;box-shadow:0 14px 30px #08245f1c}.oauth-button.apple{color:#fff;background:#071126;border-color:#071126;box-shadow:0 12px 28px #0711262e}.oauth-button.apple:hover{background:#172033;border-color:#172033;box-shadow:0 16px 34px #0711263b}.oauth-icon{flex:none;width:20px;height:20px}.google-icon{width:21px;height:21px}.apple-icon{transform:translateY(-1px)}@media (width<=520px){.topbar{min-height:64px;padding:10px 14px}.brand-logo{width:148px;max-width:46vw}.brand-logo.large{width:210px}.account-trigger{min-height:44px;padding-right:8px}.account-avatar{border-radius:11px;width:32px;height:32px}.account-trigger-text{display:none}.account-popover{right:-4px}.quiz-page{padding:34px 18px 24px}.intro{padding-bottom:24px}.question-block{padding-top:28px}.question-block h2{margin-bottom:22px}.answer{min-height:58px;padding:12px 14px;font-size:16px}.answer.selected{padding:11px 13px}.primary-button{min-height:56px}.account-editor{margin:14px 18px 0;padding:18px}.auth-brand{min-height:64px;padding:10px 18px}.auth-panel{margin-top:42px}.auth-panel h1{font-size:28px}.policy-header{min-height:64px;padding:10px 18px}.policy-content{padding-top:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
