2026, мистика, 18+
Kindred Spirits

Kindred Spirits

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Kindred Spirits » Информация о мире » Локации Академии


Локации Академии

Сообщений 1 страница 7 из 7

1

Локации Академии

Академия находится в Салеме, что севернее Бостона. Её кампус раскинулся на острове Уинтер, узкой и вытянутой вдоль океана земле в восточной части города с солёным ветром и испещрённую дорожками, которые то уходят в тень деревьев, то резко выводят к камням и воде. Здесь постоянно слышно море: оно обволакивает берег, приносит ветер и иногда окутывает всё вязким туманом.[float=right]https://forumstatic.ru/files/001c/b8/c1/94338.webp
42.529617251361515, -70.868893210953[/float]

Для простых людей это место известно как частное образовательное учреждение — «Салемский подготовительный колледж», в инфраструктуру которого входят яхтовый клуб и здания бывшего морского исследовательского центра Cat Cove. Для одарённых же это место в котором они могут находить друг друга и развивать свои магические таланты.

Кампус разделён на несколько функциональных зон, соединённых дорогами, пешеходными маршрутами и служебными проездами. Основными ориентирами служат береговая линия на востоке острова, здание Главного корпуса в его южной части, а в северной зоне расположившиеся там мужское и женское общежития студентов. Западный сектор, находящийся на материке, занимает административно-служебный комплекс Академии в зданиях бывшего центра морских исследований Cat Cove.


