: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}}.list-tools{margin:0 0 12px;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:13px;display:grid;gap:12px}.list-tool-label{display:block;margin-bottom:7px;color:#8b949e;font-size:11px;font-weight:800;letter-spacing:.45px}.topic-filters{display:flex;gap:6px;flex-wrap:wrap}.topic-filter{border:1px solid var(--line);background:#11161d;color:#aab4c0;border-radius:999px;padding:5px 9px;font-size:12px}.topic-filter span{margin-left:5px;color:#6e7681;font-size:10px}.topic-filter:hover{border-color:#6e59a6;color:var(--text)}.topic-filter.active{background:#3b2465;border-color:#8957e5;color:#eadcff}.topic-filter.active span{color:#c9a7ff}.list-tool-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sort-picker{display:flex;align-items:center;gap:7px;color:#8b949e;font-size:12px}.sort-picker select{background:#11161d;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:6px 26px 6px 9px}.list-tool-actions>button{border:1px solid var(--line);background:#11161d;color:#aab4c0;border-radius:8px;padding:6px 9px;font-size:12px}.list-tool-actions>button:hover{border-color:#6e59a6;color:var(--text)}.list-tool-actions>button.active{background:#3b2465;border-color:#8957e5;color:#eadcff}.selected-filters{margin:0 0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.selected-filters[hidden]{display:none}.selected-filters .list-tool-label{margin:0 2px 0 0}.selected-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.selected-filter-chip{border:1px solid var(--line);background:#161b22;color:#c9d1d9;border-radius:999px;padding:5px 9px;font-size:12px}.selected-filter-chip:hover{border-color:#8957e5;color:#fff}.selected-filter-chip:after{content:" ×";color:#8b949e}.selected-filter-chip:hover:after{color:#c9a7ff}#clearFiltersButton{margin-left:auto;border:0;background:transparent;color:#8b949e;padding:5px 4px;font-size:12px}#clearFiltersButton:hover{color:var(--text)}.card{position:relative}.card-toolbar{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-open{width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left;display:flex;flex:1;flex-direction:column;align-items:flex-start}.card-open h3{margin:10px 0 5px}.favorite-button{flex:0 0 auto;width:31px;height:31px;border:1px solid var(--line);background:#11161d;color:#8b949e;border-radius:8px;font-size:18px;line-height:1}.favorite-button:hover{border-color:#6e59a6;color:#e3b341}.favorite-button.active{color:#e3b341;background:#30240d;border-color:#58431a}@media(max-width:620px){.list-tool-actions{align-items:stretch}.sort-picker{width:100%;justify-content:space-between}.sort-picker select{flex:1}.topic-filter{font-size:11px}#clearFiltersButton{margin-left:0}}.view-switch{display:inline-flex;gap:6px;padding:4px;margin-bottom:14px;border:1px solid #30363d;border-radius:10px;background:#0d1117}.view-switch button{border:0;border-radius:7px;padding:7px 12px;background:transparent;color:#8b949e;cursor:pointer}.view-switch button.active{background:#21262d;color:#f0f6fc}body.quest-mode main{width:100%;max-width:none;padding:0 16px 24px}body.quest-mode .hero{display:none}body.quest-mode .layout{grid-template-columns:210px minmax(0,1fr);gap:16px;padding-top:18px}body.quest-mode .quest-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}body.quest-mode .quest-viewport{height:calc(100dvh - 190px);min-height:560px}body.quest-mode .quest-detail{max-height:calc(100dvh - 190px);overflow:auto}.quest-view-panel{min-width:0}.quest-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.quest-toolbar-copy{min-width:0}.quest-toolbar h2{margin:0 0 4px;font-size:1.08rem}.quest-toolbar p{margin:0;color:#8b949e;font-size:.9rem}.quest-toolbar-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.quest-toolbar-side button{border:1px solid #30363d;border-radius:8px;background:#21262d;color:#c9d1d9;padding:7px 11px;cursor:pointer}.quest-stats{color:#8b949e;font-size:.85rem;white-space:nowrap}.quest-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px}.quest-viewport{position:relative;min-height:620px;overflow:hidden;border:1px solid #30363d;border-radius:12px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;background-color:#0d1117;background-image:linear-gradient(rgba(48,54,61,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(48,54,61,.22) 1px,transparent 1px),linear-gradient(rgba(48,54,61,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(48,54,61,.08) 1px,transparent 1px);background-size:64px 64px,64px 64px,16px 16px,16px 16px}.quest-viewport.dragging{cursor:grabbing}.quest-world{position:absolute;left:0;top:0;transform-origin:0 0}.quest-edges,.quest-nodes{position:absolute;inset:0}.quest-edges{overflow:visible;pointer-events:none}.quest-edge{fill:none;stroke:#8b949e85;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.quest-edge.support{stroke:#f0883e85;stroke-width:3;stroke-dasharray:10 9}.quest-node{position:absolute;width:max-content;min-width:220px;max-width:360px;min-height:86px;height:auto;padding:12px 14px 12px 18px;border:1px solid #30363d;border-left:5px solid var(--quest-color, #8b949e);border-radius:11px;background:linear-gradient(180deg,#1b222c,#161b22);color:#f0f6fc;text-align:left;box-shadow:0 8px 24px #0000003d;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.quest-node:hover,.quest-node.selected{border-color:#8b949e;border-left-color:var(--quest-color, #8b949e);box-shadow:0 0 0 2px #58a6ff26,0 10px 28px #00000052;transform:translateY(-2px)}.quest-node strong{display:block;margin-top:5px;font-size:1.08rem;line-height:1.2;overflow-wrap:anywhere}.quest-node-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.quest-node-type{display:block;min-width:0;color:var(--quest-color, #8b949e);font-size:.76rem;font-weight:700;letter-spacing:.02em}.quest-node-code{display:block;width:fit-content;max-width:100%;margin-top:10px;padding:6px 8px;border:1px solid #30363d;border-radius:7px;background:#0d1117;color:#d2a8ff;font:.86rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.quest-node.support{width:max-content;min-width:200px;max-width:340px;height:auto;min-height:68px;padding:10px 12px 11px 15px;border-style:dashed;background:#161b22e6;opacity:.88}.quest-node.support strong{margin-top:5px;font-size:.94rem}.quest-node.support .quest-node-code{margin-top:8px;font-size:.78rem}.quest-node-support{position:static;flex:0 0 auto;color:#f0883e;font-size:.68rem;font-weight:700}.quest-help{position:absolute;left:12px;bottom:10px;padding:5px 8px;border-radius:6px;background:#0d1117d1;color:#8b949e;font-size:.72rem;pointer-events:none}.quest-detail{align-self:start;min-height:160px;padding:16px;border:1px solid #30363d;border-radius:12px;background:#161b22;position:sticky;top:82px}.quest-detail h3{margin:10px 0 8px;font-size:1rem}.quest-detail p,.quest-detail-empty{margin:0;color:#8b949e;font-size:.86rem;line-height:1.55}.quest-detail-meta{display:flex;align-items:center;gap:8px;color:#8b949e;font-size:.72rem}.quest-detail-kind{border:1px solid #30363d;border-radius:999px;padding:2px 7px}.quest-detail-kind.main{color:#3fb950}.quest-detail-kind.support{color:#f0883e}.quest-open-article{margin-top:14px;width:100%;border:1px solid #30363d;border-radius:8px;background:#21262d;color:#f0f6fc;padding:8px 10px;cursor:pointer}@media(max-width:900px){body.quest-mode .layout,body.quest-mode .quest-layout,.quest-layout{grid-template-columns:1fr}.quest-detail{position:static}body.quest-mode .quest-detail{max-height:none;overflow:visible}.quest-viewport{min-height:540px}}
