:root{--bg:#0d1117;--panel:#161b22;--panel-2:#1c2128;--text:#e6edf3;--muted:#9da7b3;--line:#30363d;--accent:#a371f7;--accent-soft:#24183d;--red:#ff7b72;--blue:#79c0ff;--green:#7ee787;--orange:#d29922;--code:#090c10;--shadow:0 12px 32px rgba(0,0,0,.28)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Noto Sans JP,sans-serif;line-height:1.65}button,input{font:inherit;color:inherit}button{cursor:pointer}header{position:sticky;top:0;z-index:20;background:#0d1117f0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav{max-width:1160px;margin:auto;padding:13px 22px;display:flex;align-items:center;gap:26px}.logo{border:0;background:none;color:var(--text);font-weight:850;font-size:20px;padding:0}.logo span{color:var(--accent)}nav{display:flex;gap:4px}nav button{border:0;background:none;color:#aab4c0;padding:7px 9px;border-radius:8px}nav button:hover{background:#21262d;color:var(--text)}main{max-width:1160px;margin:auto;padding:0 22px 70px}.hero{text-align:center;padding:68px 0 42px}.eyebrow{display:inline-block;background:var(--accent-soft);color:#c9a7ff;border:1px solid #4d3278;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.hero h1{font-size:clamp(36px,6vw,58px);line-height:1.12;letter-spacing:-2px;margin:15px 0 12px}.hero p{color:var(--muted);margin:0 0 25px}.search{max-width:750px;margin:auto;background:var(--panel);border:1px solid #414852;border-radius:14px;padding:6px;display:flex;box-shadow:var(--shadow)}.search:focus-within{border-color:#7c5cc4;box-shadow:0 0 0 3px #a371f71f,var(--shadow)}.search input{flex:1;border:0;outline:0;padding:12px 14px;background:transparent;min-width:0;color:var(--text)}.search input::placeholder{color:#6e7681}.search button{border:0;background:#8957e5;color:#fff;border-radius:9px;padding:0 22px;font-weight:800}.search button:hover{background:#9b6bf0}.quick{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:13px}.quick button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 10px;color:#aab4c0;font-size:12px}.quick button:hover{background:#21262d;color:var(--text);border-color:#4b535d}.layout{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:start}aside{position:sticky;top:72px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px}.aside-title{font-size:11px;color:#768390;font-weight:800;letter-spacing:.7px;padding:4px 8px 7px}.type{display:block;width:100%;border:0;background:transparent;color:#aab4c0;text-align:left;padding:9px 10px;border-radius:8px}.type:hover{background:#21262d;color:var(--text)}.type.active{background:#6e40c9;color:#fff}.list-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.list-head h2{margin:0;font-size:22px}.list-head span{font-size:12px;color:#768390}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.card{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;padding:18px;text-align:left;min-height:140px;transition:.15s;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.card:hover{transform:translateY(-2px);border-color:#6e59a6;background:#1b2028;box-shadow:var(--shadow)}.badge{display:inline-block;font-size:11px;font-weight:850;padding:3px 8px;border-radius:999px}.badge.exception,.badge.compiler-error{background:#321b1d;color:var(--red);border:1px solid #5a2b30}.badge.compiler-warning{background:#30240d;color:#e3b341;border:1px solid #58431a}.badge.code{background:#11263d;color:var(--blue);border:1px solid #244769}.badge.concept{background:#122a1d;color:var(--green);border:1px solid #245436}.badge.logic{background:#30240d;color:#e3b341;border:1px solid #58431a}.card h3{margin:10px 0 5px;font-size:16px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.card p{margin:0;color:var(--muted);font-size:14px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.tag{background:#21262d;color:#8b949e;border:1px solid #30363d;border-radius:6px;padding:2px 6px;font-size:10px}.empty{display:none;text-align:center;padding:55px;color:#768390}.hidden{display:none!important}.detail{max-width:1040px;margin:38px auto}.back{border:0;background:none;color:#c9a7ff;font-weight:800;padding:0;margin-bottom:18px}.detail-head,.block{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:23px;margin-bottom:14px}.detail-head h1{font-size:30px;letter-spacing:-1px;margin:8px 0 5px}.detail-head p{margin:0;color:var(--muted)}.block h2{font-size:17px;margin:0 0 10px}.note{background:#1e1630;border-left:4px solid var(--accent);padding:11px 14px;border-radius:7px;color:#d7c8ef}.code-block{min-width:0}.code{background:var(--code);color:#e6edf3;border:1px solid #21262d;border-radius:10px;padding:14px 0;font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto;overflow-y:hidden;min-height:0;max-width:100%}.code.bad{border-left:4px solid #ff7b72}.code.good{border-left:4px solid #3fb950}.code-line{position:relative;display:block;min-width:max-content;padding:0 18px 0 54px;white-space:pre}.code-line:before{content:attr(data-line);position:absolute;left:0;width:38px;text-align:right;color:#4f5966;-webkit-user-select:none;user-select:none}.code-line.highlighted{font-weight:700}.code.bad .code-line.highlighted{background:#ff7b721f}.code.good .code-line.highlighted{background:#3fb9501f}.code-note{position:sticky;left:0;width:100%;padding:2px 18px 6px 54px;white-space:normal;overflow-wrap:anywhere;font-weight:700;line-height:1.45;-webkit-user-select:none;user-select:none}.code-note-mark{opacity:.8}.code.bad .code-note{color:var(--red);background:#ff7b721f}.code.good .code-note{color:var(--green);background:#3fb9501f}.code-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px;align-items:stretch}.code-compare .block{margin-bottom:0;display:flex;min-width:0;flex-direction:column}.code-compare .block h2{display:flex;align-items:center;gap:7px}.code-compare .block:first-child h2{color:var(--red)}.code-compare .block:last-child h2{color:var(--green)}.code-compare .code{flex:1 1 auto}.card>.badge,.detail-head>.badge{display:inline-flex;align-items:center;align-self:flex-start;width:auto;min-height:0;padding:3px 8px;border-radius:999px;font-family:system-ui,-apple-system,Segoe UI,Noto Sans JP,sans-serif;font-size:11px;font-weight:850;line-height:1.65;white-space:normal;overflow:visible}.wiki-link{display:inline;padding:0;border:0;border-bottom:1px dotted #8b6ad1;background:transparent;color:#c9a7ff;font:inherit;line-height:inherit;text-align:inherit;vertical-align:baseline}.wiki-link:hover{color:#e0ccff;border-bottom-style:solid}.related{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.related button{border:1px solid var(--line);background:#11161d;color:var(--text);border-radius:9px;padding:10px 12px;text-align:left}.related button:hover{border-color:#6e59a6;background:#1b2028}.related strong,.related small{display:block}.related small{color:#8b949e;margin-top:2px}@media(max-width:900px){.code-compare{grid-template-columns:1fr}.code-compare .block{margin-bottom:0}}@media(max-width:820px){nav{display:none}.layout{grid-template-columns:1fr}aside{position:static}.cards,.related{grid-template-columns:1fr}.hero{padding-top:45px}.detail{max-width:870px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-picker{margin-left:auto;display:flex;align-items:center}.language-picker select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:6px 28px 6px 9px;cursor:pointer}.language-picker select:hover,.language-picker select:focus{border-color:#6e59a6;outline:none}.card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.translation-badge{display:inline-flex;align-items:center;border:1px solid #58431a;background:#30240d;color:#e3b341;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;line-height:1.65}.translation-banner{margin-bottom:14px;border:1px solid #58431a;background:#30240d;color:#e3b341;border-radius:10px;padding:10px 13px;font-size:13px}.card-meta+.card h3{margin-top:10px}@media(max-width:520px){.nav{gap:12px}.language-picker select{max-width:110px}.hero h1{letter-spacing:-1px}}.code-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.code-block-head h2{margin:0}.copy-code{border:1px solid var(--line);background:#11161d;color:#aab4c0;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:700;line-height:1.4}.copy-code:hover{border-color:#6e59a6;color:var(--text);background:#1b2028}.copy-code.copied{border-color:#2ea043;color:var(--green);background:#122a1d}.copy-code.copy-failed{border-color:#8c2f39;color:var(--red);background:#321b1d}.code .token.comment,.code .token.prolog,.code .token.doctype,.code .token.cdata{color:#8b949e}.code .token.punctuation{color:#c9d1d9}.code .token.namespace{opacity:.8}.code .token.property,.code .token.tag,.code .token.boolean,.code .token.number,.code .token.constant,.code .token.symbol,.code .token.deleted{color:#79c0ff}.code .token.selector,.code .token.attr-name,.code .token.string,.code .token.char,.code .token.builtin,.code .token.inserted{color:#a5d6ff}.code .token.operator,.code .token.entity,.code .token.url,.code .language-css .token.string,.code .style .token.string,.code .token.atrule,.code .token.attr-value,.code .token.keyword{color:#ff7b72}.code .token.function,.code .token.class-name{color:#d2a8ff}.code .token.regex,.code .token.important,.code .token.variable{color:#ffa657}.code .token.important,.code .token.bold{font-weight:700}.code .token.italic{font-style:italic}.code .token.entity{cursor:help}.card-meta>.badge{display:inline-flex;align-items:center;align-self:flex-start;width:auto;min-height:0;padding:3px 8px;border-radius:999px;font-family:system-ui,-apple-system,Segoe UI,Noto Sans JP,sans-serif;font-size:11px;font-weight:850;line-height:1.65;white-space:normal;overflow:visible}@media(max-width:520px){.code-block-head{align-items:flex-start}.copy-code{flex:0 0 auto}}