[html]
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <title>Карта кампуса</title>

    <link rel="preconnect" href="https://forumstatic.ru" crossorigin />
    <link rel="preload" href="https://forumstatic.ru/files/001c/b8/c1/54570.svg" as="fetch" crossorigin />
    <link rel="stylesheet" href="https://forumstatic.ru/files/001c/b8/c1/95532.css?v=8" />
    <script src="https://feather-tail.github.io/MyBB-scripts-bundle/js/theme-switcher/theme-iframe.js"></script>
    <script src="https://feather-tail.github.io/MyBB-scripts-bundle/js/font-resizer/font-resizer-iframe.js"></script>
  </head>

  <body class="ks-map-page">
    <main class="ks-map-shell" aria-labelledby="mapTitle">
      <div class="ks-map-shell__inner">
        <header class="ks-map-head">
          <p class="ks-map-kicker">Winter Island Campus</p>
          <h1 class="ks-title" id="mapTitle">Карта кампуса</h1>
        </header>

        <div class="ks-map-layout">
          <aside class="ks-map-panel" aria-label="Объекты кампуса">
            <p class="ks-panel-title">Объекты кампуса</p>
            <p class="ks-map-status" id="mapStatus">Выбери объект на карте или в списке.</p>
            <div class="ks-location-list" id="mapLocations" aria-label="Список объектов кампуса"></div>
          </aside>

          <section class="ks-map-card" aria-label="Интерактивная карта">
            <div class="ks-map-card__head">
              <p class="ks-map-card__title">План острова</p>
            </div>

            <div class="ks-map" id="mapRoot">
              <div class="ks-map__viewport" id="mapViewport">
                <div class="ks-map__loading" id="mapLoading">Карта загрузится, когда дойдёшь до неё…</div>
              </div>
            </div>
          </section>

          <section class="ks-map-details" id="mapDetails" aria-live="polite" aria-label="Описание выбранного объекта">
            <div class="ks-map-details__empty" id="detailsEmpty">
              <p class="ks-map-details__eyebrow">Описание</p>
              <h2 class="ks-map-details__title">Ничего не выбрано</h2>
              <p class="ks-map-details__desc">Нажми на объект карты или выбери пункт в списке, чтобы открыть описание локации.</p>
            </div>

            <div class="ks-map-details__content" id="detailsContent" hidden>
              <img class="ks-map-details__img" id="detailsImg" alt="" />
              <div class="ks-map-details__text">
                <p class="ks-map-details__eyebrow">Выбранный объект</p>
                <h2 class="ks-map-details__title" id="detailsTitle">—</h2>
                <p class="ks-map-details__desc" id="detailsDesc">—</p>
                <a class="ks-map-details__more" id="detailsMore" href="#" target="_blank" rel="noopener noreferrer" hidden>Читать описание в теме</a>
              </div>
            </div>
          </section>
        </div>
      </div>
    </main>

    <div class="ks-tooltip" id="mapTooltip" hidden role="tooltip">
      <span class="ks-tooltip__title" id="tipTitle">—</span>
    </div>

    <div id="mapData" hidden>
      <div
        data-map-id="_Слой_2-2"
        data-title="Главное здание"
        data-desc="Главное здание Академии расположено в южной части острова, ближе к открытому побережью. Его архитектура сочетает массивные каменные конструкции и современные элементы: стекло, металл, строгие линии фасада."
        data-img="https://forumstatic.ru/files/001c/8d/fd/24675.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1110"
      ></div>

      <div
        data-map-id="_Слой_3"
        data-title="Медицинский корпус"
        data-desc="Медицинский центр в салемском кампусе куда уместнее было бы называть небольшим медицинским центром. Он представляет из себя отдельное здание в западной части острова, неподалёку от КПП и общежитий."
        data-img="https://forumstatic.ru/files/001c/8d/fd/24675.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1122"
      ></div>

      <div
        data-map-id="_Слой_4"
        data-title="Мужское общежитие"
        data-desc="Жилые корпуса студентов находятся в северной части острова, ближе к въезду и внешней инфраструктуре кампуса. Такое расположение позволяет отделить учебные и жилые зоны, сохраняя при этом удобную связь между ними. Общежития стоят чуть в стороне от оживлённых маршрутов и окружены зелёными участками, создающими более спокойную и камерную атмосферу."
        data-img="https://forumstatic.ru/files/001c/8d/fd/24675.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1115"
      ></div>

      <div
        data-map-id="_Слой_12"
        data-title="Женское общежитие"
        data-desc="Жилые корпуса студентов находятся в северной части острова, ближе к въезду и внешней инфраструктуре кампуса. Такое расположение позволяет отделить учебные и жилые зоны, сохраняя при этом удобную связь между ними. Общежития стоят чуть в стороне от оживлённых маршрутов и окружены зелёными участками, создающими более спокойную и камерную атмосферу."
        data-img="https://forumstatic.ru/files/001c/8d/fd/24675.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1115"
      ></div>

      <div
        data-map-id="_Слой_5"
        data-title="КПП"
        data-desc="Основной доступ на территорию кампуса осуществляется через северный въезд со стороны материка. Дорога выводит к контрольно-пропускному пункту..."
        data-img="https://forumstatic.ru/files/001c/8d/fd/24675.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1111"
      ></div>

      <div
        data-map-id="_Слой_6"
        data-title="Здание Службы безопасности"
        data-desc="Здания бывшего университетского комплекса Cat Cove используются как административно-служебная зона Академии. Здесь размещаются подразделения службы безопасности, технические службы и центры связи."
        data-img="https://forumstatic.ru/files/001c/8d/fd/24675.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1121"
      ></div>

      <div
        data-map-id="ks_science_complex"
        data-title="Научный комплекс"
        data-desc="Научный комплекс располагается в западной части острова между медицинским корпусом и Главным зданием, ограждая остров Уинтер от взглядом любопытных жителей. Он представляет из себя несколько блоков, соединённых друг с другом переходами. Само здание имеет пять этажей, один из которых является подземным. Предназначение комплекса - учёба студентов Академии и научные изыскания."
        data-img="https://forumstatic.ru/files/001c/b8/c1/17838.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p104343"
      ></div>

      <div
        data-map-id="ks_fountain_square"
        data-title="Площадь с фонтаном"
        data-desc="Его украшают фигуры юноши и девушки, ведьмы и её фамильяра. Бронзовые силуэты стоят почти вплотную, но не касаются друг друга: между ладонью ведьмы и зверем — тем самым, в котором каждый неизменно узнаёт своего, — струя воды сворачивается в тонкую мерцающую ленту, будто живая связь, обвивающая их тела. Фонтан не знает зимы и даже в сильные морозы вода в нём продолжает течь, а над чашей поднимается лёгкий пар."
        data-img="https://forumstatic.ru/files/001c/b8/c1/41119.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1111"
      ></div>

      <div
        data-map-id="Слой_4"
        data-title="Оранжереи и теплицы"
        data-desc="Оранжерейный комплекс Академии расположен на восточной окраине кампуса в Салеме. Комплекс возведён на слегка возвышенном участке, дренированном естественными подземными ключами, и обращён к юго-востоку для максимального захвата утреннего солнца, которое в этих краях часто скрыто за туманами."
        data-img="https://forumstatic.ru/files/001c/b8/c1/45827.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1111"
      ></div>

      <div
        data-map-id="Слой_5"
        data-title="Спортплощадка"
        data-desc="По территории разбросан целый комплекс спортивных площадок. У общежитий расположена небольшая площадка с уличными тренажёрами, в том числе с баскетбольным кольцом. Беговые дорожки проложены в западной части, в том числе вокруг нескольких зданий. На искусственно созданном насыпном пляже установлены стойки для волейбола. Пользоваться всем этим можно и в свободное от учёбы время. Иногда занятия проводятся на пляже и, в том числе, в воде — тогда защиту обеспечивают ведьмы, контролируя прибрежное пространство."
        data-img="https://forumstatic.ru/files/001c/b8/c1/84921.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1111"
      ></div>

      <div
        data-map-id="Слой_6"
        data-title="Сады и пруды"
        data-desc="Более двух гектаров островной земли отведено под сады, искусственные водные объекты и озеленение. Конечно, где-то сохранён естественный рельеф острова, но в основном пространство благоустроено и облагорожено так, чтобы по нему было легко и приятно гулять."
        data-img="https://forumstatic.ru/files/001c/b8/c1/66511.png"
        data-url="https://kindredspirits.ru/viewtopic.php?id=84#p1111"
      ></div>
    </div>

    <script>
      const SETTINGS = {
        svgUrl: 'https://forumstatic.ru/files/001c/b8/c1/54570.svg',
        hitPadding: 10,
        lazyRootMargin: '300px',
      };

      const PLACEHOLDER_IMG =
        'data:image/svg+xml;charset=utf-8,' +
        encodeURIComponent(
          '<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" viewBox="0 0 192 192">' +
            '<defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1">' +
            '<stop offset="0" stop-color="#cfe1f3"/><stop offset="1" stop-color="#bfc8d0"/>' +
            '</linearGradient></defs>' +
            '<rect width="192" height="192" rx="28" fill="url(#g)"/>' +
            '<path d="M52 88l44-34 44 34v50a8 8 0 0 1-8 8H60a8 8 0 0 1-8-8V88z" fill="rgba(0,0,0,0.10)"/>' +
            '<path d="M82 146V110h28v36" fill="rgba(0,0,0,0.14)"/>' +
            '<path d="M52 88l44-34 44 34" fill="none" stroke="rgba(0,0,0,0.18)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>' +
            '</svg>',
        );

      const mapRoot = document.getElementById('mapRoot');
      const viewport = document.getElementById('mapViewport');
      const loading = document.getElementById('mapLoading');
      const tooltip = document.getElementById('mapTooltip');
      const tipTitle = document.getElementById('tipTitle');
      const locationList = document.getElementById('mapLocations');
      const mapStatus = document.getElementById('mapStatus');
      const detailsCard = document.getElementById('mapDetails');
      const detailsEmpty = document.getElementById('detailsEmpty');
      const detailsContent = document.getElementById('detailsContent');
      const detailsImg = document.getElementById('detailsImg');
      const detailsTitle = document.getElementById('detailsTitle');
      const detailsDesc = document.getElementById('detailsDesc');
      const detailsMore = document.getElementById('detailsMore');

      const escapeCss = (s) =>
        window.CSS && typeof CSS.escape === 'function'
          ? CSS.escape(s)
          : String(s).replace(
              /([ !"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~])/g,
              '\\$1',
            );

      function parseHotspotsFromData() {
        const nodes = Array.from(
          document.querySelectorAll('#mapData [data-map-id]'),
        );
        return nodes
          .map((n) => ({
            id: n.dataset.mapId || '',
            title: n.dataset.title || '',
            desc: n.dataset.desc || '',
            img: n.dataset.img || '',
            url: n.dataset.url || '',
          }))
          .filter((x) => x.id && x.title);
      }

      function sanitizeSvgText(svgText) {
        const parser = new DOMParser();
        const doc = parser.parseFromString(svgText, 'image/svg+xml');
        const svg = doc.documentElement;

        Array.from(svg.querySelectorAll('script')).forEach((n) => n.remove());
        Array.from(svg.querySelectorAll('foreignObject')).forEach((n) =>
          n.remove(),
        );

        for (const el of svg.querySelectorAll('*')) {
          for (const attr of Array.from(el.attributes)) {
            if (/^on/i.test(attr.name)) el.removeAttribute(attr.name);
          }
        }

        return svg.outerHTML;
      }

      function svgEl(tag) {
        return document.createElementNS('http://www.w3.org/2000/svg', tag);
      }

      function closestHotspot(node) {
        if (!node) return null;
        if (node.closest) return node.closest('[data-map-id]');

        let cur = node;
        while (cur && cur.getAttribute) {
          if (cur.getAttribute('data-map-id')) return cur;
          cur = cur.parentNode;
        }
        return null;
      }

      function isHoverDisabled() {
        return (
          document.documentElement.classList.contains('force-mobile') ||
          document.body.classList.contains('force-mobile') ||
          window.matchMedia('(hover: none), (pointer: coarse)').matches
        );
      }

      function isMobileLayout() {
        return (
          document.documentElement.classList.contains('force-mobile') ||
          document.body.classList.contains('force-mobile') ||
          window.matchMedia('(max-width: 760px)').matches
        );
      }

      function attachHitRect(target, data) {
        let bbox = null;
        try {
          bbox = target.getBBox();
        } catch (e) {
          bbox = null;
        }
        if (!bbox) return null;

        const pad = SETTINGS.hitPadding;
        const rect = svgEl('rect');
        rect.setAttribute('x', String(bbox.x - pad));
        rect.setAttribute('y', String(bbox.y - pad));
        rect.setAttribute('width', String(bbox.width + pad * 2));
        rect.setAttribute('height', String(bbox.height + pad * 2));
        rect.setAttribute('fill', '#000');
        rect.setAttribute('fill-opacity', '0');
        rect.classList.add('ks-map__hitbox');

        rect.dataset.mapId = data.id;
        rect.dataset.title = data.title;
        rect.dataset.desc = data.desc;
        rect.dataset.img = data.img;
        rect.dataset.url = data.url;

        target.classList.add('ks-map__hotspot-target', 'is-click-through');
        target.dataset.mapId = data.id;

        const parent = target.parentNode;
        if (parent) parent.insertBefore(rect, target.nextSibling);

        return rect;
      }

      function getDataFromHotspotEl(hs) {
        return {
          id: hs.dataset.mapId || '',
          title: hs.dataset.title || '',
          desc: hs.dataset.desc || '',
          img: hs.dataset.img || '',
          url: hs.dataset.url || '',
        };
      }

      let svgRoot = null;
      let activeTarget = null;
      let hoveredTarget = null;

      const idToTarget = new Map();
      const buttonById = new Map();

      function setHovered(target, on) {
        if (!target) return;
        target.classList.toggle('is-hovered', !!on);
      }

      function setActive(target, on) {
        if (!target) return;
        target.classList.toggle('is-active', !!on);
        const button = buttonById.get(target.dataset.mapId || '');
        if (button) button.classList.toggle('is-active', !!on);
      }

      function showTitleTooltip(title, x, y) {
        if (isHoverDisabled()) return;
        tipTitle.textContent = title || '—';
        tooltip.hidden = false;
        moveTitleTooltip(x, y);
      }

      function moveTitleTooltip(x, y) {
        if (tooltip.hidden) return;
        const gap = 14;
        const rect = tooltip.getBoundingClientRect();
        const left = Math.min(
          Math.max(10, x + gap),
          window.innerWidth - rect.width - 10,
        );
        const top = Math.min(
          Math.max(10, y + gap),
          window.innerHeight - rect.height - 10,
        );
        tooltip.style.left = left + 'px';
        tooltip.style.top = top + 'px';
      }

      function hideTitleTooltip() {
        tooltip.hidden = true;
        tooltip.style.left = '0px';
        tooltip.style.top = '0px';
      }

      function updateDetails(data) {
        detailsEmpty.hidden = true;
        detailsContent.hidden = false;
        detailsTitle.textContent = data.title || '—';
        detailsDesc.textContent = data.desc || 'Описание пока не добавлено.';
        detailsImg.src = data.img || PLACEHOLDER_IMG;
        detailsImg.alt = data.title || '';

        if (data.url) {
          detailsMore.href = data.url;
          detailsMore.hidden = false;
        } else {
          detailsMore.hidden = true;
          detailsMore.removeAttribute('href');
        }
      }

      function selectHotspot(data, target, options = {}) {
        if (!target) return;

        if (activeTarget && activeTarget !== target) setActive(activeTarget, false);
        activeTarget = target;
        setActive(activeTarget, true);
        mapRoot.classList.add('is-focus');
        if (mapStatus) mapStatus.textContent = 'Выбрано: ' + (data.title || 'объект кампуса');
        updateDetails(data);
        hideTitleTooltip();

        if (options.scrollDetails && isMobileLayout()) {
          detailsCard.scrollIntoView({ behavior: 'smooth', block: 'start' });
        }
      }

      function pickHotspot(item, options = {}) {
        const target = idToTarget.get(item.id);
        if (!target) return;
        selectHotspot(item, target, options);
      }

      function renderLocationList(hotspots) {
        if (!locationList) return;
        locationList.replaceChildren();
        buttonById.clear();

        const frag = document.createDocumentFragment();
        hotspots.forEach((item, index) => {
          const button = document.createElement('button');
          button.className = 'ks-location-card';
          button.type = 'button';
          button.dataset.mapId = item.id;

          const number = document.createElement('span');
          number.className = 'ks-location-card__num';
          number.textContent = String(index + 1).padStart(2, '0');
          button.appendChild(number);

          const title = document.createElement('span');
          title.className = 'ks-location-card__title';
          title.textContent = item.title;
          button.appendChild(title);

          button.addEventListener('click', () =>
            pickHotspot(item, { scrollDetails: true }),
          );

          buttonById.set(item.id, button);
          frag.appendChild(button);
        });

        locationList.appendChild(frag);
      }

      function bindDelegatedEvents() {
        svgRoot.addEventListener('pointerover', (e) => {
          if (e.pointerType !== 'mouse' || isHoverDisabled()) return;

          const hs = closestHotspot(e.target);
          if (!hs) return;

          const id = hs.dataset.mapId || '';
          const target = idToTarget.get(id);
          if (!target || target === hoveredTarget) return;

          if (hoveredTarget) setHovered(hoveredTarget, false);
          hoveredTarget = target;
          setHovered(hoveredTarget, true);
          showTitleTooltip(getDataFromHotspotEl(hs).title, e.clientX, e.clientY);
        });

        svgRoot.addEventListener('pointerout', (e) => {
          if (e.pointerType !== 'mouse' || isHoverDisabled()) return;

          const from = closestHotspot(e.target);
          if (!from) return;

          const to = closestHotspot(e.relatedTarget);
          if (to && to.dataset.mapId === from.dataset.mapId) return;

          if (hoveredTarget) {
            setHovered(hoveredTarget, false);
            hoveredTarget = null;
          }
          hideTitleTooltip();
        });

        svgRoot.addEventListener('pointermove', (e) => {
          if (e.pointerType !== 'mouse' || isHoverDisabled()) return;
          moveTitleTooltip(e.clientX, e.clientY);
        });

        svgRoot.addEventListener('click', (e) => {
          const hs = closestHotspot(e.target);
          if (!hs) return;

          e.stopPropagation();

          const target = idToTarget.get(hs.dataset.mapId || '');
          selectHotspot(getDataFromHotspotEl(hs), target, { scrollDetails: true });
        });
      }

      async function loadMap() {
        try {
          const hotspots = parseHotspotsFromData();
          const res = await fetch(SETTINGS.svgUrl, { cache: 'force-cache' });
          if (!res.ok) throw new Error('HTTP ' + res.status);

          const raw = await res.text();
          const cleaned = sanitizeSvgText(raw);

          viewport.innerHTML = cleaned;
          svgRoot = viewport.querySelector('svg');
          if (!svgRoot) throw new Error('SVG не найден');

          svgRoot.setAttribute('preserveAspectRatio', 'xMidYMid meet');

          const misses = [];

          for (const h of hotspots) {
            const target = svgRoot.querySelector('#' + escapeCss(h.id));
            if (!target) {
              misses.push(h.id);
              continue;
            }

            idToTarget.set(h.id, target);

            const hit = attachHitRect(target, h);
            if (!hit) {
              target.dataset.mapId = h.id;
              target.dataset.title = h.title;
              target.dataset.desc = h.desc;
              target.dataset.img = h.img;
              target.dataset.url = h.url;
              target.classList.add('ks-map__hotspot-target');
            }
          }

          renderLocationList(hotspots);
          bindDelegatedEvents();

          detailsImg.addEventListener('error', () => {
            detailsImg.src = PLACEHOLDER_IMG;
          });

          window.addEventListener('keydown', (e) => {
            if (e.key === 'Escape') hideTitleTooltip();
          });

          window.addEventListener('resize', hideTitleTooltip, { passive: true });

          if (loading) loading.remove();

          if (misses.length) {
            const warn = document.createElement('div');
            warn.className = 'ks-map__error';
            warn.textContent = 'Часть объектов не найдена по ID: ' + misses.join(', ');
            viewport.appendChild(warn);
            setTimeout(() => warn.remove(), 3800);
          }
        } catch (err) {
          viewport.innerHTML = '';
          const box = document.createElement('div');
          box.className = 'ks-map__error';
          box.textContent = 'Не удалось загрузить карту. Проверь доступность SVG по ссылке и CORS.';
          viewport.appendChild(box);
        }
      }

      function initLazy() {
        if (!('IntersectionObserver' in window)) {
          loadMap();
          return;
        }

        const observer = new IntersectionObserver(
          (entries) => {
            if (!entries.some((entry) => entry.isIntersecting)) return;
            observer.disconnect();
            loadMap();
          },
          { rootMargin: SETTINGS.lazyRootMargin },
        );

        observer.observe(mapRoot);
      }

      initLazy();
    </script>
  </body>
</html>
[/html]
[hideprofile]

+10

2

[html]
<script src="https://feather-tail.github.io/MyBB-scripts-bundle/js/theme-switcher/theme-iframe.js"></script>
<script src="https://feather-tail.github.io/MyBB-scripts-bundle/js/font-resizer/font-resizer-iframe.js"></script>
<style>
:root {
  --frame-font-size: 14px;
}

html,
body {
  margin: 0;
  padding: 0;
  font-size: var(--frame-font-size) !important;
}

#main-building-interiors,
#main-building-interiors * {
  box-sizing: border-box;
}

#main-building-interiors.academy-section {
  margin: 0;
}

