:root{--aws-orange: #FF9900;--aws-orange-hover: #E88A00;--aws-dark: #232F3E;--aws-dark-alt: #1A2433;--aws-blue: #1A73E8;--bg: #F0F2F5;--surface: #FFFFFF;--surface-2: #F8F9FA;--border: #E1E4E8;--text-primary: #0D1117;--text-secondary: #586069;--text-muted: #8B949E;--correct: #2EA043;--correct-bg: #E8F5E9;--correct-border: #81C784;--incorrect: #CF222E;--incorrect-bg: #FFEBEE;--incorrect-border: #EF9A9A;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0,0,0,.1);--shadow-sm: 0 2px 8px rgba(0,0,0,.07);--transition: .2s ease;--max-width: 480px}@media (prefers-color-scheme: dark){:root{--bg: #0D1117;--surface: #161B22;--surface-2: #1C2128;--border: #30363D;--text-primary: #E6EDF3;--text-secondary: #8B949E;--text-muted: #6E7681;--correct: #3FB950;--correct-bg: #0D2818;--correct-border: #238636;--incorrect: #F85149;--incorrect-bg: #2D1117;--incorrect-border: #6E1B1B;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-sm: 0 2px 8px rgba(0,0,0,.3)}}:root[data-theme=light]{--bg: #F0F2F5;--surface: #FFFFFF;--surface-2: #F8F9FA;--border: #E1E4E8;--text-primary: #0D1117;--text-secondary: #586069;--text-muted: #8B949E;--correct: #2EA043;--correct-bg: #E8F5E9;--correct-border: #81C784;--incorrect: #CF222E;--incorrect-bg: #FFEBEE;--incorrect-border: #EF9A9A}:root[data-theme=dark]{--bg: #0D1117;--surface: #161B22;--surface-2: #1C2128;--border: #30363D;--text-primary: #E6EDF3;--text-secondary: #8B949E;--text-muted: #6E7681;--correct: #3FB950;--correct-bg: #0D2818;--correct-border: #238636;--incorrect: #F85149;--incorrect-bg: #2D1117;--incorrect-border: #6E1B1B}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1rem 0;line-height:1.6}main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;padding-bottom:1rem}.header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:var(--aws-dark);z-index:100;box-shadow:0 2px 8px #0000004d}.header-logo{font-size:.95rem;font-weight:700;color:var(--aws-orange);letter-spacing:-.01em}.header-version{display:inline-block;background:#ff99002e;color:#ff9900d9;font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:.15rem .45rem;border-radius:100px;border:1px solid rgba(255,153,0,.3);margin-left:.5rem;vertical-align:middle}.header-controls{display:flex;gap:.5rem;align-items:center}#lang-toggle{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#fff;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;cursor:pointer;transition:border-color var(--transition),background var(--transition);min-height:32px}#lang-toggle:hover{border-color:var(--aws-orange);color:var(--aws-orange)}.screen{display:none;width:100%;max-width:var(--max-width);margin-top:56px}.screen.active{display:block}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}#start-screen .card{padding:3rem 2rem;text-align:center}.start-badge{display:inline-block;background:var(--aws-orange);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:100px;margin-bottom:1.25rem}.start-title{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.start-subtitle{color:var(--text-secondary);margin-bottom:.4rem;font-size:1rem}.service-count-text{color:var(--text-muted);font-size:.8rem;margin-bottom:1.75rem}.start-meta{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.875rem}.meta-icon{font-size:1rem}#start-btn{width:100%;max-width:280px;background:var(--aws-orange);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1.05rem;font-weight:700;padding:.875rem 2rem;cursor:pointer;transition:background var(--transition),transform var(--transition);min-height:52px}#start-btn:hover{background:var(--aws-orange-hover);transform:translateY(-1px)}#start-btn:active{transform:translateY(0)}.quiz-header{background:var(--aws-dark);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.quiz-meta-row{display:flex;justify-content:space-between;align-items:center;color:#ffffffd9;font-size:.875rem}.progress-text{font-weight:600;color:#fff}.score-text{color:var(--aws-orange);font-weight:700}.progress-bar{height:4px;background:#ffffff26;border-radius:100px;overflow:hidden}.progress-fill{height:100%;background:var(--aws-orange);border-radius:100px;transition:width .4s ease}.streak{text-align:center;font-size:.875rem;font-weight:700;color:var(--aws-orange);padding:.25rem;animation:pop .3s ease;min-height:2rem}.streak[hidden]{display:block!important;visibility:hidden;animation:none;pointer-events:none}@keyframes pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.question-area{padding:2rem 1.5rem 1.5rem;text-align:center}.service-icon-wrap{margin-bottom:1.25rem;display:flex;justify-content:center;align-items:center}.service-icon{display:block;width:72px;height:72px;border-radius:16px;box-shadow:var(--shadow-sm);object-fit:contain}.icon-fallback{display:none;align-items:center;justify-content:center;width:72px;height:72px;border-radius:16px;font-size:1.75rem;box-shadow:var(--shadow-sm)}.service-name{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.02em}.question-text{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.answer-btns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.answer-btn{background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1.1rem;font-weight:800;padding:1rem;cursor:pointer;min-height:64px;transition:all var(--transition);letter-spacing:-.01em}.answer-btn:hover:not(:disabled){border-color:var(--aws-orange);background:var(--bg);transform:translateY(-2px);box-shadow:0 4px 12px #f903}.answer-btn:disabled{cursor:default;opacity:.5}.answer-btn.correct{background:var(--correct-bg);border-color:var(--correct);color:var(--correct);opacity:1;animation:flash-correct .4s ease}.answer-btn.incorrect{background:var(--incorrect-bg);border-color:var(--incorrect);color:var(--incorrect);opacity:1;animation:shake .4s ease}@keyframes flash-correct{0%{transform:scale(1)}30%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.answer-result{border-top:1px solid var(--border);padding:1.25rem 1.5rem;overflow:hidden;max-height:500px;opacity:1;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .3s ease}.answer-result[hidden]{display:block!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important;opacity:0!important;border-top-color:transparent;pointer-events:none}.answer-result.correct{background:var(--correct-bg);border-color:var(--correct-border)}.answer-result.incorrect{background:var(--incorrect-bg);border-color:var(--incorrect-border)}.verdict-next-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.verdict-next-row .result-verdict{flex:1;margin-bottom:0}.verdict-next-row .next-btn{width:auto;min-height:40px;padding:.45rem 1.2rem;font-size:.9rem;flex-shrink:0;animation:next-pulse 2s ease-in-out infinite}@keyframes next-pulse{0%,to{box-shadow:0 0 #f900}50%{box-shadow:0 0 0 5px #ff990061}}@media (prefers-reduced-motion: reduce){.verdict-next-row .next-btn{animation:none}}.result-verdict{font-size:1.2rem;font-weight:800;margin-bottom:.5rem}.answer-result.correct .result-verdict{color:var(--correct)}.answer-result.incorrect .result-verdict{color:var(--incorrect)}.full-name{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.4rem}.service-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.service-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--aws-blue);text-decoration:none;font-size:.78rem;font-weight:600;padding:.3rem .7rem;border:1.5px solid var(--aws-blue);border-radius:100px;margin-bottom:.875rem;transition:background var(--transition),color var(--transition)}.service-link:hover{background:var(--aws-blue);color:#fff}.service-link-icon{width:11px;height:11px;flex-shrink:0}.next-btn{width:100%;background:var(--aws-orange);color:#000;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:800;padding:.875rem;cursor:pointer;min-height:48px;transition:background var(--transition),transform var(--transition)}.next-btn:hover{background:var(--aws-orange-hover);transform:translateY(-1px)}#result-screen .card{padding:2.5rem 2rem;text-align:center}.result-title{font-size:1.5rem;font-weight:800;margin-bottom:2rem;color:var(--text-primary)}.result-score-section{margin-bottom:1.75rem}.score-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.4rem}.final-score{font-size:3.5rem;font-weight:900;color:var(--aws-orange);line-height:1;letter-spacing:-.03em}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.detail-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.3rem}.accuracy-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.rank-value{font-size:1.1rem;font-weight:800;color:var(--text-primary);line-height:1.2}.result-actions{display:flex;flex-direction:column;gap:.75rem}#play-again-btn{background:var(--aws-orange);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;padding:.875rem;cursor:pointer;min-height:52px;transition:background var(--transition),transform var(--transition)}#play-again-btn:hover{background:var(--aws-orange-hover);transform:translateY(-1px)}#share-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#000;color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;padding:.875rem;min-height:52px;transition:background var(--transition),transform var(--transition)}#share-btn:hover{background:#1a1a1a;transform:translateY(-1px)}.x-icon{font-size:1.1rem;font-weight:900;font-style:normal}#share-linkedin-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#0a66c2;color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;padding:.875rem;min-height:52px;transition:background var(--transition),transform var(--transition)}#share-linkedin-btn:hover{background:#004182;transform:translateY(-1px)}.linkedin-icon{display:block}.keyboard-hint{text-align:center;font-size:.75rem;color:var(--text-muted);padding:.75rem;border-top:1px solid var(--border)}.site-footer{width:100%;background:var(--aws-dark);border-top:1px solid rgba(255,255,255,.08);padding:.65rem 1.25rem .75rem;text-align:center}.site-footer-links{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-bottom:.3rem}.site-footer-link{display:inline-flex;align-items:center;gap:.3rem;color:#ffffffbf;text-decoration:none;font-size:.8rem;font-weight:500;transition:color var(--transition);white-space:nowrap}.site-footer-link:hover{color:var(--aws-orange)}.site-footer-icon{flex-shrink:0}.site-footer-icon-link{opacity:.7;transition:opacity var(--transition),color var(--transition)}.site-footer-icon-link:hover{opacity:1;color:#ffffffe6}.site-footer-copy{font-size:.72rem;color:#ffffff73;white-space:nowrap}@media (max-width: 400px){.start-title{font-size:1.6rem}.service-name{font-size:1.4rem}.final-score{font-size:2.75rem}.answer-btn{font-size:1rem;min-height:56px}}@media (min-width: 600px){body{padding:1.5rem}.screen{margin-top:64px}}
