@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700;900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Bitter&display=swap'); /* 全局 */ :root { --theme-base: "black-highlighter"; --theme-id: "blank"; --theme-name: "Blank Theme"; --logo-image: none; --header-title: "The Backrooms"; --header-subtitle: "你曾经来过这里"; --bb-black: 65, 65, 65; --bb-white: 253, 253, 253; --bb-accent-color: 63, 66, 50; --bb-accent-background: 215, 219, 204; --body-font: Inter, Noto Sans SC, Noto Sans TC, Arimo, Verdana, Geneva, sans-serif; --header-font: var(--body-font); --title-font: var(--body-font); --mono-font: Bitter, Noto Serif SC, Noto Serif TC, Consolas, monaco, monospace; --temp-font-1: Inter, Noto Sans SC, Noto Sans TC, Arimo, Verdana, Geneva, sans-serif; --temp-font-2: Bitter, Noto Serif SC, Noto Serif TC, Consolas, monaco, monospace; --white-monochrome: var(--bb-white); --pale-gray-monochrome: var(--bb-white); --light-gray-monochrome: var(--bb-white); --gray-monochrome: var(--bb-white); --black-monochrome: var(--bb-black); --bright-accent: var(--bb-black); --medium-accent: var(--bb-white); --dark-accent: var(--bb-black); --pale-accent: var(--bb-black); --swatch-topmenu-border-color: var(--bb-white); --swatch-menubg-dark-color: var(--bb-black); --rating-module-button-plus-color: var(--bb-black); --rating-module-button-negative-color: var(--bb-black); --rating-module-button-cancel-color: var(--bb-black); --rating-module-button-credit-color: var(--bb-black); --link-color: var(--bb-black); --hover-link-color: var(--bb-black); --visited-link-color: var(--bb-black); --background-gradient-distance: 0rem; --gradient-header: linear-gradient(to top, rgba(var(--medium-accent)) 0%, rgba(var(--medium-accent), 0.90) 100%); --diagonal-stripes: linear-gradient(transparent 0); } #page-content { font-size: 110%; } @media only screen and (max-width: 768px) { #page-content { font-size: 90%; } } ::selection { background: rgb(var(--black-monochrome)); color: rgb(var(--white-monochrome)); } ::-moz-selection { background: rgb(var(--black-monochrome)); color: rgb(var(--white-monochrome)); } #skrollr-body { background-image: none; } #container { background-image: none; } body::-webkit-scrollbar-thumb { background-color: rgb(var(--bb-black)); } body::-webkit-scrollbar-track { background-color: rgb(var(--bb-white)); } #main-content { padding-bottom: 3em; } /* 版头 */ #login-status, #login-status a { color: rgb(var(--bb-black)); opacity: 0; transition: opacity 300ms; } #login-status span.printuser { opacity: 0; transition: opacity 300ms; } #header:hover #login-status span.printuser, #header:focus-within #login-status span.printuser { opacity: 1; } #header:hover #login-status, #header:hover #login-status a, #header:focus-within #login-status, #header:focus-within #login-status a { opacity: 1; } #account-topbutton { border: none; } #account-options { background-color: rgb(var(--bb-white)); border: 0.15rem solid rgb(var(--bb-black)); } #login-status ul a { text-decoration: none; background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); transition: background-color 300ms; } #login-status ul a:hover, #login-status ul a:focus { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)) !important; } @media only screen and (max-width: 768px) { #search-top-box-form { display: none; } } #search-top-box-input { display: none; } #search-top-box-form>input.button.btn { opacity: 0; transition: opacity 300ms, color 300ms, background-color 300ms; color: rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); border: 0.15rem solid rgb(var(--bb-black)); } #search-top-box-form>input.button.btn:hover { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } #search-top-box-form input[type=submit]:focus, #search-top-box-form input[type=submit]:hover { text-shadow: none; } #header:hover #search-top-box-form>input.button.btn, #header:focus-within #search-top-box-form>input.button.btn { opacity: 1; } #header h1 a::before, #header h2 span::before { text-shadow: none; color: rgb(var(--bb-white)); transition: color 300ms, bottom 300ms; } #header:hover h1 a::before, #header:hover h2 span::before, #header:focus-within h1 a::before, #header:focus-within h2 span::before { color: rgb(var(--bb-black)); } #header h1 a:before { position: relative; font-weight: 900 !important; bottom: 0; } #header:hover h1 a:before, #header:focus-within h1 a:before { bottom: 3px; } #header h2, #header h2 span, #header h2 span::before { position: absolute; top: 2rem; margin: 0; width: 100%; display: flex; justify-content: center; } /* 顶栏 */ #top-bar div.mobile-top-bar>ul>li>a, #top-bar div.top-bar>ul>li>a, #header:hover #top-bar div.mobile-top-bar>div.open-menu>p>a, #header:focus-within #top-bar div.mobile-top-bar>div.open-menu>p>a { color: rgb(var(--bb-white)); transition: opacity 300ms; } #header:hover #top-bar div.mobile-top-bar>ul>li>a, #header:hover #top-bar div.top-bar>ul>li>a, #header:focus-within #top-bar div.mobile-top-bar>ul>li>a, #header:focus-within #top-bar div.top-bar>ul>li>a { color: rgb(var(--bb-black)); } #header:hover #top-bar div.mobile-top-bar>div.open-menu>p>a, #header:focus-within #top-bar div.mobile-top-bar>div.open-menu>p>a { color: rgb(var(--bb-black)) !important; } #top-bar div.top-bar>ul>.sfhover>a { color: rgb(var(--bb-white)) !important; } #top-bar div.mobile-top-bar>ul>li:hover>a, #top-bar div.mobile-top-bar>ul>li:focus-within>a { color: rgb(var(--bb-white)) !important; } #top-bar div.mobile-top-bar>ul>li>ul>li, #top-bar div.top-bar>ul>li>ul>li { transition: background 300ms; } #top-bar div.mobile-top-bar>ul>li>ul>li:hover, #top-bar div.top-bar>ul>li>ul>li:hover, #top-bar div.mobile-top-bar>ul>li>ul>li:focus, #top-bar div.top-bar>ul>li>ul>li:focus { background: rgb(var(--bb-white)); } #top-bar div.mobile-top-bar>ul>li>ul>li:hover a, #top-bar div.top-bar>ul>li>ul>li:hover a, #top-bar div.mobile-top-bar>ul>li>ul>li:focus-within a, #top-bar div.top-bar>ul>li>ul>li:focus-within a { color: rgb(var(--bb-black)); } /* 侧栏 */ #side-bar::-webkit-scrollbar { display: none !important; } #main-content::after { visibility: hidden; } #main-content::before { background-color: rgb(var(--bb-white)) !important; } #side-bar div.side-block { border-right: none; } #side-bar .heading { border-top: 0.125rem solid rgb(var(--bb-black)); border-bottom: 0.125rem solid rgb(var(--bb-black)); } #side-bar .heading p { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)); text-shadow: none; } #side-bar .menu-item, #side-bar .menu-item p { border-bottom: 0.15rem solid rgb(var(--bb-white)) !important; } #side-bar div.menu-item a:not(a:first-child) { border-left: 0.15rem rgb(var(--bb-white)) !important; } #side-bar .side-block>.collapsible-block .collapsible-block-link { color: rgb(var(--bb-black)); text-shadow: none; } #side-bar .side-block>.collapsible-block .collapsible-block-link:hover { color: rgb(var(--bb-white)); } #side-bar div.menu-item a { transition: background-color 300ms; } #side-bar div.menu-item a:hover { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)); } #side-bar .side-block>.collapsible-block a.collapsible-block-link:after, #side-bar div.menu-item a.collapsible-block-link:after, #side-bar div.menu-item a::before { display: none; } #side-bar { position: fixed; border-right: 0.15rem solid transparent; } #content-wrap { margin-left: 0; } #side-bar:hover { border-right: 0.15rem solid rgb(var(--bb-black)); } @media only screen and (max-width: 768px) { #side-bar { border: none !important; } } /* 评分 */ .page-rate-widget-box, .rate-box-with-credit-button { background-color: rgb(var(--bb-white)) !important; border-color: transparent !important; box-shadow: none !important; } /* 页面元素 */ .radius-div>* { border-radius: 10px; } .error-inline { color: rgb(var(--bb-black)); border: 1px solid rgb(var(--bb-black)); } hr, .dashed-hr { margin: 1em 0; padding: 0; display: block; border: none; height: 2px; background-image: linear-gradient(90deg, rgb(var(--bb-black)) 0%, rgb(var(--bb-black)) 55%, rgb(var(--bb-white)) 55%, rgb(var(--bb-white)) 100%); background-size: 1em 2px; background-repeat: x-repeat } .solid-hr { margin: 1em 0; padding: 0; display: block; height: 2px; background-color: rgb(var(--bb-black)); } .styled-hr { margin: 1em 0; padding: 0; display: block; position: relative; height: 0.15em; overflow: hidden; border: initial; background-color: rgb(var(--bb-black)); -webkit-clip-path: polygon(50% 10%, 100% 50%, 50% 90%, 0% 50%); clip-path: polygon(50% 10%, 100% 50%, 50% 90%, 0% 50%); } .avatar-hover { display: none !important; } .avatarhover a { text-decoration: none; color: rgb(var(--bb-black)); -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: color 300ms cubic-bezier(0.4, 0.0, 0.2, 1); background-color 300ms cubic-bezier(0.4, 0.0, 0.2, 1); } .avatarhover:hover a { text-decoration: none; color: rgb(var(--bb-white)); } #action-area .avatarhover:hover a { background-color:rgb(var(--bb-black)); } #page-content a:not([href*="user"]):not([href*="javascript:;"]):not([href*="#u-credit-view"]), #page-content .avatarhover, .hovertip a, .classic-collap a.collapsible-block-link { padding: 0.15em; margin: -0.15em; color: rgb(var(--bb-black)); -webkit-box-decoration-break: clone; box-decoration-break: clone; box-shadow: inset 0 -0.125rem 0 0rem rgb(var(--bb-black)); transition: box-shadow 300ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms cubic-bezier(0.4, 0.0, 0.2, 1); } #page-content a:not([href*="user"]):not([href*="javascript:;"]):not([href*="#u-credit-view"]):hover, #page-content .avatarhover:hover, .hovertip a:hover, .classic-collap a.collapsible-block-link:hover { box-shadow: inset 0 -1.5em 0 0 rgb(var(--bb-black)); text-decoration: none; color: rgb(var(--bb-white)); } #page-title, .meta-title { margin: 0 auto 0.6em; text-align: center; font-size: 30px !important; } /* 目录 & 折叠 */ #toc { background-color: rgb(var(--bb-white)); border: solid 0.15rem rgb(var(--bb-black)); color: rgb(var(--bb-black)); padding: 0; } #toc-action-bar { padding: 0 !important; } #toc-list { margin: 0.5em; } #toc-action-bar>a, a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *) { display: inline-block; transition: background-color 300ms; color: rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); text-decoration: none !important; } a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *) { padding-right: 0.4em; } .collapsible-block { margin: 1em 0; } #toc-action-bar>a { width: 100%; } #toc-action-bar>a:hover, a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *):hover { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } #toc-action-bar>a:nth-child(1)::before, #toc-action-bar>a:nth-child(2)::before, .collapsible-block-folded a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *)::before, .collapsible-block-unfolded-link a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *)::before { margin: 0 0.2em 0 0.4em; content: "▼"; color: rgb(var(--bb-black)); background-color: transparent; visibility: visible; display: inline-block; } #toc-action-bar>a:nth-child(1):hover::before, #toc-action-bar>a:nth-child(2):hover::before, .collapsible-block-folded a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *):hover::before, .collapsible-block-unfolded-link a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *):hover::before { color: rgb(var(--bb-white)); } #toc-action-bar>a:nth-child(2)::before, .collapsible-block-folded a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *)::before { animation-name: collapsible-arrow-spin; animation-duration: 0.3s; animation-iteration-count: 1; animation-timing-function: cubic-bezier(.32, .38, .39, .94); animation-fill-mode: forwards; } #toc-action-bar>a:nth-child(1)::before, .collapsible-block-unfolded-link a.collapsible-block-link:not(.classic-collap *):not(.styled-collap *)::before { animation-name: collapsible-arrow-spin-back; animation-duration: 0.3s; animation-iteration-count: 1; animation-timing-function: cubic-bezier(.32, .38, .39, .94); animation-fill-mode: forwards; } @keyframes collapsible-arrow-spin { from { transform: rotate(0deg); } to { transform: rotate(-90deg); } } @keyframes collapsible-arrow-spin-back { from { transform: rotate(-90deg); } to { transform: rotate(0deg); } } /* 分页 */ .yui-navset .yui-nav { border: solid 3px rgb(var(--bb-black)); box-shadow: none; } .yui-navset .yui-nav a, .yui-navset .yui-navset-top .yui-nav a { transition: background-color 300ms; background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); } .yui-navset .yui-nav a:hover, .yui-navset .yui-nav a:focus { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)); } .yui-navset .yui-nav .selected, .yui-navset .yui-navset-top .yui-nav .selected { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)) !important; } .yui-navset .yui-nav .selected a { color: rgb(var(--bb-white)) !important; } .yui-navset .yui-nav .selected a:focus, .yui-navset .yui-nav .selected a:active { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)); } .yui-navset .yui-nav li, .yui-navset .yui-navset-top .yui-nav li { box-shadow: 0 0 0 .0625rem rgb(var(--bb-white)); background-color: rgb(var(--bb-white)); } .yui-navset .yui-content { background-color: rgb(var(--bb-white)); border: none; margin: 0; padding: 0.25em 0; } /* 图像框 */ .scp-image-block { border: none; box-shadow: none; } .scp-image-block .scp-image-caption { background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)); border: none !important; } .reversed-image .scp-image-block .scp-image-caption { background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); } .bordered-image .scp-image-block { border: 0.15rem solid rgb(var(--bb-black)); } /* 表格 */ table.wiki-content-table tr, table.wiki-content-table th, table.wiki-content-table td { border: .2rem solid rgb(var(--bb-black)) !important; } table.wiki-content-table th { background-color: rgb(var(--bb-black)) !important; color: rgb(var(--bb-white)); } /* DIVs */ .code { border: dashed 0.15rem rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); } .code::-webkit-scrollbar-thumb { background-color: rgb(var(--bb-black)); } .code::-webkit-scrollbar-track { background-color: rgb(var(--bb-white)); } .blockquote, blockquote { border: solid 0.15rem rgb(var(--bb-black)) !important; box-shadow: none !important; background-color: rgb(var(--bb-white)) !important; color: rgb(var(--bb-black)) !important; } .lightblock { margin-left: 0; border: solid 0.15rem rgb(var(--bb-black)) !important; box-shadow: none !important; background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); } .darkblock { --bb-black: var(--white-monochrome); --bb-white: var(--black-monochrome); margin-left: 0; border: none !important; box-shadow: none !important; background: rgb(var(--bb-white)); color: rgb(var(--bb-black)); } .darkblock * { --bb-black: var(--white-monochrome); --bb-white: var(--black-monochrome); } .styled-quote { background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); margin-left: 0; border-left: solid 0.4rem rgb(var(--bb-black)) !important; box-shadow: none !important; padding-top: 0; padding-bottom: 0; } .dotted-quote { color: rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); padding: 0.01rem 1rem; margin: 0.5rem 0; border: dashed 0.15rem rgb(var(--bb-black)); } .dotted-quote hr { background-image: none; background-color: rgb(var(--bb-white)); height: 0px; border-top: dashed 0.15rem rgb(var(--bb-black)); } .accent-block { --bb-black: var(--bb-accent-color); --bb-white: var(--bb-accent-background); background-color: rgb(var(--bb-white)); padding: 0.01rem 1rem; margin: 0.5rem 0; color: rgb(var(--bb-black)); } .accent-block * { --bb-black: var(--bb-accent-color); --bb-white: var(--bb-accent-background); } .accent-block .darkblock { --bb-black: var(--bb-accent-background) !important; --bb-white: var(--bb-accent-color) !important; } /* 脚注 */ a.footnoteref { color: rgb(var(--bb-black)); background-color: transparent; transition: background-color 300ms; text-decoration: none !important; padding: 0 0.2em; } a.footnoteref:hover { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } .hovertip { border: 0.15rem solid rgb(var(--bb-black)) !important; } .hovertip .f-footer { display: none; } #page-content>div.footnotes-footer { border-left: solid 0.4rem rgb(var(--bb-black)); margin-top: 1rem; } .footnotes-footer .footnote-footer a:nth-child(1) { text-decoration: none; color: rgb(var(--bb-black)); } /* 标签 */ .page-tags { margin: 0 auto; text-align: center !important; } .page-tags a { line-height: inherit; font-weight: 600; } .page-tags span { border-top: none; border-bottom: 0.15rem solid rgb(var(--bb-black)); } .page-tags span a { color: rgb(var(--bb-black)); -webkit-box-decoration-break: clone; box-decoration-break: clone; 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 { box-shadow: inset 0 -1.5em 0 0 rgb(var(--bb-black)); text-decoration: none; color: rgb(var(--bb-white)); } /* 按钮 */ div#page-options-bottom-2>a, div#page-options-bottom>a { background-color: rgb(var(--bb-white)); font-weight: 600 !important; color: rgb(var(--bb-black)); border-radius: 0em; -moz-border-radius: 0em; border: 0.15rem solid transparent; text-decoration: none !important; transition: border 300ms, background-color 300ms; } #prw54355 { font-weight: 600 !important; } 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 { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); border: 0.15rem solid rgb(var(--bb-black)); text-decoration: none !important; } /* 信息 */ #page-info { color: rgb(var(--bb-white)); } div.page-watch-options { visibility: hidden; } @media only screen and (max-width: 768px) { #page-info { display: none; } } /* 页脚 */ #license-area { display: none; } #footer { display: none !important; } /* 操作 */ #owindow-1 { border-color: rgb(var(--bb-black)); } #who-rated-page-area>div>span { color: rgb(var(--bb-black)) !important; } #who-rated-page-area .avatarhover:hover a { transition: background-color 300ms; } #who-rated-page-area .avatarhover:hover a { background-color: rgb(var(--bb-black)); } #action-area input.text::-webkit-scrollbar-thumb, #action-area textarea::-webkit-scrollbar-thumb { background-color: rgb(var(--bb-black)); } #action-area input.text::-webkit-scrollbar-track, #action-area textarea::-webkit-scrollbar-track { background-color: rgb(var(--bb-white)); border-left: rgb(var(--bb-black)) 0.15rem solid; } #action-area input.text::-webkit-resizer, #action-area textarea::-webkit-resizer { border-top: rgb(var(--bb-black)) 0.15rem solid; border-left: rgb(var(--bb-black)) 0.15rem solid; background-color: rgb(var(--bb-white)); color: rgb(var(--bb-black)); } textarea, input.text, input.checkbox, div.note, #lock-info { border: 0.15rem solid rgb(var(--bb-black)) !important; } table.form td div.sub, form div.sub { color: rgb(var(--bb-black)); } .pager a { color: rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); border: 0.15rem solid rgb(var(--bb-black)); text-decoration: none !important; transition: background-color 300ms; } .pager .current { border: 0.15rem solid rgb(var(--bb-black)); color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } .pager a:hover { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } .change-textarea-size a { color: rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); border: 0.15rem solid rgb(var(--bb-black)); transition: background-color 300ms; text-decoration: none; } .change-textarea-size a:hover, .change-textarea-size a:active { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } .owindow .button-bar a, a.button, button, div.buttons input, file, input.button { background: rgb(var(--bb-white)); color: rgb(var(--bb-black)); border-radius: 0em !important; -moz-border-radius: 0em !important; border: 0.15rem solid rgb(var(--bb-black)); transition: border 300ms, background-color 300ms; } .page-source { border: 0.15rem solid rgb(var(--bb-black)); font-family: var(--mono-font); } .owindow .button-bar a:active, .owindow .button-bar a:hover, a.button:active, a.button:hover, button:active, button:hover, div.buttons input:active, div.buttons input:hover, file:active, file:hover, input.button:active, input.button:hover { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); border: 0.15rem solid rgb(var(--bb-black)); } .preview-message { border: 0.15rem dotted rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); } a.action-area-close:hover { background-color: rgb(var(--bb-white)); } table.page-history td.optionstd a { color: rgb(var(--bb-black)); border: none; text-decoration: none; background-color: transparent; transition: background-color 300ms; } table.page-history td.optionstd a:hover { color: rgb(var(--bb-white)); background-color: rgb(var(--bb-black)); } select { font-family: var(--body-font); border: 0.1rem solid rgb(var(--bb-black)); color: rgb(var(--bb-black)); background-color: rgb(var(--bb-white)); } /* 特殊折叠 */ .styled-collap .collapsible-block { margin: 0.5rem 0; } .styled-collap a.collapsible-block-link { text-decoration: none; display: block; padding: 0.3rem 0.5rem; background-color: rgb(var(--bb-black)); color: rgb(var(--bb-white)); } .styled-collap .collapsible-block-content { padding: 0.01rem 1rem; background-color: rgb(var(--bb-white)); border: 0.125rem solid rgb(var(--bb-black)); border-top: none; } .styled-collap .collapsible-block-folded a.collapsible-block-link::before { margin: 0 0.2em 0 0.4em; content: "▶"; color: rgb(var(--bb-white)); background-color: transparent; display: inline-block; } .styled-collap .collapsible-block-unfolded a.collapsible-block-link::before { margin: 0 0.2em 0 0.4em; content: "▼"; color: rgb(var(--bb-white)); background-color: transparent; visibility: visible; display: inline-block; } /* 更多标题 */ .classic-title { text-align: left; border-bottom: 3px rgb(var(--bb-black)) solid; padding: 0; margin-top: 0.6em !important; margin-bottom: 0.6em !important; } .classic-title p { margin-bottom: 0.2em; } .new-title { display: flex; margin-top: 0.6em !important; margin-bottom: 0.6em !important; } .new-title p { display: flex; margin-top: 0; margin-bottom: 0; } .new-title::after { content: ""; flex-grow: 1; height: 3px; margin: auto auto auto 1.2rem; background: rgb(var(--bb-black)); } /* SD 适配 */ .sd-container { --sd-border: var(--bb-black); --sd-bullets: var(--bb-black) !important; }
生存难度:生存難度:
等级等級 unknown
- 精神危害
- 性质未解明
- 大量危险实体
Level KP-65 是后室KP层群的第+65层。
描述
Level KP-65 为一个与前厅大体相同的地下地铁站,其切入时地点总是楼梯底端,所有爬上楼梯的流浪者均失踪,且无人能描述出外部的情况。地铁站的另一头无限延申。地铁站无法被破坏,其每10-14天会来一趟地铁,每趟地铁会停留2分钟。层级没有昼夜和季节变化,温度在23°C 左右。层级内部的光由顶部的灯所提供,其偏为暖光。层级内部始终有Wi-Fi,且该Wi-Fi可能会受到来自前厅的消息。
Level KP-65 内部有极度密集的“乘客”,这些实体与人类无任何差别,但其并不会使用人类的语言说话,而是用无法理解的语言进行交流。动作和行为均不同,性格不一。其具有两种性别,并具有对应的服装。五官与人类相同,部分“乘客”也会患有和人类一样的疾病。层级内部的“乘客”同样会登上地铁。
层级主要的特性为“灵魂互换”,其会使层级内部的所有实体和流浪者均变得可以穿过。同时,任意两个实体或人类互相穿过时,这时双方将会进行“灵魂互换”。其表现为双方两眼观察的画面变白1秒,随后意识将进入对方的身体。但是双方的记忆并不会完全转移,这取决于身体接触的体积,层级内部的实体没有记忆。将与流浪者进行交换的实体或人类称为“宿主”。而层级内部会大量发生灵魂互换,这使得找回自己的全部记忆极难。流浪者的灵魂在实体时无法正常与人类交流。
同时,流浪者不处于自己身体内部时,其视觉会逐渐被雪花屏覆盖,且可视范围逐渐由外向内缩小,听到的声音也将逐渐模糊。其所在的“宿主”会逐渐虚化,但流浪者自身无法发现。在1小时30分钟后,流浪者将失去自己的意识,所在的实体会虚化完成,流浪者便会死亡。若流浪者的记忆不在流浪者的意识控制中,其将逐渐消失。
在层级内部,若进行过多的“灵魂互换”,会对流浪者造成一些影响,且康复需要一定时间,这些影响对于层级内部的“乘客”同样有效。以下是影响和康复的时间。互换次数 | 造成影响 | 康复时间 |
---|---|---|
1-8次 | 无任何影响 | 无 |
9-17次 | 轻微眩晕与感到寒冷 | 离开层级后 |
18-25次 | 出现中度幻听、幻视 | 离开层级后1-3天 |
26-34次 | 全身皮肤瘙痒,头脑极端不适 | 离开层级后2周 |
35-42次 | 精神状态异常,严重幻听与幻视 | 离开层级后3月 |
43-49次 | 大脑完全受损 | 难以治疗,但有少量康复 |
50次以上 | 精神完全失常,力气大幅度增长 | 无法治疗 |
基地、前哨和社区
- 该层级没有已知的基地、前哨或社区。
入口与出口
入口
- 在 KP 层群找到一个非正常连接区域的楼梯口,走下后会进入 Level KP-65 。
出口
- 待地铁到来时,若流浪者在自己身体中,进入后会回到来时的地方;若流浪者不在自己的身体中,将会消失。
- 无任何其他可靠出口,包括非常规出口。
附录
Henson:据我所知,这是一个新层级,目前没有记录在案的类似层级。
Trent:这里有特别多的类人实体,但其似乎没有威胁。
Tony:全军抵达,队长。共5人。
Henson:好的。
Henson试图打开Trent的背包,然后穿过了Trent。
Trent:我怎么到这里了?
Henson:不要慌张,你再触摸我一下。
Trent触摸了Henson。
Henson:正常了。
Michael:所以这就是层级的特性?
Peter:估计是的。
Michael:那我们走吧。
Peter被实体穿过。
面前的实体:啊啊啊嗷嗷嗷。
Henson:Peter你怎么了?
面前的实体:嗷嗷。
Henson:如果你能听见的话,请点个头。
实体点了个头。
Michael:看样子实体具有和人类一样的特性。
Trent:Peter你只要触碰原来的身体就行了。
Henson:他的身体不见了,我们赶紧去找!
Tony:怎么找?队长。
Henson:分头行动,躲开一切人形实体。
Tony和Michael:好!
Trent:他好像在那,但是都是人,我挤过去吧。
Trent碰到了实体,忽然周围的实体开始跑动。
Henson:完蛋,现在基本上不太可能救你了。
Michael赶过来。
Michael:怎么了?
Henson:这里的实体应该也能和实体互换,所以我们根本不知道他的意识在
哪!
Michael:……队长,Peter的身体在那。
Peter触摸他的身体,再次完成灵魂互换。
Peter:我们为什么在这里?
Henson:这种危急情况别开玩笑了!
Peter:没有,我真不知道。
Tony赶过来。
Tony:我了解他,这不像装的。
Michael:队长,是不是层级的特殊影响。
Henson:看样子应该是,灵魂互换对记忆有一定影响,我好像就忘了一些层级
的档案。
Henson:那我跟你说一下,我们在新层级,然后请你注意躲开实体,时间来不
及说了。
Tony:为什么?
Michael:他刚才和Trent灵魂互换,现在也找不到Trent了。
Henson:周围的实体数量似乎大幅度增加了,小心点。
Peter:好的。
Michael:啊——
Michael跑步时一只实体撞上。
Henson:你在哪?
没有回应。
Peter:你在哪里啊?
实体走过来。
Henson:好!跟着我走。
Tony:但是队长,地铁来了,那可能是出口。
Henson:不重要了!救人要紧。
Peter:他的身体就在那!
全体跑向前方。
Michael触碰自己的身体。
Michael:好的,快走!
全体跑向地铁入口。
Henson:快啊!门要关了!Peter!
Henson用力将Peter往前推。
Peter滑进了门。
门关了。
Tony:队长——
Henson:再见,祝你们好运!
地铁离开了视野。
后幸存的3人到达了Level KP-11,Henson已被认定为死亡。
该新闻由一名匿名流浪者上传,其表示这则新闻为在 Level KP-65 收到。该流浪者目前已死亡。目前R.P.C.对于该内容持存疑态度。
突发新闻
2155年4月11日记录
在██的新开通的██地铁站发现大量精神异常者,多数人在候车时精神不稳定,通常使得其暴躁、眩晕、幻听、幻视,其中多数经过治疗或是自行康复,但极少数人在离开后情况严重,且无法治疗。同时,在该地铁站的人的记忆均受到一定影响,目前无任何心理疾病符合该症状。警方正在紧急调查该事件,██地铁站目前已被封闭。
——██日报
« Level KP-64 | Level KP-65 | Level KP-66 »
:root { --lh-red: #c0392b; --lh-blue: #2980b9; --lh-green: #27ae60; --lh-dark-green: #16a085; --lh-purple: #8e44ad; --lh-orange: #e67e22; --lh-yellow: #f1c40f; --lh-paper-bg: 255, 251, 240; --lh-string-color: 192, 57, 43; --lh-book-color: var(--gray-monochrome); --lh-tape-color: 90,90,90,0.3; --lh-white-bg: 249,249,249; --lh-dark-bg: 50, 50, 50; --lh-highlighter: var(--bright-accent); --lh-border-color: var(--gray-monochrome); --lh-wiki-note-color: var(--bright-accent) } /** * 旧代码合集 * 为了向下兼容而保留 */ .grid-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.grid-container,.grid-container [class*=grid]{box-sizing:border-box}[class*=grid]{padding:5px}.grid{width:100%}.grid-large{width:75%}.grid-big{width:50%}.grid-medium{width:33.33%}.grid-small{width:25%}@media screen and (min-width:768px){.wd-grid-large{width:75%}.wd-grid,.wd-grid-big{width:50%}.wd-grid-medium{width:33.33%}.wd-grid-small{width:25%}}.text-hover-hide{opacity:0;transition:opacity .3s}.text-hover-hide:hover{opacity:1}.text-block-hide{background:rgb(var(--black-monochrome));color:rgb(var(--black-monochrome));transition:background .3s}.text-block-hide:hover{background:0 0}.text-blur-hide,.text-blur-hover-hide{filter:blur(.3rem);-webkit-filter:blur(.3rem) transition: blur .3s}.text-blur-hover-hide:hover{filter:blur(0);-webkit-filter:blur(0)}.lyric-box{text-align:center;font-size:1.05rem;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.lyric-box p{margin:1.5em auto}.lyric-box.with-bigger-line p{margin:3em auto} /** * 便签纸 * notepaper */ .notepaper { background: linear-gradient(rgb(var(--lh-paper-bg)) 95%, #ddd 0); line-height: 2em; background-size: 100% 2em; background-attachment: local; border: 2em solid rgb(var(--lh-paper-bg)); box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.2); padding: 0; margin: 1em auto; box-sizing: border-box; position: relative } .notepaper p { margin: 0; font-size: 1.05rem; letter-spacing: 0.1rem; line-height: inherit } .notepaper.narrow, .notepaper.wide { width: 90% } @media screen and (min-width:768px){ .notepaper.narrow { width: 50% } .notepaper.wide { width: 75% } } .notepaper.tight { border-width: 1rem; border-left-width: 1.2rem; border-right-width: 1.2rem; line-height: 1.8em; background-size: 100% 1.8em; font-size: 13px } .notepaper.with-string::before { content: ''; width: 0.5em; height: 6rem; background: rgb(var(--lh-string-color)); top: -2rem; right: -1rem; display: block; position: absolute; box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2); clip-path: polygon(-100% -100%,100% 0%,100% 100%,50% 98%,0% 100%); } .notepaper.with-tape::before { content: ''; border: 1px solid #ddd; background: rgba(var(--lh-tape-color)); width: 1.5em; height: 4em; transform: rotate(45deg); display: block; position: absolute; top: -3em; left: -1.8em } .notepaper.tight.with-string::before { top: -1rem; right: -0.25rem; } .notepaper.tight.with-tape::before { top: -2.5em; left: -1.3em } .notepaper.page { min-height: 36em; counter-increment: page; display: flex; flex-direction: column; justify-content: space-between } @media screen and (min-width:768px){ .notepaper.page { width: 70% } } .notepaper.page:after { content: counter(page); display: block; text-align: center } .notepaper-group { counter-reset: page; } .book-pattern { display: flex; flex-wrap: wrap; flex-direction: row } .book-pattern .notepaper.page:not(.notepaper > .notepaper) { width: 100% } @media screen and (min-width: 768px) { .book-pattern .notepaper.page:not(.notepaper > .notepaper) { width: 50% } } .book-wrapper { background: rgb(var(--lh-book-color)); padding: 0.5rem; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.2); border-radius: 5px; margin: 1rem auto } @media screen and (min-width: 768px) { .book-wrapper .notepaper { margin: 0 } } /** * 文字修饰 */ .text-highlighted { position: relative } .text-highlighted::before { content: ""; position: absolute; height: 0.9em; bottom: 2px; left: -2px; width: 105%; z-index: -1; background-color: rgb(var(--lh-highlighter)); opacity: .6; transform: skew(-15deg); transition: opacity .2s ease; border-radius: 3px 8px 10px 6px; transition: 0.1s ease background-color; } .text-underlined { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; text-decoration-color: rgb(var(--lh-highlighter)) } .text-wavy { text-decoration: underline wavy; text-underline-offset: 4px; text-decoration-color: rgb(var(--lh-highlighter)) } .text-circled, .text-squared { display: inline-block; border: 2px solid rgb(var(--lh-highlighter)); border-radius: 100%; box-sizing: border-box } .text-squared { border-radius: 0 } .text-shadow { text-shadow: 0.075em 0.075em 0 rgb(var(--lh-highlighter)) } .text-highlighted.td-red::before { background: var(--lh-red) } .text-circled.td-red, .text-squared.td-red { border-color: var(--lh-red) } .text-underlined.td-red, .text-wavy.td-red { text-decoration-color: var(--lh-red) } .text-highlighted.td-blue::before { background: var(--lh-blue) } .text-circled.td-blue, .text-squared.td-blue { border-color: var(--lh-blue) } .text-underlined.td-blue, .text-wavy.td-blue { text-decoration-color: var(--lh-blue) } .text-highlighted.td-green::before { background: var(--lh-green) } .text-circled.td-green, .text-squared.td-green { border-color: var(--lh-green) } .text-underlined.td-green, .text-wavy.td-green { text-decoration-color: var(--lh-green) } .text-highlighted.td-darkgreen::before { background: var(--lh-dark-green) } .text-circled.td-darkgreen, .text-squared.td-darkgreen { border-color: var(--lh-dark-green) } .text-underlined.td-darkgreen, .text-wavy.td-darkgreen { text-decoration-color: var(--lh-dark-green) } .text-highlighted.td-purple::before { background: var(--lh-purple) } .text-circled.td-purple, .text-squared.td-purple { border-color: var(--lh-purple) } .text-underlined.td-purple, .text-wavy.td-purple { text-decoration-color: var(--lh-purple) } .text-highlighted.td-yellow::before { background: var(--lh-yellow) } .text-circled.td-yellow, .text-squared.td-yellow { border-color: var(--lh-yellow) } .text-underlined.td-yellow, .text-wavy.td-yellow { text-decoration-color: var(--lh-yellow) } .text-highlighted.td-orange::before { background: var(--lh-orange) } .text-circled.td-orange, .text-squared.td-orange { border-color: var(--lh-orange) } .text-underlined.td-orange, .text-wavy.td-orange { text-decoration-color: var(--lh-orange) } /* 隐藏文字 */ .text-blank { color: rgba(0,0,0,0) } .text-block { background: rgb(var(--black-monochrome)); color: rgb(var(--black-monochrome)); } .text-blur { filter: blur(0.3em); -webkit-filter: blur(0.3em) } .text-hoverback, .text-selectback { transition-duration: 0.3s; transition-property: background, transform, color } .text-blank.text-hoverback:hover, .text-blank.text-selectback::selection, .text-blank.text-selectback *::selection { color: rgb(var(--black-monochrome)) } .text-block.text-hoverback:hover { background: transparent!important } .text-block.text-selectback::selection, .text-block.text-selectback *::selection { color: rgb(var(--white-monochrome, 255, 255, 255)) } .text-blur.text-hoverback:hover { filter: blur(0)!important; -webkit-filter: blur(0)!important } /** * 附加项 */ .with-border, .with-box-style { border: 1px solid rgb(var(--bright-accent)) } .with-border-dark { border: 1px solid rgb(var(--black-monochrome)) } .with-border-light { border: 1px solid rgb(var(--white-monochrome)) } .with-border-thick { border-width: 2px } .with-shadow-sm { box-shadow: 0 0 0.1em rgba(0,0,0,0.2) } .with-shadow { box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2) } .with-shadow-lg { box-shadow: 0 0.15em 0.3em rgba(0,0,0,0.2) } .with-shadow-xl { box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.2) } .with-shadow-xxl { box-shadow: 0 0.25em 0.8em rgba(0,0,0,0.2) } .with-padding, .with-box-style { padding: 0.25em 1em } .with-p-sm { padding: 0.125em 0.5em } .with-p-lg { padding: 0.5em 2em } .with-margin, .with-box-style { margin: 1em auto } .with-m-sm { margin: 0.5em auto } .with-m-lg { margin: 2em auto } .with-narrow-width { width: 90%!important; margin-left: auto; margin-right: auto } @media screen and (min-width: 768px) { .with-narrow-width { width: 75%!important } } [class*="with-bg-"], [class*="with-bg-"] h1 { color: #fff!important } .with-bg-red { background: var(--lh-red)!important } .with-bg-blue { background: var(--lh-blue)!important } .with-bg-green { background: var(--lh-green)!important } .with-bg-darkgreen { background: var(--lh-dark-green)!important } .with-bg-yellow { background: var(--lh-yellow)!important } .with-bg-orange { background: var(--lh-orange)!important } .with-bg-purple { background: var(--lh-purple)!important } /** * 删除类 */ .offwith-shadow { box-shadow: none!important } .offwith-border { border: none!important } .offwith-padding, .offwith-pam { padding: 0!important } .offwith-margin, .offwith-pam { margin: 0!important } .offwith-width-limit { width: auto!important; margin-left: auto!important; margin-right: auto!important } div[class*="grider"].offwith-grid-gap { grid-gap: 0!important } /** * 网格布局 */ /* Gridder 容器 */ div[class*="gridder"] { display: grid; box-sizing: border-box; grid-gap: 1rem; padding: 0 } div[class*="gridder"] * { box-sizing: border-box } .gridder, .gridder-col-2 { grid-template-columns: 1fr 1fr; } .gridder-col-3 { grid-template-columns: repeat(3, 1fr); } .gridder-col-4 { grid-template-columns: repeat(4, 1fr); } @media screen and (min-width: 768px) { .pc-gridder, .pc-gridder-col-2 { grid-template-columns: 1fr 1fr; } .pc-gridder-col-3 { grid-template-columns: repeat(3, 1fr); } .pc-gridder-col-4 { grid-template-columns: repeat(4, 1fr); } } .spanner, .spanner-2 { grid-column-start: span 2; } .spanner-3 { grid-column-start: span 3; } /** * 告示组件 */ .signblock, .signblock-dark, .signblock-warn { margin: 1rem auto; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.4); background: rgb(var(--lh-white-bg)); font-size: 1.05rem; padding: 2rem } @media screen and (min-width: 768px) { .signblock, .signblock-dark, .signblock-warn { width: 75% } } .signblock-dark, .signblock-dark h1 { background: rgb(var(--lh-dark-bg)); color: #fff } .signblock-warn, .signblock-warn h1 { background: var(--lh-red); color: #fff } .signblock h1, .signblock-dark h1, .signblock-warn h1 { text-align: center; font-size: 2rem; margin: 0; font-weight: 700 } .signblock-img { display: flex; flex-direction: row; justify-content: center } .signblock-img img { width: 8em } .signblock-footer { font-size: 0.9em; text-align: center; margin: 0.5rem 0; font-weight: bolder; display: block } /** * 报告 */ .reportblock, .reportblock-dark { border: 2px solid rgb(var(--lh-border-color)); box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3); background: rgb(var(--white-monochrome)); padding: 0.8rem 1.5rem; padding-bottom: 0.4rem; margin: 1.5rem auto; margin-bottom: 1rem; position: relative } .reportblock hr, .reportblock-dark hr { background-color: rgb(var(--lh-border-color)); margin-left: -1.5rem; margin-right: -1.5rem } .reportblock h1:first-child, .reportblock-dark h1:first-child { position: absolute; top: -1rem; left: 1.5rem; font-size: 110%; font-weight: 600; background: rgb(var(--lh-border-color)); color: #fff; padding: 0.2rem 0.5rem; margin: 0; } .reportblock-dark, .reportblock-dark h1 { border-color: rgb(var(--lh-white-bg)); background: rgb(var(--lh-dark-bg)); color: #fff } .reportblock-dark hr { background-color: rgb(var(--lh-white-bg)); } /* 更好的折叠框 */ .bettercollap { margin: 1em 0; } .bettercollap .collapsible-block { width: auto; overflow: hidden; border: 1px solid rgb(var(--lh-border-color)) } .bettercollap .collapsible-block-content, .bettercollap .collapsible-block-link { background: rgb(var(--white-monochrome)); padding: 0.5em } .bettercollap .collapsible-block-content { padding-left: 1em; padding-right: 1em } .bettercollap .collapsible-block-link { color: rgb(var(--lh-border-color)); background: rgb(var(--white-monochrome)); transition: .3s; display: block; } .bettercollap .collapsible-block-link:hover, .bettercollap .collapsible-block-unfolded .collapsible-block-link, .styledcollap.bettercollap .collapsible-block-link { color: rgb(var(--white-monochrome)); background: rgb(var(--lh-border-color))!important; text-decoration: none } .bettercollap .collapsible-block-link:hover a { color: rgb(var(--white-monochrome)) } .bettercollap .collapsible-block-link::before { content: "\25BC"; display: inline-block; margin-right: 0.5em; transform: rotate(-90deg) scale(0.9) } .bettercollap .collapsible-block-unfolded .collapsible-block-link::before { transform: rotate(0) scale(0.9) } .bettercollap .collapsible-block + .collapsible-block { border-top: none } .styledcollap.bettercollap .collapsible-block { border-radius: 2px; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3) } .styledcollap.bettercollap .collapsible-block-content { background-color: rgb(var(--pale-gray-monochrome)); border-width: 3px } .styledcollap.bettercollap .collapsible-block-link:hover { background: rgba(var(--lh-border-color),0.95)!important; } /** * 提示框 */ .infoblock { color: #f1f1f1; font-weight: bold; background: #424242; padding: 5px 5px 5px 5px; border-radius: 4px; margin: -0.5rem 0 1rem 0; display: block; width: fit-content; padding-right: 25px; } .infoblock::before { content: "ⓘ " } /** * 单页迭代 */ .offset-page:not(:target), .offset-page:target ~ div#u-default-page { display: none } .offset-page:target { display: block }
What this is
A bunch of miscellaneous CSS 'improvements' that I, Croquembouche, use on a bunch of pages because I think it makes them easier to deal with.
The changes this component makes are bunch of really trivial modifications to ease the writing experience and to make documenting components/themes a bit easier (which I do a lot). It doesn't change anything about the page visually for the reader — the changes are for the writer.
I wouldn't expect translations of articles that use this component to also use this component, unless the translator likes it and would want to use it anyway.
This component probably won't conflict with other components or themes, and even if it does, it probably won't matter too much.
Usage
On any wiki:
[[include :scp-wiki:component:croqstyle]]
This component is designed to be used on other components. When using on another component, be sure to add this inside the component's [[iftags]] block, so that users of your component are not forced into also using Croqstyle.
Related components
Other personal styling components (which change just a couple things):
Personal styling themes (which are visual overhauls):
CSS changes
Reasonably-sized footnotes
Stops footnotes from being a million miles wide, so that you can actually read them.
.hovertip { max-width: 400px; }
Monospace edit/code
Makes the edit textbox monospace, and also changes all monospace text to Fira Code, the obviously superior monospace font.
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap'); :root { --mono-font: "Fira Code", Cousine, monospace; } #edit-page-textarea, .code pre, .code p, .code, tt, .page-source { font-family: var(--mono-font); } .code pre * { white-space: pre; } .code *, .pre * { font-feature-settings: unset; }
Teletype backgrounds
Adds a light grey background to <tt> elements ({{text}}), so code snippets stand out more.
tt { background-color: var(--swatch-something-bhl-idk-will-fix-later, #f4f4f4); font-size: 85%; padding: 0.2em 0.4em; margin: 0; border-radius: 6px; }
No more bigfaces
Stops big pictures from appearing when you hover over someone's avatar image, because they're stupid and really annoying and you can just click on them if you want to see the big version.
.avatar-hover { display: none !important; }
Breaky breaky
Any text inside a div with class nobreak has line-wrapping happen between every letter.
.nobreak { word-break: break-all; }
Code colours
Add my terminal's code colours as variables. Maybe I'll change this to a more common terminal theme like Monokai or something at some point, but for now it's just my personal theme, which is derived from Tomorrow Night Eighties.
Also, adding the .terminal class to a fake code block as [[div class="code terminal"]] gives it a sort of pseudo-terminal look with a dark background. Doesn't work with [[code]], because Wikidot inserts a bunch of syntax highlighting that you can't change yourself without a bunch of CSS. Use it for non-[[code]] code snippets only.
Quick tool to colourise a 'standard' Wikidot component usage example with the above vars: link
:root { --c-bg: #393939; --c-syntax: #e0e0e0; --c-comment: #999999; --c-error: #f2777a; --c-value: #f99157; --c-symbol: #ffcc66; --c-string: #99cc99; --c-operator: #66cccc; --c-builtin: #70a7df; --c-keyword: #cc99cc; } .terminal, .terminal > .code { color: var(--c-syntax); background: var(--c-bg); border: 0.4rem solid var(--c-comment); border-radius: 1rem; }
Debug mode
Draw lines around anything inside .debug-mode. The colour of the lines is red but defers to CSS variable --debug-colour.
You can also add div.debug-info.over and div.debug-info.under inside an element to annotate the debug boxes — though you'll need to make sure to leave enough vertical space that the annotation doesn't overlap the thing above or below it.
…like this!
.debug-mode, .debug-mode *, .debug-mode *::before, .debug-mode *::after { outline: 1px solid var(--debug-colour, red); position: relative; } .debug-info { position: absolute; left: 50%; transform: translateX(-50%); font-family: 'Fira Code', monospace; font-size: 1rem; white-space: nowrap; } .debug-info.over { top: -2.5rem; } .debug-info.under { bottom: -2.5rem; } .debug-info p { margin: 0; }