#main-building-interiors .academy-tabs {
  display: grid;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr);
  grid-template-areas: "tabs panels";
  gap: 14px;
  align-items: start;
  width: 100%;
  min-width: 0;
  background: var(--htm-clr);
  padding: 20px;
  border-radius: 5px;
  border: 1px solid var(--bord);
}

#main-building-interiors .academy-tab-control {
  display: none !important;
}

#main-building-interiors .academy-tab-list {
  grid-area: tabs;
  display: grid;
  gap: 10px;
  min-width: 0;
  align-self: start;
  text-align: left;
}

#main-building-interiors .academy-tab-list label {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--bord);
  border-radius: 5px;
  background: var(--quote);
  color: var(--sec-text, #0e0c0b);
  font-family: var(--main-font);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .3px;
  font-size: inherit !important;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.06s;
}

#main-building-interiors .academy-tab-list label:hover {
  background: rgba(201, 200, 200, 0.4);
}

#main-building-interiors .academy-tab-list label:active {
  transform: translateY(1px);
}

#main-building-interiors
  .academy-tabs
  > input:nth-of-type(1):checked
  ~ .academy-tab-list
  > label:nth-of-type(1),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(2):checked
  ~ .academy-tab-list
  > label:nth-of-type(2),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(3):checked
  ~ .academy-tab-list
  > label:nth-of-type(3),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(4):checked
  ~ .academy-tab-list
  > label:nth-of-type(4),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(5):checked
  ~ .academy-tab-list
  > label:nth-of-type(5),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(6):checked
  ~ .academy-tab-list
  > label:nth-of-type(6),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(7):checked
  ~ .academy-tab-list
  > label:nth-of-type(7),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(8):checked
  ~ .academy-tab-list
  > label:nth-of-type(8),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(9):checked
  ~ .academy-tab-list
  > label:nth-of-type(9) {
  background: var(--accent2);
  color: var(--bt-bg);
  border-color: var(--accent2);
}

#main-building-interiors .academy-tab-panels {
  grid-area: panels;
  min-width: 0;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  align-self: start;
}

#main-building-interiors .academy-panel {
  display: none;
  min-width: 0;
  border: 1px solid var(--bord);
  border-radius: 5px;
  background: var(--quote);
  overflow: hidden;
  font-family: var(--main-font);
}

#main-building-interiors
  .academy-tabs
  > input:nth-of-type(1):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(1),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(2):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(2),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(3):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(3),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(4):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(4),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(5):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(5),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(6):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(6),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(7):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(7),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(8):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(8),
#main-building-interiors
  .academy-tabs
  > input:nth-of-type(9):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(9) {
  display: block;
}

#main-building-interiors .academy-panel-header {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--base-bg2) center / cover no-repeat;
}

#main-building-interiors .academy-panel-header img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

#main-building-interiors .academy-panel-header::after {
    pointer-events: none;
    background-color: var(--accent) !important;
    mix-blend-mode: color;
    opacity: 0.6;
}

#main-building-interiors .academy-panel-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 45%,
    rgba(0, 0, 0, 0.45) 100%
  );
}

#main-building-interiors .academy-panel-title {
  position: absolute;
  left: 16px;
  bottom: 10px;
  margin: 0;
  color: #fff;
  font-family: var(--sec-font, serif);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

#main-building-interiors .academy-panel-body {
  min-width: 0;
  padding: 12px 16px 16px;
  background: var(--htm-clr);
  margin: 20px;
  border-radius: 5px;
  font-size: inherit !important;
}

#main-building-interiors .academy-panel-body p {
  margin: 6px 0 10px;
  color: var(--text, #000);
  font-family: var(--main-font, system-ui, sans-serif);
}

#main-building-interiors .academy-panel-body details {
  margin: 14px 0 0;
  border: 1px solid var(--bord);
  border-radius: 5px;
  background: var(--quote);
  overflow: hidden;
}

#main-building-interiors .academy-panel-body summary {
    cursor: pointer;
    padding: 10px 14px;
    font-weight: 700;
    list-style: none;
    user-select: none;
    color: var(--text);
}

#main-building-interiors .academy-panel-body summary::-webkit-details-marker {
  display: none;
}

