/* Wiki (publiczna) + treść renderowana z markdown (wk-content) */

.wiki-section { padding: 6.5rem 0 4rem; position: relative; z-index: 10; }
.wiki-shell {
    display: grid;
    grid-template-columns: 17rem minmax(0, 1fr) 14rem;
    gap: 2.5rem;
    max-width: var(--s-wrap);
    margin: 0 auto;
    padding: 0 1.5rem;
    align-items: start;
}
.wiki-shell--no-toc { grid-template-columns: 17rem minmax(0, 1fr); }

.wiki-sidebar, .wiki-toc { position: sticky; top: 6rem; max-height: calc(100vh - 7rem); overflow-y: auto; scrollbar-width: thin; }
.wiki-sidebar { padding-right: .5rem; }

.wiki-search { position: relative; margin-bottom: 1.25rem; }
.wiki-search i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--s-dim); font-size: .85rem; pointer-events: none; }
.wiki-search input {
    width: 100%; padding: .65rem .9rem .65rem 2.3rem; border-radius: 10px;
    background: var(--s-bg-2); border: 1px solid var(--s-line); color: var(--s-ink); font: inherit; font-size: .92rem;
}
.wiki-search input:focus { outline: none; border-color: var(--s-purple); }

.wiki-nav { list-style: none; margin: 0; padding: 0; }
.wiki-nav ul { list-style: none; margin: .15rem 0 .15rem .85rem; padding: 0 0 0 .6rem; border-left: 1px solid var(--s-line); }
.wiki-nav a {
    display: block; padding: .42rem .75rem; border-radius: 8px; color: var(--s-dim);
    text-decoration: none; font-size: .93rem; line-height: 1.35; transition: background .15s, color .15s;
}
.wiki-nav a:hover { color: var(--s-ink); background: rgba(168, 85, 247, .08); }
.wiki-nav a.is-active { color: #fff; background: rgba(168, 85, 247, .18); font-weight: 600; }
.wiki-nav-label { margin: 1.25rem .75rem .35rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--s-purple); }
.wiki-nav > li:first-child .wiki-nav-label { margin-top: .25rem; }

.wiki-menu-btn {
    display: none; align-items: center; gap: .5rem; width: 100%; margin-bottom: 1rem; padding: .7rem 1rem;
    background: var(--s-bg-2); border: 1px solid var(--s-line); border-radius: 10px; color: var(--s-ink); font: inherit; cursor: pointer;
}

.wiki-main { min-width: 0; }
.wiki-crumbs { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .85rem; color: var(--s-dim); margin-bottom: 1rem; }
.wiki-crumbs a { color: var(--s-dim); text-decoration: none; }
.wiki-crumbs a:hover { color: var(--s-ink); }
.wiki-title { font: 700 clamp(2rem, 4vw, 2.7rem)/1.15 var(--s-head); letter-spacing: -.01em; margin: 0 0 .6rem; color: #fff; }
.wiki-lead { font-size: 1.1rem; color: var(--s-dim); margin: 0 0 1.5rem; line-height: 1.6; }
.wiki-head-rule { border: 0; border-top: 1px solid var(--s-line); margin: 0 0 2rem; }

.wiki-toc-title { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--s-dim); margin-bottom: .75rem; }
.wiki-toc ul { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--s-line); }
.wiki-toc a { display: block; padding: .3rem .85rem; margin-left: -1px; border-left: 2px solid transparent; color: var(--s-dim); text-decoration: none; font-size: .88rem; line-height: 1.4; }
.wiki-toc a:hover { color: var(--s-ink); }
.wiki-toc a.is-active { color: #fff; border-left-color: var(--s-purple); }
.wiki-toc .lvl-3 a { padding-left: 1.7rem; font-size: .84rem; }

.wiki-updated { margin-top: 3rem; font-size: .85rem; color: var(--s-dim); }
.wiki-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.25rem; }
.wiki-pager a {
    display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.2rem; border: 1px solid var(--s-line); border-radius: 12px;
    background: var(--s-bg-2); text-decoration: none; color: var(--s-ink); transition: border-color .15s, transform .15s;
}
.wiki-pager a:hover { border-color: var(--s-purple); transform: translateY(-1px); }
.wiki-pager small { color: var(--s-dim); font-size: .78rem; }
.wiki-pager .next { text-align: right; grid-column: 2; }

