:root { --bg: #5E4C93; --bg2: #1b162a; --text: #FFFFFF; --surface: #3e3261; --muted: #C5C1D1; --border: #20192a; --serif: 'Instrument Serif', Georgia, serif; --sans: 'DM Sans', system-ui, sans-serif; --nav-w: 230px; --font-size: 18px; --margin-main-content: 100px; } @media (prefers-color-scheme: dark) { :root { --bg: #5E4C93; --bg2: #1b162a; --text: #FFFFFF; --surface: #3e3261; --muted: #C5C1D1; --border: #20192a; } } html { scroll-behavior: smooth; } body { background: linear-gradient(135deg, var(--bg), var(--bg2)); margin: 0; } p, span, li { color: var(--muted); line-height: 1.7; font-size: var(--font-size); } h1, h2, h3, a { color: var(--text); } * { box-sizing: border-box; } .sidebar { background-color: var(--bg); margin-top: 0; position: fixed; top: 0; left: 0; border-right: 1px solid var(--border); display: flex; flex-direction: column; height: 100vh; width: 230px; } .lang-dropdown { display: flex; gap: 3px; margin-top: 10px; width: 91px; height: 40px; display: flex; justify-content: center; align-items: center; border: none; background: none; margin-bottom: 10px; } .lang-dropdown.show-border { border: 1px solid var(--border); border-radius: 8px; background: var(--bg2); } .lang-menu { display: flex; align-items: center; gap: 3px; } .lang-item { cursor: pointer; background-color: var(--surface); width: 40px; height: 24px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); } .lang-item:hover { border-color: var(--text); color: var(--text); } #lang-button { width: 40px; height: 30px; appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; background-color: var(--surface); color: var(--muted); border-radius: 8px; border: 1px solid var(--border); padding: 3px 6px; font-size: 14px; } #lang-button:hover { border-color: var(--text); color: var(--text); } option { border: 1px solid var(--border); border-radius: 8px; } #sidebar-top { padding: 36px 32px 20px; border-bottom: 1px solid var(--border); } #sidebar-top-content { display: flex; flex-direction: column; gap: 1px; } #sidebar-top-content p { margin: 0; pad: 0; font-size: 13px; } #navbar { padding: 36px 1px 28px 32px; display: flex; flex-direction: column; gap: 10px; list-style: none; } .navbar-group { margin-top: 10px; } .nav-link { position: relative; text-decoration: none; color: var(--muted); font-size: 13px; } .nav-link:hover { color: var(--text); } .nav-link.active { color: var(--text); font-weight: bold; } .nav-link::before { content: ''; position: absolute; left: -32px; top: 50%; transform: translateY(-50%); width: 2px; height: 0; background: var(--text); border-radius: 0 2px 2px 0; transition: height 0.18s; } .nav-link.active::before { height: 14px; } .nav-link .idx { color: var(--muted); font-weight: normal; font-size: 13px; } .sidebar-bottom-margin { margin-top: auto; display: flex; flex-direction: column; align-items: center; } #sidebar-bottom { padding: 36px 32px 28px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 14px; } #sidebar-bottom a { color: var(--muted); text-decoration: none; font-size: 0.84rem } .main-content { margin-left: 230px; } #introduction { padding-top: 100px; margin-left: var(--margin-main-content); margin-bottom: 60px; margin-right: var(--margin-main-content); } #introduction p { color: var(--text); } .text-link.introduction { margin-top: 20px; } .project-section { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); } .content-block { height: 600px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; } .section-header { margin: 80px; margin-left: var(--margin-main-content); margin-right: var(--margin-main-content); } .tags { margin-top: 30px; display: flex; gap: 6px; flex-wrap: wrap; } .tag { color: var(--muted); background: var(--surface); border: 1px solid var(--border); padding: 3px 10px; border-radius: 3px; font-size: 15px; display: flex; align-items: center; justify-content: center; } .block-image { overflow: hidden; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); display: flex; } .block-image.right { margin-right: var(--margin-main-content); border-left: 1px solid var(--border); justify-content: left; } .block-image.left { margin-left: var(--margin-main-content); border-right: 1px solid var(--border); justify-content: right; } .block-image img { height: 100%; width: 100%; max-width: 700px; max-height: 700px; object-fit: cover; } .block-image img.left { object-position: left; } .block-image img.center { object-position: center; } .block-image img.right { object-position: right; } .block-text { display: flex; flex-direction: column; justify-content: center; overflow: hidden; margin-right: var(--margin-main-content); padding-left: var(--margin-main-content); } .text-content { display: inline; } .text-content a { font-size: var(--font-size); font-weight: normal; } .text-link:hover { border-color: var(--text); } .text-link { display: inline-block; width: fit-content; font-size: 0.90rem; font-weight: 500; text-decoration: none; border-bottom: 1px solid var(--border); padding-bottom: 2px; transition: border-color 0.15s; white-space: nowrap; } .link-row { margin: var(--margin-main-content); margin-top: 30px; } .hidden { display: none; }