.top-bar{background-color:var(--color-bg-topbar);border-radius:6px;flex-shrink:0;align-items:center;gap:24px;height:46px;padding:0 24px;display:flex}@media (width<=600px){.top-bar{gap:8px;height:auto;padding:8px 16px}}.top-bar__tabs{align-items:center;gap:4px;display:flex}.top-bar__tab{color:var(--color-text-on-dark-muted);background:0 0;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:500}.top-bar__tab:hover{color:var(--color-text-on-dark)}.top-bar__tab--active{color:#fff;background-color:var(--color-bg-tab-active)}.top-bar__breadcrumb{text-align:center;color:var(--color-text-on-dark-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}@media (width<=600px){.top-bar__breadcrumb{display:none}}.top-bar__right{align-items:center;gap:16px;display:flex}@media (width<=600px){.top-bar__right{margin-left:auto}}.top-bar__clock{color:var(--color-text-on-dark-muted);font-size:13px}@media (width<=600px){.top-bar__clock{display:none}}.top-bar__theme-toggle{width:24px;height:24px;color:var(--color-text-on-dark-muted);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.top-bar__theme-toggle:hover{color:var(--color-text-on-dark)}.app-shell{flex-direction:column;min-height:calc(100vh - 24px);margin:12px;display:flex}.app-shell__content{flex:1;padding-top:12px}.terminal-panel{background-color:var(--color-bg-panel);border:1px solid var(--color-border);box-shadow:var(--shadow-panel);border-radius:10px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.terminal-panel--active{border-color:var(--color-border-accent)}.terminal-panel__header{background-color:var(--color-bg-panel-header);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.terminal-panel__label{color:var(--color-text-secondary);font-size:12px}.terminal-panel__meta{color:var(--color-text-muted);font-size:12px}.terminal-panel__dots{gap:4px;display:flex}.terminal-panel__dot{background-color:var(--color-border-strong);border-radius:50%;width:6px;height:6px}.terminal-panel__dot--active{background-color:var(--color-text-accent)}.terminal-panel__body{flex:1;padding:24px}@media (width<=600px){.terminal-panel__body{padding:16px}}.nav-card{text-align:left;background-color:var(--color-bg-panel);border:1px solid var(--color-border);width:100%;box-shadow:var(--shadow-panel);border-radius:10px;flex-direction:column;gap:8px;padding:16px 24px;transition:border-color .15s;display:flex}.nav-card:hover{border-color:var(--color-border-strong)}.nav-card__path{color:var(--color-text-secondary);font-size:12px}.nav-card__main{justify-content:space-between;align-items:center;display:flex}.nav-card__shortcut-group{align-items:baseline;gap:8px;display:flex}.nav-card__shortcut{color:var(--color-text-accent);font-size:26px;font-weight:700}.nav-card__label{color:var(--color-text-primary);font-size:14px}.nav-card__arrow{color:var(--color-text-secondary);font-size:16px}.home-page{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=860px){.home-page{grid-template-columns:1fr}}.home-page__hero{min-height:480px}@media (width<=860px){.home-page__hero{min-height:320px}}.home-page__hero-body{flex-direction:column;height:100%;display:flex}.home-page__prompt{color:var(--color-text-secondary);font-size:13px}.home-page__name{margin-top:auto;font-size:clamp(32px,8vw,48px);font-weight:700}.home-page__tagline{color:var(--color-text-secondary);margin-top:4px;font-size:14px}.home-page__cta{color:var(--color-text-secondary);align-items:center;gap:4px;margin-top:auto;font-size:13px;display:flex}@media (width<=600px){.home-page__cta-hint{display:none}}.home-page__cursor{background-color:var(--color-text-accent);width:8px;height:16px;animation:1s step-end infinite home-page-blink}@keyframes home-page-blink{50%{opacity:0}}.home-page__shortcuts{flex-direction:column;gap:16px;display:flex}.hatch-thumbnail{aspect-ratio:16/10;border:1px solid var(--color-border);background-color:var(--color-bg-panel-header);background-image:repeating-linear-gradient(135deg, var(--color-border) 0px, var(--color-border) 1px, transparent 1px, transparent 8px);border-radius:6px;width:100%;overflow:hidden}.hatch-thumbnail__image{object-fit:cover;width:100%;height:100%;display:block}.badge{letter-spacing:.02em;color:var(--color-text-secondary);background-color:var(--color-bg-panel-header);border:1px solid var(--color-border);border-radius:6px;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;display:inline-flex}.arrow-link{align-items:center;gap:4px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.arrow-link--ghost{color:var(--color-text-accent);background:0 0;border:none;padding:0}.arrow-link--ghost:hover{color:var(--color-text-accent-hover)}.arrow-link--outline{color:var(--color-text-primary);background-color:var(--color-bg-panel);border:1px solid var(--color-border);letter-spacing:.03em;border-radius:6px;padding:8px 16px}.arrow-link--outline:hover{border-color:var(--color-border-strong);background-color:var(--color-bg-panel-header)}.arrow-link--solid{color:var(--color-text-button-strong);background-color:var(--color-bg-button-strong);letter-spacing:.03em;border:none;border-radius:6px;justify-content:center;width:100%;padding:16px 24px}.arrow-link--solid:hover{opacity:.85}.arrow-link__icon{font-size:.95em}.project-card{height:100%}.project-card__body{flex-direction:column;gap:16px;display:flex}.project-card__title{font-size:16px;font-weight:700}.project-card__tags{flex-wrap:wrap;gap:4px;display:flex}.work-page{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.drawing-card{height:100%}.drawing-card__body{flex-direction:column;gap:8px;display:flex}.hatch-thumbnail.drawing-card__thumbnail{aspect-ratio:1}.drawing-card__caption{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.drawing-card__title{font-size:14px;font-weight:700}.drawing-card__meta{color:var(--color-text-secondary);white-space:nowrap;font-size:12px}.draw-page{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;display:grid}.writing-row__body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.writing-row__title{font-size:clamp(18px,4vw,22px);font-weight:700}.writing-row__date{color:var(--color-text-secondary);white-space:nowrap;font-size:13px}.text-page,.about-page{flex-direction:column;gap:24px;display:flex}.about-page__bio-paragraph{color:var(--color-text-primary);font-size:15px;line-height:1.6}.about-page__bio-paragraph+.about-page__bio-paragraph{margin-top:16px}.about-page__toolkit{flex-wrap:wrap;gap:8px;display:flex}.about-page__row{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=860px){.about-page__row{grid-template-columns:1fr}}.about-page__list{flex-direction:column;gap:16px;display:flex}.about-page__list-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.about-page__list-row dt{color:var(--color-text-primary);font-size:14px;font-weight:600}.about-page__list-row dd{color:var(--color-text-secondary);font-size:13px}.about-page__now{color:var(--color-text-secondary);font-size:14px;line-height:1.6}.about-page__now strong{color:var(--color-text-primary);font-weight:700}.mail-page{grid-template-columns:1.4fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=860px){.mail-page{grid-template-columns:1fr}}.mail-page__contact-body,.mail-page__status-body{flex-direction:column;gap:24px;min-height:320px;display:flex}@media (width<=860px){.mail-page__contact-body,.mail-page__status-body{min-height:auto}}.mail-page__prompt{color:var(--color-text-secondary);font-size:14px}.mail-page__email{color:var(--color-text-accent);word-break:break-all;font-size:clamp(22px,6vw,32px);font-weight:700;text-decoration:underline}.mail-page__socials{flex-wrap:wrap;gap:8px;display:flex}.mail-page__status-row{align-items:center;gap:8px;font-size:14px;display:flex}.mail-page__status-dot{background-color:var(--color-success);border-radius:50%;width:8px;height:8px}.mail-page__status-line{color:var(--color-text-secondary);font-size:13px}.mail-page__status-footer{margin-top:auto}:root{--color-bg-page:#f1f0e9;--color-bg-panel:#f4f3ee;--color-bg-panel-header:#f0efe8;--color-bg-topbar:#1c1e2b;--color-bg-tab-active:#3b4ae6;--color-bg-button-strong:#18181b;--color-text-button-strong:#fafaf6;--color-text-primary:#18181b;--color-text-secondary:#74726a;--color-text-muted:#a3a098;--color-text-on-dark:#e9eaf2;--color-text-on-dark-muted:#e9eaf2;--color-text-accent:#2952e3;--color-text-accent-hover:#1d3eb8;--color-border:#ddd9cd;--color-border-strong:#c7c3b4;--color-border-accent:#2952e3;--color-dot:#ddd9cc;--color-danger:#d23b3b;--color-success:#2952e3;--shadow-panel:0 1px 2px #14140a0a;--shadow-frame:0 8px 30px #14140a14}[data-theme=dark]{--color-bg-page:#16140f;--color-bg-panel:#201e17;--color-bg-panel-header:#17181b;--color-bg-topbar:#262219;--color-bg-tab-active:#7e8cff;--color-bg-button-strong:#f4f4f2;--color-text-button-strong:#0a0a0a;--color-text-primary:#ece8dd;--color-text-secondary:#9a968a;--color-text-muted:#6b6b67;--color-text-on-dark:#ece8dd;--color-text-on-dark-muted:#ece8dd;--color-text-accent:#7e8cff;--color-text-accent-hover:#82a7ff;--color-border:#262626;--color-border-strong:#343434;--color-border-accent:#7e8cff;--color-dot:#1c1c1c;--color-danger:#ef4444;--color-success:#7e8cff;--shadow-panel:0 1px 2px #0006;--shadow-frame:0 8px 30px #0009}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-page);background-image:radial-gradient(circle, var(--color-dot) 1px, transparent 1px);color:var(--color-text-primary);background-size:16px 16px;font-family:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;transition:background-color .2s,color .2s}a{color:var(--color-text-accent);text-decoration:none;transition:color .15s}a:hover{color:var(--color-text-accent-hover)}button{cursor:pointer;color:inherit;background:0 0;border:none;outline:none;font-family:inherit;transition:all .15s}button:focus-visible{outline:2px solid var(--color-border-accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}
