﻿@font-face{font-family:"Computer Modern Sans";src:url("fonts/cmunss.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"Computer Modern Sans";src:url("fonts/cmunsx.woff2") format("woff2");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:"Computer Modern Sans";src:url("fonts/cmunsi.woff2") format("woff2");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:"Computer Modern Sans";src:url("fonts/cmunso.woff2") format("woff2");font-weight:bold;font-style:italic;font-display:swap}@font-face{font-family:"MonaspiceKr NF";src:url("fonts/MonaspiceKrNerdFont-Regular.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:swap}:root{--foreground: white;--background: #111;--link-color: lightblue;--visited-link-color: pink;--accent: yellow;--trans-accent: rgba(255, 255, 0, 0.3);font-family:"Computer Modern Sans",sans-serif;font-size:14pt}body{height:100vh;margin:0;display:grid;grid-template-areas:"nav main" "footer footer";grid-template-rows:1fr auto;grid-template-columns:auto 1fr;background-color:#000}code{font-family:"MonaspiceKr NF",monospace;font-size:85%}main{grid-area:main;box-sizing:border-box;color:var(--foreground);background-color:var(--background);width:100%}main>div{max-width:90ch;margin:0 auto}main img{display:block;height:auto;max-width:100%;margin:auto}main h1,main h2,main h3,main h4,main h5,main h6{scroll-margin-top:1em;position:relative;margin:0}main *+h2,main *+h3,main *+h4,main *+h5,main *+h6{margin-top:2em}main *+h1{margin-top:4em}main p{line-height:1.5em;margin:1em 0 0 0}main blockquote{margin:0 0 0 1em}a[target=_blank]::after{filter:invert(1)}nav,main{padding:1.5rem;overflow:auto}nav{grid-area:nav;display:flex;justify-self:center;flex-direction:column;gap:1rem;box-sizing:border-box;border-right:.2rem solid var(--trans-accent)}nav input#hamburger,nav span{display:none}nav>div{display:flex;flex-direction:column}nav>div>a{padding:0;height:2em;display:block;padding-left:.5em;line-height:2em}nav>div>a:first-child{font-weight:bold}nav>div>a:not(:first-child)::before{font-weight:bold;content:"→";margin-right:.5em}nav a{color:var(--accent) !important;text-decoration:none;padding:.2rem}nav a *{cursor:pointer;user-select:none}nav a[target=_blank]::after{filter:invert(1)}a:hover{outline:.1rem dashed #26d926}a:active{scale:.99}a *:focus{outline:.2rem solid var(--accent)}header h1{margin:0}header>div{padding:.5rem}header>div #banner{display:flex;flex-direction:row;justify-content:center;align-items:center;margin:0;padding:1rem;gap:1rem}header>div #banner img{height:3em}main>:first-child::before{content:"";display:block;outline:.2rem dashed #26d926;box-shadow:0 0 0 .2rem #d92626}footer{color:var(--foreground);background-color:#000;grid-area:footer;font-size:small;text-align:center;padding:.5em}a{color:var(--link-color);}a:visited{color:var(--visited-link-color)}a[target=_blank]::after{content:"";width:1em;height:1em;margin:0 .05em 0 .1em;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48cGF0aCBkPSJNOSAyTDkgMyAxMi4zIDMgNiA5LjMgNi43IDEwIDEzIDMuNyAxMyA3IDE0IDcgMTQgMlpNNCA0QzIuOSA0IDIgNC45IDIgNkwyIDEyQzIgMTMuMSAyLjkgMTQgNCAxNEwxMCAxNEMxMS4xIDE0IDEyIDEzLjEgMTIgMTJMMTIgNyAxMSA4IDExIDEyQzExIDEyLjYgMTAuNiAxMyAxMCAxM0w0IDEzQzMuNCAxMyAzIDEyLjYgMyAxMkwzIDZDMyA1LjQgMy40IDUgNCA1TDggNSA5IDRaIi8+PC9zdmc+) no-repeat;background-size:contain;display:inline-block;vertical-align:text-top}li{margin-top:1em}li::marker{font-weight:bold}hr{width:100%;height:.1rem;margin:1em auto;border:none;background-color:var(--trans-accent)}.box{display:block;padding:.5em;outline:.2rem dashed #26d926;box-shadow:0 0 0 .2rem #d92626}.box>:first-child{margin-top:0}.box>:last-child{margin-bottom:0}.warn{border-color:red}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background-color:rgba(255,255,0,.3);animation:fadeBackground 5s forwards}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"→";color:var(--accent);margin-right:.3em;padding:0 .2em}@keyframes fadeBackground{100%{background-color:rgba(0,0,0,0)}}@media (max-width: 120ch){nav,main{overflow:visible}body{grid-template-areas:"nav" "main" "footer";grid-template-columns:1fr;grid-template-rows:auto 1fr auto}nav{gap:0;font-size:125%;background-color:#000;justify-self:stretch;position:relative}nav>div{margin-top:1em;width:100%}nav span{align-self:end;display:block;width:2rem;height:.3rem;background:#fff}nav span+span{margin-top:.3em}nav input#hamburger{align-self:center;display:block;position:absolute;height:4rem;top:10.5rem;left:50%;transform:translateX(-50%);width:100%;margin:0;border:0;cursor:pointer;z-index:1;opacity:0}nav input#hamburger:not(:checked)~div{display:none}nav input#hamburger:checked~span.hamburger+span{margin-top:.7em}}@media (prefers-color-scheme: light){body:not(.dark){--foreground: #111;--background: white;--accent: #aa0;--link-color: blue;--visited-link-color: purple}body:not(.dark) main a[target=_blank]::after{filter:unset}body:not(.dark) nav{--accent: #ff0;--background: var(--foreground)}body:not(.dark) footer{--foreground: white;--link-color: lightblue;--visited-link-color: pink}}body.light{--foreground: #111;--background: white;--accent: #aa0;--link-color: blue;--visited-link-color: purple}body.light main a[target=_blank]::after{filter:unset}body.light nav{--accent: #ff0;--background: var(--foreground)}body.light footer{--foreground: white;--link-color: lightblue;--visited-link-color: pink}#light-mode-checkbox{appearance:none;width:2rem;height:2rem;font-size:1rem;cursor:pointer;position:relative;margin-left:auto}#light-mode-checkbox::after{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:rgba(0,0,0,0);text-shadow:0 0 0 #ff0}#light-mode-checkbox:not(:checked)::after{content:"🌙"}#light-mode-checkbox:checked::after{content:"☀️"}table{margin:1em auto;border-collapse:collapse}table td,table th{padding:.5rem 1rem}table th{border-bottom:.2rem solid var(--trans-accent)}.flex{display:flex;justify-content:stretch}