@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fira+Code&display=swap');
@supports(display: grid) {
:root {
/* S-CSS-P Integration */
/* If you're making a new CSS theme, please include the following three variables at minimum. */
--theme-base: "black-highlighter";
/* must be either "black-highlighter" or "sigma9" */
--theme-id: "penumbra-bhl";
/* set this to the URL of your theme's page - eg for "component:ar-theme", set it to "ar-theme" */
--theme-name: "Penumbra BHL Theme";
/* set this to your theme's full name */
--lgurl: var(--logo-image);
--header-title: "TỔ CHỨC SCP";
--header-subtitle: "QUẢN THÚC - LƯU TRỮ - BẢO MẬT";
/* Typefaces */
--body-font: "Roboto", sans-serif;
--header-font: "Josefin Sans", sans-serif;
--title-font: "Josefin Sans", sans-serif;
--mono-font: "Fira Code", "Andale Mono", "Courier New", Courier, monospace;
--ui-wght: 600;
--ui-hvr-wght: 800;
/* Standard Colors */
--white-monochrome: 248, 248, 248;
/* white */
--pale-gray-monochrome: 237, 237, 237;
/* v light gray for blockquotes and stuff */
--light-pale-gray-monochrome: 237, 237, 237;
/* very light pale gray for misc. use */
--very-light-gray-monochrome: 215, 215, 215;
/* very light accent gray for misc. use */
--light-gray-monochrome: 160, 160, 160;
/* light accent gray for login status */
--gray-monochrome: 66, 66, 72;
/* gray */
--dark-gray-monochrome: 47, 51, 60;
/* dark accent gray for sidebar background */
--black-monochrome: 33, 37, 46;
/* black */
--accentColor: 30, 181, 232;
/*Penumbra Accent Color*/
--pale-accent: var(--accentColor);
/* light red, for visited links */
--bright-accent: var(--accentColor);
/* bright red */
--medium-accent: var(--accentColor);
/* medium red - the "default" accent color */
--dark-accent: var(--accentColor);
/* dark red */
--alt-accent: 221, 102, 17;
/* pale orange, for newpage links */
/* Background and Header Colors */
--background-gradient-color: var(--black-monochrome);
/* Primary Theme Colors */
--swatch-background: var(--dark-gray-monochrome);
/* Primary Text Colors */
--swatch-text-light: var(--pale-gray-monochrome);
--swatch-text-general: var(--swatch-text-light);
/* Primary Menu Colors */
--swatch-menubg-color: var(--black-monochrome);
--swatch-menutxt-general-color: var(--swatch-menutxt-light-color);
--swatch-alternate-color: var(--swatch-menubg-dark-color);
/* Link Colors */
--sidebar-links-text: var(--bright-accent);
/* Rating Module Colors */
--rating-module-button-color: var(--white-monochrome);
--rating-module-text-color: var(--swatch-menutxt-light-color);
/* Header Gradients */
--diagonal-stripes: initial;
/* header measurements */
--header-height-on-desktop: 8.750rem;
--header-height-on-mobile: 8.750rem;
--header-h1-font-size: calc(2rem + (2.75 - 2) * ((100vw - 18.750rem) / (60 - 18.750)));
--header-h2-font-size: calc(var(--base-font-size) * 1.15);
/* Toggle Sidebar Variable */
--toggle-border-color: rgb(var(--swatch-primary));
--toggle-icon-color: rgb(var(--swatch-primary));
--toggle-roundness: 0;
}
/* ===PAGE ELEMENTS COLORS=== */
:root {
/* ===UI BUTTON COLORS=== */
--ui-button-bg: var(--swatch-menubg-medium-dark-color);
--ui-button-txt: var(--swatch-text-secondary-color);
--ui-button-hover-txt: var(--swatch-text-secondary-color);
/* ===MODALS COLORS=== */
--modal-bg: var(--black-monochrome);
--modal-body-text: var(--swatch-text-secondary-color);
--modal-body-header-txt: var(--swatch-primary);
--modal-header-bg: var(--black-monochrome);
/* ===FOOTNOTES HOVER BLOCK COLORS=== */
--hoverblock-bg: var(--swatch-menubg-medium-dark-color);
--hoverblock-txt: var(--swatch-text-general);
}
#main-content {
/* ===TABS===*/
--tabs-bg: var(--swatch-menubg-medium-dark-color);
--tabs-content-bg-color: var(--swatch-menubg-medium-dark-color), 1;
/* ===BLOCKQUOTES=== */
--blockquote-bg-color: var(--swatch-menubg-medium-dark-color), 1;
}
#header {
/* Primary Header Colors */
--swatch-headerh1-color: var(--bright-accent);
--swatch-headerh2-color: var(--bright-accent);
}
#footer {
--footer-link-hover-color: var(--swatch-text-tertiary-color);
}
::-moz-selection {
background: rgba(var(--swatch-primary), 1);
color: rgb(var(--black-monochrome)) !important;
text-shadow: none;
}
::selection {
background: rgba(var(--swatch-primary), 1);
color: rgb(var(--black-monochrome)) !important;
text-shadow: none;
}
html,
body {
scrollbar-color: rgb(var(--swatch-primary)) rgb(var(--black-monochrome));
}
body {
background-image: var(--gradient-background);
background-size: 100% var(--background-gradient-distance);
}
.danger-diamond a,
.danger-diamond a:hover {
color: rgba(0, 0, 0, 0) !important;
box-shadow: initial !important;
}
#header::before {
background-image: var(--lgurl);
opacity: 0.15;
background-size: auto 9.5rem;
}
#header h1 a {
text-transform: uppercase;
}
#header h1,
#header h1 a,
#header h1 a::before {
top: 0.35rem;
}
#header h2 {
top: calc(var(--header-h2-font-size) * 0.9);
}
#side-bar .heading {
background: none;
flex-basis: 90%;
margin: 0.5rem auto 0.125rem;
font-family: var(--header-font);
}
#side-bar .heading p,
#side-bar .side-block>.collapsible-block .collapsible-block-link {
text-transform: none;
text-align: left;
font-size: 0.94rem;
text-indent: 0;
}
#page-content {
font-size: 0.9rem !important;
}
#page-title {
color: rgb(var(--swatch-text-general));
border-color: rgb(var(--swatch-text-general));
padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: rgb(var(--swatch-primary));
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
color: rgb(var(--white-monochrome));
}
#login-status #my-account {
--wght: 400;
font-weight: 400;
}
#top-bar div.mobile-top-bar>ul>li>ul>li>a,
#top-bar div.top-bar>ul>li>ul>li>a {
--wght: 400;
font-weight: 400;
}
#top-bar div.mobile-top-bar>ul>li>ul>li:hover a,
#top-bar div.top-bar>ul>li>ul>li:hover a {
color: rgb(var(--black-monochrome));
}
#page-content a:not([href*="user"]):not([href*="javascript:;"]) {
padding: 0.15em;
margin: -0.15em;
color: rgb(var(--white-monochrome));
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
box-shadow: inset 0 -0.125rem 0 0rem rgba(var(--swatch-primary), 1);
transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1), padding 300ms cubic-bezier(0.4, 0.0, 0.2, 1), margin 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
#page-content a:not([href*="user"]):not([href*="javascript:;"]):hover {
padding: 0.3em 0.25em 0.2em 0.25em;
margin: -0.25em;
box-shadow: inset 0 -1.5em 0 0 rgba(var(--swatch-primary), 1);
text-decoration: none;
color: rgb(var(--black-monochrome))
}
.page-rate-widget-box {
background: rgb(var(--black-monochrome));
}
/* Ayer's info-bar patch by Monkatraz */
#page-content .info-container .collapsible-block-folded,
#page-content .info-container .collapsible-block-unfolded-link {
width: 100%;
max-width: 100%;
margin: 0 auto;
box-shadow: none;
}
#page-content .info-container .collapsible-block-link {
padding: 0;
}
#page-content .info-container .collapsible-block-link::before,
#page-content .info-container .collapsible-block-unfolded-link::before {
content: " ";
display: none;
}
#page-content .info-container .collapsible-block-content::after {
display: none;
}
#u-author_block>p>a {
background-color: rgb(var(--black-monochrome));
border-radius: 0;
}
:is(blockquote, .blockquote, div.blockquote, [class*="blockquote"]),
#toc {
background-color: rgb(var(--black-monochrome));
border: solid 0.125rem rgb(var(--dark-gray-monochrome));
box-shadow: -0.188rem 0rem 0rem -0.006rem rgb(var(--swatch-primary));
}
.code {
background-color: rgb(var(--black-monochrome));
border: solid 0.1875rem rgb(var(--dark-gray-monochrome));
box-shadow: none;
}
.code pre,
.code p,
.code {
font-size: 0.87rem;
background-color: rgb(var(--black-monochrome));
color: rgb(var(--swatch-text-general));
}
.code pre {
white-space: pre-wrap;
}
.code pre span[class*="hl-"] {
-webkit-filter: invert(1) hue-rotate(180deg);
filter: invert(1) hue-rotate(180deg);
}
#page-content .yui-navset .yui-nav {
width: 100%;
}
#page-content .yui-navset .yui-nav a {
transition: background-color 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
#page-content .yui-navset .yui-nav li,
#page-content .yui-navset .yui-navset-top .yui-nav li {
box-shadow: initial;
}
#page-content .yui-navset .yui-nav li {
background-color: rgb(var(--black-monochrome));
padding-top: 0.25em;
-webkit-animation: tab-active 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
animation: tab-active 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
-webkit-animation-fill-mode: forward;
animation-fill-mode: forward;
-webkit-animation-play-state: paused;
animation-play-state: paused;
}
#page-content .yui-navset .yui-nav li:hover {
background-color: rgb(var(--swatch-primary));
}
#page-content .yui-navset .yui-nav li em {
transition: transform 400ms cubic-bezier(0.4, 0.0, 0.2, 1);
color: rgb(var(--swatch-menutxt-light-color));
}
#page-content .yui-navset .yui-nav li:hover em {
color: rgb(var(--swatch-menutxt-dark-color));
}
#page-content .yui-navset .yui-nav .selected {
margin-top: -0.5em;
padding-top: 0.5em;
margin-right: 0.0625rem;
background-color: rgb(var(--swatch-primary));
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
-webkit-animation-fill-mode: backwards;
animation-fill-mode: backwards;
-webkit-animation-play-state: running;
animation-play-state: running;
}
#page-content .yui-navset .yui-nav .selected a em {
transform: translateY(-0.25em);
color: rgb(var(--black-monochrome));
}
#page-content .yui-navset .yui-nav a,
#page-content .yui-navset .yui-nav a:hover,
#page-content .yui-navset .yui-nav a:active,
#page-content .yui-navset .yui-nav a:focus-within {
background: rgba(0, 0, 0, 0) !important;
font-family: var(--title-font);
font-weight: 700;
isolation: isolate;
}
#page-content .yui-navset .yui-nav a::before,
#page-content .yui-navset .yui-nav a::after {
content: " ";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 1;
pointer-events: none;
}
#page-content .yui-navset .yui-nav a:hover::before,
#page-content .yui-navset .yui-nav a:focus::before,
#page-content .yui-navset .yui-nav .selected a::before {
-webkit-mask-position: center 0rem !important;
mask-position: center 0rem !important;
background-position: 100% 200vh;
}
#page-content .yui-navset .yui-nav a:hover::after,
#page-content .yui-navset .yui-nav a:focus::after,
#page-content .yui-navset .yui-nav .selected a::after {
opacity: 0;
-webkit-animation: fade 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
animation: fade 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
-webkit-animation-direction: backwards;
animation-direction: backwards;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
}
#page-content :is(.yui-navset, .yui-navset-top, .yui-navset-bottom) .yui-content {
background: rgb(var(--black-monochrome));
border: none;
margin-top: 0;
}
#page-content table.wiki-content-table tr {
border: none !important;
}
#page-content table.wiki-content-table th {
background-color: rgb(var(--black-monochrome));
color: rgb(var(--swatch-primary));
;
font-family: var(--title-font);
font-weight: 700;
text-transform: uppercase;
padding-top: 0.4em;
}
#page-content table.wiki-content-table th,
#page-content table.wiki-content-table td {
border: solid 0.0625rem rgb(var(--swatch-primary)) !important;
}
hr {
border-color: rgb(var(--accentColor));
background-color: rgb(var(--accentColor));
}
/*---- TAB ANIMATION by Croquembouche ---- */
#page-content .yui-navset .yui-content>div {
display: block;
top: 0;
overflow: hidden;
transform-origin: 0 0;
}
#page-content .yui-navset .yui-content>div[style*="none"] {
display: block !important;
flex: 0;
max-height: 0;
padding: 0 0.5em;
border-width: 0;
/* The following transition affects the one that DISAPPEARS */
transition: padding 0s linear 0.5s, border-width 0s linear 0.5s, flex 0.5s cubic-bezier(.18, .51, .54, .9) 0s;
-webkit-animation: tab-disappear 0.5s ease-in-out 0s 1 both;
animation: tab-disappear 0.5s ease-in-out 0s 1 both;
}
#page-content .yui-navset .yui-content>div[style*="block"] {
display: block !important;
flex: 1;
max-height: 9999rem;
/* The following transition affects the one that APPEARS */
transition: padding 0s linear 0.5s, border-width 0s linear 0.5s, flex 0.5s cubic-bezier(.18, .51, .54, .9) 0.5s;
-webkit-animation: tab-appear 0.5s ease-in-out 0.5s 1 both;
animation: tab-appear 0.5s ease-in-out 0.5s 1 both;
}
@-webkit-keyframes tab-disappear {
0% {
max-height: 9999rem;
}
1% {
max-height: 100vh;
}
100% {
max-height: 0;
}
}
@keyframes tab-disappear {
0% {
max-height: 9999rem;
}
1% {
max-height: 100vh;
}
100% {
max-height: 0;
}
}
@-webkit-keyframes tab-appear {
0% {
max-height: 0;
}
99% {
max-height: 100vh;
}
100% {
max-height: 9999rem;
}
}
@keyframes tab-appear {
0% {
max-height: 0;
}
99% {
max-height: 100vh;
}
100% {
max-height: 9999rem;
}
}
/* fancy collapsible */
#page-content .collapsible-block-folded,
#page-content .collapsible-block-unfolded-link {
background: rgb(var(--black-monochrome));
transition: background 0.25s linear;
width: -moz-fit-content;
width: -webkit-fit-content;
width: fit-content;
overflow: hidden;
margin: auto;
box-sizing: border-box;
}
#page-content .collapsible-block-folded .collapsible-block-link::before {
content: "▷ ";
}
#page-content .collapsible-block-unfolded .collapsible-block-link::before {
content: "▽ ";
}
#page-content .collapsible-block-link {
display: inline-block;
padding: 0.5rem 1rem;
text-decoration: none;
text-align: center;
color: rgb(var(--white-monochrome));
font-weight: 700;
}
#page-content .collapsible-block-link:hover {
color: rgb(var(--black-monochrome));
}
#page-content .collapsible-block-folded:hover,
#page-content .collapsible-block-unfolded-link:hover {
background: rgb(var(--swatch-primary));
}
#page-content .collapsible-block-unfolded-link {
box-shadow: 0rem -0.26rem 0rem 0rem rgb(var(--swatch-primary));
}
#page-content .collapsible-block-folded,
#page-content .collapsible-block-unfolded-link {
margin-top: 0.625rem;
margin-bottom: 0.625rem;
}
:is(div.image-block, div.scp-image-block) {
border: solid 0.5rem rgb(var(--black-monochrome));
border-bottom: solid 0rem rgb(var(--black-monochrome));
box-shadow: 0rem 0.26rem 0rem 0rem rgb(var(--accentColor));
box-sizing: border-box;
}
:is(div.image-block, div.scp-image-block) :is(.image-caption, .scp-image-caption) {
background-color: rgb(var(--black-monochrome));
border: solid 0.25rem rgb(var(--black-monochrome));
color: rgb(var(--pale-gray-monochrome));
font-size: 0.84rem;
box-shadow: none;
}
a.footnoteref {
padding: 0.05em;
color: rgb(var(--swatch-primary));
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
box-shadow: inset 0 0 0 0rem rgba(var(--swatch-primary), 1);
transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1), padding 300ms cubic-bezier(0.4, 0.0, 0.2, 1), margin 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
a.footnoteref:hover {
box-shadow: inset 0 -1.25em 0 0 rgba(var(--swatch-primary), 1);
text-decoration: none;
color: rgb(var(--black-monochrome))
}
.footnotes-footer a[href*="javascript"]::before,
.bibitems .bibitem::after,
.footnotes-footer {
background-color: rgb(var(--black-monochrome));
}
/* Tags */
.page-tags span {
border-top: 0.0625rem solid rgb(var(-white-monochrome));
}
.page-tags span a {
padding: 0.25em;
color: rgb(var(--white-monochrome));
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
box-shadow: inset 0 -0.125rem 0 0rem rgba(var(--swatch-primary), 1);
transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1), padding 300ms cubic-bezier(0.4, 0.0, 0.2, 1), margin 300ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.page-tags span a:hover {
padding: 0.3em 0.25em 0.2em 0.25em;
box-shadow: inset 0 -1.75em 0 0 rgba(var(--swatch-primary), 1);
text-decoration: none;
color: rgb(var(--black-monochrome))
}
div#page-options-bottom-2>a,
div#page-options-bottom>a {
border-color: rgba(var(--swatch-primary-darkest), 1);
background-color: rgba(var(--swatch-menubg-dark-color), 1);
color: rgb(var(--white-monochrome));
border-radius: 0;
}
div#page-options-bottom-2>a:active,
div#page-options-bottom-2>a:hover,
div#page-options-bottom>a:active,
div#page-options-bottom>a:hover {
border-color: rgba(var(--swatch-menubg-dark-color), 1);
background-color: rgba(var(--swatch-primary-darkest), 1);
color: rgb(var(--black-monochrome));
border-radius: 0;
}
#who-rated-page-area>div>span[style*="color"] {
color: rgb(var(--swatch-text-secondary-color)) !important;
}
#footer {
color: rgb(var(--black-monochrome));
}
#license-area {
color: rgb(var(--white-monochrome));
}
input.text,
textarea {
background-color: rgb(var(--black-monochrome));
color: rgb(var(--swatch-text-general));
border-color: rgb(var(--swatch-menubg-dark-color));
}
#lock-info {
background-color: rgb(var(--black-monochrome));
color: rgb(var(--swatch-text-general));
border-color: rgb(var(--swatch-menubg-dark-color));
}
/* Pop-Up Windows */
.owindow {
background-color: rgb(var(--black-monochrome));
border-color: rgb(var(--swatch-primary));
}
.owindow .modal-header {
background-color: rgb(var(--black-monochrome));
}
.owindow .modal-body img {
background-color: transparent !important;
}
.owindow .title {
background-color: rgb(var(--black-monochrome));
color: var(--swatch-primary);
border-bottom: 0.0625rem solid rgb(var(--swatch-primary));
}
.owindow .button-bar a {
background-color: rgb(var(--black-monochrome));
border-color: rgb(var(--swatch-primary));
color: rgb(var(--white-monochrome));
}
.owindow .button-bar a:hover {
background-color: rgb(var(--swatch-primary));
}
/* ---- Darkbox/Lightbox ---- */
.darkbox,
.lightbox {
border-left: solid 0.26rem rgb(var(--swatch-primary));
border-right: solid 0.26rem rgb(var(--swatch-primary));
padding: .4rem;
margin-top: 0.75rem;
margin-bottom: 0.75rem;
}
.darkbox {
background-color: rgb(var(--black-monochrome));
}
.lightbox {
background-color: rgb(var(--white-monochrome));
color: rgb(var(--black-monochrome));
}
.lightbox h2,
.lightbox h3,
.lightbox h4,
.lightbox h5,
.lightbox h6 {
color: rgb(var(--black-monochrome));
}
/* Custom Assets by EstrellaYoshte */
.limit {
margin-bottom: -1rem;
}
.anchor {
position: -webkit-sticky;
position: sticky;
height: 0;
top: 0;
z-index: 9999;
}
.sidebox {
background-color: rgb(var(--black-monochrome));
border-top: solid 0.125rem rgb(var(--swatch-primary));
padding: .14rem 1rem .14rem;
margin-top: 0;
margin-bottom: 0.5rem;
width: calc((100vw - (var(--body-width-on-desktop) + 10rem))/2);
max-height: calc(100vh - 18rem);
position: absolute;
top: 0;
left: 103.5%;
z-index: 5;
overflow: auto;
box-sizing: border-box;
}
.hovertip {
color: rgb(var(--swatch-text-general));
}
@media (max-width: 80.625rem) {
.sidebox {
width: auto;
max-width: 50vw;
color: rgba(0, 0, 0, 0);
background-color: rgba(0, 0, 0, 0);
box-shadow: 0 0 0 0 rgb(var(--swatch-primary));
border: none;
right: calc(((100vw - 1em - var(--body-width-on-desktop)) / 2) * -1);
left: initial;
pointer-events: none;
transition: max-width 0.2s ease-in-out 0.1s, color 0.2s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s, background-color 0s ease-in-out 0s;
overflow-x: hidden;
overflow-y: hidden;
scrollbar-width: thin;
}
.sidebox::-webkit-scrollbar {
width: 0.5em;
}
.sidebox * {
opacity: 0;
transition: opacity 0.2s ease-in-out 0.1s;
}
.sidebox::before,
.sidebox::after {
content: " ";
position: absolute;
pointer-events: all;
right: 0;
}
.sidebox::before {
top: calc(50% - 0.75rem);
width: 0;
height: 0;
border-top: 0.75rem solid transparent;
border-bottom: 0.75rem solid transparent;
border-right: 0.75rem solid rgb(var(--swatch-primary));
transition: border 0.1s ease-in-out 0.1s;
z-index: 10;
}
.sidebox::after {
top: 0;
max-width: 0.75rem;
width: 100%;
height: 100%;
box-shadow: 0.125rem 0 0 0 rgb(var(--swatch-primary));
max-height: calc(100vh - 18rem);
background-color: rgb(var(--black-monochrome));
z-index: -1;
transition: box-shadow 0.5s ease-in-out 0.1s, max-width 0.5s ease-in-out 0.1s, border-top-left-radius 0.5s ease-in-out 0.1s, border-bottom-left-radius 0.5s ease-in-out 0.1s;
}
.sidebox:hover,
.sidebox:active {
color: rgb(var(--swatch-text-general));
background-color: rgb(var(--black-monochrome));
pointer-events: all;
overflow-y: scroll;
transition: max-width 0.5s ease-in-out 0.2s, color 0.5s ease-in-out 0.2s, box-shadow 0.5s ease-in-out 0.1s, background-color 0s ease-in-out 0.6s, right 0.5s ease-in-out 0.1s;
}
.sidebox:hover *,
.sidebox:active * {
opacity: 1;
transition: opacity 0.5s ease-in-out 0.2s;
}
.sidebox:hover::before,
.sidebox:active::before {
border-top: 0vw solid transparent;
border-bottom: 0vw solid transparent;
}
.sidebox:hover::after,
.sidebox:active::after {
box-shadow: 0 -0.125rem 0 0 rgb(var(--swatch-primary));
right: 0;
max-width: 100%;
border-top-left-radius: 0rem;
border-bottom-left-radius: 0rem;
}
}
@media only screen and (max-width:56.25rem) {
:root {
--body-width-on-desktop: 100vw;
--header-h1-font-size: calc(2rem + (2.5 - 2) * ((100vw - 18.750rem) / (60 - 18.750)));
--header-h2-font-size: var(--base-font-size);
}
#header h1,
#header h1 a,
#header h1 a::before {
top: 0.5rem;
}
#header h2,
#header h2 a,
#header h2 a::before {
top: 0.35rem;
}
.anchor {
top: calc(var(--topbar-height-on-mobile) + 0.75rem);
}
.sidebox,
.sidebox:hover,
.sidebox:active {
right: calc(((100vw - (100% - 3rem))/2) * -1 + 1.5em);
}
.sidebox::before,
.sidebox::after {
content: " ";
position: absolute;
pointer-events: all;
right: 0;
}
.blockquote,
[class*="blockquote"],
blockquote,
div.blockquote {
margin: 0;
}
}
.page-source {
color:#fff;
background: var(--black-monochrome);
}
@media only screen and (min-width: 48.0625rem) {
#search-top-box-form input[type="submit"],
#search-top-box-form input[type="submit"]:focus,
#search-top-box-form input[type="submit"]:hover {
border-left: 0.0625rem solid rgba(var(--swatch-primary-darkest), 0);
}
#search-top-box-form input[type="submit"] {
background: rgba(var(--swatch-primary-darkest), 0.5);
}
}
}
Đó là một đêm náo nhiệt. Giữa các con kênh chằng chịt là những thân hình uốn lượn được thắp sáng bởi những chiếc đèn lồng hình sao với cá chép, hình thiên nga với bươm bướm, nhẹ nhàng lướt trên ánh trăng thơ mộng rọi từ giữa bầu trời gợn sóng và qua những ngã rẽ quanh co giữa các dãy nhà xen kẽ nhau. Những con thuyền tụ tập dòng theo hai bên bờ như những sạp chợ, thu hút khách bộ hành lẫn khách đi thuyền với những sản vật xa lạ duy nhất trong dịp này, như Sen Mộng Mơ, Bí Ngô Máu, Lồng Đèn Sum Họp, và Tarasque — một giống rùa cạn có bờm sư tử và đuôi vảy rắn, được những vị khách giàu có săn về làm thú cảnh.
Hợp chợ trên sông ở Quận Không là một nét truyền thống lâu đời vào mỗi đêm trăng rằm, biến nơi này thành điểm nóng của nhà buôn thuộc các cộng đồng dị thường trên thế giới. Nhưng khác với những dịp còn lại trong năm, sự hiện diện của những chiếc đèn lồng bằng giấy kính màu và nan tre lung linh, cùng những chiếc bánh nướng bánh dẻo đa dạng nguyên liệu, tức rằng đây chỉ có thể là đêm Hỗn Thị Trung Thu.
Trên một cây cầu nối hai bên bờ sông, giữa dòng người qua lại, một người phụ nữ trẻ đội nón len đang tựa người vào tay vịn, chú tâm nhìn theo những con thuyền đi qua.
"Adler đây, đã xác nhận đại diện của bên Bình Minh Ánh Kim trên thuyền, khớp với mô tả được cung cấp." Cô nói nhỏ.
"Mau bám theo. Nhớ đừng gây chú ý." Giọng nói trong tai cô đáp lại.
"Heh. Chị còn phải nhắc," Cô chạy xuống cầu. "Mà cũng khôn thật. Chọn đấu giá ở một nexus mà mọi máy ghi hình đều vô dụng."
"Thế nên mới nhờ Maus đó. Cậu ta đâu?"
"Em đang ở bờ kênh Quang Sách," Một nam thanh niên đội mũ lưỡi trai đang bước đi bên bờ kênh, mắt hướng về một chiếc thuyền máy. "đang bám theo thuyền chở Fuchs."
"Chị đang ở kênh Minh Dung. Em ở đâu rồi Adler?" Người phụ nữ tóc xanh lục đứng ở một góc kênh lên tiếng.
"…Em… ở kênh… Lafayette. Xin lỗi." Tiếng nhóp nhép xen kẽ giọng nói phát ra bên tai cô.
"Đã bảo là không ăn vặt khi liên lạc mà." Cô nhăn mặt.
"Thì em xin lỗi mà, có sạp cho ăn thử. Nhân thập cẩm thuồng luồng."
"Ugh, về trạm chết với chị. Đừng có để lạc mục tiêu."
"Rõ rồi Schaf."
Trong một con hẻm cụt ở đầu bên kia khu chợ, một bóng người khoác áo đứng tựa vào tường, môi ngậm điếu thuốc. Một bóng người khác, trông lùn hơn người kia, bước vào hẻm, đội nón lá.
"Cậu tìm được bao nhiêu rồi," người đứng đợi bỏ điếu thuốc xuống và cất giọng hỏi.
"Ông đếm đi," người lấy chiếc túi xách khỏi vai mình và đưa ra. "Tôi cướp được từ hơn chục tên đấy."
"Giỏi lắm," người đàn ông trung niên cầm lấy chiếc túi và nhìn vào bên trong một lúc.
"Khoảng một nghìn," ông ta nhếch mép cười. "Tức là tổng cộng chúng ta có tầm năm nghìn."
"Ông có chắc là nhiêu đó đã đủ không?"
"Chắc chứ." ông gật đầu. "Nhưng nếu vẫn không đủ, thì cứ làm theo phương án B. Cậu nhớ kế hoạch rồi chứ?"
Người kia gật đầu đáp lại.
"Tốt. Thế thì chúng ta đi thôi."
Họ cùng nhau rời khỏi con hẻm. Được một đoạn thì cả hai dừng trước một cửa tiệm và mua hai cái bánh, vừa ăn vừa đi.
"Theo thông tin của tên đó thì nó sẽ có mặt ở buổi đấu giá đêm nay. Một khi đã có nó rồi, chúng ta sẽ tiến gần đến vạch đích hơn. Cậu mong chờ nó lắm mà, đúng không?"
"Biết rồi mà còn hỏi. Đi tìm ghe đi." Người kia đáp lại với vẻ khó chịu. "Ăn xong rồi tôi ra điểm hẹn."
Họ tách ra, một người đứng sát trong con hẻm, miệng nhai bánh, quan sát những khung cảnh nằm ngoài tầm nhìn của đôi mắt mình. Trong một khoảnh khắc hiếm hoi, nó thở một hơi nhẹ nhõm, thưởng thức cảnh tượng vui đùa trong không khí ấm cúng đêm họp chợ từng được thuật lại một cách hấp dẫn và súc tích bởi một người khi còn trong cảnh xiềng xích. Nó ngẫm lại về một vài thứ trong quá khứ: Một chiếc bàn mổ, một căn buồng cũ kĩ với ánh đèn vàng treo ở giữa trần, và những ngôn từ khác của người đó.
"Sớm thôi."
Hàng chục chiếc thuyền từ các đoạn kênh thiếu sự nhộn nhịp của chợ xá đổ về một con kênh lớn và dừng lại ở gần một tòa nhà lớn với lối kiến trúc hòa quyện của phương Tây lẫn phương Đông ở cuối kênh. Những hành khách đeo mặt nạ cầu kỳ được nạm lông chim và đá quý bước lên bờ kênh và bước vào tòa nhà.
Cách đó không xa là ba bóng người đứng dưới một trụ đèn.
"Chúng tôi đã đến điểm hẹn. Là tòa nhà Marianne ở khu phố Tây."
"Tốt." Một giọng nói khác phát ra từ tai họ. "Hãy nhớ nhiệm vụ của mình: Giám sát và cập nhật tình hình cuộc đấu giá để Chỉ Huy hỗ trợ thu mua mục tiêu."
"Đã rõ, thưa Chỉ Huy."
Bên trong đại sảnh của tòa nhà, các hàng ghế dựa vuông vắn và êm ái đang dần được lấp kín bởi những con người và sinh vật tựa giống người. Mỗi người trong số họ đều háo hức rinh về ít nhất là một món hàng được trưng bày trong đêm nay. Khi các vị khách đã ổn định chỗ ngồi, cửa chính được đóng lại bởi hai thân hình mặc âu phục đen đeo mặt nạ diều hâu, trong khi những thân hình khác đứng nghiêm ở các góc sảnh đeo mặt nạ cú. Không ai trong số họ cất lên âm thanh gì trong khoảng thời gian tiếp khách. Vài phút sau, một người đàn ông trung niên mặc âu phục tím kèm áo choàng trắng bước ra khỏi cánh cửa ở cuối sảnh và tiến đến bục phát biểu được đặt sẵn ở trước các hàng ghế.
"Xin chào mừng! Cảm ơn tất cả các vị đã tham dự buổi đấu giá Trung Thu thường niên tại Quận Không, do nhà Lý tổ chức. Chúng tôi rất hân hạnh được tiếp đón các vị. Nhắc đến tiếp đón thì, sau khi buổi đấu giá kết thúc, tôi mong các vị sẽ nán lại để thưởng thức những mẻ bánh đặc biệt do chúng tôi dày công chế biến."
Tiếng vỗ tay vang lên từ các hàng ghế.
"Giờ thì, trước khi điểm qua những mặt hàng trong đêm nay mà tôi chắc ai trong các vị đều hào hứng được mang về, tôi sẽ phổ biến hình thức đấu giá cho các vị."
Cách đó khoảng vài căn nhà là người phụ nữ đội nón len kín tai, hiện đang nằm sấp trên nóc nhà, quan sát một phần khung cảnh của đại sảnh qua cửa sổ bằng ống nhòm, nghe lén phần mở đầu của nhà đấu giá. "Họ sắp bắt đầu rồi. Maus vẫn an toàn."
"Được, tiếp tục theo dõi đi." Người phụ nữ tóc xanh lục ở một nóc nhà khác không xa đáp lại. Hai tiếng "Rõ." đáp lại qua tai nghe.
Một giờ sau đó.
"Giá khởi điểm là hai nghìn, thưa quý vị!"
"Ba nghìn từ số mười ba!" Người đàn ông trung niên đeo kính ở hàng thứ hai giơ biển số lên.
"Bốn nghìn từ số bảy." Cậu thanh niên tóc vàng ở hàng thứ nhất giơ biển lên.
"Năm nghìn từ số mười ba!"
"Tám nghìn từ số bảy!"
Các vị khách khác tỏ vẻ ngạc nhiên, bàn tán với nhau trước con số ấy. Biển số mười ba được hạ xuống.
"Được rồi." Người chủ lên tiếng. "Tám nghìn lần thứ nhất! Tám nghìn lần thứ hai! Tám nghìn lần—"
Một tiếng hét từ chỗ hàng ghế ngắt tuyên bố của chủ buổi đấu giá.
Những sinh vật màu xám tựa như lươn lộ hình khắp sảnh, chui ra từ những lỗ thông gió gần trần nhà và chân tường. Chúng bay vào tấn công mọi người, trừ một vài con phá vỡ các bóng đèn xung quanh, nhấn chìm mọi thứ trong bóng tối và hỗn loạn. Một cửa sổ chợt bị phá tung và một bóng người lao ra.
"Maus? Trong đó sao vậy?" Cô gái tóc xanh lục trên nói qua tai nghe. "Nhắc lại. Chuyện gì vậy?"
"Trong đó loạn lắm Đội trưởng." Một giọng nữ trả lời qua tai nghe. "Hình như họ bị thứ gì đó tấn công, em không thấy rõ được."
"Có nên xông vào không chị?" Fuchs lo lắng hỏi qua tai nghe.
"Không. Hãy chờ xem. Maus? Maus!"
Chỉ có những tiếng lá hét và chửi thề qua tai nghe.
"Mẹ nó. Chỉ Huy, mệnh lệnh là gì?"
"Ưu tiên giải cứu Maus trước, nếu có thể thì đuổi theo mục tiêu. Đừng để bị lộ."
"Rõ rồi. Adler, em vào đó cứu Maus. Chị và Fuchs sẽ đuổi theo để lấy E-12!"
"Rõ."
"Rõ."
Cô và Fuchs — hiện đứng ở một cột đèn bị hỏng, rời vị trí của mình; một người chạy qua các nóc nhà, người còn lại chạy qua những con hẻm. Fuchs chạy qua mê cung của các con hẻm nhỏ thông với nhau đến khi bắt gặp một bóng đen vừa rẽ vào một con hẻm cách cậu vài chục bước. Cậu hành động theo cảm tính của mình và đuổi theo. Khi trông thấy hai bóng người ở giữa hẻm trong ánh đèn đường yếu ớt, đứng trên thứ gì đó đang phát sáng, cậu chĩa súng về phía họ và nổ một phát, khiến cả hai vội vàng bỏ chạy. Cậu đuổi theo và kịp nhìn xuống thứ phát sáng ấy — một vòng tròn được vẽ bằng phấn với những ký tự lạ xung quanh; không còn phát sáng nữa. Cậu nghe thấy tiếng động cơ rồ lên ở gần đó.
Chúng lên thuyền à?
Khi cậu đến nguồn gốc của âm thanh ấy thì chỉ còn những gợn sóng còn sót lại và một cái xác người nằm ở góc.
"Đối tượng bỏ chạy bằng thuyền máy rồi chị."
"Thế em quay lại tòa Marianne giúp Adler. Chị sẽ cố đuổi theo chúng."
"Thế chúc chị may mắn."
Schaf vẫn đang chạy và nhảy qua các nóc nhà, mắt hướng theo cuộc truy đuổi đang ngày càng bỏ xa mình. Chợt có tiếng động cơ vang lên từ đâu đó gần cô: Một đoàn tàu điện đang chạy song song bên dưới.
Được rồi, mình làm được mà.
Cô rút dao găm ra, và nhảy xuống nóc đoàn tàu khi nó đến gần. Sức gió cùng vận tốc của con tàu kéo cô lộn nhào ra sau không ngừng đến khi cô kịp cắm con dao vào nóc. Một tiếng rít chói tai cất lên khi lưỡi dao bị kéo đi cùng với cô trong vài giây nghẹt thở trước khi kịp dừng lại. Giờ chỉ còn tiếng gió ù ù quanh tai, cô cố níu chặt lấy con dao. Giờ cô đã bắt kịp với cuộc rượt đuổi cách đó vài đoạn kênh.
Chiếc thuyền bị truy đuổi chạy vào những đoạn kênh vắng vẻ, luồn qua các cây cầu bộ hành, lượn lẹo tránh những vùng nước bị đóng băng từ vụ nổ của những quả lựu pháo được phóng ra khỏi chiếc thuyền cảnh sát đang hú còi phía sau. Nó đáp trả bằng cách thả những con lươn lúc nãy về phía họ, khiến tàu mất lái và đâm vào bờ kênh. Đoạn kênh phía trước nhanh chóng bị chặn lại bởi hai chiếc thuyền máy khác, buộc nó phải rẽ vào con kênh bên trái — một khúc của chợ nổi. Sự xuất hiện đột ngột của con thuyền phá tan bầu không khí họp chợ, các ghe xuồng xung quanh hoảng hốt tấp vào bờ trong khi người dân trên bờ dừng mọi hoạt động lại để nhìn theo. Cuộc rượt đuổi tiếp tục với hai chiếc mô tô nước hú còi từ phía sau lao đến. Một thùng gỗ bị hất tung khỏi thuyền buôn và vỡ tung, giải phóng lũ rùa đuôi rắn háu đói vào hai phương tiện truy đuổi. Sau đó là hai cú đâm vào nhà dân kèm theo tiếng nổ. Biết mình đã cắt đuôi được cảnh sát, bọn cướp rẽ vào một nhánh kênh vắng người.
Một phát đạn bỗng ghim vào bánh lái. Tên cầm lái giật mình trượt tay, khiến mũi thuyền chệch sang phải. Tên còn lại ngã về bên trái, vô tình ngước lên, và trông thấy thứ gì đó trên nóc tàu điện chạy trên chúng. Vài phát đạn nữa và con thuyền mất kiểm soát, mũi thuyền bị ép vào bờ kênh, dẫn đến phần còn lại quay ra trước và đập vào bờ, phá hỏng chân vịt. Schaf nhảy khỏi đoàn tàu và đáp lên một nóc nhà, chạy xuống bằng thang thoát hiểm. Khi đến chỗ chiếc thuyền bị đâm thì cô không thấy bóng dáng bọn cướp đâu nữa, ngoại trừ một vết cháy hình tròn trên mặt đất, với những ký tự lạ xung quanh. Cô nghiến răng và đứng tựa vào tường, ngồi phịch xuống.
"Cô đã nghĩ cái gì vậy?" Người đàn ông ngồi đối diện Schaf trong phòng thẩm vấn giận dữ nói. "Cô biết rõ ưu tiên khi làm nhiệm vụ là nếu thất bại thì rút lui an toàn mà."
"Nhưng may là, Maus không bị lộ vỏ bọc trong vụ hỗn loạn đó." Cô đáp, mặt cúi nhẹ xuống.
"Nhưng cái không may là," ông đặt tập tài liệu lên bàn. "mọi thứ khác trong vụ này. Báo cáo sơ bộ nói rằng bảy viên cảnh sát và mười tám thường dân thiệt mạng, chưa kể thiệt hại tài sản. Cả ba gia tộc trong Quận đều đã gửi thư chất vấn hành động của chúng ta đêm đó và cảnh báo Tổ Chức vì nhúng tay quá sâu vào đời sống dị thường của Quận Không. Bên ta cũng đã liên lạc với họ Phạm sau vụ truy bắt, yêu cầu họ xác minh tung tích và danh tính của hai tên kia, nhưng hiện chưa có kết quả."
Ông thở một hơi rồi uống một ngụm trà trước khi tiếp tục. "Cô biết rằng Quận Không khác với Việt Nam hay mấy quốc gia bình thường kia mà. Chúng ta đã mất nhiều công sức để giữ quan hệ với họ. E-12 bị đánh cắp có thể được thu hồi lại sau."
Ông ngừng nói để quan sát vẻ mặt thất vọng của cô.
"Nghe này, tôi biết là cô không muốn chịu thất bại, nhất là khi cô và cả đội trước giờ đều hoàn thành tốt các nhiệm vụ được giao. Nhưng không phải lúc nào cũng thế. Cô là đặc vụ thực địa, không phải thành viên ĐĐNCĐ."
"Cô và những đặc vụ liên quan sẽ phải chịu kỷ luật vì cách ứng xử này, nhất là cô đấy." Ông đứng dậy. "Hãy khắc cốt ghi tâm chuyện này và rút kinh nghiệm. Đã rõ chứ?"
"Đã rõ ạ."
"Ừ. Cô có thể đi rồi. Chúc cô một ngày tốt lành."
Cô rời khỏi phòng, và trút một hơi thở dài mệt mỏi trước khi bước xuống hành lang.
"Yo! Chị ơi!" Một giọng nữ quen thuộc cất lên. Cô quay mặt lại và thấy ba người ngồi trên băng ghế gần phòng nghỉ.
"Mấy em thẩm vấn xong rồi à?" Cô bước đến chỗ họ. "Sao không về trạm nghỉ đi?"
"Tụi em biết là kiểu gì chị cũng bị mắng," cậu thanh niên tóc vàng với vết sẹo gần mắt trái ngồi ở cuối hàng ghế — Maus — đáp. "nên ra đây định rủ chị đi xả stress luôn."
"Chiều nay ít người lắm nên nếu đi ngay thì khỏi phải đợi luôn chị!" Adler háo hức nói.
"Ừm, thế cũng được." Schaf gật đầu.
Một lúc sau, tại trường bắn dưới tầng ngầm Điểm-75-VN, cả bốn người đang đứng giữa những tấm giảm thanh, đeo chụp tai, tay bóp cò súng lục về những tấm bia bắn hình người đang di chuyển lại gần. Khác với ba người còn lại, Schaf xả hết đạn trong súng nhanh hết mức có thể rồi thay băng, không còn nhắm đến hồng tâm nữa mà chỉ muốn bắn nát tấm bia trước mắt mình. Tiếng súng nổ giờ đồng điệu với nhịp tim của cô.
"Chị!"
Cô giật mình. Tay cô ngừng bóp cò. Tấm bia đã vỡ. Cô nhận ra mình đã bắn vào tường được một lúc. Cô vội đặt khẩu súng lên bệ.
"Chị có sao không?" Adler hỏi, đặt tay lên vai cô.
Phải mất vài giây để cô cất ra được lời. "Ch-Chuyện gì vậy?"
"Chuông báo lượt đã kêu rồi mà chị vẫn bắn," Fuchs đáp. "ông giám sát định gọi bảo vệ đấy."
Cô nhận ra sự lo lắng trên gương mặt ba người bọn họ. "Ch-Chị không sao. Chỉ là… hơi căng thẳng quá."
"Chị đừng giày vò bản thân nữa," Maus tiếp lời. "Khéo sẽ đổ bệnh đấy."
Cô không biết phải nói gì hơn, ngoại trừ gật đầu.
"Đi thôi chị."
Một cái gật đầu khác.
Họ ngồi tại nhà ăn của cơ sở, bao quanh bởi tiếng bàn tán.
"Chị thấy thế nào rồi?" Fuchs nhìn Schaf. Vẻ mặt căng thẳng lúc nãy của cô đã dịu đi được phần nào.
"Ừ, chị thấy đỡ hơn rồi. Chắc nhờ có thứ bỏ bụng." Cô cười nhẹ.
"Yay!" Adler reo lên. Cả nhóm bật cười.
"À đúng rồi. Mọi người có thấy vụ vừa rồi lạ không?" Fuchs nói, nhấm nháp một ngụm nước cam.
"Ngoại trừ việc bọn trộm đó biết dùng ma thuật?" Maus hỏi.
"Thì, lúc em đuổi theo chúng, thì em nhận ra tử thi của chủ chiếc thuyền máy bị chúng đánh cắp, tuy không lâu, nhưng lại trông như bị phân hủy và nồng nặc mùi giống… cao su."
"Thôi bớt giùm cái." Adler đặt ly mỳ xuống. "Đang ăn mà."
"Fuchs nói đúng. Hai tên đó chắc chắn không phải hạng xoàng. Nhưng rốt cuộc chúng là ai?" Schaf chất vấn.
"Có lẽ tôi có thể giúp." Một giọng nói vang lên ở chiếc bàn sau nhóm. Họ quay mặt lại.
Cậu thanh niên đeo kính ở sau họ vẫy tay. "Xin chào."
"Và cậu là ai?" Maus hỏi cậu.
"Tôi là cộng tác viên sắp tới của các bạn. Tôi là Nghiên cứu viên thuộc biên chế Điểm-29-VN, Anh Đức. Hân hạnh được gặp các bạn."
Adler chợt nhận ra gì đó. "Từ từ. 'Anh Đức'… Là cái người đã lao cái xe nâng hàng vào tên đột nhập Tiền Đồn-07 hồi mấy tháng trước à?"
“Ồ? Cô biết tôi à?” Cậu có vẻ ngạc nhiên.
"Wow, cậu nhỏ con hơn tôi tưởng." Maus nói.
"Tôi sẽ coi đó là một lời khen." Đức mỉm cười ngại ngùng.
Adler vội lấy ra cuốn sổ tay trong túi xách cùng cây bút và lao đến gần cậu một cách phấn khích. "Nè! Nè! Cậu ký tên vào đây nha? Nha?"
"Ờ… gì cơ?" Cậu bối rối.
"Adler xin chữ ký cậu đấy. Cô ấy thích cách cậu xử lý vụ đó." Fuchs nói, uống ngụm nước cam cuối cùng trong ly.
Cậu lưỡng lự lấy cây bút khỏi tay Adler và ký vào trang giấy trắng với nét chữ run run do hồi hộp.
"Cảm ơn cậu nhiều lắm!" Cô giựt cây bút lại và chạy về ghế của mình trước khi cậu kịp nhận ra.
"Mà cậu đến gặp bọn tôi có chuyện gì?" Schaf lấy khăn giấy lau mặt.
"À, Giám Đốc Thư chuyển tôi đến đây để hỗ trợ điều tra sự cố vừa qua ở Quận Không. Và tôi có vài thứ cần chia sẻ với mọi người."
"Giám Đốc Thư?" Giọng Schaf chuyển từ ngờ vực sang tò mò. "Ý cậu là Vũ Quỳnh Thư à?"
"Ừm. Cô ấy tin rằng tôi sẽ giúp được chuyện này."
"Thế cơ à?''' Schaf nhướng một bên mày lên. ''Thế thì chúng ta cần tìm chỗ nào yên ắng hơn để nói tiếp. Ăn nhanh lên mọi người, rồi ra phòng nghỉ."