#main-building-interiors .academy-panel-body summary::after {
  content: '+';
  float: right;
  font-weight: 700;
}

#main-building-interiors .academy-panel-body details[open] summary::after {
  content: '−';
}

#main-building-interiors .academy-panel-details-content {
  padding: 0 14px 12px;
}

#main-building-interiors .academy-panel-details-content p {
  margin: 8px 0;
}

@media (max-width: 759px) {
  #main-building-interiors .academy-tabs {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "tabs"
      "panels";
  }
}

@media (max-width: 640px) {
  #main-building-interiors .academy-panel-header img {
    aspect-ratio: 16 / 9;
  }
}

:root[data-style='summer'] body::before,
:root[data-style='summer'] body::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
</style>

<section id="main-building-interiors" class="academy-section">
  <div class="academy-tabs" role="tablist" aria-label="Помещения Главного корпуса">
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-1" class="academy-tab-control" checked />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-2" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-3" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-4" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-5" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-6" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-7" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-8" class="academy-tab-control" />
    <input type="radio" name="tabs-main-interiors" id="tab-main-i-9" class="academy-tab-control" />

    <div class="academy-tab-list">
      <label for="tab-main-i-1"><span>Главный корпус</span></label>
      <label for="tab-main-i-2"><span>Административный блок</span></label>
      <label for="tab-main-i-3"><span>Столовая и кухня</span></label>
      <label for="tab-main-i-4"><span>Учебные аудитории</span></label>
      <label for="tab-main-i-5"><span>Помещение дисциплинарного комитета</span></label>
      <label for="tab-main-i-6"><span>Спортивный комплекс</span></label>
      <label for="tab-main-i-7"><span>Библиотека</span></label>
      <label for="tab-main-i-8"><span>Арена</span></label>
      <label for="tab-main-i-9"><span>Большой зал</span></label>
    </div>

    <div class="academy-tab-panels">
      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-1">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Главный корпус</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Главное здание Академии расположено в южной части острова, ближе к открытому побережью. Его архитектура сочетает массивные каменные конструкции и современные элементы: стекло, металл, строгие линии фасада. Здание выглядит устойчивым и замкнутым, словно изначально рассчитанным на суровые погодные условия и постоянное воздействие морского воздуха.
          </p>
          <p>
            Внутренние пространства организованы рационально: здесь расположены учебные аудитории, административные помещения, залы для собраний, спортивный зал с бассейном, кухня со столовой и множество комнат отдыха. Окна помещений выходят к морю, и шум волн нередко становится фоном для занятий и работы. Территория вокруг корпуса оформлена минималистично: каменные дорожки, открытые площадки и низкие ограды не отвлекают внимания от самого здания и окружающего пейзажа.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-2">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Административный блок</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Административный блок располагается в башне восточного крыла Главного корпуса из которой открывается вид на весь остров. Внутри он представляет из себя светлые коридоры с современным дизайном.
          </p>
          <p>
            Здесь находятся канцелярия, кабинеты деканов и директора, архивы текущих дел, а также приёмная, в которой как и прежде на стене висит табличка «Тайна охраняет мир, знание — тех, кто в нём живёт.». В этом крыле всегда пахнет бумагой, кофе и морским ветром, который тянет с улицы, когда кто-то открывает окна.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-3">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Столовая и кухня</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Столовая в Салеме находится на первом этаже Главного корпуса. Просторная и тёплая, с большими окнами, выходящими на гавань, она наполнена как небольшими, так и длинными столами для студентов, тянущимися через всё помещение. В дальнем конце столовой располагаются зоны, где могут уединиться преподаватели и сотрудники Академии, а вдоль большой стены напротив окон стоят островки с готовой едой на которых даже поздно вечером можно найти что-то простое и сытное.
          </p>
          <p>
            Кухня скрыта за отдельным проходом и работает как небольшая фабрика: с раннего утра и до позднего вечера повара трудятся, чтобы накормить всех студентов и сотрудников Академии.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-4">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Учебные аудитории</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Учебные аудитории распределены по всем этажам Главного корпуса и представляют из себя как небольшие кабинеты, так и несколько крупных аудиторий, способных вместить в себя больше сотни студентов.
          </p>
          <p>
            По настроению аудитории очень разные и зависят от дисциплин и преподавателей, которые ведут в них занятия.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-5">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Помещение дисциплинарного комитета</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Кабинет находится в Главном корпусе в дальнем углу на втором этаже западного крыла. Представляет из себя просторное светлое помещение в нейтральных тонах. В центре находится длинный стол, окружённый несколькими стульями, напротив на стене висит доска для заметок и записей на заседаниях, а по бокам расположены шкафчики для хранения личных дел и документов дисциплинарного комитета. В противоположном углу расположился буфет с неиссякаемым запасом чая, кофе и печенья на любой вкус и цвет, а на паре больших окон выстроились горшки неприхотливых домашних растений.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-6">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Спортивный комплекс</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Спортивный комплекс Академии примыкает к западному крылу главного корпуса и занимает 1 и −1 этажи. Вход ведёт в светлый вестибюль с постом дежурного и стойками для инвентаря; дальше пространство расходится на несколько зон, чтобы занятия разных направлений не мешали друг другу.
          </p>
          <p>
            На 1 этаже расположены тренажёрные залы: кардио-секция с беговыми дорожками и дорожками для интервальных тренировок, силовой зал со свободными весами и станциями, а также функциональная зона для растяжки и работы с собственным весом. Там же находятся несколько рингов и площадка для спаррингов с мягким покрытием, настенными экранами для разбора техники и нишами для перчаток, бинтов и защиты. Здесь же находятся основные раздевалки: шкафчики, сушилки, душевые и отдельные кабины для быстрого восстановления (холодный душ/контраст).
          </p>
          <p>
            −1 этаж отдан под «мокрую» часть: бассейн с размеченными дорожками и небольшой зоной для отработки техники, зал реабилитации, кабинет спортивного врача, а также тихая комната для дыхательных практик и растяжки.
          </p>
          <p>
            Сердце комплекса — большое универсальное поле с искусственным газоном размером с футбольное. По периметру располагается внутренний круг для бега и разминки, а рядом — кладовые с мячами, щитами, конусами и переносными воротами. Обычно это поле используется для тренировок фамильяров, но частенько на нём можно увидеть студентов, играющих в какие-либо игры.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-7">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Библиотека</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Библиотека в Салеме располагается в специальной пристройке соединённой с основной частью Главного зала в самой западной его части. Библиотека современная и светлая, и внутри имеется множество высоких книжных полок с передвижными лестницами, чтобы достать необходимое смог каждый даже с самых высоких полок. У входа располагается стойка библиотекаря, где студенты могут получить помощь, оформить выдачу книг или заказать новые.
          </p>
          <p>
            Учебная зона представляет собой множество столов, расставленных «островками» по несколько штук. За ними можно расположиться как в одиночестве, так и небольшой группой. На столах всегда есть канцелярские принадлежности для составления заметок. Часть столов оснащена компьютерами с доступом к открытым библиотечным онлайн-фондам мира.
          </p>
          <p>
            Фонд самой библиотеки включает учебную и художественную литературу, магические фолианты и древние манускрипты. Что-то удалось найти на руинах Фасги, другие — приобретены Академией или получены в дар из частных коллекций. Для быстрого поиска книги можно воспользоваться каталогом, помощью библиотекаря или небольшими зачарованными статуями кота — маскота салемской академии. Достаточно назвать название книги, и статуя подскажет нужный раздел и номер ряда. А если же студентов замучила жажда, то в разных концах помещения находится несколько кулеров с водой.
          </p>

          <details>
            <summary>Подробнее о фондах и зонах библиотеки</summary>
            <div class="academy-panel-details-content">
              <p>
                <strong>Зона открытого доступа:</strong><br>
                · Учебный фонд: Учебники по теории Потока, базовые сборники заклинаний для начинающих, труды по истории магического сообщества, энциклопедии по магической флоре и фауне. Эти книги доступны всем студентам без специального разрешения. Они часто имеют защитные заклинания от выноса и порчи, но не несут в себе опасной информации.<br>
                · Зона ведьм: Здесь можно найти углублённые труды по разным направлениям врождённого дара, сборники заклинаний по стихиям и техникам.<br>
                · Зона фамильяров: Отделы с литературой по кинологии, орнитологии, герпетологии, но в магическом контексте. Книги об усилении звериной формы, техниках восприятия Потока и Скверны, травники и справочники по ингредиентам.
              </p>

              <p>
                <strong>Зона Специальных Коллекций:</strong><br>
                · Фолианты по уникальным дарам: Секции, посвящённые редким и малоизученным проявлениям магии. Доступ к ним получают студенты старших курсов с разрешения профильного декана.<br>
                · Архив Инквизиции (копии): Копии документов, касающихся истории Инквизиции, протоколов допросов и описаний операций. Оригиналы хранятся в штаб-квартирах Инквизиции, но здесь собрана обширная база для изучения истории и тактики.<br>
                · Картографическая комната: Огромная коллекция магических карт, многие из которых постоянно обновляются. Здесь можно найти карты потоков Потока, очагов Скверны, территорий Ковенов.<br>
                · Зал Связи: Небольшая комната, где собраны труды, исследующие феномен Связи между ведьмой и фамильяром. Истории пар, теоретические выкладки, анализ сшивок. Это место пользуется особой популярностью у студентов, пытающихся понять свои отношения.
              </p>

              <p>
                · Зал Запрещённых Книг: Здесь хранятся гримуары, содержащие опасные и тёмные заклинания, связанные со Скверной. Книги, которые «шепчут», пытаются влиять на читателя или сами по себе являются осквернёнными артефактами. Если просто убрать, будет так:
