@import url("./fonts.css"); @import url("https://fonts.googleapis.com/css2?family=Gothic+A1:wght@400;500;600&family=M+PLUS+1:wght@100..900&display=swap"); * { margin: 0; padding: 0; } :root { --padding: 1.5rem; --color-black: #000; --color-white: #fff; --color-grey: #777; --color-light: #efefef; --color-text: var(--color-black); --color-text-grey: var(--color-grey); --color-background: var(--color-white); --color-code-light-grey: #cacbd1; --color-code-comment: #a9aaad; --color-code-white: #c5c9c6; --color-code-red: #d16464; --color-code-orange: #de935f; --color-code-yellow: #f0c674; --color-code-green: #a7bd68; --color-code-aqua: #8abeb7; --color-code-blue: #7e9abf; --color-code-purple: #b294bb; --font-family-sans: "M PLUS 2 C", "M PLUS 1p C", "Gothic A1", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; } html:not(:lang(ko)) { --font-family-sans: "M PLUS 2 C", "M PLUS 1", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; } html { font-family: var(--font-family-sans); color: var(--color-text); background: var(--color-background); } img { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-user-drag: none; width: 100%; } body { padding: var(--padding); max-width: 90rem; margin: 0 auto; } li { list-style: none; } a { color: currentColor; text-decoration: none; } a:hover { color: rgb(160, 160, 160); } button { font: inherit; background: none; border: 0; color: currentColor; cursor: pointer; } strong { font-weight: 500; } b { font-weight: 600; } small { font-size: inherit; color: var(--color-text-grey); } .bg-light { background-color: var(--color-light); } .color-grey { color: var(--color-text-grey); } ::selection { background-color: #d0d0d0; color: currentColor; } .header { position: sticky; top: 0; z-index: 1000; display: flex; flex-wrap: wrap; justify-content: space-between; color: var(--color-background); mix-blend-mode: difference; margin-right: -1rem; margin-left: -1rem; margin-top: -1rem; margin-bottom: 3rem; } .logo { padding: 1rem; display: flex; align-items: center; cursor: pointer; font-weight: 400; letter-spacing: 0.1rem; } .menu { display: flex; align-items: center; } .menu a { padding: 1rem; display: block; } .menu a[aria-current] { font-weight: 500; } .social { display: flex; padding: 0 0.5rem; } .social a { padding: 1rem 0.5rem; } .section { padding: 3rem 0; } .columns { display: grid; grid-template-columns: 7fr 5fr; gap: 3rem; align-items: start; margin-bottom: 3rem; } .column-7 { align-self: start; height: fit-content; position: sticky; top: 5rem; } .column-5 { height: fit-content; position: sticky; top: 5rem; align-self: start; } .grid { --columns: 12; --gutter: 3rem; display: grid; grid-gap: var(--gutter); grid-template-columns: 1fr; } .grid > .column { margin-bottom: var(--gutter); } .autogrid { --gutter: 3rem; --min: 10rem; display: grid; grid-gap: var(--gutter); grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr)); grid-auto-flow: dense; } h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; line-height: inherit; } .text { line-height: 1.8em; text-align: left; line-break: auto; } span[lang="en"], p[lang="en"] { text-align: left; hyphens: auto; } :lang(ja) { word-break: normal; line-break: strict; hyphens: none; } :lang(ja) [lang="en"] { hyphens: auto; word-break: normal; overflow-wrap: break-word; } .text a { text-decoration: underline; } .text :first-child { margin-top: 0; } .text :last-child { margin-bottom: 0; } .text p, .text ul, .text ol { margin-bottom: 1.5rem; } .text ul, .text ol { margin-left: 1rem; } .text ul p, .text ol p { margin-bottom: 0; } .text ul > li { list-style: disc; } .text ol > li { list-style: decimal; } .text ul ol, .text ul ul, .text ol ul, .text ol ol { margin-bottom: 0; } .text h1, .h1, .intro { font-size: 2rem; font-weight: 300; margin-bottom: 3rem; line-height: 1.25em; } .text h2, .h2 { font-size: 1.25rem; font-weight: 600; margin-bottom: 1.25rem; } .text h3, .h3 { font-weight: 600; } .text .codeblock { display: grid; } .text code { font-family: var(--font-Family-mono); font-size: 1em; background: var(--color-light); padding: 0 0.5rem; display: inline-block; color: var(--color-black); } .text pre { margin: 3rem 0; background: var(--color-black); color: var(--color-white); padding: 1.5rem; overflow-x: scroll; overflow-y: hidden; line-height: 1.5rem; } .text pre code { padding: 0; background: none; color: inherit; } .text hr { margin: 4rem 0; } .text dt { font-weight: 600; } .text blockquote { font-size: 1.25rem; line-height: 1.325em; border-left: 2px solid var(--color-black); padding-left: 1rem; margin: 3rem 0; max-width: 25rem; } .text blockquote footer { font-size: 0.875rem; font-style: italic; } .text .footnote { font-variant-position: super; line-height: 1; } .text .footnote a { text-decoration-line: none; } .text .footnotes-container { font-size: 0.9em; text-align: left; padding-top: 1rem; } .text .footnotereverse { font-family: sans-serif; } .text .footnotereverse a { text-decoration-line: none; } .footnotes-container hr { border: 0; background: var(--color-text); height: 2px; width: 30%; margin: 1.5rem 0; } sup.footnote { font-size: 0.7rem; font-weight: 500; } .note [id^="fnref-"] { scroll-margin-top: 10rem; } [id^="fn-"] { scroll-margin-top: 10rem; } .text figure { margin: 3rem 0; } .text figcaption { padding-top: 0.75rem; color: var(--color-text-grey); } .left { line-height: 1.5em; } .left a { text-decoration: underline; } .left :first-child { margin-top: 0; } .left :last-child { margin-bottom: 0; } .left p, .left ul, .left ol { margin-bottom: 1.5rem; } .left ul, .left ol { margin-left: 1rem; } .left ul p, .left ol p { margin-bottom: 0; } .left ul > li { list-style: disc; } .left ol > li { list-style: decimal; } .left ul ol, .left ul ul, .left ol ul, .left ol ol { margin-bottom: 0; } .left h1, .h1, .intro { font-size: 2rem; margin-bottom: 3rem; line-height: 1.25em; } .left h2, .h2 { font-size: 1.25rem; font-weight: 600; margin-bottom: 1.25rem; } .left h3, .h3 { font-weight: 600; } .left .codeblock { display: grid; } .left code { font-family: var(--font-family-mono); font-size: 1em; background: var(--color-light); padding: 0 0.5rem; display: inline-block; color: var(--color-black); } .left pre { margin: 3rem 0; background: var(--color-black); color: var(--color-white); padding: 1.5rem; overflow-x: scroll; overflow-y: hidden; line-height: 1.5rem; } .left pre code { padding: 0; background: none; color: inherit; } .left hr { margin: 6rem 0; } .left dt { font-weight: 600; } .left blockquote { font-size: 1.25rem; line-height: 1.325em; border-left: 2px solid var(--color-black); padding-left: 1rem; margin: 3rem 0; max-width: 25rem; } .left blockquote footer { font-size: 0.875rem; font-style: italic; } hr { border: 0; background: var(--color-text); height: 2px; width: 15%; margin: 3rem auto; } .left figure { margin: 3rem 0; } .left figcaption { padding-top: 0.75rem; color: var(--color-text-grey); } .align-center { text-align: center; } .intro { max-width: 40rem; } .intro *:not(:last-child) { margin-bottom: 1em; } .cta { background: var(--color-black); color: var(--color-white); display: inline-flex; justify-content: center; padding: 0.75rem 1.5rem; border: 4px solid var(--color-white); outline: 2px solid var(--color-black); } .box { background: var(--color-light); padding: 1.5rem; border: 4px solid var(--color-white); outline: 2px solid var(--color-light); } .video, .img { position: relative; display: block; --w: auto; --h: 1; padding-bottom: calc(100% / var(--w) * var(--h)); background: transparent; } .img img, .video iframe { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: contain; /*object-fit: cover;*/ border: 0; } .img[data-contain] img { object-fit: contain; } .img-caption, .video-caption { padding-top: 0.75rem; line-height: 1.5em; } .img-caption { font-size: 0.9rem; } .footer { padding: 9rem 0 6rem; line-height: 1.5em; } .footer:before { content: ""; display: block; width: 1.5rem; height: 2px; background: var(--color-black); margin-bottom: 1.5rem; } .footer h2 { font-weight: 600; margin-bottom: 0.75rem; } .footer ul, .footer p { color: var(--color-text-grey); } .footer p { max-width: 15rem; } .footer a:hover { color: var(--color-text); } .map { --w: 2; --h: 1; padding-bottom: calc(100% / var(--w) * var(--h)); position: relative; overflow: hidden; background: var(--color-black); } .map iframe { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .margin-s { margin-bottom: 0.75rem; } .margin-m { margin-bottom: 1.5rem; } .margin-l { margin-bottom: 3rem; } .margin-xl { margin-bottom: 4.5rem; } .margin-xxl { margin-bottom: 6rem; } .pagination { display: flex; padding-top: 6rem; } .pagination > span { color: var(--color-text-grey); } .pagination > * { padding: 0.5rem; width: 3rem; text-align: center; border: 2px solid currentColor; margin-right: 1.5rem; } .pagination > a:hover { background: var(--color-black); color: var(--color-white); border-color: var(--color-black); } .note-excerpt { border-bottom: 1px solid var(--color-text); line-height: 1.5em; margin-bottom: 1em; } ul > li:last-child > .note-excerpt { border-bottom: none; } .note-excerpt header { margin-bottom: 1em; } .note-excerpt figure { margin-bottom: 0.5rem; } .note-excerpt-title { display: flex; gap: 3.5rem; flex-direction: row; font-weight: 500; } .note-excerpt-date { order: 0; white-space: nowrap; } .note-excerpt-title-text { order: 1; } @media (prefers-color-scheme: dark) { :root { --color-background: #1a1a1a; --color-text: #d1d5db; --color-text-grey: #999; } html { background-color: #1a1a1a; color: #d1d5db; } .header { color: #ebeff5; } ::selection { background-color: #3a3a3a; } } @media screen and (max-width: 60rem) { body { --padding: 1rem; font-size: 1.1rem; } .header { position: sticky; top: 0; font-size: 1.2rem; } a { -webkit-touch-callout: none; } :lang(ko) .text { word-break: normal; } :lang(ja) { line-break: loose; } .text .footnotes-container { font-size: 1rem; } .text h1, .h1, .intro { font-size: 1.7rem; margin-bottom: 1rem; line-height: 1.25em; } .header { margin-bottom: 1rem; } .columns { grid-template-columns: 1fr; } .column-7 { position: static; } .grid { --columns: 12; --gutter: 1rem; display: grid; grid-gap: var(--gutter); grid-template-columns: 1fr; } .grid > .column { margin-bottom: var(--gutter); } .video, .img { position: relative; display: block; --w: auto; --h: 1; padding-bottom: calc(100% / var(--w) * var(--h)); background: transparent; } .img img, .video iframe { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: contain; object-position: 0 0px; border: 0; } .note-excerpt-title { flex-direction: column; align-items: flex-start; gap: 0.25rem; } .note-excerpt-title-text { order: 0; } .note-excerpt-date { order: 1; align-self: flex-end; } } @media screen and (min-width: 60rem) { body { --padding: 1.3rem; } .header { margin-top: -1.3rem; font-size: 1.4rem; } main.main { max-width: 150vh; margin: 0 auto; } a { -webkit-touch-callout: none; } .grid { grid-template-columns: repeat(12, 1fr); } .grid > .column { grid-column: span var(--columns); flex: 2; } .note-excerpt-title { font-size: 1.1rem; } .note-excerpt-date { font-size: 1.1rem; } .instagram { font-size: 1.5rem; } } @media screen and (orientation: landscape) { html { height: 100svh; overflow-x: hidden; overflow-y: auto; } body { height: auto; overflow: visible; } }