*{box-sizing:border-box;-webkit-user-select:none;user-select:none}html,body{color:#f8fafc;background:#0b1120;width:100%;height:100%;margin:0;padding:0;font-family:Fredoka,system-ui,-apple-system,sans-serif;overflow:hidden}#game-container{width:100%;height:100%;position:fixed;inset:0}.hidden{display:none!important}kbd{color:#0f172a;background:#fde047;border-radius:5px;margin:0 2px;padding:2px 6px;font-family:Fredoka,monospace;font-size:.78rem;font-weight:700;display:inline-block;box-shadow:0 2px #ca8a04}.overlay-screen{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 50% 30%,#0f172ab8,#070a16eb);justify-content:center;align-items:center;transition:opacity .45s,transform .45s;display:flex;position:fixed;inset:0}.overlay-screen.warping{opacity:0;pointer-events:none;transform:scale(1.18)}.painting-shell{text-align:center;background:linear-gradient(165deg,#18213af2,#0d1324f7);border:3px solid #fbbf248c;border-radius:24px;width:94vw;max-width:960px;padding:24px 28px;box-shadow:0 28px 70px #000000a6,inset 0 1px #ffffff24}.course-eyebrow{letter-spacing:.14em;color:#38bdf8;font-family:Bungee,sans-serif;font-size:.84rem}.course-title{color:#fde047;text-shadow:0 4px #92400e,0 8px 20px #00000080;margin:4px 0;font-family:Bungee,sans-serif;font-size:clamp(1.7rem,3.3vw,2.55rem)}.course-tagline{color:#cbd5e1;margin:0 0 18px;font-size:1rem}.course-tagline strong{color:#67e8f9}.painting-main-grid{text-align:left;grid-template-columns:404px 1fr;align-items:stretch;gap:22px;display:grid}@media (width<=860px){.painting-main-grid{grid-template-columns:1fr}}.painting-frame-wrap{cursor:pointer;justify-content:center;align-items:center;display:flex}.gold-frame{background:linear-gradient(135deg,#fde047 0%,#d97706 48%,#fef08a 100%);border-radius:16px;padding:12px;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 12px 32px #0000008c,inset 0 2px 4px #ffffffb3}.gold-frame:hover{transform:translateY(-3px)scale(1.015);box-shadow:0 16px 38px #fbbf2459}#painting-canvas{border:3px solid #78350f;border-radius:8px;width:380px;height:270px;display:block}.painting-prompt{color:#fde047;white-space:nowrap;pointer-events:none;background:#0f172ad1;border:1px solid #fde0478c;border-radius:999px;padding:5px 12px;font-family:Bungee,sans-serif;font-size:.72rem;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.mission-panel{flex-direction:column;gap:10px;display:flex}.mission-panel-header{color:#94a3b8;letter-spacing:.08em;font-family:Bungee,sans-serif;font-size:.85rem}.mission-list{flex-direction:column;gap:6px;display:flex}.mission-item{cursor:pointer;color:#e2e8f0;background:#1e293bb8;border:2px solid #0000;border-radius:11px;align-items:center;gap:10px;padding:8px 12px;transition:all .15s;display:flex}.mission-item:hover{background:#334155d9}.mission-item.selected{background:#2563eb52;border-color:#fde047}.mission-star-badge{color:#64748b;font-size:1.25rem}.mission-star-badge.earned{color:#facc15;text-shadow:0 0 10px #facc15b3}.mission-text{flex-direction:column;display:flex}.mission-title{font-size:.92rem;font-weight:700}.mission-sub{color:#94a3b8;font-size:.76rem}.mission-hint-box{color:#fef9c3;background:#0f172abf;border-left:4px solid #facc15;border-radius:8px;padding:9px 12px;font-size:.85rem;line-height:1.38}.primary-n64-btn{color:#1e1b4b;cursor:pointer;background:linear-gradient(#fde047 0%,#f59e0b 100%);border:none;border-radius:12px;margin-top:auto;padding:12px 18px;font-family:Bungee,sans-serif;font-size:1rem;transition:transform .1s;box-shadow:0 5px #b45309,0 10px 24px #f59e0b66}.primary-n64-btn:hover{transform:translateY(-2px)}.primary-n64-btn:active{transform:translateY(2px);box-shadow:0 2px #b45309}.secondary-n64-btn{color:#e2e8f0;cursor:pointer;background:#334155;border:2px solid #64748b;border-radius:12px;padding:12px 16px;font-family:Bungee,sans-serif;font-size:.9rem}.quick-controls-strip{color:#cbd5e1;border-top:1px solid #94a3b838;flex-wrap:wrap;justify-content:center;gap:12px 18px;margin-top:16px;padding-top:12px;font-size:.84rem;display:flex}.hud{pointer-events:none;z-index:20;position:fixed;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;padding:16px 22px;display:flex}.power-meter-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a9e;border:2px solid #ffffff29;border-radius:18px;flex-direction:column;align-items:center;padding:8px 12px;display:flex}.power-label{letter-spacing:.1em;color:#fde047;margin-top:-2px;font-family:Bungee,sans-serif;font-size:.72rem}.phase-medallion-wrap{pointer-events:auto;flex-direction:column;align-items:center;gap:6px;display:flex}.phase-medallion{cursor:pointer;border:2px solid;border-radius:999px;align-items:center;gap:11px;padding:8px 18px;font-family:inherit;transition:all .25s cubic-bezier(.22,1,.36,1);display:flex}.phase-medallion.sol{color:#fffbeb;background:linear-gradient(135deg,#f59e0be6,#b45309eb);border-color:#fef08a;box-shadow:0 6px 22px #f59e0b73}.phase-medallion.luna{color:#ecfeff;background:linear-gradient(135deg,#1e40afeb,#0e7490eb);border-color:#67e8f9;box-shadow:0 6px 22px #22d3ee73}.phase-icon{font-size:1.55rem;line-height:1}.phase-text-col{text-align:left;flex-direction:column;display:flex}.phase-title{font-family:Bungee,sans-serif;font-size:.9rem;line-height:1.1}.phase-sub{opacity:.9;font-size:.72rem}.echo-pill{color:#a5f3fc;background:#0f172ab8;border:1px solid #67e8f973;border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:600}.counters-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172aad;border:2px solid #ffffff29;border-radius:18px;flex-direction:column;gap:4px;min-width:146px;padding:10px 16px;display:flex}.counter-row{text-shadow:0 2px #000000a6;justify-content:space-between;align-items:center;font-family:Bungee,sans-serif;font-size:1.02rem;display:flex}.c-icon.gold{color:#facc15}.c-icon.yellow{color:#fde047}.c-icon.crimson{color:#fb7185}.event-banner{border-radius:999px;align-items:center;gap:14px;padding:8px 20px;font-family:Bungee,sans-serif;display:flex;position:absolute;top:108px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #00000073}.event-banner.sprint{color:#fef08a;background:#1e3a8aeb;border:2px solid #60a5fa}.event-banner.boss{color:#fef3c7;background:#450a0aeb;border:2px solid #f59e0b}.boss-pips{gap:6px;display:flex}.boss-pip{background:#334155;border:2px solid #fbbf24;border-radius:4px;width:18px;height:18px}.boss-pip.filled{background:#ef4444;box-shadow:0 0 8px #ef4444}.boss-tip{color:#bae6fd;font-family:Fredoka,sans-serif;font-size:.8rem}.move-banner{letter-spacing:.04em;text-shadow:0 3px #000000d9,0 0 18px #0009;opacity:0;font-family:Bungee,sans-serif;font-size:1.18rem;transition:opacity .16s,transform .16s cubic-bezier(.22,1,.36,1);position:absolute;bottom:72px;left:24px;transform:translateY(10px)scale(.92)}.move-banner.show{opacity:1;transform:translateY(0)scale(1)}.sign-dialog{background:#18181beb;border:3px solid #d97706;border-radius:16px;width:90vw;max-width:540px;padding:14px 18px;position:absolute;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 14px 32px #0009}.sign-title{color:#fde047;margin-bottom:4px;font-family:Bungee,sans-serif;font-size:.9rem}.sign-body{color:#f1f5f9;font-size:.92rem;line-height:1.42}.pointer-hint{color:#cbd5e1;background:#0f172aad;border:1px solid #ffffff26;border-radius:999px;padding:6px 12px;font-size:.8rem;position:absolute;bottom:18px;left:22px}.hud-bottom-right{pointer-events:auto;gap:8px;display:flex;position:absolute;bottom:16px;right:20px}.hud-pill{color:#e2e8f0;cursor:pointer;background:#0f172ac7;border:1px solid #ffffff38;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600}.hud-pill:hover{background:#1e293bf2;border-color:#fde047}.floating-card{z-index:30;background:#0f172af2;border:2px solid #facc15;border-radius:18px;width:410px;max-width:92vw;padding:16px 18px;position:fixed;bottom:62px;right:22px;box-shadow:0 20px 50px #000000a6}.floating-card.tracker{width:460px}.card-header{color:#fde047;justify-content:space-between;align-items:center;margin-bottom:12px;font-family:Bungee,sans-serif;font-size:.85rem;display:flex}.close-x{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.1rem}.moves-grid{flex-direction:column;gap:7px;font-size:.84rem;display:flex}.moves-grid>div{border-bottom:1px solid #94a3b826;justify-content:space-between;gap:10px;padding-bottom:5px;display:flex}.moves-grid strong{color:#7dd3fc;white-space:nowrap}.moves-grid span{color:#e2e8f0;text-align:right}.tracker-list{flex-direction:column;gap:8px;display:flex}.tracker-row{background:#1e293bb3;border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.tracker-row.done{background:#facc151f;border:1px solid #facc158c}.star-modal{z-index:35;pointer-events:auto;justify-content:center;align-items:flex-end;padding-bottom:48px;display:flex;position:fixed;inset:0}.star-modal-card{text-align:center;background:linear-gradient(165deg,#0f172af2,#1e1b4bf2);border:3px solid #fde047;border-radius:24px;padding:22px 32px;animation:.38s cubic-bezier(.22,1,.36,1) popStarCard;box-shadow:0 24px 60px #000000b3}@keyframes popStarCard{0%{opacity:0;transform:translateY(28px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.star-burst-icon{color:#facc15;text-shadow:0 0 24px #facc15d9;font-size:3.1rem;line-height:1}.star-kicker{color:#67e8f9;letter-spacing:.1em;margin-top:4px;font-family:Bungee,sans-serif;font-size:.85rem}#star-modal-title{color:#fde047;margin:6px 0;font-family:Bungee,sans-serif;font-size:1.45rem}#star-modal-tally{color:#e2e8f0;margin:0 0 16px;font-weight:700}.star-modal-actions{justify-content:center;gap:12px;display:flex}
