:root{font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#183e59;background:#f4faff;font-synthesis:none;--blue:#147acc;--ink:#183e59;--muted:#52758d;--line:#d7eaf7;--accent:#147acc;--tint:#e3f4ff}
*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:3px solid #105fba;outline-offset:5px}button:focus:not(:focus-visible){outline:none}button svg{pointer-events:none}.shell{max-width:1180px;margin:auto;padding:0 36px}.topbar{height:92px;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:12px}.brand-icon{width:40px;height:40px;display:grid;place-items:center;background:#fff;border-radius:13px;color:#1582d4;font-size:30px;line-height:1;box-shadow:0 3px 12px #367aaa14}.brand strong{display:block;font-size:17px;letter-spacing:.06em}.brand small{display:block;font:10px/1.7 sans-serif;letter-spacing:.2em;color:#688ba1}.nav-tools{display:flex;gap:12px;align-items:center}.home-link{font-size:12px;text-decoration:none}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center}.icon-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.icon-button[aria-pressed=true]{color:#147acc;background:#def2ff}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;color:#2d82b8;margin:0 0 15px}.home-hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;min-height:398px;padding:32px 0 18px;gap:24px}.hero-copy h1{font-size:clamp(32px,4.4vw,54px);line-height:1.38;letter-spacing:.035em;margin:0 0 22px}.hero-copy h1 em{font-style:normal;color:var(--blue)}.hero-copy .lead{font-size:14px;line-height:2.05;margin:0 0 20px;color:#456b85}.hero-note{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#2a74a3;background:#e1f1fd;padding:7px 13px;border-radius:100px}.hero-note span{width:6px;height:6px;background:#44a5e7;border-radius:50%}.hero-cast{position:relative;display:flex;justify-content:center;align-items:flex-end;isolation:isolate;padding-bottom:28px;min-width:0;height:345px}.hero-cast:before{content:'';position:absolute;inset:15px 8px 18px;background:radial-gradient(ellipse at 50% 30%,#fff 0,#dff1ff 58%,#cce8ff 100%);border-radius:50% 50% 45% 45%;z-index:-1}.hero-cast:after{content:'';position:absolute;width:75%;height:18px;background:#6da5c331;filter:blur(10px);bottom:24px;z-index:-1}.cast-member{position:relative;width:34%;margin:0 -3%;display:flex;align-items:center;flex-direction:column}.cast-member img{width:100%;height:290px;object-fit:contain;filter:drop-shadow(0 7px 5px #437da81a)}.cast-member:nth-child(2){z-index:2;transform:translateY(5px)}.cast-member span{font-size:12px;background:#ffffffe0;box-shadow:0 2px 7px #3d759617;padding:5px 15px;border-radius:20px;font-weight:700;position:absolute;bottom:-14px;white-space:nowrap}.menu-top{display:flex;align-items:center;justify-content:space-between;margin:22px 0 18px}.menu-top h2{font-size:20px;margin:0}.menu-top>span{font-size:11px;color:var(--muted)}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{border:1px solid #d5e8f5;background:#fff;border-radius:24px;padding:0;overflow:hidden;text-align:left;box-shadow:0 8px 24px #1b618b09;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 13px 30px #1b618b17}.game-card:active{transform:translateY(-1px)}.ear{--accent:#4486b2;--tint:#e6f5ff}.throat{--accent:#ab6590;--tint:#fff0f4}.card-visual{height:218px;position:relative;display:flex;justify-content:center;background:radial-gradient(ellipse at center 30%,#fff 0,var(--tint) 85%);overflow:hidden;border-bottom:1px solid #edf4fa}.card-visual:before{content:'';position:absolute;width:160px;height:160px;border-radius:50%;border:1px solid #ffffffc7;left:calc(50% - 80px);top:24px}.card-visual img{height:245px;width:185px;object-fit:contain;object-position:center top;transform:translateY(5px);filter:drop-shadow(0 5px 7px #6195b620)}.card-number{position:absolute;top:17px;left:19px;font:12px/1.5 sans-serif;letter-spacing:.1em;color:var(--accent)}.card-time{position:absolute;bottom:13px;right:13px;font-size:10px;padding:4px 8px;background:#ffffffe0;border-radius:10px;color:#53748a}.card-copy{padding:22px 23px 21px;display:flex;flex-direction:column;flex:1}.card-copy small{font-size:11px;color:var(--accent);margin-bottom:7px;font-weight:700}.card-copy strong{font-size:21px;line-height:1.6;letter-spacing:.01em}.card-copy .description{font-size:12px;line-height:1.9;color:#5a778b;margin:7px 0 21px;flex:1}.card-cta{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--accent);border-top:1px solid #e8f1f7;padding-top:15px}.card-cta b{height:29px;width:29px;background:var(--tint);border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1}.collection{border:1px solid var(--line);border-radius:18px;padding:18px 23px;display:flex;justify-content:space-between;align-items:center;background:#ffffffa0;margin-top:25px;gap:15px}.collection strong{font-size:13px}.collection p{font-size:11px;color:#648198;margin:5px 0 0}.stamp-list{display:flex;gap:9px}.stamp{font-size:10px;display:flex;flex-direction:column;align-items:center;color:#7895a9;min-width:45px;gap:4px}.stamp b{width:31px;height:31px;border:1px dashed #bdd7e8;border-radius:50%;display:grid;place-items:center;font-size:16px;background:#f5faff}.stamp.earned b{border-style:solid;color:#1682c5;background:#def3ff}.stamp.earned{color:#1878b1}.other-games{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;margin:25px 0 10px;color:#5c7c91}.other-games a{font-weight:700;text-underline-offset:4px}.page-footer{text-align:center;margin:28px 0 32px;font-size:10px;color:#628098;line-height:2}.page-footer a{text-underline-offset:3px}.play-top{display:flex;justify-content:space-between;align-items:center;margin:25px 0 22px}.text-button{border:0;background:transparent;font-size:12px;padding:8px 0;color:#477895}.patient-label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--accent)}.play-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.play-heading h1{font-size:29px;letter-spacing:.02em;line-height:1.5;margin:0 0 7px}.play-heading p{font-size:13px;color:#587990;margin:0;line-height:1.8}.round-display{border:1px solid var(--line);border-radius:15px;text-align:center;background:#fff;padding:10px 18px;flex:none}.round-display small{display:block;font:9px sans-serif;letter-spacing:.12em;color:#668ba1;margin-bottom:3px}.round-display strong{font:22px/1.25 sans-serif;color:#267cad}.clinic-workspace{display:grid;grid-template-columns:.7fr 1.3fr;gap:24px;align-items:stretch}.patient-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fff 0,#deeffd 85%);border-radius:25px;border:1px solid #d1e7f6;display:flex;flex-direction:column;align-items:center;padding:28px 15px 10px;min-width:0}.patient-panel .room-label{font:9px sans-serif;letter-spacing:.19em;color:#75a0bc;position:absolute;left:23px;top:22px}.patient-panel img{width:95%;height:335px;object-fit:contain;margin:18px 0 8px;filter:drop-shadow(0 9px 7px #3a749820)}.patient-speech{font-size:13px;line-height:1.85;background:#ffffffdf;border:1px solid #cee3f0;border-radius:17px;margin:0;padding:13px 19px;max-width:100%;width:100%;text-align:center;min-height:73px;position:relative}.patient-speech:before{content:'';position:absolute;top:-6px;left:calc(50% - 7px);width:10px;height:10px;border-top:1px solid #cee3f0;border-left:1px solid #cee3f0;transform:rotate(45deg);background:#fff}.examination{border-radius:25px;border:1px solid #d1e7f6;overflow:hidden;background:#fff;min-width:0;position:relative}.exam-header{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid #e1edf5;font-size:11px}.exam-header strong{color:#4888b2;font-size:11px}.exam-header span{color:#708ea2;font-size:10px}.exam-scene{position:relative;height:280px;background:radial-gradient(ellipse at 50% 35%,#eff9ff 0,#e0f1fd 90%);overflow:hidden;isolation:isolate}.exam-svg{height:100%;width:100%;display:block}.exam-svg .point-halo{fill:#a4e3fa33;stroke:#e6faff;stroke-width:4;stroke-dasharray:8 7}.exam-svg .bone{filter:drop-shadow(1px 3px 3px #74223b50);stroke:#fff9d9;stroke-width:13;stroke-linecap:round;fill:none}.exam-svg .wax{fill:url(#waxShade);stroke:#8e602e;stroke-width:3;filter:drop-shadow(2px 4px 4px #70331b40)}.exam-svg .mucus{fill:url(#mucusShade);stroke:#80babd;stroke-width:2;filter:drop-shadow(0 3px 4px #40798b45)}.exam-svg .tonsil{fill:url(#tonsilShade);stroke:#ae5968;stroke-width:3}.target-zone{position:absolute;width:60px;height:60px;border:2px solid #fff;border-radius:50%;background:#e2f6ff31;box-shadow:0 0 0 7px #a5daf948,0 3px 12px #135d8d20;display:grid;place-items:center;color:#fff;text-shadow:0 1px 4px #307cad;font-size:20px;animation:targetPulse 2s infinite}.target-zone:hover{background:#a4e7ff6b}.target-zone:focus-visible{outline-color:#fff}.target-zone:disabled{opacity:1;animation:none;cursor:default}.tool-motion{transform-box:fill-box;transform-origin:center;transition:opacity .25s}.instrument{stroke:#648caa;stroke-linecap:round;fill:none}.flow-line{stroke:#9fdde2;stroke-width:5;stroke-linecap:round;stroke-dasharray:12 20;animation:flow 1s linear infinite}.scene-label{position:absolute;left:16px;bottom:14px;font-size:10px;color:#507c99;background:#ffffffdd;padding:5px 9px;border-radius:8px}.scene-label.top{bottom:auto;top:14px}.success-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:#eaf9ff7a}.success-overlay span{font-size:19px;font-weight:700;padding:13px 30px;background:#fff;border-radius:100px;box-shadow:0 8px 30px #267baf22;color:#177caf;animation:successPop .35s both}.exam-controls{padding:19px 22px 21px}.step-list{display:flex;gap:8px;list-style:none;margin:0 0 18px;padding:0}.step-list li{flex:1;font-size:10px;color:#7794a8;display:flex;align-items:center;gap:5px;white-space:nowrap}.step-list b{border:1px solid #d5e6f2;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;font:10px sans-serif;flex:none}.step-list .current{color:#197cba;font-weight:700}.step-list .current b,.step-list .done b{border-color:#72bee9;background:#e3f4ff;color:#177bbc}.control-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;color:#537991}.control-title strong{color:#257dae}.angle-meter{height:18px;border-radius:20px;background:#e7eff6;position:relative;overflow:visible;margin:8px 2px 5px}.angle-meter .safe-zone{position:absolute;left:35%;width:30%;height:100%;background:#83d3f3;border-radius:8px}.angle-meter .center-line{position:absolute;height:26px;width:2px;left:50%;top:-4px;background:#3c93c4}.angle-meter .angle-needle{width:7px;height:26px;position:absolute;top:-4px;left:0;background:#145c8f;border:2px solid #fff;border-radius:5px;box-shadow:0 1px 5px #397da450;transform:translateX(-50%)}.meter-labels{display:flex;justify-content:space-between;margin:5px 0 15px;font:10px/1.6 sans-serif;color:#65869b}.meter-labels strong{color:#1f7cae;font-size:11px}.extraction-progress{height:6px;border-radius:10px;background:#e4f0f9;overflow:hidden;margin:10px 0 14px}.extraction-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#61c8ed,#147dca);border-radius:10px}.action-button{width:100%;min-height:55px;border:1px solid #0d72be;background:linear-gradient(180deg,#2c99e4,#137bc8);box-shadow:0 4px 0 #1066a8,0 7px 14px #187cb52a;border-radius:15px;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:700;font-size:15px;transition:transform .15s,box-shadow .15s;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.action-button:active,.action-button.is-holding{transform:translateY(3px);box-shadow:0 1px 0 #1066a8;background:#137bc8}.action-button:disabled{opacity:.7;background:#b8dcef;border-color:#a5cde5;color:#427a9c;box-shadow:0 3px 0 #a4cde4}.action-button small{font-size:10px;font-weight:400;opacity:.85}.action-tip{font-size:10px;margin:13px 0 0;text-align:center;color:#68899f;line-height:1.8;min-height:18px}.game-context{font-size:11px;line-height:1.9;color:#52748c;margin:18px 0 25px;padding-left:12px;border-left:2px solid #abd5f0}.game-context strong{font-weight:700;color:#356985}.result-wrap{max-width:800px;margin:35px auto 0;text-align:center}.result-heading{position:relative;padding:25px 0 0}.result-heading .eyebrow{font-size:11px;margin:12px 0}.result-heading h1{font-size:32px;margin:7px 0 11px}.result-heading>p:last-child{font-size:13px;color:#5c7e94;margin:0;line-height:1.8}.result-character{height:200px;max-width:220px;object-fit:contain;filter:drop-shadow(0 7px 7px #6e9bbd30)}.result-ribbon{display:inline-flex;gap:9px;align-items:center;background:#e1f3ff;border:1px solid #aed6ee;border-radius:100px;padding:8px 19px;color:#1875ad;font-size:12px;font-weight:700;margin:20px 0 24px}.lesson-card{text-align:left;background:#fff;border:1px solid #d5e7f4;border-radius:22px;padding:25px 28px;box-shadow:0 7px 30px #15679808;margin-bottom:23px}.lesson-card .eyebrow{margin-bottom:9px;font-size:10px}.lesson-card h2{font-size:23px;line-height:1.75;margin:0 0 12px;letter-spacing:.025em;color:#1b72a6}.lesson-card h2 rt{font-size:9px;color:#5689a5}.lesson-card>p{font-size:12px;color:#53768f;line-height:2;margin:0}.lesson-steps{display:flex;gap:10px;margin:18px 0;padding:0;list-style:none}.lesson-steps li{flex:1;background:#f0f8fe;padding:10px 8px;border-radius:11px;text-align:center;font-size:11px;font-weight:700;color:#337caf}.lesson-steps b{display:block;font:18px/1.6 sans-serif;color:#288bc4}.reference{border-top:1px solid #e5eff6;margin-top:18px;padding-top:13px;font-size:10px;line-height:1.8;color:#668398;display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}.reference a{color:#4d7f9d;text-underline-offset:3px}.result-buttons{max-width:440px;margin:0 auto;display:grid;gap:17px}.secondary-button{border:1px solid #b9d9ee;background:#fff;border-radius:14px;min-height:48px;font-size:13px;color:#317dae}.result-extra{font-size:11px;line-height:1.8;color:#678398;margin:18px 0}.result-extra a{color:#487f9f;text-underline-offset:3px}.feedback{min-height:20px;font-size:11px;color:#237bb0;text-align:center;padding-top:5px}.loading{font-size:12px;color:#4d80a0;padding:15px;text-align:center}.load-error{background:#fff;border:1px solid #d3e7f5;border-radius:14px;padding:20px;line-height:1.8}dialog{border:1px solid #c9e1f3;border-radius:24px;padding:30px;width:calc(100% - 40px);max-width:360px;text-align:center;box-shadow:0 15px 70px #17578322;color:var(--ink)}dialog::backdrop{background:#173e5d66;backdrop-filter:blur(5px)}dialog h2{font-size:23px;margin:0 0 10px}dialog p{font-size:12px;line-height:1.9;color:#638297;margin-bottom:25px}dialog button{margin:10px 0 5px;width:100%}.reduced-motion .target-zone{animation:none}footer .official-home{display:inline-block;padding:10px;text-decoration:none}.game-card .completed-tag{position:absolute;right:14px;top:14px;background:#fff;color:#1a7cb5;border-radius:20px;padding:5px 9px;font-size:10px}.confetti{position:fixed;pointer-events:none;z-index:10;top:-20px;width:7px;height:11px;border-radius:2px;animation:confettiDrop 1.8s ease-in forwards}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes targetPulse{50%{box-shadow:0 0 0 11px #a5daf91a,0 3px 12px #135d8d20}}@keyframes flow{to{stroke-dashoffset:64}}@keyframes successPop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes confettiDrop{to{transform:translateY(90vh) rotate(540deg);opacity:0}}
@media(min-width:950px){.play-panel{max-width:960px;margin:auto}.exam-scene{height:306px}.patient-panel img{height:364px}.clinic-workspace{grid-template-columns:.78fr 1.22fr}}
@media(max-width:760px){.shell{padding:0 22px}.topbar{height:76px}.home-hero{gap:8px;min-height:320px}.hero-copy h1{font-size:34px}.hero-copy .lead{font-size:12px}.hero-cast{height:280px;padding-bottom:23px}.cast-member img{height:230px}.cast-member span{font-size:10px;padding:4px 10px}.game-grid{gap:12px}.card-visual{height:165px}.card-visual img{height:190px;width:150px}.card-copy{padding:16px}.card-copy strong{font-size:17px}.card-copy .description{font-size:11px}.game-card{border-radius:20px}.clinic-workspace{gap:14px}.patient-panel img{height:275px}.patient-panel{padding:22px 12px 12px}.patient-speech{font-size:11px;padding:12px}.exam-scene{height:255px}.exam-controls{padding:17px}.play-heading h1{font-size:25px}.step-list{gap:4px}.step-list li{font-size:9px;gap:4px}.step-list b{width:18px;height:18px}}
@media(max-width:560px){.shell{padding:0 18px}.topbar{height:69px}.brand-icon{width:33px;height:33px;font-size:25px;border-radius:10px}.brand{gap:9px}.brand strong{font-size:13px}.brand small{font-size:8px}.nav-tools{gap:9px}.home-link{font-size:10px}.icon-button{width:38px;height:38px}.home-hero{grid-template-columns:1fr;text-align:center;padding:29px 0 0;gap:0}.hero-copy .eyebrow{font-size:9px;margin-bottom:12px}.hero-copy h1{font-size:35px;line-height:1.4;margin-bottom:13px}.hero-copy h1 br{display:none}.hero-copy .lead{font-size:12px;line-height:1.9;margin-bottom:12px}.hero-note{font-size:9px;padding:5px 10px}.hero-cast{height:245px;max-width:340px;width:100%;margin:15px auto 0;padding-bottom:26px}.cast-member{margin:0 -3%;width:34%}.cast-member img{height:216px}.hero-cast:before{inset:8px 15px 14px}.cast-member span{font-size:10px;bottom:-13px}.menu-top{margin:26px 0 13px}.menu-top h2{font-size:17px}.menu-top>span{font-size:10px}.game-grid{grid-template-columns:1fr;gap:14px}.game-card{flex-direction:row;border-radius:20px;min-height:163px}.card-visual{width:120px;flex:none;height:auto;border-bottom:0;border-right:1px solid #edf4fa;align-items:center}.card-visual img{height:160px;width:125px;transform:translateY(5px)}.card-visual:before{width:110px;height:110px;left:5px;top:20px}.card-number{top:12px;left:12px;font-size:10px}.card-time{bottom:9px;left:50%;right:auto;transform:translateX(-50%);font-size:8px;padding:3px 6px;white-space:nowrap}.card-copy{padding:15px 16px;flex:1;min-width:0}.card-copy small{font-size:10px;margin-bottom:4px}.card-copy strong{font-size:18px;line-height:1.6}.card-copy .description{font-size:10px;margin:5px 0 10px;line-height:1.8}.card-cta{font-size:11px;padding-top:8px}.card-cta b{width:22px;height:22px;font-size:15px}.collection{padding:15px;gap:9px;border-radius:16px}.collection strong{font-size:11px}.collection p{font-size:9px}.stamp-list{gap:4px}.stamp{min-width:37px;font-size:9px}.stamp b{width:27px;height:27px}.other-games{font-size:10px;align-items:flex-start;line-height:1.9;gap:15px;margin-top:18px}.other-games a{max-width:165px;flex:none}.page-footer{font-size:9px;margin:24px 0}.play-top{margin:16px 0}.patient-label{font-size:10px}.play-heading{gap:12px;margin-bottom:17px}.play-heading h1{font-size:22px;margin:0 0 4px}.play-heading p{font-size:11px}.round-display{padding:8px 12px;border-radius:12px}.round-display strong{font-size:18px}.round-display small{font-size:8px}.clinic-workspace{grid-template-columns:1fr;gap:11px}.patient-panel{flex-direction:row;padding:8px 14px;min-height:82px;border-radius:17px;overflow:visible;background:linear-gradient(110deg,#e2f2fe,#f8fcff)}.patient-panel .room-label{display:none}.patient-panel img{height:85px;width:69px;margin:-8px 7px -7px -3px;flex:none;object-fit:contain}.patient-speech{border:0;background:transparent;padding:3px 5px;min-height:auto;text-align:left;font-size:11px;line-height:1.8;width:auto}.patient-speech:before{display:none}.examination{border-radius:20px}.exam-header{padding:12px 16px}.exam-header strong{font-size:10px}.exam-header span{font-size:9px}.exam-scene{height:258px}.exam-controls{padding:16px 17px 17px}.step-list{margin-bottom:17px;gap:8px}.step-list li{font-size:10px}.step-list b{width:20px;height:20px}.action-button{min-height:52px;font-size:14px;border-radius:13px}.game-context{font-size:10px;margin:15px 0 18px;line-height:1.9}.target-zone{width:53px;height:53px;font-size:19px}.result-wrap{margin:12px auto 0}.result-heading{padding-top:13px}.result-character{height:154px}.result-heading h1{font-size:25px}.result-heading>p:last-child{font-size:12px}.result-ribbon{font-size:11px;margin:17px 0 19px;padding:7px 16px}.lesson-card{padding:20px 21px;border-radius:18px;margin-bottom:20px}.lesson-card h2{font-size:20px}.lesson-card>p{font-size:11px}.lesson-card .eyebrow{font-size:9px}.lesson-steps{gap:6px;margin:15px 0}.lesson-steps li{font-size:10px;padding:8px 4px}.reference{font-size:9px;gap:5px}.result-extra{font-size:10px}.completed-tag{left:9px;right:auto!important;top:9px!important;font-size:8px!important}.card-number:has(+.completed-tag){visibility:hidden}}
@media(max-width:359px){.shell{padding:0 13px}.hero-copy h1{font-size:31px}.home-link{display:none}.card-visual{width:104px}.card-copy{padding:13px}.card-copy strong{font-size:17px}.step-list li{font-size:9px}.exam-scene{height:235px}.play-heading h1{font-size:20px}.stamp{min-width:31px}.stamp-list{gap:3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.action-button[data-hold=true]{touch-action:none}.patient-speech{white-space:pre-line}
@media(min-width:761px) and (max-height:820px){.topbar{height:72px}.play-top{margin:13px 0 14px}.play-heading{margin-bottom:16px}.play-heading h1{font-size:25px}.patient-panel{padding-top:18px}.patient-panel img{height:270px;margin-top:18px}.patient-panel .room-label{top:17px}.exam-scene{height:230px}.exam-controls{padding:16px 21px 16px}.step-list{margin-bottom:14px}.action-tip{margin-top:10px}.game-context{margin:15px 0}.patient-speech{font-size:12px;padding:12px 14px}}
#gameTitle:focus,#resultTitle:focus{outline:none}
@media(max-width:560px){.examination:has(#angleControl:not([hidden])) .exam-scene{height:205px}}
.angle-guide{display:flex;gap:12px;align-items:center;margin:-5px 0 6px}.angle-guide svg{width:70px;height:42px;flex:none}.angle-guide>div{flex:1;min-width:0}.angle-guide .control-title{margin-bottom:4px}.angle-guide small{font-size:9px;color:#7593a6;line-height:1.6;display:block}
@media(max-width:560px){.hero-copy h1 br{display:block}.angle-guide svg{width:58px;height:38px}.angle-guide{gap:8px}.angle-guide .control-title{font-size:10px}.angle-guide small{font-size:8px}}
@media(max-width:359px){.menu-top h2{font-size:14px}.menu-top>span{font-size:8px}.menu-top{gap:8px}}
/* Precision controls and the side-on suction model. */
.play-heading h1{word-break:keep-all;overflow-wrap:normal}
.precision-control{margin:0 0 15px}.precision-status{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;font-size:10px}.precision-status strong{color:#467c9b}.precision-status strong[data-ready=true]{color:#1281ac}.precision-status strong[data-recovering=true]{color:#a77426}.precision-status>span{font-size:8px;color:#7191a7;white-space:nowrap}.precision-pad{position:relative;min-height:86px;border:1px solid #b9d9ed;border-radius:13px;background:radial-gradient(#96bfd544 1px,transparent 1px) 0 0/12px 12px,#eef7fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:move}.precision-pad>span{font-size:20px;color:#3d87b4;line-height:1}.precision-pad strong{font-size:11px;color:#39718f}.precision-pad small{font-size:9px;color:#7493a6}.precision-pad:focus-visible{outline:3px solid #4ba6d6;outline-offset:3px}.exam-scene[data-interactive=true]{touch-action:none;cursor:crosshair}.exam-scene[data-interactive=true] .scene-label{pointer-events:none}.result-skill{font-size:12px;color:#527e98;margin:-10px 0 24px}.nose .exam-scene{height:320px;background:#f1f9fd}.nose .angle-meter .safe-zone{left:40%;width:20%}.nose .scene-label{display:none}.nose .angle-guide{display:none}.nose .patient-panel{justify-content:center}.nose .exam-controls{padding-top:14px}.ear .patient-panel,.throat .patient-panel{justify-content:center}
@media(max-width:560px){.nose .exam-scene{height:294px}.nose .examination:has(#angleControl:not([hidden])) .exam-scene{height:294px}.ear .exam-scene,.throat .exam-scene{height:222px}.precision-pad{min-height:75px}.precision-pad strong{font-size:10px}.precision-pad small{font-size:8px}.precision-status{font-size:9px}.ear .patient-panel,.throat .patient-panel,.nose .patient-panel{justify-content:flex-start}.nose .patient-panel img{height:70px}.nose .patient-panel{min-height:68px}.result-skill{font-size:10px}.nose .action-tip{font-size:9px}}
@media(max-width:359px){.nose .exam-scene,.nose .examination:has(#angleControl:not([hidden])) .exam-scene{height:254px}.precision-status>span{display:none}.ear .exam-scene,.throat .exam-scene{height:210px}}
/* Dedicated procedure rooms: scope exploration and controlled extraction. */
.ear .exam-scene,.throat .exam-scene{height:auto;aspect-ratio:3/2;background:#142333}.ear .scene-label,.throat .scene-label{display:none}.ear .exam-controls,.throat .exam-controls{padding-top:17px}.procedure-angle{background:#f2f8fc;border:1px solid #d9e8f2;border-radius:13px;padding:12px 15px;margin-bottom:14px}.procedure-angle label{font-size:11px;font-weight:700;display:flex;justify-content:space-between;align-items:center;color:#44718d}.procedure-angle output{font:700 16px/1.2 sans-serif;color:#7892a4}.procedure-angle output[data-aligned=true]{color:#168ab1}.procedure-angle input{display:block;width:100%;accent-color:#268dbd;height:29px;margin:6px 0 0;cursor:ew-resize;touch-action:pan-x}.procedure-angle>div{display:flex;justify-content:space-between;font-size:9px;color:#7690a2}.wiggle-control{padding:13px 16px;background:#edf7fb;border:1px solid #c3e3ee;border-radius:13px;display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:14px;gap:8px}.wiggle-control strong{color:#247da1;font-size:13px}.wiggle-control>span{font:12px sans-serif;color:#6590a4}.wiggle-dots{display:flex;gap:6px;grid-column:1/-1}.wiggle-dots i{height:5px;flex:1;background:#d0e5ed;border-radius:6px;transition:background .2s}.wiggle-dots i.filled{background:#3cabc3}.force-control{border:1px solid #d0e4ef;background:#f4fafd;border-radius:15px;padding:14px 16px 10px;margin-bottom:17px}.force-control .control-title{font-size:11px}.force-meter{height:19px;position:relative;background:linear-gradient(90deg,#e3ecf1 0 31%,#87cfe4 33% 66%,#f4ddad 80% 100%);border-radius:20px;margin:15px 3px 7px;box-shadow:inset 0 1px 3px #59859a19}.force-zone{position:absolute;top:-4px;bottom:-4px;left:32%;width:34%;border-left:1px dashed #277e9e;border-right:1px dashed #277e9e}.force-meter i{position:absolute;left:0;top:-5px;height:29px;width:7px;border:2px solid #fff;background:#245474;border-radius:4px;transform:translateX(-50%);box-shadow:0 2px 5px #487e9f30}.force-labels{display:flex;justify-content:space-between;font-size:9px;color:#69869b}.force-labels span:nth-child(2){color:#1984a7;font-weight:700}.force-control p{font-size:11px;text-align:center;color:#66849a;margin:12px 0 2px;min-height:18px}.force-control p[data-level=good]{color:#137ca3;font-weight:700}.force-control p[data-level=release]{color:#ac7831;font-weight:700}.procedure-success{display:flex;align-items:center;justify-content:center;gap:10px;color:#1684a5;background:#eef9fb;border:1px solid #cae7ee;border-radius:14px;min-height:64px;margin-bottom:18px;font-size:17px}.procedure-success b{font-size:23px;color:#dda95b}.ear .patient-panel,.throat .patient-panel{background:radial-gradient(ellipse at 50% 35%,#faffff,#e0eff7)}.ear .precision-status>span{display:none}.throat .precision-status>span{display:none}
@media(max-width:560px){.ear .exam-controls,.throat .exam-controls{padding:14px 16px 16px}.ear .exam-scene,.throat .exam-scene{height:auto}.procedure-angle{padding:10px 12px;margin-bottom:12px}.procedure-angle input{height:27px}.procedure-angle label{font-size:10px}.precision-pad{min-height:69px}.force-control{padding:12px;margin-bottom:14px}.force-control .control-title{font-size:10px}.force-control p{font-size:10px}.wiggle-control strong{font-size:12px}.ear .step-list,.throat .step-list{gap:5px;margin-bottom:13px}.ear .step-list li,.throat .step-list li{font-size:9px}.ear .action-button,.throat .action-button{font-size:13px;gap:8px}.ear .action-button small,.throat .action-button small{font-size:9px}.ear .patient-panel img,.throat .patient-panel img{height:73px}.ear .patient-panel,.throat .patient-panel{min-height:75px}}
@media(max-width:359px){.ear .exam-scene,.throat .exam-scene{height:auto}.ear .step-list li,.throat .step-list li{font-size:8px}.procedure-angle{padding:9px 11px}.precision-pad strong{font-size:9px}.throat .action-button{font-size:12px}.throat .action-button small{font-size:8px}.force-labels{font-size:8px}}
.case-brief{position:absolute;top:13px;left:14px;z-index:2;pointer-events:none;padding:8px 10px;border:1px solid #d6e7e7;background:#ffffffdf;border-radius:10px;display:flex;flex-direction:column;gap:3px;box-shadow:0 2px 10px #264c5810}.case-brief span{font:8px/1.4 sans-serif;letter-spacing:.12em;color:#6a8e98}.case-brief strong{font-size:11px;color:#3e7385}.mastery-card{background:radial-gradient(ellipse at 50% 15%,#fff,#e8f6fc);border:1px solid #b8deef;border-radius:22px;padding:21px 24px;margin:0 auto 24px;max-width:600px}.mastery-label{display:block;color:#5b8c9e;font-size:10px;letter-spacing:.1em}.mastery-stars{display:block;font-size:33px;letter-spacing:.13em;color:#d8ac4b;text-shadow:0 2px 0 #fff;margin:5px 0}.mastery-card h2{font-size:22px;color:#257899;margin:4px 0 8px}.mastery-card p{font-size:12px;color:#527c90;margin:0 0 12px;line-height:1.9}.mastery-card small{display:inline-block;font-size:10px;color:#6b8998;background:#fff9;border-radius:12px;padding:5px 12px}.specimen-arrival{transform-box:fill-box;transform-origin:center;animation:specimenArrive .55s cubic-bezier(.2,.7,.3,1.25) both}.procedure-sparkles{transform-box:fill-box;transform-origin:center;animation:specimenSparkle .7s ease-out both}.patient-success{animation:patientThanks .55s ease-in-out}.ear .procedure-success,.throat .procedure-success{animation:successPop .28s both}
@keyframes specimenArrive{0%{transform:translateY(-36px) scale(1.4);opacity:.2}65%{transform:translateY(3px) scale(.92);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}@keyframes specimenSparkle{0%{transform:scale(.35);opacity:0}50%{opacity:1}100%{transform:scale(1.1);opacity:.85}}@keyframes patientThanks{0%,100%{transform:translateY(0)}45%{transform:translateY(-7px)}}
@media(max-width:560px){.case-brief{top:9px;left:9px;padding:6px 8px;gap:2px;border-radius:8px}.case-brief span{font-size:7px}.case-brief strong{font-size:9px}.mastery-card{padding:18px;border-radius:18px}.mastery-card h2{font-size:20px}.mastery-card p{font-size:11px}.mastery-stars{font-size:29px}}
@media(min-width:761px){.topbar{height:72px}.play-top{margin:12px 0}.play-heading{margin-bottom:14px}.play-heading h1{font-size:26px}.ear .exam-controls,.throat .exam-controls{padding:14px 20px}.ear .step-list,.throat .step-list{margin-bottom:12px}.ear .precision-pad,.throat .precision-pad{min-height:66px}.ear .precision-control,.throat .precision-control{margin-bottom:12px}.ear .action-tip,.throat .action-tip{margin-top:10px}.throat .procedure-angle{padding:9px 13px;margin-bottom:10px}}

/* A guided, two-action ear game: tap the wax, then use the lit arrow. */
.ear-target{transform:translate(-50%,-50%);width:62px;height:62px;background:transparent!important;border:3px solid #fff;box-shadow:0 0 0 4px #218edb,0 0 0 12px #51bbef26;z-index:3;animation:earTapRing 1.8s ease-in-out infinite;touch-action:manipulation}
.ear-target>span{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:5px 12px;background:#147ac3;color:#fff;border-radius:20px;font-size:12px;font-weight:700;text-shadow:none;box-shadow:0 3px 8px #163e5a22;white-space:nowrap}
.ear-target>span:before{content:'';position:absolute;bottom:100%;left:calc(50% - 5px);border:5px solid transparent;border-bottom-color:#147ac3}
.ear-target:focus-visible{outline:3px solid #153d61;outline-offset:13px}
.ear-guide{display:flex;gap:11px;align-items:center;margin-bottom:16px;min-height:55px}
.ear-guide>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:#e5f4ff;color:#1d7db4;font:700 16px sans-serif}
.ear-guide strong{font-size:18px;line-height:1.45;color:#185a82}
.ear-guide p{font-size:12px;line-height:1.6;color:#5a7b91;margin:4px 0 0}
.ear .step-list{display:none}.ear .action-tip:empty{display:none}.ear .feedback:empty{display:none}
.ear .wiggle-control{padding:14px 16px 16px;margin:0;background:#f0f8fd;border-color:#cde4f2}
.ear .wiggle-control>strong{font-size:13px;color:#457d9e}.ear .wiggle-dots{margin:2px 0 8px}
.ear-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1}
.ear-buttons button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:81px;border:1px solid #bad9ee;border-radius:16px;background:#fff;color:#6390aa;box-shadow:0 4px 0 #cfdfeb;transition:background .15s,color .15s,transform .12s}
.ear-buttons button>span{font-size:32px;line-height:1}.ear-buttons button>strong{font-size:19px}
.ear-buttons button>small{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:10px;background:#fff;color:#1a76ad;padding:2px 10px;border-radius:20px;white-space:nowrap;visibility:hidden;border:1px solid #abd5ec}
.ear-buttons button.is-next{color:white;background:linear-gradient(180deg,#399de0,#187dc3);border-color:#207bb6;box-shadow:0 4px 0 #115d97,0 6px 16px #278cd330}
.ear-buttons button>strong{color:inherit}.ear #skillStatus{display:none}.ear .procedure-success{display:none}
.ear-buttons button.is-next>small{visibility:visible}.ear-buttons button:active{transform:translateY(3px);box-shadow:0 1px 0 #aacddd}.ear-buttons button:focus-visible{outline-offset:6px}
@keyframes earTapRing{50%{box-shadow:0 0 0 4px #218edb,0 0 0 17px #51bbef16}}
@media(max-width:560px){.ear-target{width:47px;height:47px;border-width:2px}.ear-target>span{font-size:10px;top:calc(100% + 8px);padding:4px 10px}.ear-guide{gap:9px;margin-bottom:13px}.ear-guide strong{font-size:16px}.ear-guide p{font-size:10px}.ear-guide>span{width:29px;height:29px;font-size:14px}.ear-buttons{gap:12px}.ear-buttons button{min-height:72px}.ear-buttons button>strong{font-size:18px}.ear .wiggle-control{padding:12px 12px 15px}.ear .exam-header strong{font-size:9px}.ear .exam-controls{padding-top:13px}}
@media(prefers-reduced-motion:reduce){.ear-target{animation:none}.ear-buttons button{transition:none}}

/* The ear game adds timing while retaining the same two clear buttons. */
.ear-timing{grid-column:1/-1;padding:10px 12px 13px;background:#fff;border:1px solid #d2e5ef;border-radius:12px;margin:-2px 0 8px}
.ear-timing-heading,.ear-timing-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#527e96}
.ear-timing-heading b{font:700 10px sans-serif;background:#e9f5fe;color:#237caf;padding:4px 8px;border-radius:12px}
.ear-timing-meter{position:relative;height:21px;border-radius:6px;background:repeating-linear-gradient(90deg,#e9f0f5 0 9%,#dce7ef 9% 10%);margin:13px 5px 10px}
.ear-timing-meter>span{position:absolute;top:0;height:100%;left:32%;width:36%;background:#6ec4ee;border-left:2px solid #1d89c0;border-right:2px solid #1d89c0}
.ear-timing-meter>i{position:absolute;top:-6px;width:7px;height:33px;left:15%;transform:translateX(-50%);background:#173c59;border:2px solid #fff;border-radius:5px;box-shadow:0 2px 4px #19466040}
.ear-timing-meter>i:before{content:'';position:absolute;top:-5px;left:-3px;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:5px solid #173c59}
.ear-timing-caption{font-size:9px}.ear-timing-caption>span:first-child{font-weight:700;min-width:10em;color:#618196}.ear-timing-caption>span[data-ready=true]{color:#1179b4}
.ear-buttons[data-timing-ready=true] .is-next{background:linear-gradient(180deg,#1484cb,#076aa9);outline:3px solid #7cc9ee;outline-offset:2px}
.ear #skillStatus{display:inline}.ear .wiggle-control>strong{font-size:12px}.ear .feedback{min-height:24px}
@media(max-width:560px){.ear-timing{padding:9px 10px 11px}.ear-timing-heading{font-size:9px}.ear-timing-caption{font-size:8px}.ear .wiggle-control>strong{font-size:10px}.ear .ear-guide strong{font-size:15px}.ear-buttons button{min-height:66px}}
@media(max-width:359px){.ear-timing-caption>span:last-child{display:none}.ear-timing-caption{font-size:9px}.ear-guide p{font-size:9px}}

/* Flashlight search: the scene itself is the input surface. */
.ear .exam-scene[data-searching=true]{cursor:none;touch-action:none;outline-offset:-4px}
.ear .exam-scene[data-searching=true]:focus-visible{outline:3px solid #82c5e8}
.ear .exam-scene[data-searching=true] .target-zone{cursor:pointer}
.ear .exam-svg{pointer-events:none}
.ear-search-control{display:flex;align-items:center;gap:11px;background:#eef7fc;border:1px solid #cfe3ef;border-radius:15px;padding:15px;margin:0 0 14px}
.ear-search-control>div{flex:1;min-width:0}.ear-search-control strong{font-size:13px;color:#265e82;line-height:1.6}.ear-search-control p{font-size:11px;color:#5c7f95;line-height:1.7;margin:3px 0 0}
.ear-lamp-icon{flex:none;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#fff3cf;color:#a47a29;font-size:24px}
.ear-search-badge{flex:none;font-size:10px;font-weight:700;color:#5e829b;border:1px solid #bed9e9;border-radius:20px;padding:5px 9px;background:#fff}
.ear-search-control[data-found=true]{background:#e6f5ff;border-color:#78bce5}.ear-search-control[data-found=true] .ear-search-badge{background:#147fbd;color:white;border-color:#147fbd}
.ear .exam-scene[data-searching=true] .ear-target{width:55px;height:55px;border-width:2px;box-shadow:0 0 0 3px #60b9df90,0 0 0 9px #51bbef20;animation:none}
.ear .exam-scene[data-searching=true] .ear-target>span{background:#fff4d4;color:#5a431d;font-size:11px;top:calc(100% + 7px)}
.ear .exam-scene[data-searching=true] .ear-target>span:before{border-bottom-color:#fff4d4}
@media(max-width:560px){.ear-search-control{padding:12px;gap:8px}.ear-search-control strong{font-size:11px}.ear-search-control p{font-size:10px}.ear-search-badge{font-size:9px;padding:4px 7px}.ear-lamp-icon{width:27px;height:27px;font-size:20px}.ear .exam-scene[data-searching=true] .ear-target{width:43px;height:43px}.ear .exam-scene[data-searching=true] .ear-target>span{font-size:9px;padding:4px 7px}}
@media(max-width:359px){.ear-search-control{flex-wrap:wrap}.ear-search-badge{margin-left:auto}.ear-search-control>div{min-width:160px}}

.bone-case-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-2px 0 17px;padding:12px 15px;border:1px solid #e4dce6;border-radius:14px;background:#fff9fc}
.bone-case-control label{font-size:11px;font-weight:700;color:#865b77}.bone-case-control select{font-family:inherit;font-size:12px;line-height:1.4;font-weight:700;color:#75566d;background:white;border:1px solid #dbc9d6;border-radius:9px;min-height:37px;padding:7px 32px 7px 10px;max-width:100%}.bone-case-control p{font-size:11px;line-height:1.5;color:#856e7b;margin:0;flex:1;min-width:150px}.bone-case-control select:focus-visible{outline:3px solid #3a92be;outline-offset:3px}
@media(max-width:560px){.bone-case-control{gap:8px;padding:10px 12px;margin-bottom:13px}.bone-case-control p{font-size:10px;flex-basis:100%;min-width:0}.bone-case-control select{font-size:11px;flex:1;min-width:0}.bone-case-control label{font-size:10px}}

.sound-toggle{display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:84px;padding:0 12px;border-radius:24px;flex:none}.sound-toggle span{font:700 10px/1.2 sans-serif;white-space:nowrap;letter-spacing:.03em}.sound-toggle svg{width:18px;height:18px}.sound-toggle[aria-pressed=true]{border-color:#a7d6f4;box-shadow:inset 0 0 0 1px #ffffff80}
@media(max-width:560px){.sound-toggle{min-width:74px;padding:0 9px}.sound-toggle span{font-size:9px}.nav-tools{gap:7px}}

/* Nose: feedback rewards a gentle seal and visible collection. */
.nose-feel{margin:0 0 15px;padding:11px 13px;background:linear-gradient(110deg,#ecfaff,#f3fbf7);border:1px solid #cce8ee;border-radius:13px}
.nose-feel-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:#367c99;margin-bottom:7px}.nose-feel-heading>span{font:700 11px/1.3 sans-serif;color:#5990a2}
.nose-clear-track{display:flex;gap:7px}.nose-clear-drop{--fill:0%;position:relative;display:block;flex:1;height:9px;overflow:hidden;border-radius:20px;background:#dceaf0;box-shadow:inset 0 1px 2px #54839b12}.nose-clear-drop i{display:block;height:100%;width:var(--fill);border-radius:inherit;background:linear-gradient(90deg,#7ed7dd,#439ec9)}.nose-clear-drop b{display:none;position:absolute;inset:0;text-align:center;font:700 8px/9px sans-serif;color:#fff}.nose-clear-drop[data-complete=true] b{display:block}.nose-clear-drop[data-current=true]{box-shadow:0 0 0 2px #aad8e655}.nose-clear-drop[data-complete=true] i{background:linear-gradient(90deg,#70c5bc,#439ead)}
.nose .extraction-progress{height:11px;background:#e6f2f7;box-shadow:inset 0 1px 2px #628ea01a}.nose .extraction-progress>span{position:relative;background:linear-gradient(90deg,#8adddc,#479ed2);overflow:hidden}.nose .extraction-progress>span:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff85 50%,transparent 70%);transform:translateX(-100%)}
.nose[data-suction=true] .extraction-progress>span:after{animation:noseSheen 1.3s ease-in-out infinite}.nose[data-suction=true] #action{background:linear-gradient(135deg,#218dbb,#267fc2);box-shadow:0 1px 0 #1066a8,0 0 0 5px #85d9e52b}.nose[data-suction=true] #actionLabel{animation:noseBreath 1.4s ease-in-out infinite}
.nose .success-overlay{inset:auto 10px 45px;background:none}.nose .success-overlay span{font-size:15px;padding:9px 18px;border:1px solid #b5e4ea;color:#278291;box-shadow:0 6px 19px #478d9626;background:#f8ffffed}
.nose[data-nose-phase=roundDone] .patient-panel{background:linear-gradient(120deg,#dcf4f7,#f4fcff)}.nose[data-nose-phase=roundDone] .patient-panel>.clinic-character-art{animation:noseRelief .52s ease-out both}.nose[data-nose-phase=roundDone] .nose-feel{background:linear-gradient(110deg,#e5f8f7,#f5fcff);border-color:#99d8da}
@keyframes noseSheen{to{transform:translateX(100%)}}@keyframes noseBreath{50%{opacity:.76}}@keyframes noseRelief{0%{transform:translateY(0)}45%{transform:translateY(-6px) rotate(-2deg)}100%{transform:translateY(0)}}
@media(max-width:560px){.nose-feel{padding:9px 11px;margin-bottom:13px}.nose-feel-heading{font-size:10px}.nose .success-overlay span{font-size:13px;padding:8px 15px}.nose .action-button{gap:9px}.nose .action-button small{font-size:9px}}

.nose .procedure-success{margin:0 0 16px;background:linear-gradient(110deg,#e6f8f7,#f1faff);border-color:#b9e4e6;color:#318797}

#lessonNote{white-space:pre-line}

.nose-practice{margin-top:23px;padding:21px 23px;border:1px solid #b9dce9;border-radius:17px;background:linear-gradient(120deg,#eaf8ff,#f0faf5)}.nose-practice .practice-age{display:inline-block;font-size:12px;line-height:1.8;font-weight:700;color:#367e9a;margin:0 0 10px;padding:4px 11px;background:#fff;border:1px solid #cee4eb;border-radius:20px}.nose-practice h3{color:#237fa3;font-size:24px;line-height:1.9;margin:0 0 8px;letter-spacing:.025em}.nose-practice>p:not(.practice-age){font-size:13px;line-height:2;color:#5a7e90;margin:0}.nose-practice rt{font-size:9px;font-weight:400;color:#6290a4}.nose-practice>a{display:inline-block;font-size:10px;line-height:1.7;color:#5b7e94;text-underline-offset:3px;margin-top:12px}.nose-practice .practice-age rt{font-size:8px}
@media(max-width:560px){.nose-practice{padding:17px 16px;margin-top:19px}.nose-practice h3{font-size:21px}.nose-practice>p:not(.practice-age){font-size:11px}.nose-practice>a{font-size:9px}.nose-practice .practice-age{font-size:11px}}

/* 2026-10-10: use the officially registered artwork without altering the original pixels.
   Each viewport shows the complete character above the baked-in name label. */
.clinic-character-art{--character-left:0%;--character-top:0%;--character-width:200.31949%;display:block;position:relative;aspect-ratio:626/534;overflow:hidden;isolation:isolate;border-radius:24px;background:#faf4e9;flex:none}
.clinic-character-art[data-character=mimi],.clinic-character-art[data-character=voice]{--character-left:-100.31949%}
.clinic-character-art[data-character=nodo],.clinic-character-art[data-character=voice]{--character-top:-122.17899%;aspect-ratio:626/514}
.clinic-character-art[data-character=hana]{--character-width:100%;aspect-ratio:1254/1025}
.clinic-character-art>img,#patientImage,#resultCharacter{display:block;position:absolute;left:var(--character-left);top:var(--character-top);width:var(--character-width);height:auto;max-width:none;margin:0;padding:0;object-fit:fill;object-position:initial;transform:none;filter:none;pointer-events:none}
.hero-cast{gap:8px;align-items:center}
.cast-member{width:calc((100% - 16px)/3);margin:0}
.cast-member>.clinic-character-art{position:relative;bottom:auto;width:100%;padding:0;border-radius:24px;box-shadow:0 4px 16px #4b799518;background:#faf4e9}
.cast-member>span:not(.clinic-character-art){bottom:-25px;max-width:110%;padding:5px 9px}
.card-visual>.clinic-character-art{width:230px;max-width:92%;margin:14px auto 8px;align-self:center;border-radius:24px;box-shadow:0 3px 13px #557d9612}
.card-number,.card-time{z-index:1}
.patient-panel>.clinic-character-art{width:95%;max-width:300px;margin:30px 0 14px;box-shadow:0 5px 20px #477e9612}
.result-heading>.clinic-character-art{width:230px;max-width:60%;margin:0 auto;box-shadow:0 5px 22px #487f9714}
@media(max-width:760px){.cast-member>.clinic-character-art{border-radius:18px}.cast-member>span:not(.clinic-character-art){font-size:10px;padding:4px 7px}.card-visual>.clinic-character-art{width:175px;max-width:90%;margin:9px auto 7px;border-radius:20px}.patient-panel>.clinic-character-art{margin:24px 0 12px}}
@media(max-width:560px){.hero-cast{height:190px;gap:7px;padding-bottom:32px}.cast-member{width:calc((100% - 14px)/3);margin:0}.cast-member>.clinic-character-art{border-radius:17px}.cast-member>span:not(.clinic-character-art){font-size:9px;bottom:-23px;padding:4px 6px}.card-visual>.clinic-character-art{width:112px;max-width:94%;margin:23px auto 20px;border-radius:17px}.patient-panel>.clinic-character-art{width:84px;max-width:none;margin:-4px 9px -4px -2px;border-radius:15px}.result-heading>.clinic-character-art{width:195px;border-radius:22px}.stamp{font-size:8px;min-width:47px}.stamp-list{gap:5px}}
@media(max-width:359px){.stamp-list{gap:3px}.stamp{min-width:42px;font-size:7px}.collection{gap:6px;padding:12px}.cast-member>span:not(.clinic-character-art){font-size:8px;padding:4px 5px}}
@media(prefers-reduced-motion:reduce){.nose[data-nose-phase=roundDone] .patient-panel>.clinic-character-art{animation:none}}
.reduced-motion .nose[data-nose-phase=roundDone] .patient-panel>.clinic-character-art{animation:none}

@media(max-width:560px){.card-visual:has(.completed-tag)>.card-number{visibility:hidden}}
