*{margin:0;padding:0;box-sizing:border-box}body{padding:20px;min-height:100vh}.container{max-width:100%;margin:0 auto;border-radius:var(--radius-outer);overflow:hidden}h1{padding:30px;text-align:center;font-size:var(--font-size-xxxl)}.subtitle{text-align:center;padding:15px;border-bottom:2px solid var(--mario-dark);color:var(--mario-dark);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-inner)}.subtitle-icon{width:30px;height:30px;margin-right:10px;margin-left:10px}.cover-image{display:flex;justify-content:center;align-items:center;width:100%;height:35vh;max-height:500px;margin:20px 0;overflow:hidden;border-radius:0 0 var(--radius-inner) var(--radius-inner);position:relative}.cover-image img{width:100%;height:100%;object-fit:cover;border-radius:0 0 var(--radius-inner) var(--radius-inner);transition:opacity .5s ease-in-out}.cover-tabs{position:absolute;top:15px;right:15px;display:flex;gap:0;z-index:10;border-radius:var(--radius-inner);overflow:hidden;box-shadow:0 2px 8px #0000004d}.cover-tab{padding:10px 20px;font-size:var(--font-size-s);font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease;background-color:#000000b3;color:var(--white);border:1px solid rgba(255,255,255,.15);font-family:Fira Mono,Courier New,Courier,monospace}.cover-tab:hover{background-color:#000000e6;color:var(--block-orange)}.cover-tab.active{background-color:var(--mario-red);color:var(--white);border-color:var(--mario-red)}.cover-tab.active:hover{background-color:var(--mario-red);color:var(--white)}@media (max-width: 600px){.cover-tabs{top:10px;right:10px}.cover-tab{padding:6px 12px;font-size:var(--font-size-xs)}}#consoles_container,#architects_container{display:block}@media (min-width: 768px){#consoles_container,#architects_container{display:grid;grid-template-columns:repeat(2,1fr)}.generation-section.expanded{grid-column:1 / -1}}.generation-section{margin:20px;border:3px solid var(--mario-dark);border-radius:var(--radius-inner);overflow:hidden;background-color:var(--mario-ground)}.generation-header{padding:20px;font-size:var(--font-size-xxl);font-weight:700;cursor:pointer;user-select:none;-webkit-user-select:none;background-color:var(--mario-orange);color:var(--white);position:relative}.generation-header-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.generation-header-left{display:flex;align-items:center;gap:15px;min-width:0}.generation-header-bottom{display:flex;justify-content:center;margin-top:15px}.generation-preview-img{width:min(40%,200px);height:120px;object-fit:contain;border-radius:var(--radius-inner);background-color:color-mix(in srgb,var(--white) 60%,transparent);padding:4px}.preview-slideshow{position:relative;width:min(40%,200px);height:120px;display:flex;justify-content:center;align-items:center}.preview-slideshow .generation-preview-img{position:absolute;width:100%;height:100%;object-fit:contain;border-radius:var(--radius-inner);background-color:color-mix(in srgb,var(--white) 60%,transparent);padding:4px;opacity:0;transition:opacity 1s ease-in-out}.preview-slideshow .generation-preview-img.active{opacity:1}.generation-title-container{display:flex;align-items:center;gap:15px}.info-icon{cursor:pointer;border:2px solid var(--white);border-radius:50%;width:28px;height:28px;display:inline-flex;justify-content:center;align-items:center;font-weight:700;transition:all .3s}.info-icon:hover{background-color:var(--white);color:var(--mario-orange)}.generation-content{max-height:0;overflow:hidden;transition:max-height .5s ease-out}.generation-section.expanded .generation-content{max-height:none}.generation-section>.generation-header .toggle-icon{position:absolute;top:4px;right:0;font-size:var(--font-size-l);font-weight:400;line-height:1;padding:2px 6px;transition:transform .3s ease;cursor:pointer;z-index:10;background-color:transparent;border-radius:4px}.generation-section.expanded>.generation-header .toggle-icon{display:inline}.generation-section:not(.expanded)>.generation-header .toggle-icon{display:none}.console-card .collapsible-header .toggle-icon{position:static;font-size:var(--font-size-l);font-weight:400;line-height:1;padding:0 5px;white-space:nowrap;background:none;border-radius:0;cursor:pointer}.tabs{display:flex;background-color:var(--mario-dark)}.tab-button{border:none;padding:15px 20px;cursor:pointer;font-size:var(--font-size-m);font-weight:700;transition:all .3s;background-color:var(--mario-dark);color:var(--white)}.tab-button.active{background-color:var(--mario-ground);color:var(--mario-dark);border-bottom:3px solid var(--mario-red)}.tab-content{display:none;background-color:var(--white)}.tab-content.active{display:block}.consoles-grid{display:grid;grid-template-columns:1fr;gap:20px;padding:20px;background-color:var(--white)}@media (min-width: 600px){.consoles-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.consoles-grid{grid-template-columns:repeat(3,1fr)}}.console-card{border-radius:var(--radius-inner);padding:20px;transition:all .3s;border:2px solid var(--mario-dark);position:relative;background-color:var(--mario-yellow);color:var(--mario-dark)}.console-image{width:100%;height:200px;object-fit:contain;border-radius:var(--radius-pill);margin-bottom:15px;cursor:pointer}.console-icon{width:24px;height:24px;vertical-align:middle;margin-right:5px}.console-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid var(--mario-dark)}.console-name{font-size:var(--font-size-l);font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.manufacturer{font-size:var(--font-size-s);font-weight:600;text-transform:uppercase;color:var(--mario-dark)}.console-year{padding:5px 10px;border-radius:var(--radius-outer);font-size:var(--font-size-s);font-weight:700;background-color:var(--mario-red);color:var(--white)}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--mario-dark);align-items:center}.detail-label{font-weight:600;font-size:var(--font-size-s);flex-shrink:0;padding-right:10px}.detail-value{text-align:right;font-weight:400}.known-for-row .detail-value,.gen-zero-info .detail-value{text-align:left}.winner-badge{padding:5px 12px;border-radius:var(--radius-outer);font-size:var(--font-size-xs);font-weight:700;background-color:var(--mario-red);color:var(--white)}.section-title{font-weight:700;margin-bottom:8px;margin-top:15px;color:var(--mario-dark)}.tech-specs,.games-list,.info-section{margin-top:15px;padding:15px;border-radius:var(--radius-inner);font-size:var(--font-size-s);background-color:var(--white);border:1px solid var(--mario-dark)}.info-item h4{margin-bottom:10px;font-size:var(--font-size-m);color:var(--block-orange)}.info-item p{line-height:1.6;margin-bottom:15px}.info-image{width:100%;border-radius:var(--radius-inner);margin-top:10px;margin-bottom:20px}.games-table{width:100%;border-collapse:collapse}.games-table th,.games-table td{text-align:left;padding:6px;border-bottom:1px solid var(--mario-dark)}.games-table th{font-weight:600;font-size:var(--font-size-s)}.type-badge{display:inline-block;vertical-align:middle}.stats-summary{padding:15px;margin-top:15px;border-radius:var(--radius-inner);border-left:4px solid var(--mario-red);background-color:var(--mario-yellow);color:var(--mario-dark)}.competition-summary{font-size:.8em;margin-top:10px}.competition-summary ul{padding-left:20px}.collapsible-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center}.toggle-icon{font-size:var(--font-size-l);font-weight:400;line-height:1;padding:0 5px;white-space:nowrap}.collapsible-content{display:none;margin-top:10px}.games-list .collapsible-content ul{padding-left:20px}@media (max-width: 768px){h1{font-size:var(--font-size-xl)}.generation-header{font-size:var(--font-size-l)}.generation-header-top{flex-direction:column;gap:10px}.console-name{flex-direction:column;align-items:flex-start}}.modal{display:block;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000c}.modal-content{position:relative;margin:auto;padding:20px;width:90%;max-width:800px;top:5vh;max-height:90vh;overflow-y:auto;margin-bottom:5vh;background-color:#fff;border-radius:var(--radius-inner)}.close{color:#aaa;float:right;font-size:var(--font-size-xl);font-weight:700;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.gallery-container{position:relative;text-align:center}#gallery-image{max-width:100%;max-height:80vh;border-radius:4px}.prev,.next{cursor:pointer;position:absolute;top:50%;width:auto;padding:16px;margin-top:-22px;color:#fff;font-weight:700;font-size:var(--font-size-l);transition:.6s ease;border-radius:0 3px 3px 0;user-select:none;-webkit-user-select:none;background-color:#00000080}.next{right:0;border-radius:3px 0 0 3px}.prev:hover,.next:hover{background-color:#000c}.counter{text-align:center;margin-top:10px;font-size:var(--font-size-l)}.summary-container{margin:20px;border:3px solid var(--mario-dark);border-radius:var(--radius-inner);background-color:var(--mario-yellow)}.summary-container .collapsible-content{display:block!important;max-height:0;overflow:hidden;transition:max-height .5s ease-out}.summary-container.expanded .collapsible-content{max-height:2000px}.all-generations-summary{display:grid;grid-template-columns:1fr;gap:20px;padding:20px;max-height:60vh;overflow-y:auto}@media (min-width: 768px){.all-generations-summary{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.all-generations-summary{grid-template-columns:repeat(3,1fr)}}.generation-summary-item{margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid var(--mario-dark)}.generation-summary-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.generation-summary-item h4{font-size:var(--font-size-l);margin-bottom:10px}.generation-description{font-style:italic;margin-bottom:10px}.console-item,.console-highlight{margin-top:10px;padding-left:15px;border-left:3px solid var(--mario-red)}.top-games-list{list-style-type:disc;padding-left:20px;margin-top:5px}.architects-page .summary-container .console-item strong{background-color:var(--block-orange);color:var(--white);padding:2px 5px;border-radius:3px}:root{--font-size-xs: .75rem;--font-size-s: .875rem;--font-size-m: 1rem;--font-size-l: 1.25rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--font-size-xxxl: 2.5rem;--mario-red: #A41F19;--block-orange: #E38D1B;--block-orange-light: #F9C577;--block-orange-lighter: #FEEBC4;--sky-blue: #A8E7EF;--pipe-green: #50E425;--pipe-green-accent: #96f977;--lighter-pipe-green: #CFFAC4;--dark-green: #168402;--mountain-blue-purple: #B4D7FF;--orange-pink: #FEC0B9;--black: #000000;--white: #F8F8F8;--light-gray: #4e4e4e;--background-color: var(--sky-blue);--text-color: var(--black);--primary-color: var(--mario-red);--secondary-color: var(--block-orange);--accent-color: var(--block-orange);--light-bg-color: var(--white);--dark-bg-color: var(--black);--header-bg: var(--mario-red);--header-text: var(--white);--winner-text-color: var(--dark-green);--price-text-color: var(--dark-green);--radius-outer: 16px;--radius-inner: 10px;--radius-pill: 50px}body{font-family:Fira Mono,Courier New,Courier,monospace;background-color:var(--background-color);color:var(--text-color)}h1,h2,h3,h4,h5,h6{font-family:inherit}.container{background:var(--light-bg-color);box-shadow:0 20px 60px #0006}h1{font-family:"Press Start 2P",cursive;background:var(--header-bg);color:var(--header-text);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.subtitle{background:var(--light-bg-color);color:var(--text-color);font-size:var(--font-size-l)}.generation-section:hover{box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.generation-header{color:var(--header-text)}.generation-info{font-size:var(--font-size-m);opacity:.9;color:var(--text-color);font-weight:400}.generation-info i{color:var(--text-color);font-size:var(--font-size-xs);font-style:normal}.tabs{background:var(--dark-bg-color)}.tab-button{background:var(--dark-bg-color);color:var(--secondary-color)}.tab-button.active{background:var(--accent-color);color:var(--text-color);border-bottom-color:var(--primary-color)}.consoles-grid{background:var(--light-bg-color)}.console-card{background:var(--block-orange-lighter);box-shadow:0 2px 10px #0000001a}.console-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0003;border-color:var(--primary-color)}.console-card.winner{background-color:var(--lighter-pipe-green);border:3px solid var(--pipe-green-accent);box-shadow:0 6px 20px var(--dark-green)}.console-name{color:var(--text-color)}.manufacturer{color:var(--text-color);cursor:pointer;font-weight:400}.console-year{background:var(--primary-color);color:var(--header-text)}.detail-label{color:var(--text-color);font-weight:400}.detail-value{color:var(--text-color)}.price{color:var(--price-text-color)}.sales{color:var(--primary-color)}.winner-badge{background:var(--winner-text-color);color:var(--header-text)}.section-title{color:var(--text-color);font-weight:400}.tech-specs,.games-list{background:var(--block-orange-light);cursor:pointer;padding:.5em}.console-card.winner .tech-specs,.console-card.winner .games-list{background:var(--pipe-green-accent);cursor:pointer;padding:.5em}.info-section{cursor:pointer;flex-shrink:0}.games-table th{color:var(--text-color)}.type-badge{font-size:var(--font-size-m);color:var(--black);background:none;padding:0;margin-left:8px}.stats-summary{background:var(--block-orange-lighter);border-left-color:var(--primary-color)}.stats-summary strong{color:var(--text-color)}.console-image{background-color:var(--dark-bg-color);padding:1em;box-sizing:border-box}.summary-more-info{cursor:pointer;margin-top:10px;padding:8px;background-color:var(--block-orange-light);border-radius:5px;text-align:center;font-weight:400;transition:background-color .3s;display:inline-block}.summary-more-info:hover{background-color:var(--mario-red)}.summary-header{padding:20px;background-color:var(--mario-red);font-size:var(--font-size-m);color:var(--white);border-radius:10px}.icon-img{width:1.2em;height:1.2em;vertical-align:middle;margin-right:5px}.generation-description{background-color:var(--mario-red);color:var(--white);font-weight:700;padding:5px 10px;border-radius:5px;display:inline-block}.competitor-dropdown{margin-top:2px;color:var(--light-gray);padding:4px 0 2px 8px;border-radius:5px}.competitor-dropdown summary{cursor:pointer}.competitor-dropdown .dropdown-content{padding-top:5px;padding-left:15px}.competitor-dropdown .dropdown-content p,.competitor-dropdown .dropdown-content ul{margin:0;padding:0;list-style:none}.competitor-dropdown .dropdown-content ul li{margin-left:20px;list-style:disc}.top-console-name-highlight{background-color:var(--block-orange);color:var(--white);font-weight:700;padding:2px 5px;border-radius:3px}.competitor-name-highlight{font-weight:700}.competitor-count-display,.top-handheld-display{color:var(--light-gray);margin-top:5px}.competitor-count-display{font-style:italic}.competitor-dropdown{font-size:var(--font-size-m)}.competitor-count-display,.top-handheld-display{font-size:var(--font-size-s)}.generation-section.variant-0{background-color:var(--sky-blue)}.generation-section.variant-1{background-color:var(--block-orange)}.generation-section.variant-2{background-color:var(--mountain-blue-purple)}.generation-section.variant-3{background-color:var(--mario-red)}.generation-section.variant-4{background-color:var(--block-orange)}.generation-section.variant-0 .generation-header{background-color:#72c6d1}.generation-section.variant-2 .generation-header{background-color:#8ea9cc}.flip-container{perspective:1000px;height:150px}.flipper{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flip-container.flipped .flipper{transform:rotateY(180deg)}.front,.back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.back{transform:rotateY(180deg)}.console-image{max-width:100%;max-height:100%;object-fit:contain}.generation-section.animating-width .generation-content{max-height:none;overflow:visible}.generation-section:not(.expanded):not(.animating-width) .generation-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.modal{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000f2;z-index:1000;opacity:1;transition:opacity 1s ease-in-out}.modal.hidden{opacity:0;pointer-events:none}.modal-image{max-width:50%;max-height:50%;object-fit:contain;display:block;margin:0 auto}.jump-animation{animation:jump .5s ease-in-out}#loading-text{color:#fff;font-family:"Press Start 2P",cursive;font-size:var(--font-size-xxxl);margin-top:20px;text-align:center}.blinking-text{animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes jump{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.modal-content{position:relative;margin:auto;padding:10px;width:95%;max-width:1200px;margin:2.5vh auto;height:90vh;max-height:90vh;background-color:#1e1e1e;border-radius:10px;color:#fff;display:flex;flex-direction:column;overflow:hidden}.info-text-container{padding:0 20px;flex-shrink:0;max-width:800px;margin:0 auto}.info-media-container{margin-top:20px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;flex-grow:1}.close{color:#aaa;position:absolute;top:10px;right:25px;font-size:var(--font-size-xxl);font-weight:700;cursor:pointer;z-index:1001}.close:hover,.close:focus{color:#fff;text-decoration:none}.info-modal-pages-container{display:flex;overflow-y:auto;scroll-snap-type:x mandatory;width:100%;flex-grow:1;height:100%}.info-modal-page{flex:0 0 100%;width:100%;scroll-snap-align:start;display:none;height:100%;flex-direction:column}.pagination-controls{position:fixed;bottom:20px;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;z-index:1002;box-sizing:border-box;background-color:#0009}.pagination-arrows{display:flex;justify-content:space-around;min-width:120px;align-items:center;height:100%}.modal-content .prev,.modal-content .next{cursor:pointer;color:#fff;font-weight:700;font-size:var(--font-size-l);transition:.6s ease;user-select:none;-webkit-user-select:none;padding:0 10px}.modal-content .prev:hover,.modal-content .next:hover{background-color:#000}.pagination-dots{flex:1;text-align:left}.dot{cursor:pointer;height:15px;width:15px;margin:0 4px;background-color:var(--block-orange);border-radius:50%;display:inline-block;transition:background-color .6s ease}.dot.active{background-color:var(--block-orange-lighter)}.dot:hover:not(.active){background-color:var(--block-orange-light)}.video-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%}.video-container iframe{width:80%;height:45vw;max-height:450px}.video-container .caption{margin-top:10px;font-style:italic}.hamburger-menu{display:block;position:fixed;top:20px;right:20px;z-index:1000;border-radius:5px;padding:10px;cursor:pointer}.hamburger-menu .bar{display:block;width:25px;height:3px;margin:5px auto;background-color:#fff;transition:.4s}.menu-nav{display:none;position:fixed;top:60px;right:20px;background-color:var(--background-color);border-radius:5px;padding:10px;z-index:1000}.menu-nav a{display:block;color:var(--text-color);text-decoration:none;padding:10px;font-family:"Press Start 2P",cursive;font-size:var(--font-size-m)}.menu-nav a:hover{background-color:#555}footer{background-color:#000;color:orange;text-align:center;padding:10px;position:relative;bottom:0;width:100%;font-family:Fira Mono,monospace;font-size:var(--font-size-s)}footer .footer-content{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px}footer .footer-content span{white-space:nowrap}footer .footer-content .separator{margin:0 5px}footer a{color:orange;text-decoration:none}footer a:hover{text-decoration:underline}
