    :root {
      color-scheme: dark;
      /* Terminal.app の Homebrew プロファイル: 通常文字 #28FE14、太字 #00FF00、カーソル #38FE27。 */
      --bg: #000000;
      --panel: #000000;
      --text: #28fe14;
      --green: #00ff00;
      --muted: #8ecf83;
      --line: #245d1d;
      --line-strong: #3a8a30;
      --focus: #38fe27;
      --sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
      --mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); }
    a { color: inherit; }
    a:focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; }
    ::selection { background: var(--green); color: var(--bg); }
    .skip { position: absolute; z-index: 10; top: -100px; left: 16px; padding: 10px 14px; background: var(--green); color: var(--bg); }
    .skip:focus { top: 12px; }
    .wrap { width: min(100% - 72px, 1520px); margin-inline: auto; }
    .site-header { border-bottom: 1px solid var(--line); }
    .site-header .wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
    .brand { display: inline-flex; align-items: center; gap: 12px; color: var(--green); font: 600 18px/1 var(--mono); text-decoration: none; letter-spacing: -.055em; }
    .brand::before { content: ""; width: 11px; height: 18px; background: var(--green); }
    .nav { display: flex; align-items: center; gap: clamp(22px, 3.5vw, 52px); }
    .nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 14px; font-weight: 600; text-decoration: none; }
    .nav a:hover, .nav a[aria-current="page"] { color: var(--green); }
    .shell-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 55px; padding-inline: 26px; border: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); background: var(--panel); font: 500 12px/1.5 var(--mono); color: var(--muted); }
    .shell-head .location { color: var(--green); }
    .shell-head .location::before { content: "■"; display: inline-block; margin-right: 12px; font-size: 9px; vertical-align: 1px; }
    .shell-body { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr); border: 1px solid var(--line-strong); border-top: 0; background: var(--panel); }
    .manifesto { padding: clamp(48px, 5.5vw, 92px) clamp(34px, 5vw, 84px) clamp(55px, 6vw, 95px); }
    .command { margin: 0 0 42px; color: var(--muted); font: 500 13px/1.5 var(--mono); }
    .command::before { content: "$ "; color: var(--green); }
    .manifesto h1 { max-width: 9em; margin: 0 0 46px; color: var(--green); font-size: clamp(44px, 4.5vw, 78px); font-weight: 600; line-height: 1.25; letter-spacing: -.085em; }
    .manifesto-copy { max-width: 37em; }
    .manifesto-copy p { margin: 0 0 1.55em; font-size: clamp(15px, 1.15vw, 17px); line-height: 2.05; letter-spacing: .015em; }
    .manifesto-copy p:last-child { margin-bottom: 0; }
    .work { display: flex; flex-direction: column; padding: clamp(48px, 5.5vw, 92px) clamp(32px, 4.5vw, 72px) 54px; border-left: 1px solid var(--line-strong); }
    .work .command { margin-bottom: 30px; }
    .ascii-scene { margin: -4px 0 32px; overflow: hidden; }
    .ascii-scene pre { width: max-content; margin: 0; font: 500 clamp(9px, .9vw, 13px)/1.12 var(--mono); letter-spacing: 0; white-space: pre; }
    .ascii-moon { color: var(--green); }
    .ascii-trail { color: var(--muted); }
    .ascii-penguin { color: var(--text); }
    .work h2 { margin: 0 0 40px; color: var(--green); font: 500 18px/1.5 var(--mono); }
    .work-list { margin: 0; padding: 0; list-style: none; }
    .work-list li { padding: 28px 0 29px; border-top: 1px solid var(--line); }
    .work-list li:last-child { border-bottom: 1px solid var(--line); }
    .work-list h3 { margin: 0 0 8px; color: var(--text); font-size: clamp(18px, 1.55vw, 23px); font-weight: 600; line-height: 1.55; letter-spacing: -.04em; }
    .work-list p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
    .work-list a { color: var(--green); text-decoration-thickness: 1px; text-underline-offset: 5px; }
    .work-list a:hover { text-decoration-thickness: 2px; }
    .work-list .status { font-size: 13px; }
    .work-note { margin: auto 0 0; padding-top: 35px; color: var(--muted); font: 400 12px/1.8 var(--mono); }
    .lower { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr); }
    .company { padding: 80px clamp(34px, 5vw, 84px) 90px; }
    .contact { padding: 80px clamp(32px, 4.5vw, 72px) 90px; border-left: 1px solid var(--line); }
    .section-label { margin: 0 0 34px; color: var(--green); font: 500 13px/1.4 var(--mono); }
    .section-label::before { content: "> "; }
    .company dl { display: grid; gap: 15px; margin: 0; }
    .company dl div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; font-size: 14px; line-height: 1.7; }
    .company dt { color: var(--muted); }
    .company dd { margin: 0; }
    .contact a { display: inline-block; color: var(--green); font: 500 clamp(24px, 2.8vw, 42px)/1.5 var(--mono); letter-spacing: -.06em; text-decoration-thickness: 1px; text-underline-offset: 9px; overflow-wrap: anywhere; }
    footer { border-top: 1px solid var(--line); }
    footer .wrap { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); font: 400 12px/1.5 var(--mono); }
    footer a { text-decoration: none; }
    footer a:hover { color: var(--green); }
    @media (max-width: 900px) {
      .wrap { width: min(100% - 42px, 1520px); }
      .shell-body, .lower { grid-template-columns: 1fr; }
      .manifesto, .work, .company, .contact { padding-inline: clamp(24px, 5vw, 54px); }
      .manifesto { padding-block: 54px 65px; }
      .work { border-left: 0; border-top: 1px solid var(--line-strong); padding-block: 55px 65px; }
      .work-note { margin-top: 14px; }
      .company { padding-block: 65px 45px; }
      .contact { border-left: 0; padding-block: 30px 75px; }
    }
    @media (max-width: 520px) {
      .wrap { width: min(100% - 28px, 1520px); }
      .site-header .wrap { min-height: 66px; }
      .brand { font-size: 15px; }
      .brand::before { width: 9px; height: 15px; }
      .nav { gap: 14px; }
      .nav a { font-size: 12px; }
      .nav a:last-child { display: none; }
      .shell-head { min-height: 48px; padding-inline: 18px; font-size: 11px; }
      .shell-head .date { display: none; }
      .manifesto, .work, .company, .contact { padding-inline: 22px; }
      .manifesto { padding-block: 42px 53px; }
      .command { margin-bottom: 32px; font-size: 12px; }
      .manifesto h1 { margin-bottom: 34px; font-size: clamp(37px, 10vw, 50px); }
      .manifesto-copy p { font-size: 15px; line-height: 1.95; }
      .work { padding-block: 45px 55px; }
      .work h2 { margin-bottom: 24px; }
      .ascii-scene { margin-bottom: 28px; }
      .ascii-scene pre { font-size: clamp(9px, 2.6vw, 11px); }
      .work-list li { padding-block: 23px; }
      .work-list h3 { font-size: 18px; }
      .company dl div { grid-template-columns: 88px 1fr; gap: 12px; font-size: 13px; }
      footer .wrap { min-height: 73px; font-size: 11px; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
