@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;1,700&family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root {
  --ink: #121515; --paper: #f2f0e8; --surface: #fffefa; --red: #e43d2f; --gold: #d7b85a;
  --pencil: #737871; --line: #d7d5cc; --soft: #e9e7df; --green: #2e7455;
  --display: 'Barlow Condensed', sans-serif; --body: 'Inter', system-ui, sans-serif; --mono: 'Space Mono', monospace;
  --shadow: 0 18px 60px rgb(18 21 21 / 10%);
  --game-scene: url('https://tr.rbxcdn.com/180DAY-34e66f3e779d9e2d9811d2471298a/768/432/Image/Png/noFilter');
}
[data-theme='dark'] { --ink: #f2f0e8; --paper: #111414; --surface: #1a1e1d; --pencil: #a5aaa3; --line: #343938; --soft: #242927; --shadow: 0 18px 60px rgb(0 0 0 / 30%); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background-color: var(--paper); background-image: linear-gradient(rgb(242 240 232 / 86%), rgb(242 240 232 / 93%)), var(--game-scene); background-size: cover; background-position: center; background-attachment: fixed; color: var(--ink); font-family: var(--body); font-size: 15px; line-height: 1.65; transition: background .2s, color .2s; }
[data-theme='dark'] body { background-image: linear-gradient(rgb(17 20 20 / 84%), rgb(17 20 20 / 94%)), var(--game-scene); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 999; background: var(--surface); padding: 10px 16px; }
.skip-link:focus { top: 16px; }
.no-scroll { overflow: hidden; }

.drawer { position: fixed; inset: 0 auto 0 0; width: 250px; background: #111514; color: #f5f2e9; z-index: 50; padding: 28px 18px; display: flex; flex-direction: column; border-right: 1px solid #303432; }
.drawer__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.brand { display: flex; gap: 12px; align-items: center; }
.brand__mark { width:46px;height:46px;display:block;object-fit:contain; }
.brand__text { font: 800 20px/1.05 var(--display); letter-spacing: .1em; }
.brand__text small { font: 500 11px var(--mono); color: #9ca19c; letter-spacing: .2em; }
.icon-btn { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); background: transparent; border-radius: 50%; cursor: pointer; }
.drawer__close { color: #fff; border-color: #404440; display: none; font-size: 25px; }
.nav-list { display: grid; gap: 6px; }
.nav-list a { position: relative; padding: 12px 14px; color: #aeb2ad; border-radius: 3px; font-weight: 600; transition: .2s; }
.nav-list a span { display: inline-block; width: 31px; font: 700 11px var(--mono); color: #666e68; }
.nav-list a:hover, .nav-list a.active { color: white; background: #202523; transform: translateX(4px); }
.nav-list a.active::before { content: ''; position: absolute; left: -18px; top: 10px; bottom: 10px; width: 4px; background: var(--red); }
.nav-list a.active span { color: var(--red); }
.drawer__note { margin-top: auto; padding: 16px 12px; border-top: 1px dashed #404440; color: #858b86; font-size: 11px; }
.drawer__note p { margin: 10px 0 0; }
.roblox-mini { border: 1px solid #414743; display: flex; justify-content: space-between; padding: 12px 14px; font-weight: 700; font-size: 12px; }
.drawer-backdrop { display: none; }
.site-shell { margin-left: 250px; min-width: 0; }

.topbar { height: 72px; padding: 0 28px; display: flex; align-items: center; gap: 18px; background: color-mix(in srgb, var(--paper) 90%, transparent); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 30; }
.menu-btn, .mobile-brand { display: none; }
.search-trigger { width: min(520px, 50vw); height: 42px; border: 1px solid var(--line); background: var(--surface); color: var(--pencil); display: flex; align-items: center; gap: 12px; padding: 0 14px; cursor: pointer; text-align: left; }
.search-trigger span:first-child { font-size: 21px; }.search-copy { flex: 1; }
kbd { border: 1px solid var(--line); background: var(--soft); padding: 2px 7px; border-radius: 3px; font: 11px var(--mono); }
.topbar__tools { margin-left: auto; display: flex; gap: 12px; align-items: center; }
.live-pill { font: 700 10px var(--mono); letter-spacing: .05em; color: var(--pencil); }
.live-pill i { display: inline-block; width: 7px; height: 7px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, var(--green) 20%, transparent); margin-right: 8px; }

.hero { min-height: 650px; position: relative; overflow: hidden; color: white; background: #111; }
.hero__media, .hero__shade { position: absolute; inset: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.08); }
.hero__shade { background: linear-gradient(90deg, rgb(7 10 9 / 94%) 0%, rgb(7 10 9 / 79%) 48%, rgb(7 10 9 / 24%) 100%), linear-gradient(0deg, #111 0%, transparent 30%); }
.hero::after { content: 'DISCIPLINE FILE // 2007'; position: absolute; right: -75px; top: 105px; font: 700 10px var(--mono); letter-spacing: .4em; transform: rotate(90deg); color: rgb(255 255 255 / 50%); }
.hero__content { position: relative; z-index: 1; min-height: 650px; display: grid; grid-template-columns: minmax(440px, 1fr) 360px; align-items: center; gap: 8vw; padding: 64px clamp(30px, 6vw, 100px); max-width: 1500px; }
.kicker, .eyebrow { text-transform: uppercase; font: 700 11px var(--mono); letter-spacing: .18em; }
.kicker { color: #c8ccc8; }.kicker span { background: var(--red); color: white; padding: 7px 10px; margin-right: 10px; }
h1 { margin: 24px 0 20px; font: 800 clamp(54px, 6vw, 92px)/.95 var(--display); letter-spacing: -.02em; text-transform: uppercase; }
h1 em { color: var(--gold); font-style: italic; }
.hero__lead { max-width: 650px; color: #d1d4d1; font-size: 16px; line-height: 1.8; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.btn { min-height: 50px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; font-weight: 800; border: 1px solid rgb(255 255 255 / 25%); }
.btn--red { background: var(--red); border-color: var(--red); color: white; box-shadow: 8px 8px 0 rgb(0 0 0 / 30%); }.btn--red:hover { transform: translate(-2px,-2px); box-shadow: 10px 10px 0 rgb(0 0 0 / 30%); }
.btn--ghost { background: rgb(0 0 0 / 20%); }
.case-file { color: #171917; background: #e5ddc8; width: 330px; padding: 20px 20px 28px; position: relative; transform: rotate(2deg); box-shadow: 20px 30px 70px rgb(0 0 0 / 45%); }
.case-file::before { content: ''; position: absolute; inset: 0; opacity: .18; background: repeating-linear-gradient(0deg, transparent 0 23px, #666 24px); pointer-events:none; }
.case-file__clip { position: absolute; width: 72px; height: 22px; top: -9px; left: 128px; background: #a9aaa5; box-shadow: inset 0 -4px 5px #71736e; z-index: 2; }
.case-file__top { display:flex; justify-content: space-between; align-items: end; border-bottom: 3px solid #171917; padding-bottom: 8px; position: relative; }.case-file__top span { font: 700 9px var(--mono); }.case-file__top b { font-size: 30px; }
.case-file img { aspect-ratio: 16/10; width: 100%; object-fit: cover; margin: 14px 0; filter: grayscale(.25) contrast(1.1); border: 5px solid #f4efe3; }
.case-file dl { position: relative; margin: 0; font-size: 12px; }.case-file dl div { display:flex; border-bottom: 1px solid rgb(0 0 0 / 30%); padding: 5px 0; }.case-file dt { width: 90px; font: 700 9px var(--mono); }.case-file dd { margin:0; font-weight: 700; }
.case-file__stamp { position:absolute; right: 17px; bottom: 18px; border: 3px solid #b1392e; color:#b1392e; padding: 4px 7px; font: 800 9px/1.3 var(--mono); text-align:center; transform:rotate(-7deg); opacity:.8; }

.status-strip { background: var(--surface); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: stretch; }
.status-strip > * { padding: 18px 24px; border-right: 1px solid var(--line); display: flex; flex-wrap: wrap; align-content: center; gap: 5px 9px; }
.status-strip strong { width: 100%; font-size: 13px; }.status-strip small { color: var(--pencil); font-size: 10px; }.status-strip .mono { font: 700 9px var(--mono); color: var(--pencil); }
.status-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; }.status-dot--amber { background: #d89a22; }
.plain-link { background: transparent; border: 0; cursor: pointer; font-weight: 800; white-space: nowrap; }
.evidence { display: inline-block; width: max-content; padding: 3px 6px; font: 700 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; border: 1px solid currentColor; }
.evidence--official { color: var(--green); }.evidence--community { color: #b7781e; }.evidence--editorial { color: var(--red); }.evidence--fan { color: #aaa; }

.content-wrap { width: min(1400px, calc(100% - 64px)); margin: 0 auto; }
.section-block { padding: 94px 0; border-bottom: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 36px; }
.section-heading > div:first-child { max-width: 760px; }.section-heading > p { max-width: 430px; color: var(--pencil); margin:0; }
.eyebrow { color: var(--red); margin: 0 0 10px; }
h2 { margin: 0; font: 800 clamp(34px,4vw,55px)/1.05 var(--display); letter-spacing: -.01em; }
.section-heading--compact h2 { font-size: 42px; }
.route-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.route-card { min-height: 205px; padding: 28px; background: var(--surface); border-right: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: start; transition: .2s; }
.route-card:last-child { border:0; }.route-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); z-index: 2; }
.route-card--dark { background:#171b19; color:#f2f0e8; }.route-card__num { font:800 36px var(--display); color:var(--red); }.route-card p { margin:3px 0; color:var(--pencil); font:700 9px var(--mono); }.route-card h3 { margin: 12px 0; font-size: 19px; line-height:1.35; }.route-card div > span { color:var(--pencil); font-size:12px; }.route-card > b { font-size:21px; }
.session-plan{margin-top:28px;display:grid;grid-template-columns:330px 1fr;border:1px solid var(--line);background:var(--surface)}.session-plan__intro{padding:28px;background:#171b19;color:#f2f0e8}.session-plan__intro h3{font:800 30px/1.1 var(--display);margin:12px 0}.session-plan__intro>p:not(.eyebrow){color:#aeb4af;font-size:12px}.progress-track{height:6px;background:#39403c;margin:28px 0 10px}.progress-track i{display:block;width:0;height:100%;background:var(--red);transition:width .25s}.session-plan__intro strong{font:700 10px var(--mono)}.text-button{display:block;border:0;background:transparent;color:#9da39e;text-decoration:underline;padding:18px 0 0;cursor:pointer;font-size:10px}.drill-list{display:grid;grid-template-columns:1fr 1fr}.drill-list label{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:13px;cursor:pointer}.drill-list label:nth-child(2n){border-right:0}.drill-list label:nth-last-child(-n+2){border-bottom:0}.drill-list input{width:18px;height:18px;accent-color:var(--red);flex:0 0 auto}.drill-list b,.drill-list small{display:block}.drill-list b{font-size:13px}.drill-list small{color:var(--pencil);font-size:11px;margin-top:3px}.drill-list input:checked+span b{text-decoration:line-through;color:var(--pencil)}
.device-tabs{display:flex;border-bottom:3px solid var(--ink)}.device-tab{min-width:140px;padding:13px 20px;border:1px solid var(--line);border-bottom:0;background:var(--surface);cursor:pointer;font-weight:800}.device-tab.active{background:var(--ink);color:var(--paper)}.control-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;margin-top:26px}.control-table{width:100%;border-collapse:collapse;background:var(--surface)}.control-table th,.control-table td{text-align:left;padding:15px;border:1px solid var(--line);vertical-align:top}.control-table th{font:700 9px var(--mono);color:var(--pencil);background:var(--soft)}.control-table td:first-child{font-weight:800;width:22%}.control-table td:nth-child(2){width:34%}.control-table mark{background:color-mix(in srgb,var(--gold) 30%,transparent);color:inherit;padding:3px 5px;font-size:9px}.control-table kbd,.controller-grid kbd{background:var(--ink);color:var(--paper);border:0;padding:5px 8px;margin:2px}.combat-loop{background:#171b19;color:#f2f0e8;padding:26px}.combat-loop h3{font:800 36px var(--display);margin:7px 0 20px}.combat-loop ol{list-style:none;margin:0;padding:0}.combat-loop li{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid #343936}.combat-loop li b{color:var(--gold);font-size:19px}.combat-loop li span{color:#abb0ac;font-size:11px}.warning-note{margin-top:24px;border-left:3px solid var(--red);padding-left:14px}.warning-note p{color:#aeb3af;font-size:11px}.device-guide{background:var(--surface);border:1px solid var(--line);padding:28px;min-height:430px}.device-guide h3{font:800 30px var(--display);margin-top:0}.device-guide ol{padding-left:20px}.device-guide li{padding:8px;color:var(--pencil)}.mobile-layout{height:210px;background:#242927;border-radius:18px;position:relative;color:white;margin:20px 0}.stick,.touch{position:absolute;display:grid;place-items:center;border:1px solid #707773;border-radius:50%;font-size:10px}.stick{width:90px;height:90px;left:30px;bottom:30px}.touch{width:54px;height:54px}.touch--attack{right:30px;bottom:38px;background:var(--red)}.touch--dash{right:98px;bottom:25px}.touch--block{right:42px;bottom:108px}.touch--camera{left:42%;top:20px;width:130px;height:32px;border-radius:3px}.controller-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.controller-grid span{padding:16px;background:var(--soft);display:flex;flex-direction:column;gap:10px;font-weight:700}

.news-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 60px; align-items:start; }
.filter-row { display:flex; gap:6px; }.filter { border:1px solid var(--line); background:var(--surface); padding:7px 13px; cursor:pointer; font-size:12px; }.filter.active { background:var(--ink); color:var(--paper); }
.article-list { border-top:3px solid var(--ink); }
.feature-story { display:grid; grid-template-columns: 44% 1fr; gap:26px; padding:26px 0; border-bottom:1px solid var(--line); }.feature-story img { width:100%; height:250px; object-fit:cover; filter:saturate(.8); }.date { font:700 9px var(--mono); color:var(--pencil); margin:10px 0; }.feature-story h3 { font:800 31px/1.1 var(--display); margin:10px 0; }.feature-story p { color:var(--pencil); }.feature-story a { font-weight:800; color:var(--red); }
.story-row { display:grid; grid-template-columns:68px 1fr 40px; gap:20px; align-items:center; padding:23px 0; border-bottom:1px solid var(--line); }.story-row__date { border-right:1px solid var(--line); }.story-row__date b { display:block; font:800 28px var(--display); }.story-row__date span { font:700 9px var(--mono); color:var(--red); }.story-row h3 { margin:6px 0; font-size:17px; }.story-row p { margin:0; color:var(--pencil); font-size:12px; }.story-row > a { width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center; }
.quick-panel { position:sticky; top:95px; border:1px solid var(--line); background:var(--surface); }.quick-panel__title { padding:18px 20px; background:#171b19; color:white; display:flex; justify-content:space-between; align-items:center; }.quick-panel__title span { font-weight:800; }.quick-panel__title small { font:8px var(--mono); color:#929793; }.quick-panel > a { display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; padding:17px; border-bottom:1px solid var(--line); transition:.2s; }.quick-panel > a:hover { padding-left:22px; background:var(--soft); }.quick-icon { width:38px;height:38px;display:grid;place-items:center;background:var(--soft);font-weight:900; }.quick-panel b,.quick-panel small { display:block; }.quick-panel small { color:var(--pencil); font-size:10px; margin-top:2px; }.quick-panel i { color:var(--red); }

.style-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }.style-card { min-height:330px; padding:26px; border-right:1px solid var(--line); background:var(--surface); position:relative; overflow:hidden; }.style-card:last-child {border:0}.style-card__kanji { position:absolute; right:-8px; top:-20px; font:800 120px var(--display); color:var(--soft); }.tag { position:relative; font:700 9px var(--mono); color:var(--red); }.style-card h3 { position:relative; margin:70px 0 12px; font:800 31px var(--display); }.style-card p { position:relative; color:var(--pencil); font-size:13px; }.save-btn { position:absolute; left:26px; bottom:25px; border:0; border-bottom:1px solid var(--ink); background:transparent; padding:5px 0; cursor:pointer; font-weight:700; font-size:12px; }.save-btn.saved { color:var(--green); border-color:var(--green); }
.style-finder{margin-top:28px;display:grid;grid-template-columns:1fr 1.35fr .8fr;gap:28px;align-items:center;background:#171b19;color:#f2f0e8;padding:30px}.style-finder h3{font:800 30px var(--display);margin:5px 0}.style-finder>div>p:last-child{color:#a9afaa;font-size:11px}.style-finder form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.style-finder fieldset{border:1px solid #3b413e;padding:15px}.style-finder legend{font:700 9px var(--mono);color:var(--gold);padding:0 5px}.style-finder label{display:block;padding:6px;font-size:11px}.style-finder input{accent-color:var(--red)}#style-result{background:#e4ddc9;color:#171917;padding:20px;transform:rotate(1deg)}#style-result small,#style-result strong,#style-result p{display:block}#style-result small{font:700 9px var(--mono)}#style-result strong{font:800 35px var(--display);color:var(--red);margin:7px 0}#style-result p{font-size:11px;margin:0}

.map-section { display:grid; grid-template-columns:360px 1fr; gap:70px; align-items:center; }.map-copy h2 { margin-bottom:22px; }.map-copy > p:last-of-type { color:var(--pencil); }.legend { display:flex; flex-wrap:wrap; gap:13px; margin-top:28px; font-size:10px; font-weight:700; }.risk,.map-pin i { display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px; }.risk--low { background:#399169!important }.risk--mid { background:#d79a22!important }.risk--high { background:#e43d2f!important }.schematic-map { position:relative; height:460px; background-color:#ded8c8; color:#191b19; background-image: linear-gradient(#cbc4b2 1px,transparent 1px),linear-gradient(90deg,#cbc4b2 1px,transparent 1px); background-size:28px 28px; border:10px solid var(--surface); box-shadow:var(--shadow); overflow:hidden; transform:rotate(-.4deg); }
.schematic-map::before { content:'ROUTE MAP / NOT TO SCALE'; position:absolute; top:18px;left:20px;font:700 9px var(--mono); }.map-line { position:absolute; height:5px; background:#6e716b; transform-origin:left; opacity:.55; }.map-line--one { width:70%; left:15%;top:42%;transform:rotate(-17deg); }.map-line--two { width:65%;left:30%;top:67%;transform:rotate(20deg); }.map-pin { position:absolute; border:0;background:#f7f2e4;box-shadow:4px 5px 0 rgb(0 0 0 / 15%);padding:11px 15px;text-align:left;cursor:pointer;min-width:120px;transition:.2s; }.map-pin:hover,.map-pin.active { transform:translateY(-5px) rotate(-2deg); background:#fff;box-shadow:6px 9px 0 rgb(0 0 0 / 17%); }.map-pin b,.map-pin small { display:block; }.map-pin small { font:8px var(--mono); color:#777; }.map-pin--school { left:18%;top:27%; }.map-pin--court { right:15%;top:18%; }.map-pin--town { left:34%;bottom:18%; }.map-pin--club { right:10%;bottom:24%; }.map-tooltip { position:absolute;left:16px;bottom:14px;background:#171b19;color:#fff;padding:10px 14px;font-size:11px;max-width:45%; }

.code-list { border-top:3px solid var(--ink); }.code-list article { display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);gap:20px; }.code-list code { display:inline-block;font:700 22px var(--mono);margin:0 20px; }.code-list p { display:inline;color:var(--pencil);font-size:12px; }.copy-code { background:var(--ink);color:var(--paper);border:0;min-width:90px;padding:12px 18px;cursor:pointer;font-weight:800; }
.code-help{display:grid;grid-template-columns:1fr 1fr .8fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}.code-help article{background:var(--surface);padding:24px}.code-help ol,.code-help ul{padding-left:20px;margin-bottom:0}.code-help li{padding:6px 0;color:var(--pencil);font-size:12px}.expired-codes code{display:inline-block;margin:3px;padding:5px;background:var(--soft);font-size:10px}.expired-codes small{color:var(--pencil)}
.source-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.source-grid a{padding:28px;border-right:1px solid var(--line);background:var(--surface);transition:.2s}.source-grid a:last-child{border:0}.source-grid a:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.source-grid h3{font:800 27px var(--display);margin:18px 0 8px}.source-grid p{color:var(--pencil);min-height:65px}.source-grid b{color:var(--red);font-size:11px}.evidence-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.evidence-legend>div{display:flex;gap:12px;align-items:start}.evidence-legend p{margin:0;color:var(--pencil);font-size:10px}
.directory-home-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.directory-home-grid a{min-height:230px;padding:25px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.2s}.directory-home-grid a:hover{background:var(--soft);transform:translateY(-4px)}.directory-home-grid b{font:700 9px var(--mono);color:var(--red)}.directory-home-grid h3{font:800 27px var(--display);margin:35px 0 8px}.directory-home-grid p{font-size:11px;color:var(--pencil);min-height:55px}.directory-home-grid span{font-size:10px;font-weight:700;color:var(--red)}
.accordion { border-top:3px solid var(--ink); }.accordion details { border-bottom:1px solid var(--line); }.accordion summary { cursor:pointer;list-style:none;padding:22px 0;font-weight:800;display:flex;justify-content:space-between; }.accordion summary::-webkit-details-marker {display:none}.accordion details p { color:var(--pencil);max-width:800px;margin:0;padding:0 0 24px; }.accordion details[open] summary span { transform:rotate(45deg); }

footer { background:#111514;color:#f1efe7;padding:46px clamp(24px,5vw,70px);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px; }.footer-brand { display:flex;align-items:center;gap:14px; }.footer-brand img{width:40px;height:40px;object-fit:contain}.footer-brand b,.footer-brand small {display:block}.footer-brand small {font:8px var(--mono);color:#818782}.footer-brand + p {color:#848a85;font-size:11px}.footer-brand ~ div {display:flex;gap:22px;font-size:11px;font-weight:700}
.footer-column{display:grid!important;gap:9px!important;align-content:start}.footer-column>b{font-size:15px;margin-bottom:7px}.footer-column>a{color:#a1a6a2;font-size:12px;transition:color .2s}.footer-column>a:hover{color:#fff}.footer-note{display:grid!important;gap:9px!important;align-content:start}.footer-note p{color:#848a85;font-size:10px;line-height:1.6;margin:0}.footer-note a{font-size:11px;font-weight:700}
@media (min-width:851px){footer{grid-template-columns:1.25fr .65fr .65fr 1.2fr;align-items:start}}
.search-modal { width:min(680px,calc(100% - 30px));padding:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow); }.search-modal::backdrop {background:rgb(0 0 0 / 70%);backdrop-filter:blur(5px)}.search-modal__head {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:17px;border-bottom:1px solid var(--line)}.search-modal__head input {border:0;outline:0;background:transparent;color:inherit;font-size:18px}.search-modal__head button {border:1px solid var(--line);background:var(--soft);font:10px var(--mono);padding:6px}.search-results {padding:12px;min-height:140px}.search-results p {color:var(--pencil);text-align:center;padding:30px}.search-results a {padding:14px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.search-results a span {color:var(--red);font-size:11px}.toast {position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#171b19;color:#fff;padding:12px 18px;z-index:100;opacity:0;pointer-events:none;transition:.25s;font-size:12px;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}
[hidden] { display:none!important; }

@media (max-width: 1180px) {
  .drawer { transform:translateX(-100%);transition:.25s;box-shadow:20px 0 50px rgb(0 0 0 / 35%); }.drawer.open {transform:none}.drawer__close{display:grid}.drawer-backdrop.open{display:block;position:fixed;inset:0;background:rgb(0 0 0 / 60%);z-index:45}.site-shell{margin:0}.menu-btn,.mobile-brand{display:grid}.mobile-brand{white-space:nowrap}.mobile-brand b{color:var(--red)}
  .hero__content{grid-template-columns:1fr 310px;gap:40px}.news-grid{grid-template-columns:1fr 280px;gap:35px}.style-grid{grid-template-columns:repeat(2,1fr)}.style-card:nth-child(2){border-right:0}.style-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width: 850px) {
  body{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y}
  .live-pill{display:none}.hero{min-height:auto}.hero__content{grid-template-columns:1fr;min-height:auto;padding:70px 30px 85px}.case-file{display:none}.hero__shade{background:linear-gradient(90deg,rgb(7 10 9 / 94%),rgb(7 10 9 / 54%)),linear-gradient(0deg,#111,transparent 45%)}.status-strip{grid-template-columns:1fr 1fr}.status-strip>*:nth-child(2){border-right:0}.status-strip>*:nth-child(-n+2){border-bottom:1px solid var(--line)}.content-wrap{width:calc(100% - 36px)}.section-heading{align-items:start;flex-direction:column;gap:15px}.route-grid{grid-template-columns:1fr}.route-card{border-right:0;border-bottom:1px solid var(--line)}.news-grid{grid-template-columns:1fr}.quick-panel{position:static}.map-section{grid-template-columns:1fr}.map-copy{max-width:600px}.feature-story{grid-template-columns:1fr}.feature-story img{height:auto}footer{grid-template-columns:1fr 1fr}.footer-brand + p{grid-column:1/-1;grid-row:2}
  .session-plan,.control-layout{grid-template-columns:1fr}.style-finder{grid-template-columns:1fr}.code-help{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr}.source-grid a{border-right:0;border-bottom:1px solid var(--line)}.source-grid a:last-child{border-bottom:0}
  .directory-home-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 560px) {
  .topbar{padding:0 14px;gap:10px}.mobile-brand{font-size:12px}.search-trigger{margin-left:auto;width:43px;overflow:hidden;padding:0;justify-content:center}.search-trigger .search-copy,.search-trigger kbd{display:none}.topbar__tools{margin:0}.topbar__tools .icon-btn{display:none}.hero__content{padding:58px 20px 70px}.hero::after{display:none}h1{font-size:48px}.hero__lead{font-size:14px}.hero__actions{display:grid}.btn{width:100%}.status-strip{grid-template-columns:1fr}.status-strip>*{border-right:0;border-bottom:1px solid var(--line)}.section-block{padding:68px 0}h2{font-size:38px}.section-heading--compact h2{font-size:34px}.filter-row{width:100%}.filter{flex:1}.story-row{grid-template-columns:54px 1fr}.story-row>a{display:none}.style-grid{grid-template-columns:1fr}.style-card{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:280px}.style-card h3{margin-top:45px}.map-section{gap:30px}.schematic-map{height:430px;border-width:5px}.map-pin{min-width:98px;padding:9px;font-size:11px}.map-pin--school{left:8%}.map-pin--court{right:5%}.map-pin--town{left:16%;bottom:22%}.map-pin--club{right:5%;bottom:18%}.map-tooltip{max-width:80%}.code-list article{align-items:flex-start}.code-list code{display:block;margin:10px 0 0;font-size:18px}.code-list p{display:block;margin-top:7px}.copy-code{min-width:74px}footer{grid-template-columns:1fr}.footer-brand + p{grid-column:auto;grid-row:auto}.footer-brand ~ div{flex-direction:column;gap:8px}
  .drill-list{grid-template-columns:1fr}.drill-list label{border-right:0!important;border-bottom:1px solid var(--line)!important}.drill-list label:last-child{border-bottom:0!important}.device-tabs{overflow:auto}.device-tab{min-width:120px;padding:12px}.control-table{font-size:11px}.control-table th,.control-table td{padding:9px}.control-table td:nth-child(3){display:none}.controller-grid,.style-finder form{grid-template-columns:1fr}.evidence-legend{grid-template-columns:1fr}
  .directory-home-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important} }
