/* Hallmark · macrostructure: Photographic / second-life game folio · genre: custom atmospheric-editorial · theme: custom midnight · nav: N9 edge + disclosure · footer: Ft5 statement · enrichment: real game portrait
 * Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 */
@import url("tokens.css");
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--color-page);color:var(--color-ink);font:400 var(--text-base)/1.8 var(--font-body)}body:has(dialog[open]){overflow-y:hidden}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block;height:auto}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:var(--color-clear)}a,button,summary{touch-action:manipulation}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.25;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);margin:0 0 var(--space-lg)}h2{font-size:var(--text-2xl);margin:0 0 var(--space-lg)}h3{font-size:var(--text-lg);margin:0 0 var(--space-sm)}p{margin:0 0 var(--space-lg)}p:last-child{margin-bottom:0}figure{margin:0}small,.small{font-size:var(--text-sm)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}.site-header :focus-visible,.hero :focus-visible,.showcase :focus-visible,.final :focus-visible,.site-footer :focus-visible,.sticky-cta :focus-visible,.lightbox :focus-visible{outline-color:var(--color-paper);box-shadow:0 0 0 3px var(--color-dark)}a:active,button:active{transform:translateY(1px)}a[aria-disabled=true],button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}[data-state=loading]{opacity:.65;cursor:progress}[data-state=error]{outline:2px solid var(--color-error)}[data-state=success]{outline-color:var(--color-success)}[hidden]{display:none!important}.skip{position:fixed;top:-90px;left:16px;z-index:100;background:var(--color-paper);padding:12px}.skip:focus{top:8px}.site-header{background:var(--color-dark);color:var(--color-paper);position:sticky;top:0;z-index:30;min-height:76px;padding:var(--space-md) clamp(16px,4vw,60px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.wordmark{text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:20px;display:flex;align-items:center;gap:12px;white-space:nowrap}.wordmark img{width:32px;height:32px}.header-actions{display:flex;gap:var(--space-lg);align-items:center}.menu{position:relative}.menu summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;gap:12px;white-space:nowrap}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:'+';font-size:22px;color:var(--color-accent)}.menu[open] summary:after{content:'−'}.menu nav{position:absolute;right:0;top:56px;background:var(--color-dark);padding:12px;min-width:210px;border:1px solid var(--color-accent);box-shadow:8px 8px 0 var(--color-shadow)}.menu nav a{display:block;padding:9px 14px;min-height:44px;text-decoration:none;white-space:nowrap}.menu nav a[aria-current=page]{color:var(--color-accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;background:var(--color-accent);color:var(--color-accent-ink);text-decoration:none;font-weight:700;border:1px solid var(--color-dark);box-shadow:4px 4px 0 var(--color-shadow);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out)}.button.secondary{background:var(--color-clear);color:inherit;border-color:currentColor;box-shadow:none}.button.compact{padding:8px 16px;min-height:44px;font-size:var(--text-sm)}.button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--color-shadow)}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:var(--space-lg) 0}.hero{position:relative;min-height:min(800px,calc(100svh - 76px));background:var(--color-dark);color:var(--color-paper);display:flex;align-items:flex-end;isolation:isolate}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 30%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--color-dark) 0%,var(--color-shade) 12%,var(--color-clear) 82%),linear-gradient(90deg,var(--color-side-shade),var(--color-clear) 78%);z-index:-1}.hero-copy{max-width:1140px;width:100%;margin:auto;padding:clamp(32px,7vw,88px) clamp(24px,5vw,64px) 60px}.hero-copy h1{font-size:clamp(3rem,6vw,5.1rem);font-weight:800;letter-spacing:.03em}.original{display:block;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:400;letter-spacing:.05em;margin-top:12px}.hero-copy p{max-width:510px;font-size:var(--text-lg);line-height:1.65}.hero-copy .age{font-size:var(--text-sm);max-width:580px;color:var(--color-on-dark-muted)}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.tags span{font-size:var(--text-sm);border:1px solid var(--color-light-rule);padding:3px 10px}.hero-copy .edition{display:inline-block;background:var(--color-paper);color:var(--color-dark);padding:5px 14px;transform:rotate(-2deg);font-size:var(--text-sm);margin-bottom:20px}.paper{width:min(1064px,calc(100% - 64px));margin:0 auto 64px;background:var(--color-paper);box-shadow:12px 12px 0 var(--color-shadow);position:relative}.section{padding:var(--space-2xl) clamp(24px,6vw,72px)}.section+ .section{border-top:1px solid var(--color-rule)}.section.intro{padding-top:40px;padding-bottom:40px}.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}.meta div{min-width:0}.meta dt{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:5px}.meta dd{margin:0;font-size:16px;font-weight:600}.info-detail{margin-top:20px;font-size:var(--text-sm);color:var(--color-muted)}.story-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:40px}.portrait-note{background:var(--color-dark);color:var(--color-paper);padding:10px;transform:rotate(1deg);box-shadow:5px 5px 0 var(--color-paper-deep)}figcaption{font-size:var(--text-sm);line-height:1.6;padding:10px 0;color:var(--color-muted)}.portrait-note figcaption{padding:12px;color:var(--color-on-dark-muted)}.lead{font-size:var(--text-lg);max-width:34em}.mechanics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.mechanics article{padding:0 0 0 18px;border-left:1px solid var(--color-rule)}.mechanics article p{font-size:15px}.media-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.media-heading h2{margin:0}.text-link{font-size:var(--text-sm);min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-weight:700}.showcase{background:var(--color-dark);color:var(--color-paper)}.showcase figcaption{color:var(--color-on-dark-muted)}.main-shot{display:block;border:1px solid var(--color-light-rule)}.main-shot img{width:100%;aspect-ratio:16/9;object-fit:contain}.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.thumbs a{display:block}.thumbs img{aspect-ratio:16/9;object-fit:contain;width:100%}.get-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center}.get-panel .receipt{background:var(--color-paper-deep);padding:24px;border-top:1px solid var(--color-rule);font-size:14px}.receipt dl{margin:0}.receipt dl div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid var(--color-rule)}.receipt dd{margin:0}.timeline article{padding:22px 0;border-bottom:1px solid var(--color-rule)}.timeline time{font-size:var(--text-sm);color:var(--color-muted)}.timeline h3{margin-top:8px}.timeline ul{padding-left:20px;margin:8px 0}.notice{padding:20px 24px;background:var(--color-paper-deep);border-left:1px solid var(--color-rule);margin:24px 0}.faq details{border-bottom:1px solid var(--color-rule);padding:18px 0}.faq summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:24px var(--font-body);flex-shrink:0}.faq details[open] summary:after{content:'−'}.faq .answer{padding:16px 28px 8px 0}.faq .answer p{margin:0}.final{background:var(--color-dark);color:var(--color-paper);text-align:left}.final p{max-width:45em;color:var(--color-on-dark-muted)}.site-footer{color:var(--color-paper);max-width:1064px;margin:auto;padding:0 40px 60px}.footer-line{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:30px}.footer-meta{border-top:1px solid var(--color-light-rule);padding-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.footer-links,.related-links{display:flex;flex-wrap:wrap;gap:8px 24px}.footer-links a,.related-links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:14px}.related{padding-top:24px;margin-top:24px;border-top:1px solid var(--color-light-rule)}.legal{color:var(--color-on-dark-muted);font-size:12px;margin-top:20px;line-height:1.8}.legal p{margin-bottom:8px}.sticky-cta{display:none}.sub-banner{background:var(--color-dark);color:var(--color-paper);padding:48px max(24px,calc((100% - 920px)/2)) 60px}.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:var(--text-sm);margin-bottom:24px;flex-wrap:wrap}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.sub-banner h1{font-size:clamp(2rem,4vw,3rem);max-width:22em}.sub-banner p{max-width:42em;color:var(--color-on-dark-muted)}.page-nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding:22px clamp(24px,6vw,72px);background:var(--color-paper-deep)}.page-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:var(--text-sm);white-space:nowrap}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.platform{border:1px solid var(--color-rule);padding:24px}.platform h3{font-family:var(--font-body);font-weight:800}.platform p{font-size:14px}.platform .size{font-size:22px;font-weight:700}.steps{counter-reset:step;padding:0;list-style:none}.steps li{padding:16px 0 16px 48px;position:relative;border-bottom:1px solid var(--color-rule)}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:16px;background:var(--color-dark);color:var(--color-paper);width:30px;height:30px;text-align:center;line-height:30px;font-family:var(--font-body)}.steps strong{display:block}.steps p{margin:6px 0 0}.prose{max-width:48em}.prose code{font-size:14px;overflow-wrap:anywhere;background:var(--color-paper-deep);padding:4px 6px}.specs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.specs article{padding:24px;background:var(--color-paper-deep)}.specs p{font-size:14px}.guide-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.guide-index a{display:block;padding:24px;text-decoration:none;border:1px solid var(--color-rule)}.guide-index strong{display:block;font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:8px}.guide-index span{font-size:14px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.filters button{background:var(--color-clear);color:var(--color-ink);border:1px solid var(--color-rule);padding:8px 18px;min-height:44px;cursor:pointer;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--color-dark);color:var(--color-paper)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-grid a{display:block}.gallery-caption strong{display:block;font-size:16px;color:var(--color-ink)}.gallery-caption p{margin-top:8px}.lightbox{border:1px solid var(--color-light-rule);background:var(--color-dark);color:var(--color-paper);padding:20px;position:fixed;inset:0;margin:auto;width:min(1120px,calc(100% - 32px));max-height:calc(100svh - 48px);height:fit-content;overflow:auto}.lightbox::backdrop{background:var(--color-overlay)}.lightbox img{width:100%;max-height:67svh;aspect-ratio:16/9;object-fit:contain}.lightbox figcaption{color:var(--color-paper);padding:12px 0}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.lightbox button{min-height:44px;min-width:44px;padding:8px 16px;background:var(--color-dark);color:var(--color-paper);border:1px solid var(--color-light-rule);cursor:pointer;white-space:nowrap}.lightbox .controls{display:flex;gap:12px}.image-status{min-height:24px;font-size:var(--text-sm);color:var(--color-on-dark-muted)}.image-status.error{color:var(--color-error-light)}.back-top{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.spaced{margin-top:32px}
@media(hover:hover){.button:hover{background:var(--color-accent-hover)}.button.secondary:hover{background:var(--color-light-tint)}a:hover{color:var(--color-link)}.site-header a:hover,.showcase a:hover,.site-footer a:hover{color:var(--color-accent)}.button:hover,.site-header .button:hover,.site-footer .button:hover{color:var(--color-dark)}.menu nav a:hover{background:var(--color-dark-soft)}summary:hover{color:var(--color-link)}.menu summary:hover{color:var(--color-accent)}.filters button:hover,.lightbox button:hover{background:var(--color-paper-deep);color:var(--color-ink)}.guide-index a:hover{background:var(--color-paper-deep)}}
@media(max-width:800px){.meta{grid-template-columns:repeat(2,minmax(0,1fr))}.story-row,.get-panel{grid-template-columns:minmax(0,1fr)}.story-row{gap:28px}.portrait-note{transform:none}.hero-copy{padding:40px 32px}.hero-copy h1{font-size:3.5rem}.hero-copy p{font-size:18px}.media-heading{align-items:flex-start}.paper{width:calc(100% - 32px)}.section{padding:40px 28px}.platform-grid{gap:16px}.platform{padding:20px}.footer-meta{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){html{scroll-padding-top:82px}.site-header{padding:12px 16px;min-height:68px}.wordmark{font-size:17px;gap:8px}.wordmark img{width:24px;height:24px}.header-actions{gap:12px}.header-actions>.button{display:none}.menu nav{top:52px}.hero{min-height:610px;align-items:flex-end}.hero-art{height:350px;object-fit:cover;object-position:55% 20%}.hero:after{background:linear-gradient(0deg,var(--color-dark) 30%,var(--color-shade) 47%,var(--color-clear) 93%)}.hero-copy{padding:245px 24px 32px}.hero-copy h1{font-size:2.7rem;margin-bottom:18px}.original{font-size:1.2rem}.hero-copy p{font-size:16px;line-height:1.7}.hero-copy .edition{padding:3px 10px;margin-bottom:14px}.tags{gap:8px;margin-bottom:18px}.hero .actions{gap:14px}.hero .button{padding:12px 18px}.paper{width:calc(100% - 24px);box-shadow:6px 6px 0 var(--color-shadow);margin-bottom:40px}.section{padding:32px 22px}.section.intro{padding:28px 22px}.meta{gap:20px 16px}.meta dd{font-size:14px}.mechanics,.platform-grid,.specs,.guide-index,.gallery-grid{grid-template-columns:minmax(0,1fr)}.mechanics{gap:24px}.media-heading{display:block}.media-heading h2{margin-bottom:12px}.thumbs{gap:8px}.thumbs figcaption{font-size:12px}.site-footer{padding:0 24px 112px}.footer-line{font-size:28px}.sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:var(--color-dark);color:var(--color-paper);border-top:1px solid var(--color-light-rule)}.sticky-cta span{font-size:12px;line-height:1.5}.sticky-cta .button{font-size:14px;min-height:44px;padding:10px 16px;box-shadow:none}.sub-banner{padding:24px 24px 40px}.sub-banner h1{font-size:28px}.page-nav{padding:12px 22px;gap:4px 18px}.lightbox{width:calc(100% - 20px);padding:12px}.lightbox-toolbar{gap:8px}.lightbox button{padding:8px 12px;font-size:14px}.lightbox img{max-height:58svh}.steps li{padding-left:42px}.final .actions{gap:16px}.legal{font-size:12px}.lead{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
