@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#18050c;--bg2:#260713;--panel:#350b1a;--panel2:#451020;--pink:#ff315c;--pink2:#e6003d;--red:#c91531;--text:#fff8fa;--muted:#c99ba8;--line:#6d2037;--green:#41d6a0;--gold:#ffc766}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;touch-action:pan-y}body{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 38%,#3a0a1a 0%,#210610 48%,#120309 100%);overflow-x:hidden}
button{font:inherit;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.site-header{height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#100208;border-bottom:1px solid #35101d;position:relative;z-index:2}.brand{font-family:'Barlow Condensed',sans-serif;font-weight:900;letter-spacing:1.4px;font-size:12px;color:#ff5b7b}.header-caption{font-family:'Barlow Condensed',sans-serif;font-size:8px;letter-spacing:1.4px;color:#d9aab6}
#app{flex:1;display:flex;min-height:0}.screen{width:min(100%,1080px);margin:auto;padding:clamp(20px,3vh,38px) clamp(18px,4vw,54px);animation:appear .28s ease both}.hidden{display:none!important}
.menu-screen{text-align:center}.hero-drop{font-size:30px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 0 13px #ff315c)}.eyebrow{color:var(--pink);font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 8px}h1{font-size:clamp(26px,3vw,38px);line-height:1.1;margin:0;font-weight:900;letter-spacing:-1px}.lead{color:#d5a9b5;font-size:13px;line-height:1.6;margin:9px auto 22px;max-width:650px}.selection-top{display:flex;justify-content:space-between;align-items:center;max-width:820px;margin:0 auto 10px;color:#d5a9b5;font-size:9px;font-weight:800;letter-spacing:1.7px}.selection-top span:last-child{letter-spacing:.3px;color:#ff7891;font-size:11px}
.game-grid{max-width:820px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.game-card{min-height:112px;text-align:left;padding:14px 15px;border:1px solid #672038;border-radius:11px;background:linear-gradient(145deg,#3b0c1b,#280813);color:var(--text);position:relative;transition:transform .15s,border-color .15s,background .15s;display:flex;gap:12px;align-items:flex-start}.game-card:active{transform:scale(.985)}.game-card.selected{border:2px solid var(--pink);padding:13px 14px;background:linear-gradient(145deg,#521027,#330b19);box-shadow:0 0 0 1px #ff315c22,0 8px 24px #10020866}.game-card .emoji{font-size:28px;line-height:1.2;flex:0 0 32px}.game-card h3{font-size:13px;margin:1px 20px 5px 0;font-weight:800}.game-card p{font-size:10px;line-height:1.45;color:#d0a6b2;margin:0}.checkmark{position:absolute;right:10px;top:10px;width:18px;height:18px;border:1px solid #874258;border-radius:50%;font-size:11px;display:grid;place-items:center;color:transparent}.selected .checkmark{background:var(--pink);border-color:var(--pink);color:white}.menu-bottom{max-width:820px;margin:17px auto 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.small-note{font-size:10px;color:#a77a87;margin:0}.small-note strong{color:#e8b5c2}.btn{border:0;border-radius:7px;min-height:46px;padding:0 25px;font-size:11px;font-weight:900;letter-spacing:1.2px;display:inline-flex;align-items:center;justify-content:center;gap:13px;transition:filter .15s,transform .15s}.btn:active{transform:translateY(1px)}.btn-primary{color:#fff;background:linear-gradient(100deg,#f00045,#b80031);box-shadow:0 7px 20px #d5003b26}.btn-primary:disabled{background:#4b2632;color:#94717c;box-shadow:none;cursor:not-allowed;filter:grayscale(.6)}.btn-quiet{background:#34101d;border:1px solid #6b293e;color:#f3c9d3;min-height:40px;padding:0 16px}.btn-danger{background:#e3223e;color:white}.btn-secondary{background:#265b50;color:#eafff8}
.game-screen{display:flex;flex-direction:column;flex:1;width:100%;max-width:1000px;padding-top:clamp(18px,3vh,32px);padding-bottom:18px}.game-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.game-heading .lead{margin:8px 0 0;max-width:700px}.game-heading h1{font-size:clamp(24px,2.8vw,34px)}.game-content{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:20px 0}.game-footer{margin-top:auto}.progress-meta{display:flex;justify-content:space-between;color:#d2a4b0;font-size:11px;margin-bottom:8px}.progress-meta strong{color:#fff}.progress-track,.score-track{height:7px;background:#542033;border-radius:99px;overflow:hidden}.progress-fill,.score-fill{height:100%;width:0;background:linear-gradient(90deg,#f20046,#ff5d79);border-radius:99px;transition:width .25s}.step-dots{display:flex;gap:7px;margin-top:10px}.step-dot{height:4px;flex:1;border-radius:10px;background:#4a1b2c}.step-dot.done{background:var(--pink)}.step-dot.current{background:#ffb1c1;box-shadow:0 0 8px #ff315c}
.challenge-panel{width:min(100%,760px);margin:0 auto;padding:clamp(18px,3vw,28px);border:1px solid #672038;border-radius:14px;background:linear-gradient(140deg,#3a0c1b,#270812);box-shadow:0 18px 50px #09010633}.challenge-title{font-size:17px;font-weight:800;margin:0 0 8px}.challenge-desc{color:#d3a7b3;font-size:12px;line-height:1.6;margin:0 0 20px}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answer-btn{min-height:58px;border:1px solid #713049;background:#411023;border-radius:9px;color:#fff;text-align:left;padding:13px 16px;font-size:13px;line-height:1.4;font-weight:700}.answer-btn.chosen{border:2px solid var(--pink);background:#5b1029;padding:12px 15px}.answer-btn.correct{border-color:var(--green);background:#103e34}.answer-btn.wrong{border-color:#ff687f;background:#561226}.answer-btn:disabled{cursor:default}.action-row{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.action-row .btn{min-height:42px}.feedback{font-size:12px;line-height:1.55;color:#f2c5d0;margin-top:13px;min-height:18px}.feedback strong{color:#fff}.sort-list{display:grid;gap:8px;max-width:560px;margin:0 auto;width:100%}.sort-row{display:flex;align-items:center;gap:12px;background:#411023;border:1px solid #713049;border-radius:9px;padding:10px 12px;min-height:57px}.sort-row .sort-label{flex:1;font-size:12px;font-weight:700}.sort-row .sort-num{width:25px;height:25px;display:grid;place-items:center;background:#681832;border-radius:6px;font-weight:900;color:#ff9db0}.sort-actions{display:flex;gap:5px}.sort-actions button{width:39px;height:38px;border-radius:7px;border:1px solid #7c3650;background:#57142a;color:white;font-size:18px}.sort-actions button:disabled{opacity:.25}.blood-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.blood-vessel{height:210px;border:2px solid #8e3048;border-radius:18px;background:#210610;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.blood-fill{width:100%;height:0;background:linear-gradient(0deg,#9b0029,#f72f56);transition:height .2s;position:absolute;bottom:0}.blood-vessel:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#ffffff12,transparent 30%,#ffffff0a 55%,transparent 70%);pointer-events:none}.blood-vessel .vessel-label{position:relative;z-index:1;font-weight:900;font-size:23px;text-shadow:0 2px 8px #210610}.blood-controls{display:flex;flex-direction:column;gap:12px}.unit-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.unit-buttons button{min-height:54px;background:#491126;border:1px solid #77324a;border-radius:8px;color:white;font-weight:800;font-size:13px}.unit-buttons button:active{background:#68152e}.meter{height:8px;background:#582036;border-radius:20px;overflow:hidden}.meter>div{height:100%;background:var(--pink);width:0;transition:width .2s}.drag-board{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drag-zone{border:1px dashed #894158;border-radius:11px;padding:13px;background:#280813;min-height:180px}.drag-zone h3{font-size:11px;letter-spacing:1px;color:#f2b8c6;margin:0 0 10px}.drag-item{padding:12px;margin:7px 0;border:1px solid #783049;border-radius:8px;background:#481125;font-size:12px;font-weight:700;cursor:pointer;user-select:none;touch-action:manipulation}.drag-item.active{border:2px solid var(--pink);padding:11px;background:#5a1429}.drag-item.placed{background:#153e35;border-color:#3aa982}.zone-hint{font-size:10px;color:#a97b89;margin:8px 0 0}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.match-column{display:grid;gap:8px}.match-option{min-height:56px;padding:12px;border-radius:9px;border:1px solid #713049;background:#411023;color:#fff;text-align:left;font-size:12px;font-weight:700}.match-option.chosen{border:2px solid var(--pink);padding:11px;background:#5a1429}.match-option.matched{border-color:var(--green);background:#143e34}.match-option:disabled{opacity:.85}.result-note{color:#d4a6b2;font-size:11px;margin:12px 0 0;line-height:1.5}
.summary-screen{text-align:center;max-width:820px}.summary-screen .lead{margin-bottom:20px}.score-panel{max-width:620px;margin:0 auto 18px;padding:22px;border:1px solid #672038;border-radius:14px;background:linear-gradient(140deg,#3a0c1b,#270812)}.score-main{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:12px}.score-main strong{font-size:clamp(44px,7vw,68px);line-height:1;font-weight:900;letter-spacing:-2px}.score-main>span{font-size:17px;color:#d2a4b0}.score-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.score-stats div{display:flex;flex-direction:column;gap:5px}.score-stats strong{font-size:20px;color:#fff}.score-stats span{font-size:9px;letter-spacing:.5px;color:#c99ba8}.summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;text-align:left;margin:0 auto 20px;max-width:620px}.summary-item{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #5c2034;border-radius:9px;background:#2c0915}.summary-item .sum-emoji{font-size:22px}.summary-item div{flex:1}.summary-item strong{display:block;font-size:11px}.summary-item small{font-size:9px;color:#c99ba8}.summary-score{font-size:13px;font-weight:900;color:#ff9db0;white-space:nowrap}
.site-footer{height:34px;flex:0 0 34px;background:#100208;border-top:1px solid #35101d;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 15px;position:relative;z-index:2}.footer-mark{font-size:8px;color:#d9aab6}.footer-banner{justify-self:center;border:0;background:transparent;color:#e89bad;font-size:8px;letter-spacing:1px;font-weight:800;padding:9px 15px;border-radius:5px}.footer-banner:active{background:#3d1021}.footer-credit{justify-self:end;font-size:8px;color:#825665}
.banner-overlay{position:fixed;z-index:20;inset:0;background:#030204;display:flex;align-items:center;justify-content:center;padding:4vw;transform:translateY(100%);visibility:hidden;transition:transform .25s ease,visibility .25s}.banner-overlay.open{transform:translateY(0);visibility:visible}.banner-overlay img{max-width:min(100%,1400px);max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:2px}.banner-close{position:absolute;right:15px;top:8px;border:0;background:transparent;color:#fff;font-size:34px;font-weight:300;width:48px;height:48px;line-height:1}
.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#090107d9;backdrop-filter:blur(6px)}.modal-card{width:min(100%,440px);padding:28px;border:1px solid #77243e;border-radius:15px;background:linear-gradient(145deg,#3b0c1c,#1d0610);text-align:center;box-shadow:0 25px 80px #0008}.modal-icon{font-size:28px;margin-bottom:10px}.modal-card h2{font-size:23px;margin:0 0 10px}.modal-card p{font-size:12px;line-height:1.6;color:#d2a4b0;margin:0 0 20px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.modal-actions .btn{padding:0 10px;font-size:10px}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.site-header{padding:0 10px}.header-caption{font-size:7px}.screen{padding:18px 14px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-card{min-height:120px;padding:12px;gap:8px}.game-card.selected{padding:11px}.game-card .emoji{font-size:24px;flex-basis:26px}.game-card h3{font-size:12px}.game-card p{font-size:9px}.menu-bottom{flex-direction:column}.menu-bottom .btn{width:100%}.small-note{line-height:1.5}.game-heading{gap:10px}.game-heading .btn{font-size:9px;padding:0 10px;white-space:nowrap}.answer-grid{grid-template-columns:1fr}.answer-btn{min-height:54px}.blood-layout{grid-template-columns:1fr 1fr;gap:10px}.blood-vessel{height:180px}.drag-board{gap:8px}.drag-zone{padding:8px}.drag-item{font-size:10px;padding:10px 8px}.match-option{font-size:10px;padding:10px}.summary-list{grid-template-columns:1fr}.footer-credit{display:none}.site-footer{grid-template-columns:1fr auto 1fr}.footer-banner{font-size:7px;letter-spacing:.4px;padding:9px 3px}.score-stats span{font-size:8px}.score-stats strong{font-size:17px}}
@media(max-height:740px) and (min-width:701px){.screen{padding-top:14px;padding-bottom:12px}.hero-drop{font-size:24px;margin-bottom:7px}.lead{margin-bottom:14px}.game-card{min-height:95px;padding:11px}.game-card.selected{padding:10px}.menu-bottom{margin-top:12px}.game-content{padding:12px 0}.challenge-panel{padding:18px}.blood-vessel{height:160px}}
