@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600&family=Manrope:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{color-scheme:light;--page:#f5f5f2;--surface:#fff;--surface-soft:#efefea;--ink:#1b1b18;--muted:#6c6c65;--border:#d9d9d2;--border-strong:#bcbcb4;--accent:#4a4fc4;--accent-soft:#eeefff;--success:#397555;--font-sans:"Manrope", "Noto Sans JP", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace}html.dark{color-scheme:dark;--page:#171715;--surface:#20201d;--surface-soft:#282824;--ink:#efefe9;--muted:#aaa9a0;--border:#3a3a35;--border-strong:#56564f;--accent:#a3a7ff;--accent-soft:#292a48;--success:#81bd99}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--page);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}body,button{font-family:var(--font-sans)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent;transition:color .16s,background-color .16s,border-color .16s,opacity .16s}img{max-width:100%;display:block}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:100;color:#fff;background:var(--accent);border-radius:6px;padding:9px 14px;font-size:.75rem;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-main{width:min(100% - 48px,1120px);min-height:calc(100vh - 158px);margin:0 auto}.site-header{z-index:30;background:color-mix(in srgb, var(--page) 92%, transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);position:sticky;top:0}.nav-inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;width:min(100% - 48px,1120px);min-height:64px;margin:0 auto;display:grid}.wordmark{letter-spacing:-.04em;font-size:1rem;font-weight:700}.wordmark span{color:var(--accent)}.project-nav{justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.project-nav-link{color:var(--muted);white-space:nowrap;border-radius:6px;padding:7px 10px;font-size:.72rem;font-weight:600}.project-nav-link:hover,.project-nav-link.is-active{color:var(--ink);background:var(--surface-soft)}.nav-actions{align-items:center;gap:22px;display:flex}.nav-link{color:var(--muted);font-size:.75rem;font-weight:600}.nav-link:hover{color:var(--ink)}.theme-toggle{cursor:pointer;border:1px solid var(--border);background:0 0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.theme-toggle:hover{background:var(--surface);border-color:var(--border-strong)}.theme-toggle-icon{font-size:1rem;line-height:1}.kicker{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;font-size:.65rem;font-weight:600}.text-link{color:var(--accent);font-size:.8rem;font-weight:700}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.project-index{padding:92px 0 112px}.page-intro{max-width:660px;margin-bottom:64px}.page-intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:600;line-height:1}.project-list{border-top:1px solid var(--border-strong)}.project-row{border-bottom:1px solid var(--border);grid-template-columns:34px 160px minmax(0,1fr) 24px;align-items:center;gap:30px;min-height:192px;padding:30px 12px;display:grid}.project-row:hover{background:var(--surface)}.project-index-number{color:var(--muted);font-family:var(--font-mono);align-self:start;padding-top:5px;font-size:.61rem}.project-logo{place-items:center;width:160px;height:124px;display:grid}.project-logo img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.project-copy h2{letter-spacing:-.035em;margin:0;font-size:1.25rem;font-weight:650;line-height:1.3}.project-copy>p:not(.project-period){max-width:560px;color:var(--muted);margin:7px 0 14px;font-size:.78rem;line-height:1.55}.project-period{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:.57rem;display:flex}.project-period>span:first-child{letter-spacing:.08em;text-transform:uppercase;margin-right:5px;font-weight:600}.collection-palette span{background:var(--swatch);flex:1;min-width:2px}.project-arrow{color:var(--muted);font-size:1rem}.project-row:hover .project-arrow{color:var(--accent)}.collection-page{padding:34px 0 112px}.breadcrumb{color:var(--muted);font-family:var(--font-mono);gap:9px;margin-bottom:58px;font-size:.6rem;display:flex}.breadcrumb a:hover{color:var(--accent)}.breadcrumb span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collection-header{display:block}.collection-identity{align-items:center;gap:52px;display:flex}.collection-logo{flex:none;place-items:center;width:190px;height:160px;display:grid}.collection-logo img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.collection-copy{max-width:720px}.collection-copy h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.2rem,5vw,4.25rem);font-weight:600;line-height:1.08}.collection-description{max-width:620px;color:var(--muted);margin:18px 0 0;font-size:.9rem;line-height:1.65}.collection-period{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 0;font-size:.57rem;display:flex}.collection-period>span:first-child{letter-spacing:.08em;text-transform:uppercase;margin-right:6px;font-weight:600}.collection-palette{border:1px solid var(--border);border-radius:8px;height:36px;margin:48px 0 80px;display:flex;overflow:hidden}.colors-heading{margin-bottom:28px}.colors-heading h2{letter-spacing:-.045em;margin:0;font-size:2rem;font-weight:600}.color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.color-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;overflow:hidden}.color-card:hover{border-color:var(--border-strong)}.character-panel{background:radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--surface) 86%, transparent) 0 42%, transparent 72%), var(--surface-soft);place-items:center;height:174px;padding:20px;display:grid;position:relative}.character-logo{-o-object-fit:contain;object-fit:contain;width:142px;height:142px}.color-placeholder{background:var(--swatch);border-radius:50%;width:78px;height:78px}.color-swatch{cursor:copy;width:100%;min-height:56px;color:var(--swatch-ink);text-align:left;background:var(--swatch);border:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.color-card-index{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.56rem;font-weight:600;position:absolute;top:14px;left:16px}.swatch-status{font-family:var(--font-mono);letter-spacing:.04em;opacity:.72;text-transform:uppercase;font-size:.56rem;font-weight:600}.color-swatch>code{font-family:var(--font-mono);order:-1;font-size:.68rem;font-weight:600}.color-card-body{padding:18px 16px 14px}.color-title{min-height:62px;margin-bottom:13px}.color-title h3{letter-spacing:-.025em;margin:0;font-size:.95rem;font-weight:650;line-height:1.4}.color-title p{color:var(--muted);margin:4px 0 0;font-size:.7rem}.color-values{border-top:1px solid var(--border)}.color-code{cursor:copy;text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:43px;padding:0 2px;display:grid}.color-code:last-child{border-bottom:0}.color-code:hover{background:var(--surface-soft)}.color-code-label{color:var(--muted);font-family:var(--font-mono);font-size:.54rem;font-weight:600}.color-code code{min-width:0;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;font-weight:500;overflow:hidden}.color-code-action{color:var(--muted);font-size:.56rem;font-weight:600}.color-code.is-copied .color-code-action{color:var(--success)}.error-page{flex-direction:column;justify-content:center;max-width:640px;min-height:calc(100vh - 158px);padding:100px 0;display:flex}.error-page h1{letter-spacing:-.065em;margin:0;font-size:clamp(2.8rem,7vw,5rem);font-weight:600}.error-page>p:not(.kicker){color:var(--muted);margin:20px 0 28px}.site-footer{border-top:1px solid var(--border)}.footer-inner{width:min(100% - 48px,1120px);min-height:94px;color:var(--muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;margin:0 auto;font-size:.56rem;display:flex}.footer-inner p{margin:0}@media (width<=900px){.project-row{grid-template-columns:28px 136px minmax(0,1fr) 22px;gap:22px}.project-logo{width:136px;height:108px}.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.site-main,.nav-inner,.footer-inner{width:min(100% - 32px,1120px)}.nav-inner{grid-template-columns:auto auto;gap:0 20px;padding-top:10px}.project-nav{border-top:1px solid var(--border);scrollbar-width:none;grid-area:2/1/auto/-1;justify-content:flex-start;min-height:48px;overflow-x:auto}.project-nav::-webkit-scrollbar{display:none}.nav-actions{justify-self:end;gap:14px}.project-index{padding:66px 0 84px}.page-intro{margin-bottom:46px}.page-intro h1{font-size:2.8rem}.project-row{grid-template-columns:22px 92px minmax(0,1fr) 18px;gap:16px;min-height:146px;padding:20px 4px}.project-logo{width:92px;height:82px}.project-copy h2{font-size:1.05rem}.project-copy>p:not(.project-period){font-size:.72rem}.project-period{font-size:.54rem}.collection-page{padding-top:24px;padding-bottom:84px}.breadcrumb{margin-bottom:42px}.collection-identity{flex-direction:column;align-items:flex-start;gap:24px}.collection-logo{width:150px;height:124px}.collection-copy h1{font-size:2.5rem}.collection-palette{height:34px;margin:40px 0 66px}.color-grid{grid-template-columns:1fr}.character-panel{height:196px}.character-logo{width:158px;height:158px}.footer-inner{min-height:82px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
