:root{--ink:#101219;--night:#141720;--white:#f8f6f1;--paper:#efede7;--muted:#575956;--orange:#ff7749;--accent:#a73315;--line:#d1cec5;--mono:ui-monospace,"Cascadia Mono",Consolas,monospace;--sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--ink);color:var(--white);font-family:var(--sans);line-height:1.6}
a{color:inherit;text-decoration:none}
button,select,textarea{font:inherit}
h1,h2,h3,p{margin:0}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2181e8;outline-offset:4px}
[hidden]{display:none!important}
.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}
.skip{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:12px;background:var(--white);color:var(--ink)}
.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:5;background:rgba(16,18,25,.96);border-bottom:1px solid #ffffff20}
.header-row,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}
.header-row{min-height:70px}
.logo{display:inline-flex;align-items:center;gap:9px;font-size:25px;font-weight:900;letter-spacing:-.065em;white-space:nowrap;line-height:1}
.logo img{flex:none}
.logo-dot{font-size:.57em;letter-spacing:-.035em;color:#d3d3db;margin-left:1px}
nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:650}
nav a{padding:10px 0;white-space:nowrap}
nav a:hover{color:var(--orange)}
nav .nav-contact{padding:8px 13px;border:1px solid #ffffff45;border-radius:4px}
.nav-contact span{margin-left:7px;color:var(--orange)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#131522}
.hero-art{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 78% 56%,#9c422e 0%,#40243c 25%,#151828 52%,#101219 72%)}
.hero-art::before{content:"";position:absolute;inset:0;background:url("assets/hero.jpg") center 53%/cover no-repeat}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101219f7 0%,#101219dc 25%,#1012198f 47%,#10121912 85%),linear-gradient(0deg,#101219f0 0%,transparent 38%)}
.hero-inner{min-height:628px;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(92px,11vw,153px)}
.eyebrow,.section-kicker,.hero-index,.card-top,.number,.film-frame,.film-list small{font-family:var(--mono);font-size:12px;letter-spacing:.085em;font-weight:700}
.hero-eyebrow{color:#ffab8d;display:flex;align-items:center;gap:12px}
.hero-eyebrow i{width:22px;height:1px;background:var(--orange);flex:none}
h1{font-size:clamp(44px,6.1vw,86px);font-weight:900;letter-spacing:-.085em;line-height:1.14;margin:23px 0}
h1 em{font-style:normal;color:var(--orange)}
.hero-copy{color:#eeedf0;font-size:clamp(15px,1.45vw,18px);line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:0 17px;border:1px solid transparent;border-radius:4px;font-weight:750;font-size:14px;cursor:pointer}
.primary{background:var(--orange);color:var(--ink)}
.primary:hover{background:#ff9a75}
.outline{border-color:#ffffff66;background:#10121955;color:var(--white)}
.outline:hover{background:#ffffff20}
.hero-index{display:flex;align-items:center;gap:25px;color:#dddce4;border-top:1px solid #ffffff36;padding:15px 0;margin-top:62px}
.image-note{margin-left:auto;font-family:var(--sans);font-weight:500;color:#c2c2cb}
.section{padding:83px 0 91px}
.light{background:var(--paper);color:var(--ink)}
.section-kicker{display:flex;gap:13px;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line);color:var(--accent)}
.section-kicker span+span{font-family:var(--sans);letter-spacing:.11em;color:var(--muted)}
.section-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:25px;margin:29px 0 34px}
h2{font-size:clamp(34px,4.5vw,63px);font-weight:900;letter-spacing:-.065em;line-height:1.15}
.section-intro p{max-width:340px;justify-self:end;color:var(--muted);padding-bottom:4px}
.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#f9f7f2}
.game-grid article{min-width:0;padding:25px clamp(17px,2.4vw,34px) 29px;display:flex;flex-direction:column}
.game-grid article:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
.game-grid article:nth-child(n+4){border-top:1px solid var(--line)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--accent);margin-bottom:24px}
.card-top svg{width:44px;height:44px;fill:none;stroke:var(--accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
h3{font-size:25px;line-height:1.3;letter-spacing:-.04em}
.game-grid p,.film-list p{font-size:15px;margin:9px 0 19px;color:var(--muted);line-height:1.7}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.tags span{font-size:12px;border:1px solid var(--line);border-radius:3px;padding:3px 7px;white-space:nowrap}
.film{background:var(--night)}
.film .section-kicker{color:var(--orange);border-color:#ffffff35}
.film .section-kicker span+span,.film .section-intro p,.film-list p{color:#c6c6d0}
.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,70px)}
.film-visual{position:relative;display:grid;place-items:center;min-height:300px;overflow:hidden;border:1px solid #ffffff40;border-radius:6px;background:repeating-linear-gradient(0deg,#fff0 0 4px,#ffefdc09 4px 5px),radial-gradient(circle at 50% 50%,#7a382b,#321f2b 41%,#191a27 73%)}
.film-visual::before{position:absolute;content:"";inset:49px 22px;border:1px solid #ffd1bc39;mask:conic-gradient(at 22px 22px,#0000 75%,#000 0) 0 0/calc(100% - 22px) calc(100% - 22px)}
.film-frame{position:absolute;left:19px;right:19px;top:15px;display:flex;justify-content:space-between;color:#ffd2bf}
.film-frame.bottom{top:auto;bottom:15px}
.film-aperture{width:min(56%,240px);line-height:0}
.film-aperture svg{width:100%;fill:none;stroke:#ffad8a;stroke-width:.85;filter:drop-shadow(0 0 12px #ff9066);transform:rotate(-10deg)}
.film-list{display:grid;align-content:stretch}
.film-list article{display:grid;grid-template-columns:36px 1fr;gap:10px;align-content:center;padding:12px 0;border-top:1px solid #ffffff35}
.film-list article:last-child{border-bottom:1px solid #ffffff35}
.number{color:var(--orange);padding-top:5px}
.film-list small{font-size:10px;margin-left:10px;color:#bcbbc5;white-space:nowrap}
.film-list p{margin:6px 0 0}
.production{display:flex;gap:clamp(9px,2vw,25px);flex-wrap:wrap;align-items:center;margin-top:25px;color:#e3e0e6;font-size:13px}
.production span:first-child{font-weight:700;color:var(--orange)}
.production b{font-weight:400;color:#9f9ea9}
.coop-box{display:grid;grid-template-columns:1.2fr .8fr;align-items:start;gap:clamp(22px,6vw,76px);padding:36px 0 0}
.coop-box h2{margin:9px 0 12px}
.coop-box .eyebrow{color:var(--accent)}
.coop-box p:not(.eyebrow){color:var(--muted)}
.coop-action{display:grid;gap:8px}
.coop-action label{font-size:14px;font-weight:700}
.coop-action select,.coop-action textarea{width:100%;min-height:47px;background:#f9f7f2;border:1px solid #a7a49d;border-radius:4px;padding:8px 12px;color:var(--ink)}
.coop-action textarea{min-height:145px;resize:vertical}
.coop-note,#copy-status{font-size:13px}
#copy-status:empty{display:none}
footer{border-top:1px solid #ffffff25;padding:28px 0}
.footer-inner p,.footer-inner>span{font-size:13px;color:#c5c5ce}
.footer-inner>span{font-family:var(--mono);white-space:nowrap}
.footer-registration{margin-top:14px;font-size:13px;color:#c5c5ce;text-align:center}
@media(max-width:950px){.wrap{width:calc(100% - 64px)}}
@media(max-width:720px){
  .wrap{width:calc(100% - 36px)}.header-row{min-height:62px;gap:12px}.logo{font-size:21px;gap:6px}.logo img{width:28px;height:28px}nav{gap:12px;font-size:12px}nav .nav-contact{padding:5px 6px}.nav-contact span{display:none}
  .hero-inner{min-height:575px;padding-top:133px}.hero-art::before{background-position:62% center}.hero-art::after{background:linear-gradient(0deg,#101219 2%,#101219d9 38%,#10121957 100%),linear-gradient(90deg,#101219d8,transparent)}
  h1{font-size:clamp(34px,8.6vw,58px);letter-spacing:-.075em}.wide-only{display:none}.hero-index{gap:11px;font-size:10px;margin-top:46px}.hero-eyebrow{font-size:10px}.image-note{font-size:10px}
  .section{padding:55px 0 63px}.section-intro,.film-grid,.coop-box{grid-template-columns:1fr;gap:15px}.section-intro p{justify-self:start}.game-grid{grid-template-columns:1fr}.game-grid article:not(:nth-child(3n+1)){border-left:0}.game-grid article+article{border-top:1px solid var(--line)}.card-top{margin-bottom:11px}.card-top svg{width:35px;height:35px}.film-visual{min-height:232px}.film-list article{padding:16px 0}.coop-box{gap:25px}.footer-inner{flex-wrap:wrap;gap:12px 20px}.footer-inner p{order:3;width:100%}
}
@media(max-width:355px){.wrap{width:calc(100% - 26px)}nav{gap:8px}.hero-actions{gap:7px}.button{gap:11px;padding-inline:12px}.hero-index{gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.news-link{font-weight:700;color:var(--accent);text-underline-offset:4px}
button.news-link{border:0;padding:0;background:none;cursor:pointer}
.news-link:hover,.news-card h3 a:hover,.admin-row h2 a:hover{text-decoration:underline}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 0}
.news-card{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:22px;border:1px solid var(--line);background:#f8f5ee;border-radius:5px;min-width:0}
.news-card h3,.admin-row h2,.news-article h1{overflow-wrap:anywhere}
.news-card .news-link{margin-top:auto}
.news-summary{color:var(--muted);font-size:15px;overflow-wrap:anywhere}
.news-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:13px}
.news-pin,.news-live,.news-draft{padding:2px 7px;border-radius:3px;font-size:12px;font-weight:700}
.news-pin{background:#f9ddc9;color:#7d3519}.news-live{background:#d9eddf;color:#214d35}.news-draft{background:#e6e1d9;color:#51473d}
.news-empty,.news-alert{padding:20px;margin:20px 0;border:1px solid var(--line);border-radius:5px;color:var(--muted)}
.news-alert{background:#f7eadb;color:#703717}
.news-page{min-height:100vh;display:flex;flex-direction:column}
.news-page .header{position:relative;background:#101219}
.news-page .news-shell{flex:1;padding-top:48px}
.news-page h1{font-size:clamp(36px,6vw,66px);margin:24px 0 12px;line-height:1.12}
.news-intro{color:var(--muted);margin-bottom:24px}
.news-back{margin:22px 0}
.news-heading,.admin-row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.admin-row{padding:18px 0;border-bottom:1px solid var(--line)}
.admin-row h2{font-size:clamp(21px,3vw,30px);line-height:1.3;margin:4px 0 6px}
.admin-actions,.news-buttons,.news-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.admin-actions{flex:none;font-size:14px}
.news-pagination{margin:26px 0}
.news-article,.news-editor{max-width:810px}
.article-deck{color:var(--muted);font-size:19px;margin:20px 0 25px;padding:0 0 25px;border-bottom:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}
.article-text{font-size:17px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.article-text p+p{margin-top:1em}
.news-editor{display:grid;gap:18px}
.news-editor label{display:grid;gap:5px;font-weight:700}
.news-editor small{color:var(--muted);font-weight:400}
.news-editor input,.news-editor select,.news-editor textarea{display:block;width:100%;min-height:44px;background:#fffdf8;border:1px solid #a7a49d;border-radius:4px;padding:9px 12px;color:var(--ink);font:inherit;font-weight:400}
.news-editor textarea{resize:vertical}
.rich-field{display:grid;gap:6px;min-width:0}
.rich-field [hidden]{display:none}
.rich-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid #a7a49d;border-radius:4px;background:#f4f1e9}
.rich-toolbar button,.rich-toolbar select{display:block;width:auto;min-height:36px;margin:0;padding:5px 9px;color:var(--ink);background:#fffdf8;border:1px solid #a7a49d;border-radius:4px;font:inherit;font-size:14px;cursor:pointer}
.rich-toolbar button:hover,.rich-toolbar select:hover{background:#eee6d9}
.rich-body{min-height:280px;background:#fffdf8;border:1px solid #a7a49d;border-radius:4px;padding:14px 16px;cursor:text}
.rich-body:focus{outline:2px solid #98491f;outline-offset:1px}
.article-text h2,.article-text h3{line-height:1.35;margin:1em 0 .45em}
.article-text h2{font-size:1.5em}
.article-text h3{font-size:1.24em}
.article-text ul,.article-text ol{padding-left:1.75em;margin:.65em 0}
.article-text ul{list-style:disc}
.article-text ol{list-style:decimal}
.article-text blockquote{border-left:3px solid #a7a49d;margin:.8em 0;padding:0 0 0 .9em}
.rt-align-left{text-align:left}
.rt-align-center{text-align:center}
.rt-align-right{text-align:right}
.rt-color-default{color:#191b21}
.rt-color-red{color:#b32232}
.rt-color-blue{color:#1953a4}
.rt-color-green{color:#176747}
.rt-color-purple{color:#7040a3}
.rt-color-orange{color:#97430e}
.news-secondary{color:var(--ink);background:transparent;border:1px solid #a7a49d}
@media(max-width:820px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.news-grid{grid-template-columns:1fr}.news-heading,.admin-row{align-items:flex-start;flex-direction:column}.news-heading .news-intro{margin-bottom:0}}
@media(max-width:480px){body:not(.news-page) .header-row{flex-wrap:wrap;justify-content:space-between;padding:10px 0;gap:7px}body:not(.news-page) .header-row nav{width:100%;justify-content:space-between}.news-card{padding:17px}}
.newsroom-admin .news-shell { min-height: calc(100vh - 72px); }
.admin-brand { display: flex; align-items: center; gap: 8px; color: #fff; font-weight: 800; text-decoration: none; white-space: nowrap; }
.admin-brand span { color: #ff9b79; font-size: .8rem; font-weight: 600; }
.admin-login { max-width: 480px; margin: 36px auto 0; padding: clamp(20px, 5vw, 48px); background: #fff; border: 1px solid #d9d6ce; }
.admin-login .button { margin-top: 16px; }
.newsroom-admin .header nav form { margin: 0; }
.newsroom-admin .header nav button { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.newsroom-admin .header nav button:hover { text-decoration: underline; }
.account-create { margin: 28px 0; }
