/*
Theme Name: DoerOfThingsPhosphor
Description: A quiet green-screen terminal for the modern web. Full Site Editing, responsive layouts, and subtle CRT texture.
Version: 1.0.13
Requires at least: 6.6
Requires PHP: 7.4
Author: Codex
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: phosphor
Tags: blog, portfolio, block-patterns, full-site-editing, wide-blocks, custom-colors, editor-style
*/
:root{color-scheme:dark}
html{scroll-behavior:smooth}
body{background-image:radial-gradient(ellipse at 50% 0%,#153b2033,transparent 70%);text-rendering:optimizeLegibility}
/* CRT texture stays behind content so photographs remain untouched. */
body{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#00000012 3px,#00000012 4px),radial-gradient(ellipse at 50% 0%,#153b2033,transparent 70%)}
::selection{background:#a0ff82;color:#07100b}
a{text-underline-offset:.25em}
a:hover{color:#d8ffcd}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #c6ffb4;outline-offset:5px}
h1,h2,.wp-block-site-title{text-shadow:0 0 22px #83ff6833;overflow-wrap:anywhere}
.phosphor-header{border-top:3px solid #9bff80;border-bottom:1px solid #31583b;padding-block:1.6rem}
.phosphor-brand::before{content:"> ";color:#9bff80}
.phosphor-status{letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;color:#9bb59c}
.phosphor-intro{padding-block:clamp(2.5rem,7vw,5rem);border-bottom:1px dashed #31583b}
.phosphor-intro h1{font-size:clamp(2.8rem,7vw,5.5rem);line-height:1.08;letter-spacing:-.065em;max-width:850px}
.phosphor-intro h1::after{content:"_";color:#9bff80}
.phosphor-list{list-style:none;padding:0}
.phosphor-entry{padding-block:2rem;border-bottom:1px solid #31583b}
.phosphor-entry h2 a{text-decoration:none}
.phosphor-entry h2 a:hover{text-decoration:underline}
.phosphor-entry .wp-block-post-excerpt{max-width:740px}
.phosphor-meta{font-size:.8125rem;color:#9bb59c;gap:1rem}
.phosphor-footer{border-top:1px solid #31583b;padding-block:2rem;margin-top:4rem}
.wp-block-navigation a{text-decoration:none}
.wp-block-navigation a:hover{text-decoration:underline}
.wp-block-navigation__responsive-container.is-menu-open{background:#07100b;color:#9bff80;padding:2rem}
.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{padding:.6rem}
.wp-block-post-content{overflow-wrap:anywhere}
.wp-block-post-content :where(p,li){line-height:1.85}


pre{overflow:auto;border:1px solid #31583b;padding:1.5rem;background:#0e1c12}
code,kbd{font-family:inherit}
blockquote{border-left:3px solid #9bff80;padding-left:1.5rem;margin-inline:0}
.wp-block-button__link,.wp-block-search__button,button,input[type=submit]{border-radius:0;background:#9bff80;color:#07100b;font:inherit;border:1px solid #9bff80;padding:.8rem 1.1rem;cursor:pointer}
.wp-block-button__link:hover,.wp-block-search__button:hover,input[type=submit]:hover{background:#c6ffb4;color:#07100b}
input:not([type=submit]):not([type=checkbox]):not([type=radio]),textarea,select,.wp-block-search__input{box-sizing:border-box;max-width:100%;border:1px solid #537c57;border-radius:0;background:#0b1810;color:#ceebc7;font:inherit;padding:.85rem}
textarea{width:100%}
label{display:inline-block;margin-bottom:.4rem}
.wp-block-search__inside-wrapper{gap:.5rem}
.wp-block-query-pagination{padding-block:2rem}
.wp-block-query-pagination-numbers .page-numbers{display:inline-block;padding:.5rem .75rem}
.wp-block-query-pagination-numbers .current{background:#9bff80;color:#07100b}
.wp-block-separator{border-color:#31583b}
.wp-block-table{overflow-x:auto}
.wp-block-table td,.wp-block-table th{border-color:#31583b;padding:.8rem}
.wp-block-comment-template{padding-left:0}
.wp-block-comment-template li{border-top:1px solid #31583b;padding-top:1.5rem}
.wp-block-comment-template ol{padding-left:1.25rem}
@media(max-width:600px){.phosphor-header{gap:1rem}.phosphor-entry h2{font-size:1.65rem}.wp-block-search__inside-wrapper{flex-wrap:wrap}.wp-block-search__input{min-width:0;flex-basis:65%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(prefers-contrast:more){body::before{display:none}h1,h2,.wp-block-site-title{text-shadow:none}}
@media print{body{background:white!important;color:black!important}body::before{display:none}a,h1,h2{color:black!important;text-shadow:none!important}.wp-block-navigation{display:none}}


/* Shared header row; navigation wraps within its own available space. */
.phosphor-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:clamp(.75rem,3vw,2rem)}
.phosphor-header .phosphor-brand{flex:0 1 auto;min-width:0;max-width:52%;margin:0;overflow-wrap:anywhere}
.phosphor-header .phosphor-menu{flex:0 1 auto;min-width:0;width:auto;margin:0 0 0 auto;padding:0;border:0}
.phosphor-menu .wp-block-navigation__container{justify-content:flex-end;flex-wrap:wrap;gap:.5rem}
.phosphor-menu .wp-block-navigation-item__content{display:inline-block;padding:.5rem .65rem;color:#9bff80;border:1px solid #31583b;overflow-wrap:anywhere}
.phosphor-menu .wp-block-navigation-item__content:hover{background:#153b20;color:#d8ffcd}
.phosphor-menu .wp-block-navigation-item{min-width:0}
.wp-site-blocks :where(main,.wp-block-post-content,.wp-block-query,.wp-block-column){min-width:0}
.wp-block-post-content :where(img,video,iframe){max-width:100%}
.wp-block-post-content :where(img,video){height:auto}
.phosphor-entry h2{font-size:clamp(1.5rem,4vw,2.25rem)}
.wp-block-post-content pre{max-width:100%;white-space:pre;overflow-x:auto}
@media(max-width:600px){
.phosphor-header{padding-block:1rem;gap:.65rem}
.phosphor-header .phosphor-brand{font-size:clamp(.875rem,3.5vw,1.15rem);max-width:45%}
.phosphor-header .phosphor-menu{font-size:.875rem}
.phosphor-menu .wp-block-navigation__container{gap:.35rem}
.phosphor-menu .wp-block-navigation-item__content{padding:.6rem .4rem}
.phosphor-intro{padding-block:2.25rem}
.phosphor-intro h1{font-size:clamp(2rem,10vw,3rem)}
.phosphor-entry{padding-block:1.5rem}
.phosphor-footer{margin-top:2.5rem;gap:1rem}
.wp-block-query-pagination{gap:.75rem;flex-wrap:wrap}
}

/* Consistent phosphor navigation, including WordPress page-list submenus. */
.phosphor-menu{--menu-green:var(--wp--preset--color--phosphor,#9bff80);--menu-screen:var(--wp--preset--color--screen,#07100b);--menu-panel:var(--wp--preset--color--panel,#0e1c12);color:var(--menu-green)}
.phosphor-menu :is(a,a:visited,a:hover,a:focus,a:active,.wp-block-navigation-item__content,.wp-block-navigation-submenu__toggle,.wp-block-navigation__submenu-icon){color:var(--menu-green)}
.phosphor-menu :is(a,.wp-block-navigation-item__content){border-color:var(--menu-green);background:transparent;text-decoration:none}
.phosphor-menu :is(a:hover,a:focus-visible,.current-menu-item > .wp-block-navigation-item__content,.current_page_item > a){color:var(--menu-green);background:var(--menu-panel);text-shadow:0 0 10px #9bff8033}
.phosphor-menu :is(a:focus-visible,button:focus-visible){outline:2px solid var(--menu-green);outline-offset:3px}
.phosphor-menu .wp-block-navigation__submenu-container{background:var(--menu-screen);color:var(--menu-green);border:1px solid var(--menu-green);padding:.4rem;min-width:12rem}
.phosphor-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content{border-color:transparent;width:100%;box-sizing:border-box}
.phosphor-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{border-color:var(--menu-green)}
.phosphor-menu :is(.wp-block-navigation-submenu__toggle,.wp-block-navigation__submenu-icon){background:transparent;border-color:transparent}
.phosphor-menu .wp-block-navigation__submenu-icon svg{color:inherit;fill:currentColor}
@media(prefers-contrast:more){.phosphor-menu a{text-shadow:none}}

/* Override core navigation colors and saved header color settings. */
.wp-block-navigation :is(.wp-block-navigation__submenu-container,.wp-block-page-list .children){
 background:#07100b!important;
 color:#9bff80!important;
 border:1px solid #9bff80!important;
}
.wp-block-navigation .wp-block-navigation__submenu-container :is(.wp-block-navigation-item,.wp-block-navigation-item__content,.wp-block-navigation-submenu__toggle,.wp-block-navigation__submenu-icon),
.wp-block-navigation .wp-block-page-list .children :is(li,a,button){
 background-color:#07100b!important;
 color:#9bff80!important;
}
.wp-block-navigation .wp-block-navigation__submenu-container :is(a:hover,a:focus-visible,button:hover,button:focus-visible),
.wp-block-navigation .wp-block-page-list .children :is(a:hover,a:focus-visible){
 background-color:#0e1c12!important;
 color:#9bff80!important;
}
.wp-block-navigation .wp-block-navigation__submenu-container a:focus-visible{outline:2px solid #9bff80;outline-offset:-2px}

/* Open header and unboxed menu links. */
.phosphor-header{border-top:0!important}
.phosphor-menu a,.wp-block-navigation .wp-block-navigation-item__content,.phosphor-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{border:0!important;box-shadow:none!important}

.wp-block-post-content img,.wp-block-post-featured-image img{border:1px solid #31583b}

/* Match all footer text and link states to the phosphor palette. */
.phosphor-footer,.phosphor-footer :is(p,span,.phosphor-status,.wp-block-site-title,a,a:visited,a:hover,a:focus,a:active){color:var(--wp--preset--color--phosphor,#9bff80)!important}

/* One phosphor ink color throughout the site; pictures retain original colors. */
body .wp-site-blocks,body .wp-site-blocks *,body .shell,body .shell *{color:var(--wp--preset--color--phosphor,#9bff80)!important}
body :is(.wp-block-button__link,.wp-block-search__button,input[type=submit],button,.wp-block-query-pagination-numbers .current){background-color:#0e1c12!important;color:#9bff80!important}
body :is(input,textarea)::placeholder{color:#9bff80;opacity:1}
::selection{background:#31583b;color:#9bff80}

/* Classic fixed-pitch terminal lettering, using locally available fonts. */
body,.editor-styles-wrapper{font-family:"Courier New",Courier,"Nimbus Mono PS",monospace;font-weight:600;line-height:1.6}
body .wp-site-blocks :is(h1,h2,h3,h4,h5,h6,p,a,li,span,label,input,textarea,select,button,code,pre),
body .shell :is(h1,h2,h3,h4,h5,h6,p,a,li,span,label,input,textarea,select,button,code,pre){
font-family:"Courier New",Courier,"Nimbus Mono PS",monospace!important;
}
body :is(h1,h2,h3,h4,h5,h6,.wp-block-site-title,.phosphor-intro h1,.phosphor-entry h2){font-weight:700;letter-spacing:0}
.wp-block-post-content :where(p,li){line-height:1.65}
