:root{color-scheme:dark;--bg:#142824;--cream:#f4f1e9;--ink:#1b302b;--muted:#a7b6a9;--lime:#dcf49d;--line:rgba(233,241,220,.15);--coral:#f1b398;--mint:#b8ddd0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% 5%,#28423a 0,transparent 48%),var(--bg);color:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.7;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:5px}button:disabled{cursor:default;opacity:.55}.site-header{max-width:1280px;margin:auto;padding:30px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;line-height:1;font-size:22px;font-weight:750;letter-spacing:.12em}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.25em;margin-top:7px;color:var(--muted)}.brand-mark{width:28px;height:34px;border:1.5px solid var(--lime);border-radius:50%;position:relative;display:block}.brand-mark:after{content:"";position:absolute;width:20px;height:30px;left:10px;top:0;border:1.5px solid var(--lime);border-radius:50%}.nav-button{border:1px solid var(--line);border-radius:30px;background:transparent;padding:10px 17px;color:var(--cream);font-size:12px}.nav-button span{margin-left:14px}.layout{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 460px;gap:70px;padding:48px 40px 60px;align-items:start}.intro{padding-top:42px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:650}.intro .eyebrow{color:var(--lime);margin-bottom:27px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:8px}.intro h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:43px;line-height:1.7;letter-spacing:.015em;margin:0 0 22px;white-space:nowrap}.intro h1 em{font-style:normal;color:var(--lime)}.intro-copy{font-size:14px;color:#c2cdc4;line-height:2.15}.howto{border-top:1px solid var(--line);margin-top:34px;padding-top:23px;display:flex;gap:18px;align-items:center}.howto p{font-size:11px;line-height:1.9;margin:0;color:var(--muted)}.howto strong{color:var(--cream);font-weight:500}.swipe-icon{font-size:22px;color:var(--lime);white-space:nowrap}.intro-meta{display:flex;gap:24px;align-items:center;margin-top:24px;font-size:11px;color:var(--muted)}.intro-meta b{font-size:25px;color:var(--cream);font-weight:400;margin-right:5px}.intro-note{font-size:10px;color:var(--muted);margin-top:20px;line-height:1.9}.text-button{border:none;padding:3px 0;background:transparent;color:var(--cream);font-size:11px;border-bottom:1px solid var(--line)}.game{min-width:0;scroll-margin-top:20px}.deck-status{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;letter-spacing:.06em;margin-bottom:11px;color:var(--muted)}#case-count{font-size:13px;font-variant-numeric:tabular-nums;color:var(--cream)}#session-label{font-size:9px;letter-spacing:.12em}.progress-track{height:2px;background:var(--line);margin-bottom:22px;overflow:hidden}.progress-track>div{height:100%;width:0;background:var(--lime);transition:width .3s}.card{border-radius:18px;overflow:hidden;background:var(--cream);color:var(--ink);box-shadow:0 18px 50px #07120f44;transform-origin:50% 85%;position:relative;touch-action:pan-y;user-select:none;transition:transform .18s,opacity .18s}.card.dragging{transition:none;cursor:grabbing}.portrait{height:245px;position:relative;overflow:hidden;background:#647365}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;pointer-events:none;display:block;filter:saturate(.55)}.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,17,.12),transparent 30%,rgba(10,22,18,.87))}.portrait .case-number{position:absolute;left:22px;top:16px;z-index:1;font-family:Georgia,serif;font-size:19px;color:white}.photo-label{position:absolute;top:18px;right:20px;z-index:1;background:#162b2499;border:1px solid #ffffff44;border-radius:20px;font-size:9px;padding:2px 9px;color:#fff}.person{position:absolute;bottom:20px;left:24px;right:24px;z-index:1;color:#fff}.person small{font-size:10px;letter-spacing:.06em;color:#e3e9df}.person h2{font-size:22px;margin:4px 0 0;line-height:1.45;font-weight:600}.person .english-name{font-size:10px;letter-spacing:.08em;color:#d0dcd3}.portrait .monogram{font-family:Georgia,serif;font-size:90px;position:absolute;inset:0;display:grid;place-items:center;color:#cbe4ca;background:linear-gradient(130deg,#526f5a,#203b32)}.card-body{padding:21px 24px 22px}.scene-label{font-size:9px;letter-spacing:.1em;color:#6b776a;margin:0 0 8px}.card-body h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:22px;font-weight:600;line-height:1.55;margin:0 0 12px}.scene{font-size:12px;line-height:1.95;color:#526055;margin:0}.question{border-top:1px solid #1b302b1a;padding-top:14px;margin:16px 0 0;font-weight:650;font-size:13px}.swipe-stamp{pointer-events:none;position:absolute;top:85px;padding:5px 12px;border:3px solid currentColor;border-radius:8px;color:var(--lime);font-weight:800;font-size:32px;z-index:3;opacity:0;transform:rotate(-14deg);background:#16372ada}.swipe-stamp.left{left:24px}.swipe-stamp.right{right:24px;transform:rotate(14deg);color:var(--coral)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.choice{border:1px solid #b8ddd054;color:var(--mint);background:#254038;padding:13px 15px 16px;text-align:left;display:flex;gap:10px;align-items:flex-start;border-radius:13px;font-size:12px;line-height:1.7;min-height:91px;transition:transform .15s,background .15s}.choice.right{color:#f3c4af;border-color:#f1b39855;background:#3c3930}.choice:hover{transform:translateY(-3px);background:#345249}.choice.right:hover{background:#514438}.choice .letter{font-size:11px;flex-shrink:0;font-weight:750}.choice .choice-text{padding-top:1px}.pass-button{display:block;background:none;border:0;color:#c2cdc1;font-size:11px;margin:14px auto 0;padding:7px 15px;text-decoration:underline;text-underline-offset:5px}.controls-note{text-align:center;font-size:9px;color:#94a69a;margin:16px 0 0}.reveal{background:var(--cream);color:var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px #07120f44;animation:appear .3s ease-out}.reveal-top{display:flex;gap:14px;align-items:center;padding:22px 24px 18px;border-bottom:1px solid #1b302b18}.mini-photo{width:55px;height:65px;object-fit:cover;object-position:center 25%;border-radius:7px;filter:saturate(.55);background:#d2dbca}.mini-monogram{display:grid;place-items:center;font-family:Georgia,serif;font-size:23px}.reveal-top h2{font-size:16px;margin:0}.reveal-top p{margin:2px 0 0;font-size:10px;color:#697469}.answer-status{display:inline-flex;align-items:center;padding:5px 10px;font-size:10px;background:#dfebd0;border-radius:30px;color:#3a513b;margin:19px 24px 0}.answer-status.different{background:#f3e2d5;color:#72523b}.reveal-content{padding:18px 24px 24px}.reveal-content .eyebrow{color:#67745e;margin:0 0 8px}.inside{font-size:18px;line-height:1.8;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;margin:0 0 19px}.intent{font-size:11px;line-height:1.9;padding:12px 14px;background:#e9eade;border-radius:8px;margin:0 0 16px}.intent strong{display:block;font-size:10px;color:#6e7b66;margin-bottom:4px;font-weight:600}.lesson{font-size:12px;line-height:1.9;margin:0 0 16px}.followup{border-left:2px solid #a1b88f;padding-left:13px;margin:20px 0}.followup small{display:block;font-size:9px;color:#707b6b;margin-bottom:6px}.followup p{font-size:12px;margin:0}.source-details{border-top:1px solid #1b302b20;font-size:10px;line-height:1.9;padding-top:12px}.source-details summary{cursor:pointer;color:#4a6455;font-weight:600;padding:4px 0}.source-details p{margin:8px 0;color:#697568;overflow-wrap:anywhere}.source-link{display:block;overflow-wrap:anywhere;font-size:11px;margin:10px 0}.photo-credit{font-size:9px;color:#75806f;overflow-wrap:anywhere;margin-top:9px}.next-button,.restart-button{border:0;background:var(--lime);color:#203124;border-radius:13px;width:100%;padding:15px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650}.next-button:hover,.restart-button:hover{background:#e9ffb4}.feedback-note{text-align:center;margin:12px 0 0;color:var(--muted);font-size:9px}.site-footer{max-width:1184px;margin:0 auto;padding:22px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px}.site-footer a{margin-left:6px}.summary-panel{background:var(--cream);color:var(--ink);padding:30px 26px;border-radius:18px;animation:appear .3s}.summary-panel h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:27px;font-weight:500;line-height:1.65;margin:0 0 20px}.result-score{font-family:Georgia,serif;font-size:61px;line-height:1;margin:24px 0 8px}.result-score small{font-size:22px;color:#8b977c}.score-caption{font-size:11px;color:#65745f}.result-message{font-size:12px;line-height:1.95;margin:22px 0}.result-review summary{cursor:pointer;font-size:12px;padding:10px 0}.result-review ul{list-style:none;padding:0;margin:0}.result-review li{padding:12px 0;border-top:1px solid #1b302b20;font-size:11px}.result-review li b{display:block;margin-bottom:5px}.summary-note{font-size:10px;color:#72816c}.restart-button{justify-content:center}dialog{color:var(--ink);background:var(--cream);border:0;border-radius:18px;padding:28px;width:680px;max-width:calc(100vw - 28px);max-height:85svh;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#071c18cc;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dialog-header .eyebrow{color:#7a896e;margin:0 0 7px}.dialog-header h2{font-size:22px;margin:0}.close-button{border:1px solid #1b302b33;border-radius:50%;background:none;width:34px;height:34px;flex-shrink:0;font-size:22px;line-height:1;color:var(--ink)}.dialog-intro{font-size:12px;color:#63735f;margin:20px 0}.download-row{display:flex;gap:10px;margin:20px 0}.download-row a{padding:7px 12px;border:1px solid #1b302b25;border-radius:20px;font-size:10px;text-decoration:none}.library-item{border-top:1px solid #1b302b20;padding:14px 0}.library-item>summary{display:flex;align-items:center;gap:13px;cursor:pointer;list-style:none}.library-item>summary::-webkit-details-marker{display:none}.library-item>summary:after{content:"+";margin-left:auto;font-size:20px;color:#809271}.library-item[open]>summary:after{content:"−"}.library-item .mini-photo{width:40px;height:47px}.library-item summary b{display:block;font-size:13px}.library-item summary small{font-size:10px;color:#778570}.library-body{padding:14px 0 4px 53px;font-size:12px;line-height:1.95}.library-body h3{font-size:14px;margin-top:0}.library-body p{margin:9px 0}.library-body .photo-credit{font-size:10px}.about-body{font-size:12px;line-height:2}.about-body h3{font-size:14px;margin:27px 0 5px}.about-body .muted{font-size:10px;color:#7e8a75}.reset-button{background:transparent;color:#6e5349;border:1px solid #987d7055;border-radius:8px;padding:10px;font-size:11px;width:100%;margin-top:12px}.skip{position:fixed;left:15px;top:-100px;background:var(--lime);color:var(--ink);padding:10px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{padding:24px;text-align:center}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1000px){.intro{position:sticky;top:40px}}@media(max-width:900px){.layout{gap:38px;padding:35px 28px 50px;grid-template-columns:1fr 420px}.intro h1{font-size:32px}.site-header{padding:24px 30px}.site-footer{margin:0 30px}.intro-copy{font-size:12px}}@media(max-width:740px){.site-header{padding:18px 21px}.brand{font-size:18px;gap:11px}.brand-mark{width:22px;height:29px}.brand-mark:after{width:17px;height:25px;left:8px}.brand small{font-size:8px}.nav-button{font-size:10px;padding:8px 12px}.nav-button span{margin-left:5px}.layout{display:block;padding:22px 20px 36px;max-width:500px}.intro{padding:0;position:static}.intro>.eyebrow,.intro-copy,.howto,.intro-meta,.intro-note{display:none}.intro h1{font-family:inherit;font-size:15px;line-height:1.7;font-weight:500;white-space:normal;margin:0}.intro h1 br{display:none}.intro h1 em{color:var(--lime)}.intro .text-button{font-size:9px;margin-top:5px;margin-bottom:20px;color:var(--muted)}.progress-track{margin-bottom:17px}.portrait{height:226px}.person{left:21px;bottom:17px}.person h2{font-size:21px}.card-body{padding:18px 21px 19px}.card-body h3{font-size:20px;margin-bottom:10px}.scene{font-size:11px;line-height:1.85}.question{margin-top:14px;padding-top:11px;font-size:12px}.choices{gap:10px;margin-top:14px}.choice{padding:12px 11px;font-size:11px;gap:7px;min-height:89px}.pass-button{font-size:10px;margin-top:11px}.controls-note{font-size:8px;margin-top:13px}.site-footer{font-size:8px;margin:0 20px;padding:20px 0 26px;flex-direction:column;align-items:center;gap:7px}.deck-status{font-size:9px}.reveal-top{padding:20px}.reveal-content{padding:17px 20px 22px}.answer-status{margin-left:20px}.inside{font-size:17px}.dialog-header h2{font-size:19px}dialog{padding:22px}.library-body{padding-left:0}.download-row{flex-wrap:wrap}}@media(max-width:370px){.layout{padding-left:14px;padding-right:14px}.portrait{height:200px}.card-body h3{font-size:18px}.person h2{font-size:19px}.choice{font-size:10px}.nav-button{font-size:9px}.intro h1{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