Доступ сюда имеют только преподаватели и изредка — студенты выпускных курсов, выполняющие задания декана полевых операций, и только в сопровождении опытного наставника-библиотекаря.<br>
                · Редкие манускрипты: Древнейшие тексты, написанные до основания Инквизиции. Некоторые на неизвестных языках. Они хранятся в специальных магических капсулах, поддерживающих их сохранность. Изучать их можно только в самом Хранилище под наблюдением.
              </p>

              <p>
                <strong>Зоны тишины и общения:</strong> в Главном зале — абсолютная тишина. В галереях можно перешёптываться, говорить вполголоса.
              </p>

              <p>
                <strong>Выдача и возврат:</strong> книги из открытого доступа выдаются на руки под расписку, которая фиксирует, кто и когда взял книгу. Книги из Специальных коллекций и Крипты из библиотеки не выносятся.
              </p>
            </div>
          </details>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-8">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Арена</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Подземная арена — место, где ведьмы и фамильяры могут использовать свои способности, не боясь рассекречивания и разрушения. Здесь проходят практические занятия и тренировки, а также спарринги и экзамены. При необходимости ведьмы и ведьмаки могут изменить ландшафт арены, создав полосу препятствий или особые климатические условия.
          </p>
          <p>
            Арена представляет собой большое открытое пространство в центре и трибуны вдоль одной из стен. Ничего лишнего здесь нет — даже отделки на стенах и уж тем более какого-то декора. Всё сделано так, чтобы в случае разбушевавшейся магии не пришлось каждый раз переделывать и чинить.
          </p>
          <p>
            Защита повсюду в основном магическая, чтобы способности не могли нанести вред и вырваться куда-то за пределы арены. Во время каких-либо событий трибуну укрывают барьером.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-i-9">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Большой зал</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Большой зал расположен в Главном корпусе и служит пространством, где учебная жизнь легко перетекает в общественную.
          </p>
          <p>
            Это просторное помещение с высоким потолком, длинными окнами и сценой в глубине. В обычные дни здесь могут проходить крупные лекции, семинары и собрания, а по вечерам зал меняется: на сцене ставят спектакли, показывают фильмы, выступают кружки и музыкальные группы, а в праздники пространство заполняют огни, украшения и музыка.
          </p>
          <p>
            Интерьер сочетает академическую строгость и уют. Светлое дерево, тёмный камень, мягкое освещение, плотные шторы и хорошая акустика делают зал одинаково подходящим и для официальных мероприятий, и для чего-то более тёплого, студенческого. Стулья и часть оборудования можно быстро убрать, освобождая место для ярмарок, балов, дискотек или праздничных вечеров.
          </p>
          <p>
            У студентов Большой зал давно считается местом, где Академия особенно ясно ощущается не только как учебное заведение, но и как маленький отдельный мир, в котором все рано или поздно оказываются рядом.
          </p>
        </div>
      </article>
    </div>
  </div>
</section>
[/html]
[hideprofile]

+2

3

[html]
<script src="https://feather-tail.github.io/MyBB-scripts-bundle/js/theme-switcher/theme-iframe.js"></script>
<script src="https://feather-tail.github.io/MyBB-scripts-bundle/js/font-resizer/font-resizer-iframe.js"></script>
<style>
:root {
  --frame-font-size: 14px;
}

html,
body {
  margin: 0;
  padding: 0;
  font-size: var(--frame-font-size) !important;
}

#main-building,
#main-building * {
  box-sizing: border-box;
}

#main-building.academy-section {
  margin: 0;
}

#main-building .academy-tabs {
  display: grid;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr);
  grid-template-areas: "tabs panels";
  gap: 14px;
  align-items: start;
  width: 100%;
  min-width: 0;
  background: var(--htm-clr);
  padding: 20px;
  border-radius: 5px;
  border: 1px solid var(--bord);
}

#main-building .academy-tab-control {
  display: none !important;
}

#main-building .academy-tab-list {
  grid-area: tabs;
  display: grid;
  gap: 10px;
  min-width: 0;
  align-self: start;
  text-align: left;
}

#main-building .academy-tab-list label {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--bord);
  border-radius: 5px;
  background: var(--quote);
  color: var(--sec-text, #0e0c0b);
  font-family: var(--main-font);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .3px;
  font-size: inherit !important;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.06s;
}

#main-building .academy-tab-list label:hover {
  background: rgba(201, 200, 200, 0.4);
}

#main-building .academy-tab-list label:active {
  transform: translateY(1px);
}

#main-building
  .academy-tabs
  > input:nth-of-type(1):checked
  ~ .academy-tab-list
  > label:nth-of-type(1),
#main-building
  .academy-tabs
  > input:nth-of-type(2):checked
  ~ .academy-tab-list
  > label:nth-of-type(2),
#main-building
  .academy-tabs
  > input:nth-of-type(3):checked
  ~ .academy-tab-list
  > label:nth-of-type(3),
#main-building
  .academy-tabs
  > input:nth-of-type(4):checked
  ~ .academy-tab-list
  > label:nth-of-type(4),
#main-building
  .academy-tabs
  > input:nth-of-type(5):checked
  ~ .academy-tab-list
  > label:nth-of-type(5),
#main-building
  .academy-tabs
  > input:nth-of-type(6):checked
  ~ .academy-tab-list
  > label:nth-of-type(6),
#main-building
  .academy-tabs
  > input:nth-of-type(7):checked
  ~ .academy-tab-list
  > label:nth-of-type(7),
#main-building
  .academy-tabs
  > input:nth-of-type(8):checked
  ~ .academy-tab-list
  > label:nth-of-type(8) {
  background: var(--accent2);
  color: var(--bt-bg);
  border-color: var(--accent2);
}

#main-building .academy-tab-panels {
  grid-area: panels;
  min-width: 0;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  align-self: start;
}

#main-building .academy-panel {
  display: none;
  min-width: 0;
  border: 1px solid var(--bord);
  border-radius: 5px;
  background: var(--quote);
  overflow: hidden;
  font-family: var(--main-font);
}

#main-building
  .academy-tabs
  > input:nth-of-type(1):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(1),
#main-building
  .academy-tabs
  > input:nth-of-type(2):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(2),
#main-building
  .academy-tabs
  > input:nth-of-type(3):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(3),
#main-building
  .academy-tabs
  > input:nth-of-type(4):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(4),
#main-building
  .academy-tabs
  > input:nth-of-type(5):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(5),
#main-building
  .academy-tabs
  > input:nth-of-type(6):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(6),
#main-building
  .academy-tabs
  > input:nth-of-type(7):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(7),
#main-building
  .academy-tabs
  > input:nth-of-type(8):checked
  ~ .academy-tab-panels
  > .academy-panel:nth-of-type(8) {
  display: block;
}

#main-building .academy-panel-header {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--base-bg2) center / cover no-repeat;
}

#main-building .academy-panel-img {
  position: relative;
  min-width: 0;
}

#main-building .academy-panel-header img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

#main-building .academy-panel-header::before {
  content: '';
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--accent);
  mix-blend-mode: color;
  opacity: 0.6;
}

#main-building .academy-panel-header::after {
  content: '';
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 45%,
    rgba(0, 0, 0, 0.45) 100%
  );
}

#main-building .academy-panel-title {
  position: absolute;
  z-index: 3;
  left: 16px;
  bottom: 10px;
  margin: 0;
  color: #fff;
  font-family: var(--sec-font, serif);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

#main-building .academy-panel-body {
  min-width: 0;
  padding: 12px 16px 16px;
  background: var(--htm-clr);
  margin: 20px;
  border-radius: 5px;
  font-size: inherit !important;
}

#main-building .academy-panel-body p {
  margin: 6px 0 10px;
  color: var(--text, #000);
  font-family: var(--main-font, system-ui, sans-serif);
}

#main-building .academy-list {
  padding-left: 20px;
  margin: 6px 0 10px;
  color: var(--text, #000);
}

#main-building .academy-list li {
  list-style: disc;
  margin: 4px 0;
}

#main-building .academy-panel-body details {
  margin: 14px 0 0;
  border: 1px solid var(--bord);
  border-radius: 5px;
  background: var(--quote);
  overflow: hidden;
}

#main-building .academy-panel-body summary {
  cursor: pointer;
  padding: 10px 14px;
  font-weight: 700;
  list-style: none;
  user-select: none;
  color: var(--text);
}

#main-building .academy-panel-body summary::-webkit-details-marker {
  display: none;
}

#main-building .academy-panel-body summary::after {
  content: '+';
  float: right;
  font-weight: 700;
}

