*, *::before, *::after { font: inherit; margin: 0; padding: 0; box-sizing: border-box; } html, body { height: 100%; min-height: 100%; } img { display: block; } body { font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Utility */ .flex-row { display: flex; flex-direction: row; .flex-grow { flex-grow: 1; } } /* Components */ .material-symbols-outlined { font-family: 'Material Symbols Outlined Variable'; font-weight: normal; font-style: normal; font-size: 20px; /* Preferred icon size */ line-height: 1; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; display: grid; place-content: center; } .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 20; } .xterm { /* margin: 2rem; padding: 0.5rem; border-radius: 0.5rem; overflow: clip; box-shadow: 0 0 2rem 0 #0003; */ &.xterm-dom-renderer-owner-1 .xterm-rows { font-size: 14px; font-family: 'JetBrains Mono', monospace; } * { font-variant-ligatures: none; font-variant-ligatures: no-common-ligatures; } } textarea.code-editor-prototype { appearance: none; resize: none; outline: none; border: none; background: #fff; width: 100%; height: 100%; font-family: 'JetBrains Mono', monospace; font-size: 15px; font-weight: 300; line-height: 1.35; } input[type='text'] { appearance: none; outline: none; border: none; background: #fff; font-size: 16px; border: 1px solid #d9d9d9; background: #fff; padding: 0.25rem 0.5rem; border-radius: 0.25rem; box-shadow: 0 0.125rem 0.125rem 0 #00000008; min-height: 1.75rem; } button, input[type='submit'], [role='button'] { appearance: none; outline: none; display: grid; place-content: center; place-items: center; grid-auto-flow: column; font-size: 15px; font-weight: 500; color: var(--fg, #333); background: var(--bg, #fff); border: var(--brd, 1px solid #d9d9d9); box-shadow: var(--shadow, 0 0.125rem 0.125rem 0 #00000008); &:hover { background: var(--bg-hover, #f8f8f8); } padding: 0.25rem 0.5rem; gap: 0.25rem; border-radius: 0.25rem; min-height: 1.75rem; cursor: pointer; &:not(.icon):has(.material-symbols-outlined:first-child) { padding-left: 0.125rem; } &.icon { padding: 0.25rem; aspect-ratio: 1 / 1; } &.flat { --bg: none; --bg-hover: #0002; --brd: none; min-height: auto; box-shadow: none; &.icon { padding: 0; } } &.compound { padding: 0; gap: 0; > .part { display: grid; place-content: center; padding: 0.25rem 0.5rem; background: var(--bg); &:not(:last-child) { border-right: var(--brd); } &:hover { background: var(--bg-hover); } &:has(> .material-symbols-outlined:first-child) { padding-left: 0.25rem; } &:has(> .material-symbols-outlined:last-child) { padding-right: 0.25rem; } } } } a, a:visited { color: #8000ff; text-decoration: none; font-weight: 600; &:hover { text-decoration: underline solid 2px; } } .run-style { --fg: #fff; --bg: hsl(120, 35%, 46%); --bg-hover: hsl(120, 35%, 51%); --brd: 1px solid hsl(120, 38%, 41%); --shadow: 0 0.125rem 0.2rem 0 hsla(120, 40%, 53%, 0.37); .material-symbols-outlined { font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 20; } } .popup-region { position: relative; display: grid; > .region { display: grid; } > .popup { position: absolute; background: #fff; border: 1px solid #d9d9d9; border-radius: 0.35rem; box-shadow: 0 0.125rem 0.25rem 0 #00000030; overflow: clip; z-index: 1000; &.anchor-mode-1 { top: calc(100% + 0.25rem); right: 0; } } } .menu { display: grid; grid-auto-flow: row; font-size: 15px; font-weight: 500; border: var(--brd, 1px solid #d9d9d9); > .item { display: grid; padding: 0.25rem 0.5rem; cursor: pointer; color: var(--fg, #333); background: var(--bg, #fff); &:not(:last-child) { border-bottom: var(--brd); } &:hover { background: var(--bg-hover, #00000006); } } } .user-details { display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr 1fr; padding: 0.5rem; column-gap: 0.5rem; border: 1px solid #d9d9d9; border-radius: 0.5rem; box-shadow: 0 0.125rem 0.125rem 0 #00000008; > .profile { grid-column: 1 / 2; grid-row: 1 / 3; img { width: 2.5rem; height: 2.5rem; object-fit: cover; } } > .username { grid-column: 2 / 3; grid-row: 1 / 2; font-size: 16px; font-weight: 500; align-self: end; } > .email { grid-column: 2 / 3; grid-row: 2 / 3; align-self: start; font-size: 14px; color: #777; } cursor: pointer; &:hover { background: #00000004; } } .project-details { display: grid; grid-template-columns: 1fr auto; align-content: center; padding: 0 0.25rem 0 0.5rem; column-gap: 0.5rem; min-height: 2rem; border: 1px solid #d9d9d9; border-radius: 0.35rem; box-shadow: 0 0.125rem 0.125rem 0 #00000008; font-size: 15px; font-weight: 450; cursor: pointer; &:hover { background: #00000004; } } .tree-view { display: grid; grid-auto-flow: row; gap: 0.25rem; > .entry { display: grid; grid-template-columns: auto 1fr auto; padding: 0.125rem 0.5rem 0.125rem 0.25rem; border-radius: 0.35rem; gap: 0.35rem; margin-left: calc(var(--depth) * 1rem); cursor: pointer; &:hover { background: #00000006; } } } .ide { user-select: none; display: grid; height: 100%; grid-template-columns: 20rem 1fr; grid-template-rows: 3.25rem 1fr 33vh auto; grid-template-areas: 'sidebar header' 'sidebar editor' 'sidebar terminal' 'sidebar status'; > .sidebar { grid-area: sidebar; display: flex; flex-direction: column; padding: 1rem; gap: 1rem; border-right: 1px solid #d9d9d9; .flex-row { gap: 0.5rem; } > * { flex-shrink: 0; } .logo { font-size: 24px; font-weight: 700; a { color: #333; text-decoration: none; &:hover { text-decoration: underline; } } } > .spacer { flex-grow: 1; } > .section { display: flex; flex-direction: column; gap: 0.5rem; /* border-radius: 0.35rem; padding: 0.25rem; &:hover { background: #00000004; } */ padding-bottom: 1rem; border-bottom: 1px solid #d9d9d9; > .spoiler { display: grid; grid-template-columns: auto 1fr auto; align-content: center; font-weight: 550; border-radius: 0.35rem; padding: 0.35rem; gap: 0.5rem; cursor: pointer; &:hover { background: #00000006; } } } } > .header { grid-area: header; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; padding: 0 0.75rem; border-bottom: 1px solid #d9d9d9; > .search { place-self: center; display: grid; width: 100%; max-width: 40rem; position: relative; > .material-symbols-outlined { position: absolute; right: 0; top: 50%; transform: translateY(-50%); padding-right: 0.35rem; } } > .actions { display: grid; grid-auto-flow: column; align-items: center; gap: 0.5rem; } } > .tabbed-editor { grid-area: editor; display: grid; grid-template-rows: auto 1fr; /* background: #fafcfe; */ background: #f5efff; > .tabs { display: grid; grid-auto-flow: column; padding: 0.5rem; padding-bottom: 0; justify-content: start; border-bottom: 1px solid #d9d9d9; > .tab { background: #fff; border: 1px solid #d9d9d9; border-bottom: none; border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; display: grid; grid-template-columns: 1fr auto; gap: 0.5rem; align-items: center; padding: 0.35rem; min-width: 150px; margin-left: -1px; font-size: 13px; font-weight: 450; z-index: 1; transform: translate(0, 1px); height: 34px; cursor: pointer; > .title { padding: 0 0 0 0.15rem; } border-bottom: 1px solid #fff; &:not(.active) { border-bottom: 1px solid #d9d9d9; &:hover { background: #f4f4f4; } } } } > .editor { background: #fff; padding: 0.5rem; } } > .terminal { grid-area: terminal; position: relative; border-top: 1px solid #d9d9d9; display: grid; grid-template-rows: auto 1fr; padding: 0.5rem; gap: 0.5rem; > .actions { position: absolute; top: 0; right: 0; display: grid; grid-auto-flow: column; gap: 0.25rem; padding: 0.5rem; } &:not(:hover) > .actions { .material-symbols-outlined { color: #888; } } > .title { font-size: 14px; font-weight: 550; } > .content { font-family: 'JetBrains Mono', monospace; font-size: 14px; display: grid; overflow: hidden; width: 100%; height: 100%; > .terminal { display: grid; overflow: hidden; width: 100%; height: 100%; } } } > .status { border-top: 1px solid #d9d9d9; padding: 0.25rem 0.25rem; display: flex; flex-direction: row; gap: 0.25rem; font-size: 13px; } } .homepage { display: grid; grid-auto-flow: row; gap: 1rem; padding: 1rem; place-content: center; background: linear-gradient(180deg, #f5efff 0%, #fafcfe 100%); > section { display: grid; grid-auto-flow: row; grid-auto-rows: auto; align-content: start; padding: 3rem 0; gap: 3rem; min-height: 100vh; max-width: 65rem; h2 { font-size: 2rem; font-weight: 700; text-align: center; } &.hero-section { place-content: center; place-items: center; min-height: calc(100vh + 20rem); padding-top: 20vh; h1 { font-size: 3rem; font-weight: 700; text-align: center; } h2 { font-size: 1.5rem; font-weight: 300; text-align: center; } img { margin-top: 3rem; width: 100%; max-width: 65rem; border: 1px solid #d9d9d9; border-radius: 0.5rem; box-shadow: 0 0 0.25rem 0 #680bff08, 0 0.5rem 1rem 0 #680bff10; } } &:not(:first-child) { border-top: 2px solid #d9d9d9; } > .features { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; width: 100%; > .feature-item { display: grid; grid-template-rows: auto 1fr; gap: 0.5rem; background: #fff; padding: 1rem; border: 1px solid #d9d9d9; border-radius: 0.5rem; box-shadow: 0 0.125rem 0.25rem 0 #00000010; h3 { font-size: 1.25rem; font-weight: 500; } p { font-size: 1rem; font-weight: 300; } } } } } footer { display: grid; gap: 1rem; padding: 1rem; place-content: center; font-size: 14px; font-weight: 400; border-top: 1px solid #d9d9d9; } /* Layout */ body { font-family: 'Inter Variable', sans-serif; font-size: 16px; font-weight: 400; color: #333; }