.wiki-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; }
.wiki-card { display: block; padding: 1.2rem 1.3rem; border: 1px solid var(--s-line); border-radius: 14px; background: var(--s-bg-2); text-decoration: none; color: var(--s-ink); transition: border-color .15s, transform .15s; }
.wiki-card:hover { border-color: var(--s-purple); transform: translateY(-2px); }
.wiki-card strong { display: block; font-size: 1.05rem; margin-bottom: .3rem; }
.wiki-card span { color: var(--s-dim); font-size: .9rem; line-height: 1.5; }

.wiki-results { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.wiki-results a { display: block; padding: 1rem 1.2rem; border: 1px solid var(--s-line); border-radius: 12px; background: var(--s-bg-2); text-decoration: none; color: var(--s-ink); }
.wiki-results a:hover { border-color: var(--s-purple); }
.wiki-results strong { display: block; margin-bottom: .25rem; }
.wiki-results span { color: var(--s-dim); font-size: .9rem; line-height: 1.5; }

/* Treść z markdown */
.wk-content { color: var(--s-ink); line-height: 1.75; font-size: 1rem; overflow-wrap: anywhere; }
.wk-content > :first-child { margin-top: 0; }
.wk-content h1, .wk-content h2, .wk-content h3, .wk-content h4, .wk-content h5 { font-family: var(--s-head); color: #fff; line-height: 1.25; scroll-margin-top: 6rem; }
.wk-content h2 { font-size: 1.6rem; margin: 2.4rem 0 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--s-line); }
.wk-content h3 { font-size: 1.3rem; margin: 2rem 0 .8rem; }
.wk-content h4 { font-size: 1.1rem; margin: 1.6rem 0 .6rem; }
.wk-content p { margin: 0 0 1rem; }
.wk-content a { color: #d4b8ff; text-decoration: underline; text-underline-offset: 2px; }
.wk-content a:hover { color: #fff; }
.wk-content ul, .wk-content ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.wk-content li { margin: .25rem 0; }
.wk-content img { max-width: 100%; height: auto; border-radius: 10px; }
.wk-content figure { margin: 1.25rem 0; }
.wk-content figcaption:empty { display: none; }
.wk-content figcaption { margin-top: .4rem; font-size: .85rem; color: var(--s-dim); text-align: center; }
.wk-content hr { border: 0; border-top: 1px solid var(--s-line); margin: 2rem 0; }
.wk-content code { padding: .12em .4em; border-radius: 6px; background: rgba(168, 85, 247, .14); font-size: .9em; }
.wk-content pre { padding: 1rem 1.2rem; border-radius: 12px; background: #0a0612; border: 1px solid var(--s-line); overflow-x: auto; }
.wk-content pre code { padding: 0; background: none; }
.wk-content blockquote, .points blockquote { margin: 1rem 0; padding: 1rem 1.2rem; border-left: 3px solid var(--s-purple); background: rgba(255, 255, 255, .03); border-radius: 0 10px 10px 0; }
.wk-content blockquote p:last-child, .points blockquote p:last-child { margin-bottom: 0; }
.wk-content sub { font-size: .88rem; color: var(--s-dim); vertical-align: baseline; }
.wk-content table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; display: block; overflow-x: auto; }
.wk-content th, .wk-content td { padding: .6rem .9rem; border: 1px solid var(--s-line); text-align: left; vertical-align: top; }
.wk-content th { background: var(--s-bg-2); color: #fff; }
.wk-content .sub { margin-left: 1.5rem; }

.wk-content details { margin: .6rem 0; border: 1px solid var(--s-line); border-radius: 12px; background: var(--s-bg-2); }
.wk-content details > summary { cursor: pointer; padding: .85rem 1.1rem; list-style: none; font-weight: 600; display: flex; align-items: center; gap: .6rem; }
.wk-content details > summary::-webkit-details-marker { display: none; }
.wk-content details > summary::before { content: "\203A"; font-size: 1.3rem; line-height: 1; color: var(--s-purple); transition: transform .15s; }
.wk-content details[open] > summary::before { transform: rotate(90deg); }
.wk-content details[open] > summary { border-bottom: 1px solid var(--s-line); }
.wk-content details > :not(summary) { margin-left: 1.1rem; margin-right: 1.1rem; }
.wk-content details > :nth-child(2) { margin-top: 1rem; }
.wk-content details > :last-child { margin-bottom: 1rem; }

.wk-hint { margin: 1.25rem 0; padding: .9rem 1.2rem; border-radius: 12px; border: 1px solid; border-left-width: 4px; }
.wk-hint > :last-child { margin-bottom: 0; }
.wk-hint-info { background: rgba(59, 130, 246, .1); border-color: rgba(59, 130, 246, .5); }
.wk-hint-success { background: rgba(34, 197, 94, .1); border-color: rgba(34, 197, 94, .5); }
.wk-hint-warning { background: rgba(245, 158, 11, .1); border-color: rgba(245, 158, 11, .5); }
.wk-hint-danger { background: rgba(239, 68, 68, .1); border-color: rgba(239, 68, 68, .5); }

.wk-columns { display: flex; gap: 1.25rem; margin: 1.25rem 0; }
.wk-column { flex: 1 1 0; min-width: 0; }
.wk-column:empty { display: none; }
.wk-column > :first-child { margin-top: 0; }

.wk-content a.button { display: inline-block; padding: .55rem 1.2rem; border-radius: 10px; background: var(--s-purple); color: #fff; text-decoration: none; font-weight: 600; transition: filter .15s; }
.wk-content a.button:hover { filter: brightness(1.15); color: #fff; }
.wk-content a.button.secondary { background: transparent; border: 1px solid var(--s-line); }

@media (max-width: 1180px) {
    .wiki-shell { grid-template-columns: 15rem minmax(0, 1fr); }
    .wiki-toc { display: none; }
}
@media (max-width: 820px) {
    .wiki-shell, .wiki-shell--no-toc { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .wiki-menu-btn { display: flex; }
    .wiki-sidebar { display: none; position: static; max-height: none; margin-bottom: 1.5rem; }
    .wiki-sidebar.is-open { display: block; }
    .wk-columns { flex-direction: column; }
    .wiki-pager { grid-template-columns: 1fr; }
    .wiki-pager .next { grid-column: auto; }
}

.accordion-content-inner .points > h3:first-child { padding-top: 0; margin-top: 0; border-top: none; }
.wiki-nav-label + ul { margin-left: 0; padding-left: 0; border-left: 0; }

/* Czytelność: przyciemnione tło i szersza, wyraźniejsza treść */
body:has(.wiki-section) .bg-wrap { opacity: .3; }
.wiki-shell { max-width: 1760px; grid-template-columns: 15rem minmax(0, 1fr) 13rem; gap: 2rem; }
.wiki-shell--no-toc { grid-template-columns: 15rem minmax(0, 1fr); }
.wiki-main { padding: 2rem 2.75rem 2.5rem; background: rgba(10, 6, 18, .93); border: 1px solid var(--s-line); border-radius: 18px; }
.wk-content { font-size: .97rem; line-height: 1.75; color: #f6f1fd; }
.wk-content h2 { font-size: 1.55rem; }
.wk-content details, .wk-hint, .wk-content table { background: rgba(255, 255, 255, .04); }
@media (max-width: 1180px) { .wiki-shell { grid-template-columns: 15rem minmax(0, 1fr); } }
@media (max-width: 820px) {
    .wiki-shell, .wiki-shell--no-toc { grid-template-columns: minmax(0, 1fr); }
    .wiki-main { padding: 1.25rem 1rem 1.5rem; }
}

/* Obrazy z wyrównaniem i opływaniem tekstem */
.wk-content img.wk-img-left { float: left; margin: .3rem 1.4rem 1rem 0; }
.wk-content img.wk-img-right { float: right; margin: .3rem 0 1rem 1.4rem; }
.wk-content img.wk-img-center { display: block; margin: 1rem auto; }
.wk-content .wk-clear { clear: both; }
.wk-content h2, .wk-content h3, .wk-content h4, .wk-content hr, .wk-content .wk-columns, .wk-content details, .wk-content pre, .wk-content table { clear: both; }
@media (max-width: 640px) {
    .wk-content img.wk-img-left, .wk-content img.wk-img-right { float: none; display: block; margin: 1rem auto; }
}

/* Te same komponenty w regulaminach */
.points img { max-width: 100%; height: auto; border-radius: 10px; }
.points figure { margin: 1.25rem 0; }
.points figcaption:empty { display: none; }
.points figcaption { margin-top: .4rem; font-size: .85rem; color: var(--s-dim); text-align: center; }
.points hr { border: 0; border-top: 1px solid var(--s-line); margin: 2rem 0; }
.points code { padding: .12em .4em; border-radius: 6px; background: rgba(168, 85, 247, .14); font-size: .9em; }
.points pre { padding: 1rem 1.2rem; border-radius: 12px; background: #0a0612; border: 1px solid var(--s-line); overflow-x: auto; }
.points pre code { padding: 0; background: none; }
.points sub { font-size: .88rem; color: var(--s-dim); vertical-align: baseline; }
.points table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; display: block; overflow-x: auto; }
.points th, .points td { padding: .6rem .9rem; border: 1px solid var(--s-line); text-align: left; vertical-align: top; }
.points th { background: var(--s-bg-2); color: #fff; }
.points details { margin: .6rem 0; border: 1px solid var(--s-line); border-radius: 12px; background: var(--s-bg-2); }
.points details > summary { cursor: pointer; padding: .85rem 1.1rem; list-style: none; font-weight: 600; display: flex; align-items: center; gap: .6rem; }
.points details > summary::-webkit-details-marker { display: none; }
.points details > summary::before { content: "\203A"; font-size: 1.3rem; line-height: 1; color: var(--s-purple); transition: transform .15s; }
.points details[open] > summary::before { transform: rotate(90deg); }
.points details[open] > summary { border-bottom: 1px solid var(--s-line); }
.points details > :not(summary) { margin-left: 1.1rem; margin-right: 1.1rem; }
.points details > :nth-child(2) { margin-top: 1rem; }
.points details > :last-child { margin-bottom: 1rem; }
.points a.button { display: inline-block; padding: .55rem 1.2rem; border-radius: 10px; background: var(--s-purple); color: #fff; text-decoration: none; font-weight: 600; transition: filter .15s; }
.points a.button:hover { filter: brightness(1.15); color: #fff; }
.points a.button.secondary { background: transparent; border: 1px solid var(--s-line); }
.points details, .wk-hint, .points table { background: rgba(255, 255, 255, .04); }
.points img.wk-img-left { float: left; margin: .3rem 1.4rem 1rem 0; }
.points img.wk-img-right { float: right; margin: .3rem 0 1rem 1.4rem; }
.points img.wk-img-center { display: block; margin: 1rem auto; }
.points .wk-clear { clear: both; }
@media (max-width: 640px) { .points img.wk-img-left, .points img.wk-img-right { float: none; display: block; margin: 1rem auto; } }
.points h3, .points hr, .points .wk-columns, .points details { clear: both; }

.points::after, .wk-content::after { content: ""; display: block; clear: both; }

/* Ramki, cytaty i bloki nie wchodzą pod obrazy pływające */
.wk-hint, .wk-content blockquote, .points blockquote, .wk-content details, .points details, .wk-content pre, .points pre { display: flow-root; }

/* Rozmiary i kolory tekstu z edytora */
.wk-content { --wk-base: .97rem; }
.points { --wk-base: 1rem; }
.wk-size-sm { font-size: calc(var(--wk-base) * .85); }
.wk-size-md { font-size: var(--wk-base); }
.wk-size-lg { font-size: calc(var(--wk-base) * 1.25); }
.wk-size-xl { font-size: calc(var(--wk-base) * 1.6); line-height: 1.3; }
.wk-size-xxl { font-size: calc(var(--wk-base) * 2.2); line-height: 1.2; }
.wk-color-default { color: #f3edfb; }
.wk-color-purple { color: #c084fc; }
.wk-color-pink { color: #ff5cb6; }
.wk-color-red { color: #f87171; }
.wk-color-yellow { color: #fbbf24; }
.wk-color-green { color: #4ade80; }
.wk-color-blue { color: #60a5fa; }
.wk-color-gray { color: #9494b0; }
.wk-content kbd, .points kbd { padding: .1em .45em; border-radius: 6px; border: 1px solid var(--s-line, #2e1f48); border-bottom-width: 2px; background: rgba(255, 255, 255, .06); font: .85em ui-monospace, Consolas, monospace; }