#main-building .academy-panel-body details[open] summary::after {
  content: '−';
}

#main-building .academy-panel-body details > p,
#main-building .academy-panel-body details > ul {
  margin-left: 14px;
  margin-right: 14px;
}

#main-building .academy-panel-body details > :last-child {
  margin-bottom: 14px;
}

@media (max-width: 759px) {
  #main-building .academy-tabs {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "tabs"
      "panels";
  }
}

@media (max-width: 640px) {
  #main-building .academy-panel-header img {
    aspect-ratio: 16 / 9;
  }
}

:root[data-style='summer'] body::before,
:root[data-style='summer'] body::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
</style>

<section id="main-building" class="academy-section">
  <div class="academy-tabs" role="tablist" aria-label="Разделы главного корпуса">
    <input type="radio" name="tabs-main" id="tab-main-1" class="academy-tab-control" checked />
    <input type="radio" name="tabs-main" id="tab-main-2" class="academy-tab-control" />
    <input type="radio" name="tabs-main" id="tab-main-3" class="academy-tab-control" />
    <input type="radio" name="tabs-main" id="tab-main-4" class="academy-tab-control" />
    <input type="radio" name="tabs-main" id="tab-main-5" class="academy-tab-control" />
    <input type="radio" name="tabs-main" id="tab-main-6" class="academy-tab-control" />
    <input type="radio" name="tabs-main" id="tab-main-7" class="academy-tab-control" />
    <input type="radio" name="tabs-main" id="tab-main-8" class="academy-tab-control" />

    <div class="academy-tab-list">
      <label for="tab-main-1"><span>Въезд и КПП</span></label>
      <label for="tab-main-2"><span>Территория и двор</span></label>
      <label for="tab-main-3"><span>Хозяйственный сектор</span></label>
      <label for="tab-main-4"><span>Яхтовый клуб и прибрежная зона</span></label>
      <label for="tab-main-5"><span>Оранжереи и теплицы</span></label>
      <label for="tab-main-6"><span>Сады и пруды</span></label>
      <label for="tab-main-7"><span>Спортплощадка</span></label>
      <label for="tab-main-8"><span>Площадь с фонтаном</span></label>
    </div>

    <div class="academy-tab-panels">
      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-1">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Въезд и КПП</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Основной доступ на территорию кампуса осуществляется через северный въезд со стороны материка. Дорога выводит к контрольно-пропускному пункту, оформленному сдержанно и без излишней строгости: небольшая постройка для комфортного нахождения 24/7, шлагбаум, кованые ворота, арочные металлодетекторы и магические детекторы. Рядом с постройкой информационные таблички с правилами пребывания на территории. Внутри несколько мониторов, на которые выведены изображения с ближайших камер видеонаблюдения.
          </p>
          <p>
            Перед КПП расположена парковка для служебного транспорта и автомобилей сотрудников, а также ограниченного числа студентов, имеющих разрешение на личный транспорт. Проверка пропусков проходит в штатном режиме, без задержек и лишних формальностей. В крайних случаях сотрудники КПП могут досмотреть вещи персонала или студентов, если есть веские основания подозревать попытку внести или вынести опасные предметы и ингредиенты.
          </p>
          <p>
            Визуально въезд ничем не отличается от контроля на территории частного учебного или исследовательского центра, однако режим доступа соблюдается строго. Это выражается в особенном контроле посторонних представителей магического мира, которые приезжают в Академию. Они проходят обязательный осмотр личных вещей и оформляют временное разрешение на пребывание.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-2">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://upforme.ru/uploads/001c/82/f2/4/378884.webp" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Территория и двор</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Внутренняя территория кампуса представляет собой сеть дорожек, зелёных зон и зданий, органично вписанных в ландшафт острова. Деревья и кустарники создают естественный заслон от внешнего мира, а пространство между корпусами не выглядит перегруженным — здесь легко ориентироваться и приятно передвигаться пешком.
          </p>
          <p>
            Центральной точкой территории является площадь перед Главным корпусом. Она открыта и хорошо просматривается, служа удобным ориентиром и местом встреч. От площади во все стороны расходятся дорожки, уходящие вглубь острова. Где-то это ровный асфальт, где-то — гравий или деревянные настилы, проложенные над камнем и песком. Вдоль маршрутов установлены фонари с мягким, ровным светом, обеспечивающим хороший обзор даже в тёмное время суток.
          </p>
          <p>
            Восточный берег острова более открыт: отсюда хорошо видно море и линию горизонта. Западная часть защищена узким проливом и используется преимущественно в служебных целях — здесь находятся технические зоны и подходы к воде. Прогулочные маршруты позволяют обойти почти весь остров, выходя к разным участкам побережья: от каменистых кос до спокойных заводей, где вода кажется тише и глубже.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-3">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://upforme.ru/uploads/001c/82/f2/4/297979.webp" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Хозяйственный сектор</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Хозяйственный сектор — комплекс современных минималистичных помещений, защищённых от различных эксцессов как с помощью рун, так и сигнализаций и датчиков. Оснащены по современным стандартам для обеспечения бесперебойной и эффективной работы академии. Представляет собой два подземных этажа, с выходами к системе подземных тоннелей и к грузовым лифтам.
          </p>

          <p><strong>Что входит в сектор:</strong></p>
          <ul class="academy-list">
            <li>
              зона приёмки и сортировки, а также склады на минус первом этаже. Отдельные помещения и секции приспособлены под хранение техники, бытовой химии, расходных материалов, магических ингредиентов, инструментов и прочего. Имеются холодильные камеры.
            </li>
            <li>
              генераторная и обслуживающая инфраструктура на минус втором этаже. Здесь расположено всё, что отвечает за энергию, водоснабжение, канализацию, очистку и фильтрацию, отопление.
            </li>
            <li>
              мастерская, рабочая прачечная, хозяйственная кладовая и комната для персонала хоз.сектора на минус втором этаже. Здесь персонал может заниматься ремонтом отдельных предметов, а также отдохнуть. Отсюда мастера-ведьмы отправляются для починки чего-либо на территории академии непосредственно на места, а уборщики хранят свой инвентарь.
            </li>
          </ul>

          <p>
            На территории академии расположено несколько резервных генераторов, а также солнечные панели и ветрогенераторы, замаскированные под архитектурные элементы.
          </p>
          <p>
            Большое внимание уделено системе учёта и контроля, защите. Попасть в хозсектор может только персонал с соответствующим доступом. Во всех помещениях размещены камеры наблюдения.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-4">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Яхтовый клуб и прибрежная зона</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Яхтовый клуб и прибрежные сооружения являются важной частью территории кампуса. Официально они используются для спортивных и учебных программ, связанных с водой, а также для обслуживания островной инфраструктуры. Причалы, ангары и служебные помещения аккуратно вписаны в береговую линию и не нарушают общего облика острова. Прибрежная зона используется как для организованных занятий, так и для отдыха, делая море важной частью кампуса.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-5">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://upforme.ru/uploads/001c/82/f2/4/378884.webp" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Оранжереи и теплицы</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Оранжерейный комплекс Академии расположен на восточной окраине кампуса в Салеме. Комплекс возведён на слегка возвышенном участке, дренированном естественными подземными ключами, и обращён к юго-востоку для максимального захвата утреннего солнца, которое в этих краях часто скрыто за туманами.
          </p>

          <p>Комплекс состоит из отдельных оранжерей, образующих полукруг вокруг центрального павильона для практических занятий. Все строения выполнены в едином стиле:</p>
          <ul class="academy-list">
            <li>Фундаменты и несущие стены сложены из грубого гранита. В камне вырезаны руны-обереги.</li>
            <li>Каркасы оранжерей — чугунные викторианские конструкции, усиленные бронзовыми вставками с защитными символами.</li>
            <li>Стеклянные панели — современные, с алхимическим напылением, регулирующим спектр света и теплоизоляцию. Они вставлены в старые рамы, создавая контраст старого и нового.</li>
          </ul>

          <p>
            Комплекс соединён с главным учебным корпусом Академии и хозяйственными постройками подземными переходами.
          </p>

          <details>
            <summary>Подробнее: помещения, режимы доступа и системы</summary>

            <p><strong>1. Основная учебная оранжерея (Общедоступная)</strong></p>
            <p>
              <strong>Расположение:</strong> центральное здание комплекса.<br>
              <strong>Доступ:</strong> все студенты и преподаватели.<br>
              <strong>Назначение:</strong> основное место для практических занятий. Здесь выращиваются растения, необходимые для базового учебного процесса:
            </p>
            <ul class="academy-list">
              <li>Лекарственные травы</li>
              <li>Растения для простых защитных зелий</li>
              <li>Нейтральные магические растения для начальных практик</li>
            </ul>
            <p>
              <strong>Особенности:</strong> разделена на секторы по типам экосистем (умеренная зона, субтропики, небольшой уголок пустынных растений). Имеется система автоматического полива, регулируемая руническими панелями.
            </p>
            <p><strong>Оборудование для практических занятий:</strong></p>
            <ul class="academy-list">
              <li>Большие рабочие столы из каменной плиты, устойчивые к проливам и магическим воздействиям</li>
              <li>Раковины с проточной водой</li>
              <li>Печи и жаровни для сушки трав и первичной обработки</li>
              <li>Доска с мелом и магическим проектором для демонстрации схем и рун</li>
              <li>Полки с базовым набором горшков, грунтов (обычных и с примесями серебра/соли), инструментов</li>
            </ul>

            <p><strong>2. Декоративная и праздничная оранжерея</strong></p>
            <p>
              <strong>Расположение:</strong> северо-западное крыло комплекса.<br>
              <strong>Доступ:</strong> все студенты и преподаватели в роли посетителей. Для работ — обслуживающий персонал.<br>
              <strong>Назначение:</strong> выращивание цветов и растений для украшения интерьеров Академии, проведения праздников (Колесо Года, Церемония посвящения, Выпускной бал и проч.).
            </p>
            <p><strong>Коллекция:</strong></p>
            <ul class="academy-list">
              <li>Сезонные цветы</li>
              <li>Розарий</li>
              <li>Вечнозелёные вьющиеся растения для оформления залов</li>
              <li>Деревья-бонсай, форма которых корректируется</li>
            </ul>
            <p>
              <strong>Особенности:</strong> особый микроклимат, поддерживающий непрерывное цветение. Часто используется для медитативных практик и встреч.
            </p>

            <p><strong>3. Оранжерея опасных и ядовитых растений</strong></p>
            <p>
              <strong>Расположение:</strong> стоящее здание к западу от основного комплекса, окружённое каменной стеной с рунами подавления.<br>
              <strong>Доступ:</strong> только преподаватели профильных дисциплин. Двойная система допуска: ключ и печать.<br>
              <strong>Назначение:</strong> выращивание и изучение растений, требующих крайней осторожности.
            </p>
            <p><strong>Коллекция:</strong></p>
            <ul class="academy-list">
              <li>Мандрагора</li>
              <li>Беладонна, болиголов, аконит</li>
              <li>Грибы-биолюминесценты с галлюциногенными спорами</li>
              <li>Образцы, потенциально подверженные влиянию Скверны (для исследовательских целей)</li>
            </ul>
            <p><strong>Меры безопасности:</strong></p>
            <ul class="academy-list">
              <li>Герметичные стеклянные купола над каждым опасным экземпляром</li>
              <li>Автономная система вентиляции с фильтрами из серебряной пыли и соли</li>
              <li>Руничные барьеры, подавляющие распространение ядовитых испарений и магических эманаций</li>
              <li>Аварийные амулеты нейтрализации ядов у входа</li>
            </ul>

            <p><strong>4. Оранжерея редких и ценных растений</strong></p>
            <p>
              <strong>Расположение:</strong> подземный уровень под центральным павильоном. Доступ через скрытую дверь в подземном переходе от главного учебного комплекса Академии.<br>
              <strong>Доступ:</strong> исключительно для старшего преподавательского состава, деканов и директора. Защищена сложнейшими печатями, требующими для открытия дактилоскопию и совместного заклинания двух уполномоченных лиц.<br>
              <strong>Назначение:</strong> выращивание и сохранение исчезающих, чрезвычайно редких и дорогих магических растений, необходимых для создания мощных артефактов, эликсиров и исследований.
            </p>
            <p>
              <strong>Особенности:</strong> полностью искусственное освещение кристаллами, накапливающими солнечный свет. Климат контролируется древними артефактами Ковена. Каждое растение находится под индивидуальной охраной и наблюдением.
            </p>

            <p><strong>5. Оранжерея для Кружка садоводства</strong></p>
            <p>
              <strong>Расположение:</strong> небольшая отдельная теплица в южной части комплекса.<br>
              <strong>Доступ:</strong> члены кружка садоводства под руководством куратора-преподавателя.<br>
              <strong>Назначение:</strong> практические занятия кружка, самостоятельные проекты студентов, выращивание растений для личного пользования (с одобрения куратора).
            </p>
            <p><strong>Особенности:</strong></p>
            <ul class="academy-list">
              <li>Индивидуальные грядки и стеллажи, закреплённые за активными членами кружка</li>
              <li>Компостная яма с «живыми» удобрениями (черви, усиленные магией земли)</li>
              <li>Небольшая библиотечка со справочниками по садоводству</li>
              <li>Уютная зона для обсуждений и чаепитий с травами собственного выращивания</li>
            </ul>

            <p><strong>Склад инвентаря и расходных материалов</strong></p>
            <p><strong>Расположение:</strong> пристройка к основной учебной оранжерее.</p>
            <p><strong>Содержимое:</strong></p>
            <ul class="academy-list">
              <li>Садовый инструмент (лопаты, грабли, секаторы, ножницы), часть — с рунической закалкой для работы с магическими растениями</li>
              <li>Запасные горшки, кашпо, поддоны из различных материалов (глина, керамика, специальное стекло)</li>
              <li>Грунты и субстраты: нейтральные, щелочные, кислые, с добавлением измельчённых артефактных материалов</li>
              <li>Удобрения, в том числе магические</li>
              <li>Средства индивидуальной защиты: перчатки из прочной кожи, очки, респираторы с фильтрами</li>
              <li>Аптечка первой помощи с противоядиями и нейтрализаторами</li>
            </ul>

            <p><strong>Зона отдыха и наблюдения</strong></p>
            <p>
              Небольшая открытая площадка с каменными скамьями в центре комплекса вокруг центральной оранжереи, откуда открывается вид на все оранжереи. Место для краткого отдыха студентов, наблюдения за изменением растений в естественном свете и проведения коротких лекций на открытом воздухе.
            </p>

            <p><strong>Системы жизнеобеспечения и безопасности</strong></p>
            <p><strong>1. Полив:</strong> комбинированная система — автоматический полив от резервуаров с дождевой водой и ручной полив заряженной водой (настоянной на кристаллах) для особых растений.</p>
            <p>
              <strong>2. Защита:</strong> по периметру всего комплекса в землю вкопаны обереги-столбы, образующее слабое защитное поле, отпугивающее вредителей и случайных животных. В случае тревоги поле может быть усилено. Регулярная (раз в пару недель) проверка рун и технического оборудования в оранжереях с ядовитыми и редкими растениями. Наличие камер видеонаблюдения по всему периметру оранжерей.
            </p>
          </details>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-6">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://upforme.ru/uploads/001c/82/f2/4/378884.webp" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Сады и пруды</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Более двух гектаров островной земли отведено под сады и озеленение. Где-то сохранён естественный рельеф острова, но в основном пространство благоустроено и облагорожено так, чтобы по нему было легко и приятно гулять.
          </p>
          <p>
            Вымощенная камнем извилистая дорожка начинается у главного корпуса и постепенно уводит к большому пруду. По пути встречаются скамейки для отдыха, аккуратно высаженные кустарники, цветочные клумбы и вечнозеленые растения. У воды стоят беседки, а деревянный настил тянется дальше — к небольшому островку в центре водоёма. Там раскинулась старая ива, чья густая тень стала любимым убежищем студентов в жаркие дни.
          </p>
          <p>
            Неподалёку от пруда открывается центральная поляна с ровно подстриженным газоном. Здесь устраивают пикники, играют в командные игры, занимаются спортом и просто отдыхают на траве.
          </p>
          <p>
            От центрального пруда дорожка проходит через бамбуковую рощу и выводит к японскому саду. В его сердце расположен небольшой пруд с карпами и кувшинками лотоса. В разные времена года здесь можно увидеть цветение сливы, сакуры и глицинии. Рядом с водой аккуратно расставлены бонсай: миниатюрные сосны, клёны и хризантемы. Раз в сезон можно заметить, как ведьмаки обновляют руны, поддерживающие особый микроклимат этого скрытого в бамбуковой роще сада.
          </p>
          <p>
            Если не бояться испачкать ботинки и свернуть на обычные землистые тропы, уходящие в старые рощи лиственных и хвойных деревьев, можно выйти к каменной лестнице, давно поросшей мхом. Она ведёт вниз, в естественное углубление рельефа, где раскинулся влажный сад. Небольшие и множественные водоёмы здесь заросли камышом и кувшинками, а над водой часто стоит плотный туман. В траве под ногами можно заметить множество земноводных и насекомых, для которых это место стало настоящим убежищем. Через один из заросших прудов перекинулся старый каменный мостик, покрывшийся мхом от времени и сырости. Это далекое место кажется забытым и немного диким, даже зловеще-таинственным, особенно ночью, а потому студенты нечасто сюда заходят.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-7">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://forumstatic.ru/files/001c/8d/fd/24675.png" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Спортплощадка</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            По территории разбросан целый комплекс спортивных площадок.
          </p>
          <p>
            У общежитий расположена небольшая площадка с уличными тренажёрами, в том числе с баскетбольным кольцом. Беговые дорожки проложены в западной части, в том числе вокруг нескольких зданий. На искусственно созданном насыпном пляже установлены стойки для волейбола.
          </p>
          <p>
            Пользоваться всем этим можно и в свободное от учёбы время. Иногда занятия проводятся на пляже и, в том числе, в воде — тогда защиту обеспечивают ведьмы, контролируя прибрежное пространство.
          </p>
        </div>
      </article>

      <article class="academy-panel" role="tabpanel" aria-labelledby="tab-main-8">
        <header class="academy-panel-header">
          <div class="academy-panel-img">
            <div><img src="https://upforme.ru/uploads/001c/82/f2/4/378884.webp" alt="" /></div>
          </div>
          <h3 class="academy-panel-title">Площадь с фонтаном</h3>
        </header>
        <div class="academy-panel-body">
          <p>
            Прямо перед главным корпусом раскинулась небольшая площадь, покрытая зеленью в тёплое время года. Клёны и липы дают тень, кованые фонари по вечерам наполняют пространство мягким светом, а лавочки становятся пристанищем для студентов, их рюкзаков, книг и бесконечных разговоров.
          </p>
          <p>
            В самом центре площади стоит фонтан, ставший полной копией того, что находился в Академии Фасги. Его украшают фигуры юноши и девушки, ведьмы и её фамильяра. Бронзовые силуэты стоят почти вплотную, но не касаются друг друга: между ладонью ведьмы и зверем — тем самым, в котором каждый неизменно узнаёт своего, — струя воды сворачивается в тонкую мерцающую ленту, будто живая связь, обвивающая их тела. Фонтан не знает зимы и даже в сильные морозы вода в нём продолжает течь, а над чашей поднимается лёгкий пар.
          </p>
        </div>
      </article>
    </div>
  </div>
