*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #1a1a2e;--color-surface: #f5f0e6;--color-surface-dark: #e8e0d0;--color-primary: #2c3e50;--color-secondary: #8b7355;--color-accent: #c9a959;--color-text: #2c2c2c;--color-text-light: #5a5a5a;--color-success: #4a7c59;--color-warning: #c9a959;--color-error: #a85454;--font-display: "Georgia", "Times New Roman", serif;--font-body: "Segoe UI", "Arial", sans-serif;--game-width: 640px;--game-height: 480px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;justify-content:center;align-items:flex-start}#root{width:100%;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:var(--spacing-md) var(--spacing-md) 0}.app-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding-bottom:var(--spacing-xl)}.game-container{width:var(--game-width);height:var(--game-height);background:var(--color-surface);border:4px solid var(--color-primary);box-shadow:0 0 0 2px var(--color-accent),0 10px 40px #00000080;position:relative;overflow:hidden}.screen{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.landing-page{background:url(/assets/landing-page-web.png) no-repeat center center;background-size:cover;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl)}.landing-overlay-btn{position:absolute;background:transparent;border:none;cursor:pointer;padding:0;margin:0}.btn{font-family:var(--font-display);font-size:1rem;padding:var(--spacing-md) var(--spacing-xl);border:2px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);cursor:pointer;transition:all .2s ease;min-width:200px}.btn:hover{background:var(--color-primary);color:var(--color-surface)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:var(--color-surface)}.btn-primary:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.classroom{background:url(/assets/class_background_web.png) no-repeat center center;background-size:cover;position:relative}.classroom-floor{display:none}.sprite{position:absolute;image-rendering:pixelated}.sprite-dog{left:80px;bottom:80px;height:90px;width:auto}.sprite-dog.entering{animation:dogEnter 2.5s ease-out forwards}.sprite-dog.exiting{animation:dogExit 2.5s ease-in forwards}@keyframes dogEnter{0%{left:-120px;opacity:0}to{left:80px;opacity:1}}@keyframes dogExit{0%{left:80px;transform:scaleX(1);opacity:1}20%{transform:scaleX(-1)}to{left:-120px;opacity:0;transform:scaleX(-1)}}.sprite-russel{right:80px;bottom:80px;height:225px;width:auto}.placeholder-sprite{display:flex;align-items:center;justify-content:center;font-size:10px;text-align:center;border:2px solid #333}.placeholder-dog{width:60px;height:90px;background:#8b4513;color:#fff;padding:4px;word-wrap:break-word}.placeholder-russel{width:90px;height:225px;background:#fff;color:#333;writing-mode:vertical-rl;text-orientation:mixed}.overlay{position:absolute;pointer-events:none}.overlay-lips{left:295px;top:390px;width:25px;height:18px;background:#ffb6c1;border-radius:50%;animation:lip-appear 1s ease forwards}.overlay-air-puff{left:320px;top:385px;width:35px;height:25px;background:#add8e6;border-radius:50%;animation:air-puff 1.5s ease-in-out infinite}@keyframes lip-appear{0%{opacity:0}20%{opacity:1}35%{opacity:.5}50%{opacity:1}65%{opacity:.5}80%{opacity:1}to{opacity:1}}@keyframes air-puff{0%{opacity:.7;transform:scale(1) translate(0)}50%{opacity:1;transform:scale(1.1) translate(5px)}to{opacity:.7;transform:scale(1) translate(0)}}.dialogue-box{position:absolute;bottom:4px;left:4px;right:4px;max-height:120px;background:#f5f0e6f2;border:2px solid var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);display:flex;flex-direction:column;box-shadow:0 2px 8px #0000004d;overflow-y:auto}.dialogue-text{font-family:var(--font-body);font-size:.75rem;line-height:1.3;color:var(--color-text);margin-bottom:var(--spacing-xs)}.dialogue-options{display:flex;flex-direction:column;gap:3px}.dialogue-option{font-family:var(--font-body);font-size:.7rem;padding:3px 8px;background:var(--color-surface-dark);border:1px solid var(--color-secondary);color:var(--color-text);cursor:pointer;text-align:left;transition:all .15s ease;line-height:1.2}.dialogue-option:hover{background:var(--color-secondary);color:#fff}.dialogue-continue{align-self:flex-end;margin-top:var(--spacing-xs);font-size:.75rem;padding:2px 8px}.reviews-page{background:url(/assets/academy-reviews.png) no-repeat center center;background-size:cover;position:relative}.reviews-portrait-rating{position:absolute;left:52px;top:180px;width:60px;display:flex;justify-content:center}.reviews-parchment{position:absolute;left:180px;top:160px;width:280px;height:220px;padding:15px;overflow-y:auto;text-align:center}.reviews-empty-text{color:var(--color-text);font-style:italic}.reviews-empty-text p{margin-bottom:var(--spacing-sm)}.reviews-scroll{display:flex;flex-direction:column;gap:var(--spacing-sm)}.review-entry{font-size:.85rem;line-height:1.4;color:var(--color-text);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(0,0,0,.1)}.review-entry:last-child{border-bottom:none}.review-author-inline{color:var(--color-text-light);font-size:.8rem}.reviews-overlay-btn{position:absolute;background:transparent;border:none;cursor:pointer;padding:0;margin:0}.game-over{background:linear-gradient(180deg,var(--color-surface-dark) 0%,var(--color-surface) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl)}.game-over-title{font-family:var(--font-display);font-size:1.8rem;color:var(--color-error);margin-bottom:var(--spacing-md)}.game-over-stats{margin:var(--spacing-lg) 0}.stat-line{font-size:1.1rem;margin:var(--spacing-sm) 0}.stat-value{font-weight:700;color:var(--color-primary)}.game-over-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.star-rating{display:inline-flex;gap:2px}.star{color:var(--color-accent)}.star.empty{color:#ccc}.status-bar{position:absolute;top:0;left:0;right:0;background:var(--color-primary);color:var(--color-surface);padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;font-size:.85rem}.status-money{font-weight:700}.status-rp{display:flex;align-items:center;gap:var(--spacing-xs)}.status-rp-label{font-size:.75rem;font-weight:700}.status-rp-bar{width:80px;height:12px;background:#0000004d;border-radius:6px;overflow:hidden}.status-rp-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:6px}.status-rp-value{font-size:.7rem;opacity:.9}.status-items{display:flex;align-items:center;gap:2px;font-size:.8rem}.status-dogs{font-weight:700}.status-share{background:transparent;border:1px solid var(--color-surface);color:var(--color-surface);padding:2px 8px;font-size:.75rem;cursor:pointer;transition:all .15s ease;margin-right:8px}.status-share:hover{background:var(--color-surface);color:var(--color-primary)}.status-exit{background:transparent;border:1px solid var(--color-surface);color:var(--color-surface);padding:2px 8px;font-size:.75rem;cursor:pointer;transition:all .15s ease}.status-exit:hover{background:var(--color-surface);color:var(--color-primary)}.classroom-chart-review{background:url(/assets/charts.png) no-repeat center center;background-size:cover}.chart-review-container{position:absolute;left:160px;top:86px;width:320px;height:180px}.chart-review-screen{width:100%;height:100%;padding:12px;font-family:Courier New,monospace;color:#1a1a1a;display:flex;flex-direction:column;overflow:hidden}.chart-header{font-size:.85rem;font-weight:700;text-align:center;padding-bottom:8px;margin-bottom:8px;letter-spacing:1px;border-bottom:1px solid #333333}.chart-content{flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.chart-row{display:flex;flex-direction:column;gap:4px}.chart-row.chart-notes{flex:1}.chart-label{font-size:.75rem;color:#2c2c2c;font-weight:700;letter-spacing:1px}.chart-value{font-size:.8rem;color:#1a1a1a;line-height:1.3;padding-left:8px}.chart-notes .chart-value{font-size:.75rem;font-style:italic;color:#333;line-height:1.4}.intro-video{background:url(/assets/charts.png) no-repeat center center;background-size:cover;display:flex;flex-direction:column;justify-content:center;align-items:center}.video-container{position:absolute;left:160px;top:86px;width:320px;height:180px;background:#000;border:2px solid #1a1a1a;overflow:hidden}.video-player{width:100%;height:100%;border:none;display:block}.continue-button{position:absolute;top:360px;left:50%;transform:translate(-50%);padding:12px 24px;background:var(--color-primary);color:var(--color-surface);border:2px solid var(--color-accent);border-radius:4px;font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.continue-button:hover{background:var(--color-accent);color:var(--color-primary);transform:translate(-50%) translateY(-2px);box-shadow:0 4px 12px #0006}.continue-button:active{transform:translate(-50%) translateY(0);box-shadow:0 2px 6px #0000004d}.hidden{display:none!important}.fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.share-popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.share-popup{background:var(--color-surface);border:4px solid var(--color-primary);box-shadow:0 0 0 2px var(--color-accent),0 10px 40px #000c;width:400px;max-width:90vw;max-height:90vh;overflow-y:auto;padding:var(--spacing-xl);position:relative}.share-popup-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:transparent;border:none;font-size:2rem;color:var(--color-text);cursor:pointer;padding:0;width:32px;height:32px;line-height:1;transition:color .2s}.share-popup-close:hover{color:var(--color-primary)}.share-popup-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-primary);text-align:center;margin-bottom:var(--spacing-lg)}.share-popup-image{width:100%;max-width:400px;height:auto;border-radius:8px;margin:0 auto var(--spacing-lg);display:block;border:2px solid var(--color-primary)}.share-popup-stats{background:#0000000d;border:2px solid var(--color-primary);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);font-family:Courier New,monospace;font-size:.85rem}.share-stats-title{font-weight:700;text-align:center;margin-bottom:var(--spacing-xs)}.share-stats-divider{color:var(--color-secondary);margin:var(--spacing-xs) 0;overflow:hidden;text-align:center}.share-stat-line{margin:var(--spacing-xs) 0}.share-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.share-btn{width:100%;padding:12px;border:none;border-radius:8px;font-family:var(--font-body);font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.share-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.share-btn:active{transform:translateY(0)}.share-image-section{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.share-btn-download-image,.share-btn-download-image-alt{flex:1;height:55px;font-size:16px;font-weight:700}.share-btn-download-image{background:linear-gradient(135deg,#667eea,#764ba2)}.share-btn-download-image-alt{background:linear-gradient(135deg,#f093fb,#f5576c)}.share-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.share-divider{text-align:center;color:var(--color-text-light);font-size:.85rem;margin:var(--spacing-md) 0;font-style:italic}.share-btn-linkedin{background:#0a66c2;height:42px;font-size:15px}.share-btn-facebook{background:#1877f2;height:42px}.share-btn-twitter{background:#000;height:42px}.share-btn-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);height:42px}.share-btn-icon{font-weight:700;font-size:1.2em}.share-link-btn{background:transparent;border:none;color:var(--color-text-light);font-family:var(--font-body);font-size:.9rem;cursor:pointer;padding:var(--spacing-sm);text-decoration:underline;transition:color .2s}.share-link-btn:hover{color:var(--color-primary)}.share-play-again-btn{margin-top:var(--spacing-md);width:100%}.toast{position:fixed;bottom:var(--spacing-xl);left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-body);font-size:.95rem;box-shadow:0 4px 12px #0000004d;z-index:2000;animation:toastSlideIn .3s ease}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 680px){.game-container{transform:scale(.9);transform-origin:center center}}@media (max-width: 600px){.game-container{transform:scale(.8)}}@media (max-width: 520px){.game-container{transform:scale(.7)}}.ad-container{width:100%;max-width:var(--game-width);margin-top:var(--spacing-md);padding:var(--spacing-md);background:#f5f0e60d;border:1px solid rgba(245,240,230,.2);border-radius:4px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.ad-label{font-size:.7rem;color:var(--color-surface);opacity:.5;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-body)}.ad-container .adsbygoogle{width:100%;min-height:90px;max-width:var(--game-width)}@media (max-width: 680px){.ad-container{max-width:90vw}}@media (max-width: 520px){.ad-container{max-width:85vw}}.coffee-container{width:100%;max-width:var(--game-width);margin-top:var(--spacing-md);padding:var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center}.coffee-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:10px 20px;background:linear-gradient(135deg,#fd0,#fbb034);color:#2c2c2c;text-decoration:none;border-radius:8px;font-family:var(--font-body);font-size:.95rem;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #fbb0344d;border:2px solid rgba(44,44,44,.1)}.coffee-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fbb03480;background:linear-gradient(135deg,#ffed00,#fb4)}.coffee-button:active{transform:translateY(0)}.coffee-icon{font-size:1.3em;line-height:1}.coffee-text{line-height:1}.coffee-subtext{font-size:.75rem;color:var(--color-surface);opacity:.6;font-family:var(--font-body);margin:0;font-style:italic}@media (max-width: 520px){.coffee-button{font-size:.85rem;padding:8px 16px}.coffee-subtext{font-size:.7rem}}
