@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing-page{align-items:center;color:#fff;display:flex;justify-content:center;min-height:100vh;z-index:1}.landing-page,.page-wrap{position:relative;width:100%}.bg-layer{inset:0;position:fixed;z-index:-1}.bg-layer:after{background:linear-gradient(180deg,#0c12228c,#0c122259);content:"";inset:0;position:absolute}.hero-section{max-width:980px;padding:32px;position:relative;text-align:center}.reveal,[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.visible,[data-reveal].visible{opacity:1;transform:translateY(0)}.title,.title-sub{display:block;font-family:Press Start\ 2P,cursive;letter-spacing:2px;line-height:1.2;margin:0 auto;text-transform:uppercase}.title{color:#f9f871;font-size:clamp(2rem,6vw,5rem);text-shadow:4px 4px 0 #2a2a2a,8px 8px 0 #0009,0 0 12px #f9f87159}.title-sub{color:#9ff6ff;font-size:clamp(1.25rem,3.5vw,2.4rem);margin-top:14px;text-shadow:3px 3px 0 #1c1c1c,0 0 10px #9ff6ff59}.subtitle{color:#e8f3ff;font-size:clamp(.95rem,2.4vw,1.2rem);margin:18px auto 28px;max-width:820px;opacity:.95;text-shadow:2px 2px 0 #1b1b1b}.action-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.pixel-button{font-size:.9rem;padding:16px 22px}.marketing-section{position:relative;width:100%;z-index:1}.marketing-inner{position:relative}.content-sections{margin:0 auto;max-width:1100px;padding:24px 20px 72px;position:relative;width:100%}.content-section{margin:18px auto;position:relative;text-align:center}.panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a101c99;border:2px solid #9ff6ff40;border-radius:12px;box-shadow:0 10px 20px #00000059,inset 0 0 24px #9ff6ff0f;padding:22px 20px}.section-title{color:#9ff6ff;font-family:Press Start\ 2P,cursive;font-size:clamp(1.05rem,3vw,1.6rem);margin-bottom:14px;text-align:center;text-shadow:3px 3px 0 #1c1c1c,0 0 10px #9ff6ff59}.section-body{color:#eaf5ff;font-size:clamp(.95rem,2.2vw,1.05rem);line-height:1.6;text-align:center}.section-body.emphasize{color:#f9f871;margin-top:10px;text-shadow:2px 2px 0 #2a2a2a}.stats-list{color:#eaf5ff;line-height:1.6;list-style:"➤  ";margin:0 auto 10px;max-width:900px;padding-left:1.1rem;text-align:left}.source-links{font-size:.9rem;margin-top:10px;opacity:.95}.source-links a{color:#9ff6ff;text-decoration:underline}.steps-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin:8px auto 0;max-width:1000px}.step-card{padding:18px}.step-number{background:#f9f871;box-shadow:0 4px 0 #8d8a2a;color:#0b1a2a;display:inline-block;margin-bottom:12px;padding:8px 12px}.step-number,.step-title{font-family:Press Start\ 2P,cursive}.step-title{color:#7cf37c;font-size:1rem;margin-bottom:8px}.step-text{color:#e8f3ff;font-size:.98rem;line-height:1.55}.feature-list{grid-gap:10px 16px;display:grid;gap:10px 16px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:4px 0 0;padding-left:0}.feature-list li{color:#eaf5ff;font-size:.98rem}@media (max-width:900px){.feature-list,.steps-grid{grid-template-columns:1fr}}@media (max-width:768px){.subtitle{margin:16px auto 24px}}.game-container{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:24px;position:relative}.game-container:before{background:linear-gradient(180deg,#0c12228c,#0c122259);content:"";inset:0;position:absolute}.game-footer,.game-header,.game-stage{position:relative;z-index:1}.game-header{margin-bottom:18px;text-align:center}.retro-title{font-size:clamp(1.5rem,4vw,2.4rem);margin:0 0 10px}.game-stage{margin:10px 0 6px}.frame{background:#0a0f1e;box-shadow:0 0 0 4px #1f2a44,0 0 0 12px #0b1326,0 16px 40px #00000080;padding:8px}.canvas-holder{aspect-ratio:4/3;background:#000;overflow:hidden;width:min(78vw,816px)}.canvas-holder:fullscreen{aspect-ratio:auto;height:100vh;width:100vw}.canvas-holder>canvas{display:block}.game-footer{display:flex;gap:12px;justify-content:center;margin-top:16px}@media (max-width:850px){.game-canvas canvas{height:auto!important;max-width:100%}}.fruit-catch-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.fruit-catch-header{color:#fff;margin-bottom:20px;text-align:center}.fruit-catch-header h2{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px #0000004d}.fruit-catch-header p{font-size:1.2rem;margin:0;text-shadow:1px 1px 2px #0000004d}.fruit-catch-canvas{background-color:#87ceeb;border-radius:15px;box-shadow:0 10px 30px #0000004d;overflow:hidden}.fruit-catch-footer{margin-top:20px}.back-button{background-color:#4caf50;border:none;border-radius:8px;box-shadow:0 4px 6px #0003;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:all .3s ease}.back-button:hover{background-color:#45a049;box-shadow:0 6px 12px #0000004d;transform:translateY(-2px)}.back-button:active{box-shadow:0 2px 4px #0003;transform:translateY(0)}.question-extractor{color:#fff;min-height:100vh;padding:20px;position:relative}.question-extractor:before{background:linear-gradient(180deg,#0c12228c,#0c122259);content:"";inset:0;position:absolute}.extractor-header{margin:0 auto 40px;max-width:800px;padding:40px 20px;position:relative;text-align:center;z-index:1}.retro-title{color:#f9f871;font-size:clamp(1.5rem,4vw,2.5rem);margin:0 0 12px;text-shadow:4px 4px 0 #2a2a2a,0 0 10px #f9f87159}.retro-sub,.retro-title{font-family:Press Start\ 2P,cursive}.retro-sub{color:#e8f3ff;font-size:clamp(.7rem,2vw,1rem);opacity:.95;text-shadow:2px 2px 0 #1b1b1b}.pixel-button{background:#ffd34d;border:0;box-shadow:0 6px 0 #a37a00,0 6px 12px #00000059;color:#0b1a2a;cursor:pointer;font-family:Press Start\ 2P,cursive;font-size:.85rem;letter-spacing:1px;margin-bottom:20px;padding:14px 18px;text-transform:uppercase}.pixel-button:active{box-shadow:0 2px 0 #a37a00,0 2px 8px #00000040;transform:translateY(4px)}.pixel-button.primary{background:#7cf37c;box-shadow:0 6px 0 #2c7a2c,0 6px 12px #00000059}.pixel-button.primary:active{box-shadow:0 2px 0 #2c7a2c,0 2px 8px #00000040}.pixel-button.secondary{background:#ffd34d}.extractor-content{display:flex;flex-wrap:wrap;gap:30px;margin:0 auto;max-width:1400px;position:relative;z-index:1}.upload-section{background:#0a0f1e;box-shadow:0 0 0 4px #1f2a44,0 0 0 12px #0b1326,0 16px 40px #00000080;color:#fff;flex:1 1;min-width:400px;padding:8px}.upload-section>*{background:#fffffff2;color:#333;padding:32px}.upload-form{background:linear-gradient(#f9fbff,#f9fbff) padding-box,repeating-linear-gradient(0deg,#0000000d 0 2px,#0000 2px 4px) padding-box;gap:30px}.form-group,.upload-form{display:flex;flex-direction:column}.form-group{gap:12px}.form-label{color:#555;font-family:Press Start\ 2P,cursive;font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.village-selector{display:flex;flex-wrap:wrap;gap:15px}.village-option{align-items:center;background:#f0f6ff;border:4px solid #b8c7e0;border-radius:0;box-shadow:0 4px 0 #0b1326;cursor:pointer;display:flex;flex:1 1;gap:8px;justify-content:center;min-width:140px;padding:18px 20px;text-align:center;transition:transform .1s ease,box-shadow .1s ease,border-color .2s ease}.village-option input[type=radio]{display:none}.village-option:hover{transform:translateY(-2px)}.village-option:active{box-shadow:0 2px 0 #0b1326;transform:translateY(2px)}.village-option.selected{background:#eaf2ff;border-color:#4b76e1;font-weight:600}.village-option span{font-size:1.1rem}.file-input-wrapper{position:relative}.file-input{opacity:0;position:absolute;z-index:-1}.file-input-label{align-items:center;background:#f9fbff;border:4px solid #1f2a44;border-radius:0;box-shadow:0 4px 0 #0b1326;color:#1c2a4a;cursor:pointer;display:flex;flex-direction:column;font-family:Press Start\ 2P,cursive;font-size:.8rem;gap:12px;min-height:220px;padding:40px;transition:transform .1s ease,box-shadow .1s ease,background .2s ease}.file-input-label:hover{background:#eef6ff;transform:translateY(-2px)}.file-input-label:active{box-shadow:0 2px 0 #0b1326;transform:translateY(2px)}.upload-icon{filter:drop-shadow(0 2px 0 #0b1326);font-size:3rem}.file-icon{font-size:2.5rem}.file-name{color:#333;font-weight:600}.file-size{color:#666;font-size:.9rem}.file-hint{color:#999;font-size:.9rem}.submit-button{margin-bottom:0;width:100%}.submit-button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5}.processing-status{background:#f0f0ff;border-radius:12px;margin-top:30px;padding:25px;text-align:center}.progress-message{color:#667eea;font-size:1.1rem;font-weight:600;margin-bottom:15px}.progress-bar{background:#0a0f1e;border:4px solid #1f2a44;border-radius:0;box-shadow:inset 0 2px 0 #0b1326;height:26px;margin-bottom:10px;overflow:hidden}.progress-fill{background:repeating-linear-gradient(90deg,#7cf37c 0 14px,#6ae36a 14px 28px);height:100%;transition:width .2s steps(6)}.progress-text{color:#667eea;font-size:1rem;font-weight:600}.error-message{align-items:center;background:#fee;border:2px solid #fcc;border-radius:12px;color:#c33;display:flex;font-weight:500;gap:12px;margin-top:20px;padding:20px}.error-icon{font-size:1.5rem}.results-section{background:#0a0f1e;box-shadow:0 0 0 4px #1f2a44,0 0 0 12px #0b1326,0 16px 40px #00000080;flex:1.5 1;max-height:calc(100vh - 120px);min-width:600px;padding:8px}.results-section-inner{background:#fffffff2;color:#333;max-height:100%;overflow-y:auto;padding:32px}.results-header h2{color:#f9f871;font-family:Press Start\ 2P,cursive;font-size:clamp(1rem,2.5vw,1.4rem);margin-bottom:20px;text-shadow:2px 2px 0 #2a2a2a}.results-summary{background:#f8f8ff;border-radius:12px;display:flex;flex-wrap:wrap;gap:30px;margin-bottom:30px;padding:20px}.summary-item{display:flex;flex-direction:column;gap:5px}.summary-label{color:#666;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:#667eea;font-size:1.3rem;font-weight:700}.summary-value.code{background:#f0f0f0;border-radius:6px;font-family:monospace;font-size:1rem;padding:5px 10px}.questions-list{display:flex;flex-direction:column;gap:25px}.question-card{background:#fff;border:2px solid #e8e8e8;border-radius:15px;padding:25px;transition:all .3s ease}.question-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-2px)}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.question-number{color:#667eea;font-size:1.1rem;font-weight:700}.difficulty-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:6px 15px;text-transform:capitalize}.difficulty-badge.easy{background:#d4edda;color:#155724}.difficulty-badge.medium{background:#fff3cd;color:#856404}.difficulty-badge.hard{background:#f8d7da;color:#721c24}.question-stem{color:#333;font-size:1.15rem;line-height:1.6;margin-bottom:20px}.question-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.option{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:10px;display:flex;gap:12px;padding:12px 18px;transition:all .2s ease}.option:hover{background:#e9ecef}.option.correct{background:#d4edda;border-color:#28a745}.option-label{color:#667eea;font-weight:700;min-width:25px}.option-text{flex:1 1;line-height:1.5}.correct-indicator{color:#28a745;font-size:1.3rem;font-weight:700}.question-explanation{background:#f0f0ff;border-left:4px solid #667eea;border-radius:8px;line-height:1.6;margin-bottom:15px;padding:15px}.question-explanation strong{color:#667eea}.question-meta{border-top:1px solid #e8e8e8;color:#999;display:flex;font-size:.9rem;gap:20px;padding-top:15px}@media (max-width:1024px){.extractor-content{flex-direction:column}.results-section,.upload-section{max-height:none;min-width:100%}}@media (max-width:768px){.extractor-header h1{font-size:2rem}.results-section,.upload-section{padding:25px}.village-selector{flex-direction:column}.village-option{min-width:100%}.results-summary{flex-direction:column;gap:15px}}*,.App{box-sizing:border-box;margin:0;padding:0}
/*# sourceMappingURL=main.e517362b.css.map*/