</section>
[/html]
[hideprofile]

+2

4

Общежития студентов

Жилые корпуса студентов находятся в северной части острова, ближе к въезду и внешней инфраструктуре кампуса. Такое расположение позволяет отделить учебные и жилые зоны, сохраняя при этом удобную связь между ними. Общежития стоят чуть в стороне от оживлённых маршрутов и окружены зелёными участками, создающими более спокойную и камерную атмосферу.

Если посмотреть на общежития с высоты, то можно будет увидеть два восьмигранника, расположившихся друг на против друга и между которыми находится круглый парк со множеством лавочек и иллюминацией, что в совокупности создаёт образ символа бесконечности.

Пятиэтажные здания выполнены в сдержанном, функциональном стиле и хорошо вписываются в ландшафт острова. Внутри предусмотрено всё необходимое для повседневной жизни студентов: жилые комнаты, общие пространства для отдыха и учёбы, кухни и хозяйственные помещения. Общественные зоны используются как для самостоятельной работы, так и для неформального общения.

Из окон открываются виды на воду, лесистые участки острова или дорожные маршруты кампуса. Близость моря ощущается здесь особенно отчётливо — в воздухе, в переменчивом освещении и в звуках ветра, которые становятся привычной частью повседневной жизни.

Расселение простое и незамысловатое. Первые два курса живут по четыре человека в комнате, где хватает места и для кроватей, и для личных столов с ящиками, и для больших шкафов. Там же есть собственный санузел с раковиной и туалетом, но душевые общие, на этаже.

