@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/IBMPlexSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/IBMPlexSans-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/IBMPlexSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/IBMPlexSans-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:'IBM Plex Serif';src:url('/static/fonts/IBMPlexSerif-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Serif';src:url('/static/fonts/IBMPlexSerif-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'IBM Plex Serif';src:url('/static/fonts/IBMPlexSerif-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Serif';src:url('/static/fonts/IBMPlexSerif-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/static/fonts/IBMPlexMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box}.no-transition,.no-transition *{transition:none !important}body{font-family:"IBM Plex Sans",sans-serif;font-weight:400;font-size:18px;line-height:1.6;background:#fff;color:#000;margin:0;padding:0;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;transition:background-color .4s ease,color .4s ease}main{width:100%;max-width:900px;margin:0 auto;padding:0 32px;flex:1;transition:transform 240ms ease,opacity 240ms ease}main.swipe-out-left{transform:translateX(-40px);opacity:0}main.swipe-out-right{transform:translateX(40px);opacity:0}main.swipe-in-right{transform:translateX(40px);opacity:0}main.swipe-in-left{transform:translateX(-40px);opacity:0}nav{padding:32px;position:relative;display:flex;justify-content:center;align-items:center}nav a.logo{font-family:"IBM Plex Serif",serif;font-weight:700;font-size:24px;color:#000;text-decoration:none;position:absolute;left:32px;top:50%;transform:translateY(-50%)}nav ul{list-style:none;margin:0;padding:0;display:flex;gap:32px}nav ul li a{font-size:16px;text-decoration:none;position:relative;display:inline-block}nav ul li a::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:#000;transform:scaleX(0);transform-origin:left;transition:transform 240ms ease}html.dark-mode nav ul li a::after{background-color:#fff}nav ul li a.active::after{transform:scaleX(1)}nav ul li a.active.slide-in-left::after{animation:slideInLeft 240ms ease}nav ul li a.active.slide-in-right::after{animation:slideInRight 240ms ease}nav ul li a.active.slide-out-left::after{animation:slideOutLeft 240ms ease forwards}nav ul li a.active.slide-out-right::after{animation:slideOutRight 240ms ease forwards}@keyframes slideInLeft{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes slideInRight{from{transform:scaleX(0);transform-origin:right}to{transform:scaleX(1);transform-origin:right}}@keyframes slideOutLeft{from{transform:scaleX(1);transform-origin:left}to{transform:scaleX(0);transform-origin:left}}@keyframes slideOutRight{from{transform:scaleX(1);transform-origin:right}to{transform:scaleX(0);transform-origin:right}}#theme-toggle{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:0;border:0;font-size:24px;cursor:pointer;color:#000;padding:0;line-height:1;text-decoration:none;transition:color .4s ease;font-weight:400}#theme-toggle:hover{text-decoration:none}@media(max-width:640px){nav{display:grid;grid-template-columns:auto auto;row-gap:16px;column-gap:16px;align-items:center;justify-content:stretch;padding:24px 16px}nav a.logo,#theme-toggle{position:static;transform:none}nav a.logo{font-size:28px;grid-column:1 / 2;grid-row:1 / 2}#theme-toggle{grid-column:2 / 3;grid-row:1 / 2;justify-self:end}nav ul{grid-column:1 / -1;grid-row:2 / 3;width:100%;display:flex;flex-wrap:wrap;gap:10px;margin-top:0;justify-content:center;padding:0}nav ul li{flex:1 1 auto}nav ul li a{font-size:16px;text-align:center;display:inline-block;width:100%}nav ul li a::after{width:70%;left:15%}}h1,h2,h3{font-family:"IBM Plex Serif",serif;font-weight:700;margin-top:0;line-height:1.1}h1{font-size:48px;margin-bottom:24px}h2{font-size:32px;margin-bottom:24px}h3{font-size:24px;margin-bottom:24px}p{margin-bottom:24px;margin-top:0}ul,ol{margin-bottom:24px;margin-top:0}a{color:#000;text-decoration:underline}section{margin-bottom:120px}section:last-child{margin-bottom:0}footer{padding:48px 32px;text-align:right}footer p{font-size:14px;margin-bottom:0}pre,code{font-family:"IBM Plex Mono","Courier New",monospace;font-size:15px}pre{background:#f5f5f5;padding:16px;overflow-x:auto;margin-bottom:24px;border:1px solid #e0e0e0;border-radius:4px;transition:background-color .4s ease,color .4s ease,border-color .4s ease}code{background:#f5f5f5;padding:2px 4px;transition:background-color .4s ease,color .4s ease}pre code{background:0;padding:0}img{max-width:100%;height:auto}blockquote{margin:0 0 24px 0;padding-left:24px;border-left:2px solid #ccc;transition:border-left-color .4s ease}hr{border:0;height:0;margin:0}html.dark-mode,.dark-mode,html.dark-mode body,.dark-mode body{background:#000;color:#fff}html.dark-mode a,.dark-mode a,html.dark-mode nav a.logo,.dark-mode nav a.logo,html.dark-mode nav ul li a,.dark-mode nav ul li a,html.dark-mode footer p,.dark-mode footer p,html.dark-mode .admin-editor .cancel,.dark-mode .admin-editor .cancel,html.dark-mode .admin-nav a,.dark-mode .admin-nav a{color:#fff}html.dark-mode pre,.dark-mode pre,html.dark-mode code,.dark-mode code{background:#1a1a1a;color:#e0e0e0}html.dark-mode pre,.dark-mode pre{border-color:#333}html.dark-mode pre code,.dark-mode pre code{background:0}html.dark-mode blockquote,.dark-mode blockquote{border-left-color:#555}html.dark-mode #theme-toggle,.dark-mode #theme-toggle{color:#fff}button,.admin-btn{font-family:"IBM Plex Sans",sans-serif;font-size:16px;font-weight:700;padding:8px 24px;background:#000;color:#fff;border:0;cursor:pointer;text-transform:capitalize;display:inline-block;vertical-align:middle}button:hover,.admin-btn:hover{text-decoration:underline}.admin-btn-danger{background:#c00}label{display:block;margin-bottom:8px;font-size:16px}input[type="password"],input[type="text"],textarea{display:block;width:100%;padding:8px 12px;font-size:16px;border:1px solid #000;background:#fff;color:#000;margin-bottom:24px}textarea{min-height:500px;font-family:"IBM Plex Mono","Courier New",monospace;font-size:15px;line-height:1.6}.login-form,.admin-editor,.admin-nav,.admin-page-list{max-width:1400px;margin:0 auto;padding:0 32px}.login-form{padding-top:32px}.login-form .error{color:#c00;margin-bottom:24px;font-size:14px}.login-actions,.page-actions,.admin-actions{display:flex;align-items:center;gap:8px}.login-actions{justify-content:space-between}.login-form .back-link,.admin-logout,.upload-empty,.upload-back{font-size:14px}.login-form .back-link{margin:0}.login-form .back-link a,.admin-logout a,.upload-back a{text-decoration:none}.login-form .back-link a:hover,.admin-logout a:hover,.upload-back a:hover{text-decoration:underline}.admin-logout{margin-top:48px;text-align:right}.admin-page-list h1,.admin-editor h1,.upload-form+.upload-list,.upload-list,.upload-item{margin:0}.admin-page-list h1,.admin-editor h1{font-size:36px;margin-bottom:24px}.admin-page-list ul{list-style:none;padding:0;margin:0}.admin-page-list ul li{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.admin-page-list ul li a{font-size:18px}.upload-form{margin-bottom:32px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.upload-file-label{cursor:pointer}.upload-status{margin-left:16px;font-size:14px}.upload-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.upload-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-preview{width:80px;height:60px;object-fit:cover;border:1px solid #ccc}.upload-details{flex:1;min-width:220px}.upload-name{font-size:14px;margin-bottom:8px}.upload-url{font-size:12px;width:100%;max-width:380px;padding:4px;border:1px solid #ccc}.upload-empty{font-size:14px}.upload-back{margin-top:32px;text-align:right}.admin-editor .cancel{font-size:16px;color:#000}.admin-nav{margin:0 auto}.admin-nav a{font-size:14px;margin-right:24px}.EasyMDEContainer .editor-toolbar{border:1px solid #000;border-bottom:0;background:#fff}.EasyMDEContainer .editor-toolbar button{color:#000 !important}.EasyMDEContainer .editor-toolbar button:hover{background:#f0f0f0}.EasyMDEContainer .CodeMirror{border:1px solid #000;font-family:"IBM Plex Mono","Courier New",monospace;font-size:15px;line-height:1.6;color:#000}.EasyMDEContainer .editor-preview{background:#fff;color:#000}