/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* === BASE === */
html{
    font-size:15px;
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%
}
body{
    font-family:"IBM Plex Mono","JetBrains Mono","Fira Code",Consolas,"Courier New",monospace;
    background-color:#111118;
    color:#b0b0b8;
    line-height:1.7;
    max-width:760px;
    margin:0 auto;
    padding:2rem 1.5rem
}
@media screen and (min-width:600px){
    body{font-size:15px;padding:3rem 2rem}
}
@media screen and (max-width:599px){
    body{font-size:13px;padding:1.5rem 1rem}
}

::selection{background:#334}

/* === LINKS === */
a{
    color:#7a9cc6;
    text-decoration:none
}
a:hover{
    color:#a0c4e8;
    text-decoration:underline
}

/* === HEADINGS === */
h1,h2,h3,h4,h5,h6{
    font-family:inherit;
    font-weight:700;
    color:#d0d0d8;
    line-height:1.3;
    margin:1.8em 0 0.6em 0;
    text-transform:uppercase;
    letter-spacing:0.05em
}
h1{font-size:1.4em}
h2{font-size:1.2em}
h3{font-size:1.05em}
h4,h5,h6{font-size:1em}

h2::before{content:"# ";color:#555}
h3::before{content:"## ";color:#555}
h4::before{content:"### ";color:#555}

/* Title */
.title{
    text-align:left;
    font-size:1.4em;
    color:#d0d0d8;
    margin:0 0 0.3em 0;
    border-bottom:none;
    text-transform:uppercase;
    letter-spacing:0.08em
}
h1.title{border-bottom:none}
.subtitle{
    font-size:0.9em;
    color:#666;
    font-weight:400;
    margin:0 0 2em 0;
    text-align:left
}

/* === PARAGRAPHS & TEXT === */
p,dl,ol,ul{margin:0.8em 0}

blockquote{
    margin:1.5em 0;
    padding:0.5em 1em;
    border-left:2px solid #333;
    color:#888
}

/* === NAVIGATION === */
#org-div-home-and-up{
    font-size:0.85em;
    text-align:left;
    margin-bottom:2em;
    padding-bottom:1em;
    border-bottom:1px solid #222
}
#org-div-home-and-up a{
    color:#666;
    margin-right:1em
}
#org-div-home-and-up a::before{content:"[ "}
#org-div-home-and-up a::after{content:" ]"}
#org-div-home-and-up a:hover{color:#a0c4e8;text-decoration:none}

/* === LISTS === */
ul{list-style:none;padding-left:0}
ul li::before{
    content:"- ";
    color:#555
}
ul li{margin:0.3em 0;padding-left:1.2em;text-indent:-1.2em}
ol{padding-left:1.5em}
ol li{margin:0.3em 0}
dt{font-weight:700;color:#d0d0d8}

/* === TABLE === */
table{
    margin:1.5em 0;
    border-collapse:collapse;
    font-size:0.9em;
    width:100%
}
table,thead{border-bottom:1px solid #333}
table{border-top:1px solid #333}
th{
    text-align:left;
    color:#d0d0d8;
    padding:0.4em 0.8em;
    border-bottom:1px solid #333
}
td{
    padding:0.4em 0.8em;
    border-bottom:1px solid #1a1a22
}
table td+td,table th+th{border-left:1px solid #222}
tr:hover{background-color:#151520}

/* === CODE === */
code,kbd,pre,samp{
    font-family:inherit;
    font-size:0.95em
}
:not(pre)>code{
    padding:0.15em 0.4em;
    background:#1a1a24;
    border:1px solid #282830;
    border-radius:2px;
    color:#c8a0d0
}
.org-src-container{
    background:#0d0d12;
    border:1px solid #222;
    border-radius:2px;
    margin:1.5em 0;
    padding:0;
    position:relative;
    overflow:hidden
}
.org-src-container>pre{
    margin:0;
    padding:1em 1.2em;
    overflow-x:auto;
    color:#b0b0b8
}
.org-src-container>pre:before{
    display:block;
    position:absolute;
    top:0;right:0;
    padding:0.1em 0.6em;
    font-size:0.7em;
    color:#555;
    background:#151520;
    border-bottom-left-radius:4px
}

/* Language labels */
.org-src-container>pre.src-sh:before{content:"sh"}
.org-src-container>pre.src-bash:before{content:"bash"}
.org-src-container>pre.src-emacs-lisp:before{content:"elisp"}
.org-src-container>pre.src-python:before{content:"python"}
.org-src-container>pre.src-javascript:before,.org-src-container>pre.src-js:before{content:"js"}
.org-src-container>pre.src-go:before{content:"go"}
.org-src-container>pre.src-java:before{content:"java"}
.org-src-container>pre.src-rust:before{content:"rust"}
.org-src-container>pre.src-typescript:before{content:"ts"}
.org-src-container>pre.src-c:before,.org-src-container>pre.src-C:before{content:"c"}
.org-src-container>pre.src-cpp:before{content:"c++"}
.org-src-container>pre.src-ruby:before{content:"ruby"}
.org-src-container>pre.src-sql:before{content:"sql"}
.org-src-container>pre.src-html:before{content:"html"}
.org-src-container>pre.src-css:before{content:"css"}
.org-src-container>pre.src-shell:before{content:"shell"}
.org-src-container>pre.src-makefile:before{content:"make"}
.org-src-container>pre.src-org:before{content:"org"}
.org-src-container>pre.src-lisp:before{content:"lisp"}
.org-src-container>pre.src-scheme:before{content:"scheme"}
.org-src-container>pre.src-haskell:before{content:"haskell"}
.org-src-container>pre.src-scala:before{content:"scala"}
.org-src-container>pre.src-clojure:before{content:"clojure"}
.org-src-container>pre.src-kotlin:before{content:"kotlin"}
.org-src-container>pre.src-elixir:before{content:"elixir"}
.org-src-container>pre.src-perl:before{content:"perl"}
.org-src-container>pre.src-R:before{content:"R"}
.org-src-container>pre.src-latex:before{content:"latex"}
.org-src-container>pre.src-yaml:before{content:"yaml"}
.org-src-container>pre.src-json:before{content:"json"}
.org-src-container>pre.src-dockerfile:before{content:"docker"}

/* Syntax highlighting (dark theme) */
.org-builtin{color:#8888c6}
.org-comment,.org-comment-delimiter{color:#555}
.org-constant{color:#7ec8e3}
.org-function-name{color:#88b4e7}
.org-keyword{color:#c678dd}
.org-string{color:#98c379}
.org-type{color:#e5c07b}
.org-variable-name{color:#e06c75}
.org-preprocessor{color:#c678dd}
.org-doc{color:#666}
.org-warning{color:#e5c07b}

/* === IMAGES === */
figure{
    margin:1.5em 0;
    padding:0;
    text-align:center
}
img{
    max-width:100%;
    vertical-align:middle;
    border-radius:2px
}
figcaption{
    margin-top:0.5em;
    font-size:0.85em;
    color:#555
}

/* === FOOTER / PREAMBLE === */
#postamble{
    margin-top:4em;
    padding-top:1em;
    border-top:1px solid #222;
    font-size:0.8em;
    color:#444
}
#postamble p{margin:0.2em 0}
#preamble p{
    font-size:0.85em;
    color:#555;
    margin:0.2em 0
}

/* === STATUS / DATE === */
.status{
    font-size:0.85em;
    color:#555;
    margin:1.5em 0
}
.timestamp{color:#555;font-size:0.9em}
.timestamp-kwd{color:#555}

/* === TOC === */
#table-of-contents{
    margin:2em 0;
    padding:1em;
    background:#0d0d12;
    border:1px solid #222;
    border-radius:2px
}
#table-of-contents h2{
    font-size:0.9em;
    margin:0 0 0.8em 0;
    color:#666
}
#table-of-contents li{
    clear:both;
    margin:0.2em 0
}
#table-of-contents ul{padding-left:1em}
#table-of-contents ul li::before{content:"";padding:0}
#table-of-contents ul li{padding-left:0;text-indent:0}

/* === TAGS === */
.tag{
    font-size:0.7em;
    font-weight:400
}
.tag span{
    padding:0.15em 0.4em;
    float:right;
    margin-right:0.5em;
    border:1px solid #333;
    border-radius:2px;
    color:#666;
    background:#1a1a24;
    line-height:1
}

/* === TODO / DONE === */
.todo,.done{
    color:#111;
    padding:0.1em 0.4em;
    border-radius:2px;
    font-size:0.8em;
    font-family:inherit;
    line-height:1
}
.todo{background:#e06c75}
.done{background:#98c379}
.priority{color:#e5c07b;font-family:inherit}

/* === FOOTNOTES === */
#footnotes{font-size:0.85em;color:#666;margin-top:3em}
.footpara{display:inline;margin:0.2em auto}
.footdef{margin-bottom:1em}
.footdef sup{padding-right:0.5em}

/* === MISC === */
.abstract{
    margin:auto;
    width:80%;
    font-style:italic;
    color:#888
}
[class^=section-number-]{margin-right:0.5em;color:#555}
[id^=orgheadline]{clear:both}
.inlinetask{
    background:#1a1a24;
    border:1px solid #333;
    margin:1em 0;
    padding:1em
}
.linenr{font-size:0.9em;color:#444}
.code-highlighted{background:#334}
#bibliography{font-size:0.85em}
#bibliography table{width:100%}
.creator{display:block;color:#333;font-size:0.8em}
@media screen and (min-width:600px){
    .creator{display:inline;float:right}
}
kbd{
    background:#1a1a24;
    border:1px solid #333;
    border-radius:2px;
    font-size:0.85em;
    padding:0.1em 0.5em;
    color:#b0b0b8
}
hr{
    border:none;
    border-top:1px solid #222;
    margin:2em 0
}

/* === ORG CLASSES (keep for htmlize compatibility) === */
.org-bold{font-weight:700}
.org-bold-italic{font-weight:700;font-style:italic}
.org-italic{font-style:italic}
.org-underline{text-decoration:underline}
.org-org-done{color:#98c379;font-weight:700}
.org-org-todo{color:#e06c75;font-weight:700}

p.verse{margin-left:3%;color:#888}
.MathJax_Display{font-size:90%;margin:0!important;width:90%!important}
