:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-primary: #374151;--color-link: #2563eb;--color-world: #3b82f6;--max-width: 720px;--font-mono: "SF Mono", "Fira Code", "Fira Mono", monospace}@media(prefers-color-scheme:dark){:root{--color-bg: #0f0f0f;--color-surface: #1a1a1a;--color-text: #e5e5e5;--color-text-muted: #9ca3af;--color-border: #2e2e2e;--color-primary: #d1d5db;--color-link: #60a5fa}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}body{min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;width:100%}.site-header{border-bottom:1px solid var(--color-border);padding:1rem 0}.site-header .container{display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.1rem;font-weight:600;color:var(--color-text);text-decoration:none;font-family:var(--font-mono);letter-spacing:-.02em}.site-nav{display:flex;gap:1.5rem;flex-wrap:wrap}.site-nav a{color:var(--color-text-muted);font-size:.875rem}.site-nav a:hover{color:var(--color-text);text-decoration:none}.site-footer{border-top:1px solid var(--color-border);padding:2rem 0;margin-top:auto;color:var(--color-text-muted);font-size:.8rem;text-align:center}main{padding:2rem 0;flex:1}.page-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.page-description{color:var(--color-text-muted);margin-bottom:2rem;font-size:.9rem}.day-list{display:flex;flex-direction:column;gap:1px}.day-card{display:block;padding:1rem 0;border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none}.day-card:hover{text-decoration:none;background:var(--color-surface);margin:0 -1.5rem;padding:1rem 1.5rem}.day-card-date{font-family:var(--font-mono);font-size:1rem;font-weight:600;margin-bottom:.25rem}.day-card-weekday{color:var(--color-text-muted);font-weight:400}.day-card-excerpt{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-title{font-size:1.5rem;font-family:var(--font-mono);font-weight:700;margin-bottom:2rem;letter-spacing:-.02em}.day-nav{display:flex;justify-content:space-between;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:.875rem}.lab-grid{display:grid;gap:1rem}.lab-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text)}.lab-card:hover{border-color:var(--color-text-muted)}.lab-card-link{display:block;color:var(--color-text);text-decoration:none;margin-bottom:.5rem}.lab-card-link:hover{text-decoration:none}.lab-card-thumb{width:100%;max-height:160px;object-fit:cover;border-radius:4px;margin-bottom:.75rem}.lab-card-title{font-weight:600;margin-bottom:.375rem}.lab-card-description{font-size:.85rem;color:var(--color-text-muted)}.lab-card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8rem;color:var(--color-text-muted)}.lab-card-tags{display:flex;gap:.375rem;flex-wrap:wrap}.tag{font-size:.7rem;padding:.125rem .5rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.lang-switch{display:flex;gap:.5rem}.lang-switch a{font-size:.8rem;padding:.125rem .5rem;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted)}.lang-switch a:hover{border-color:var(--color-text-muted);color:var(--color-text);text-decoration:none}.layer-section{margin-bottom:2.5rem;padding-left:1rem;border-left:3px solid var(--color-border)}.layer-section[data-layer=world]{border-left-color:var(--color-world)}.layer-section h2{font-size:1rem;font-weight:600;margin-bottom:1rem;margin-top:1.5rem}.layer-section h3{font-size:1rem;font-weight:600;margin:1.25rem 0 .5rem}.layer-section p{margin-bottom:.75rem}.layer-section ul,.layer-section ol{padding-left:1.25rem;margin-bottom:.75rem}.layer-section li{margin-bottom:.25rem}.layer-section strong{font-weight:600}.layer-section code{font-family:var(--font-mono);font-size:.85em;background:var(--color-surface);padding:.125rem .375rem;border-radius:3px}.layer-section pre{background:var(--color-surface);padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1rem}.layer-section pre code{background:none;padding:0}.layer-section table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.85rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.layer-section th,.layer-section td{padding:.375rem .75rem;border:1px solid var(--color-border);text-align:left;white-space:nowrap}.layer-section th{background:var(--color-surface);font-weight:600}@media(max-width:600px){.container{padding:0 1rem}.site-nav{gap:.75rem}.site-nav a{font-size:.75rem}.page-title{font-size:1.25rem}.day-title{font-size:1.2rem}.day-card:hover{margin:0 -1rem;padding:1rem}.day-nav{flex-direction:column;gap:.75rem;text-align:center}.layer-section{padding-left:.75rem}.layer-section th,.layer-section td{padding:.25rem .5rem;font-size:.75rem}.lab-card{padding:1rem}}
