:root{--paper: #f4f1e8;--paper-2: #ece7d6;--ink: #14110f;--ink-soft: #46403a;--red: #ff4d3d;--blue: #2b50ff;--yellow: #ffd23f;--green: #16b47f;--pink: #ff7ab6;--line: 3px;--shadow: 6px 6px 0 var(--ink);--shadow-sm: 3px 3px 0 var(--ink);--radius: 0px;--maxw: 1080px;--mono: ui-monospace, "SFMono-Regular", "DejaVu Sans Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;background-image:radial-gradient(var(--paper-2) 1.4px,transparent 1.4px);background-size:22px 22px}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--blue)}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:var(--line) solid var(--ink);background:var(--yellow)}.site-header .wrap{display:flex;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.brand{font-family:var(--mono);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;text-decoration:none;padding:4px 12px;background:var(--ink);color:var(--yellow);border:var(--line) solid var(--ink);box-shadow:var(--shadow-sm);transform:rotate(-1.5deg)}.brand:hover{color:#fff}.brand small{font-weight:600;font-size:.6rem;display:block;letter-spacing:.12em}.site-nav{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;align-items:center}.site-nav a{font-family:var(--mono);font-size:.8rem;font-weight:700;text-decoration:none;padding:5px 10px;border:2px solid var(--ink);background:var(--paper)}.site-nav a:hover{background:var(--ink);color:var(--paper)}.lang-toggle{background:var(--red)!important;color:#fff!important}.lang-toggle:hover{background:var(--ink)!important}h1,h2,h3{line-height:1.15;letter-spacing:-.02em}h1{font-size:clamp(1.8rem,5vw,3rem);font-weight:800;margin:0 0 .3em}h2{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:800}.eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px}.section{margin:44px 0}.section>h2{display:inline-block;background:var(--ink);color:var(--paper);padding:4px 14px;box-shadow:var(--shadow-sm)}.box{background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow);padding:18px}.btn{display:inline-block;font-family:var(--mono);font-weight:700;font-size:.85rem;text-decoration:none;padding:8px 14px;border:var(--line) solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .05s,box-shadow .05s}.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);color:var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn-accent{background:var(--blue);color:#fff}.btn-accent:hover{color:#fff}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:2px 8px;border:2px solid var(--ink);background:var(--paper);text-decoration:none}.tag:hover{background:var(--ink);color:var(--paper)}.tag-el{background:var(--pink)}.tag-el:hover{background:var(--ink);color:#fff}.badge{font-family:var(--mono);font-size:.68rem;font-weight:800;padding:2px 8px;border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.06em}.badge-confirmed{background:var(--green);color:#fff}.badge-reported{background:var(--yellow);color:var(--ink)}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.linklist{list-style:none;padding:0;margin:0;display:grid;gap:10px}.site-footer{border-top:var(--line) solid var(--ink);background:var(--ink);color:var(--paper);margin-top:60px;padding:28px 0;font-size:.85rem}.site-footer a{color:var(--yellow)}.site-footer .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}.crumbs{font-family:var(--mono);font-size:.78rem;margin:20px 0 8px;color:var(--ink-soft)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.muted{color:var(--ink-soft)}.small{font-size:.82rem}.center{text-align:center}hr.rule{border:none;border-top:var(--line) solid var(--ink);margin:32px 0}.notice{border:var(--line) dashed var(--ink);background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 10px,var(--paper-2) 10px,var(--paper-2) 20px);padding:12px 16px;font-size:.82rem;font-family:var(--mono)}