На третьем и четвёртом курсах студенты могут переселиться в одноместные или двухместные комнаты с собственной душевой: здесь больше пространства для самовыражения, учёбы и поздних разговоров.

Правил в общежитии немного, и все они больше про взаимоуважение. Комендантского часа нет, но ночевать не в своей комнате нельзя. Нельзя проносить спиртное, курить в помещениях равно как и употреблять иные дурманящие, в том числе магические, вещества, а также хранить в комнатах опасные артефакты и оружие. Запрещается шуметь, нарушая покой обитателей. На каждом этаже ведётся график уборки — от студентов зависит чистота их личных комнат, а также коридоров и помещений общего пользования.

Многое держится на такте и принципе не нарушения чужих границ, однако сотрудники Академии не оставляют общежития совсем без присмотра. При необходимости может совершаться обход сотрудниками службы безопасности. Личные комнаты досматриваются только в крайних случаях при наличии жалоб и рассмотрении дел дисциплинарной комиссией.

У каждого общежития есть свой комендант, к которому можно обратиться для решения различных вопросов (от поведения соседей до засора в ванной). В их задачи также входит вопрос расселения, контроль за дисциплиной и составление графика дежурств.

Каждый номер комнаты состоит из трёх цифр, где первая цифра - этаж на котором находится комната.

[hideprofile]

+2

5

Служба безопасности Академии

Здания бывшего университетского комплекса Cat Cove используются как административно-служебная зона Академии. Здесь размещаются подразделения службы безопасности, технические службы и центры связи. Местоположение комплекса удобно как с точки зрения логистики, так и с позиции контроля доступа к острову и прилегающим территориям.

Внешне этот сектор не выделяется и воспринимается как часть университетской и исследовательской инфраструктуры. Внутренние помещения адаптированы под служебные нужды и закрыты для свободного доступа. Именно здесь сосредоточена работа, не связанная напрямую с учебным процессом, но необходимая для стабильного функционирования кампуса.

После реконструкции в здании появились:

— хранилище улик, собранных во время разбираемых дел, в том числе для магических;
— офис открытого типа и кабинеты для отдельных специалистов, например, отвечающих за поиск информации о странных явлениях в интернете;
— комнаты для бесед с обвиняемыми, в том числе с подавлением части сил ведьм и фамильяров;
— конференц-зал для брифингов и, по необходимости, встреч с гостями из-за пределов Академии;
— собственное хранилище артефактов и зелий в случае ЧС;
— собственная генераторная;
— комнаты отдыха.

Также было лучше оснащено дежурное помещение с многочисленными экранами, на которые выведены изображения со всех камер. Сюда же поступают данные с сигнализаций в разных зданиях кампуса.

В здании СБ всегда есть сотрудники — работа ведётся 24/7. Связь осуществляется не только через рации и телефоны, в штате также есть телепаты.

Внутри всё максимально минималистично и функционально.

По периметру расположены постовые пункты для наблюдения как за появлением Скверны, так и попытками нежелательных гостей попасть на территорию. Наблюдение также ведётся за береговой линией.
Сейчас система защиты действует на полную. Она включает камеры наблюдения; сигнальные артефакты, реагирующие на людей, животных и активное проявления Скверны; артефакты, создающие иллюзии, которые в случае проникновения нежелательных лиц на некоторое время наведут на них морок.

[hideprofile]

+2

6

Медицинский центр и кабинеты психологов

Медицинский центр в салемском кампусе куда уместнее было бы называть небольшим медицинским центром. Он представляет из себя отдельное здание в западной части острова, неподалёку от КПП и общежитий, и имеющий в своём распоряжении диагностические кабинеты, процедурные, запас базовых препаратов, хранящихся на складе, операционные, изоляторы и отдельную зону для реабилитации. Медцентр рассчитан на то, чтобы студенты, могли получить любую медицинскую помощь, будь то простуда или тяжёлые травмы полученные на полевых заданиях.

Кабинеты психологов находятся в отдельном крыле медицинского корпуса и представляют из себя более «домашнюю» его часть: спокойный свет, нейтральные цвета, защита от подслушивания, возможность индивидуальной терапии и терапию малых групп. Здесь помогают не только с тревогами и конфликтами, но и любыми другими вопросами, которые могут беспокоить студентов и сотрудников Академии.

[hideprofile]

+4

7

Научный комплекс

Первый и второй этажи комплекса предназначены для учебно-практических занятий студентов. Здесь преподают алхимию и зелья, руническую грамотность, артефакторику. Кабинеты оборудованы всем необходимым для теоретических и практических уроков. Кабинеты защищены от непредвиденных инцидентов, которые могут быть на уроках. На первом этаже небольшая комната отдыха с собственной кухней для преподавателей.

На минус первом этаже расположены лабораторный архив, а также хранилище-склад, однако опасные и редкие ингредиенты там не хранятся. Доступ на этаж имеют только работники лаборатории, преподаватели и служба безопасности. Этаж соединён с подземным коридорами, ведущими в другие постройки.

Третий и четвёртый этажи предназначены для независимых от Инквизиции и Ковенов исследований, которым дан толчок с переездом в Салем. Это не секретные лаборатории, о их существовании известно всем, однако доступ туда строго ограничен.
Там работают специалисты, как прикрепленные к академии, так и приглашенные ею на время. Здесь ведутся исследования связанные с Потоком, магией и особенно Скверны. Так группа исследователей занялась изучением вопроса более эффективного обнаружения заражения Скверной. Здесь же создаются зелья, руны и артефакты, необходимые для академии и сотрудников.
Как и в других защищенных зонах попасть в эту часть комплекса можно лишь с карточкой доступа и магическим отпечатком.
Лаборатории защищены регулярно обновляемыми заклинаниями и рунами, имеют систему магической очистки или блокирования магии в отсеках, в которых хранятся и исследуются образцы. Здесь постоянно присутствует несколько сотрудников СБ, в первую очередь для реагирования в случае непредвиденных ситуаций.

Внутри здание выполнено в минималистичном стиле, светлых оттенках. Если учебные этажи украшены растениями, оборудованы лавочками для отдыха, а кабинеты различными материалами и оборудованием в зависимости от занятий,  то третий и четвёртый максимально стерильны. В зависимости от направления исследований каждый кабинет лабораторий оборудован должным образом.

[hideprofile]

+8


Вы здесь » Kindred Spirits » Информация о мире » Локации Академии