/* Projekt Filozofia 2.1. Scoped styles for the list and individual tasks. */
.pf-ui{--pf-ink:#252c2a;--pf-muted:#5b6863;--pf-accent:#1f4c47;--pf-line:#dce4df;--pf-soft:#f4f7f4;--pf-header-offset:120px;color:var(--pf-ink);font-size:17px;line-height:1.75;text-align:left}
.pf-ui *{box-sizing:border-box}
.pf-ui [hidden]{display:none!important}
.pf-ui a{color:var(--pf-accent)}
.pf-ui button,.pf-ui input,.pf-ui select,.pf-ui textarea{font:inherit}
.pf-ui button,.pf-ui summary,.pf-ui a{touch-action:manipulation}
.pf-ui :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #37877a;outline-offset:3px}
.pf-ui button{cursor:pointer}
.pf-base{display:grid;grid-template-columns:300px minmax(0,1fr);gap:36px;max-width:1400px;margin:32px auto 70px}
.pf-single{max-width:920px;margin:30px auto 70px}
.pf-results{min-width:0;scroll-margin-top:calc(var(--pf-header-offset) + 16px)}
.pf-results-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.pf-filter-hint{font-size:13px;line-height:1.55;color:var(--pf-muted)}
.pf-filter-column{min-width:0;position:sticky;top:var(--pf-header-offset);align-self:start;max-height:calc(100dvh - var(--pf-header-offset) - 20px);overflow:auto;scrollbar-width:thin;background:#f7f9f6;border:1px solid var(--pf-line);border-radius:16px}
.pf-filter-form{padding:20px}
.pf-filter-form h2{font-size:21px;line-height:1.35;margin:24px 0 8px;color:var(--pf-ink)}
.pf-filter-form .pf-filter-hint{margin:0 0 14px}
.pf-search-label,.pf-sort-label{display:block;font-size:15px;font-weight:700}
.pf-filter-form :is(input[type=search],select){display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bfcac3;border-radius:10px;background:#fff;color:var(--pf-ink);font-size:15px;min-height:44px}
.pf-sort-label{margin-top:22px}
.pf-mobile-filter-toggle{display:none}
.pf-topic-branch{margin:5px 0;border-top:1px solid var(--pf-line)}
.pf-topic-branch>summary,.pf-extra-filters>summary,.pf-extra-group>summary{position:relative;cursor:pointer;list-style:none;font-weight:650;padding:12px 28px 12px 0;font-size:15px;line-height:1.5}
.pf-ui summary::-webkit-details-marker{display:none}
.pf-topic-branch>summary::after,.pf-extra-filters>summary::after,.pf-extra-group>summary::after{content:'＋';position:absolute;right:0;top:12px;color:var(--pf-accent)}
.pf-ui details[open]>summary::after{content:'−'}
.pf-topic-children{padding-left:13px;border-left:2px solid var(--pf-line);margin:0 0 12px 3px}
.pf-topic-children>.pf-topic-branch{border:0}
.pf-topic-children>.pf-topic-branch>summary{padding-top:8px;padding-bottom:8px}
.pf-check{display:flex;align-items:flex-start;gap:9px;padding:7px 0;margin:0;font-size:14px;line-height:1.5;cursor:pointer;min-height:34px}
.pf-check input{flex:none;width:17px;height:17px;margin:3px 0 0;accent-color:var(--pf-accent)}
.pf-check>span:not(.pf-count){flex:1;min-width:0}
.pf-count{display:inline-block;margin-left:5px;font-size:12px;font-weight:500;color:var(--pf-muted);white-space:nowrap}
.pf-check>.pf-count{margin-left:auto;padding-top:1px}
.pf-extra-filters{margin-top:18px;border-top:1px solid var(--pf-line)}
.pf-extra-group{margin-left:8px}
.pf-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;font-size:14px}
.pf-primary{background:var(--pf-accent);color:#fff;border:0;border-radius:999px;min-height:44px;padding:10px 18px;font-weight:700}
.pf-ui .pf-filter-actions button.pf-primary{background:#1f4c47!important;color:#fff!important;opacity:1!important;box-shadow:none;border:1px solid #1f4c47}
.pf-ui .pf-filter-actions button.pf-primary:hover{background:#153a36!important}
.pf-ui .pf-pagination .current{background:var(--pf-accent)!important;color:#fff!important}
.pf-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;font-size:14px;line-height:1.5}
.pf-active-filters a{padding:7px 11px;background:#edf3ef;border:1px solid var(--pf-line);border-radius:999px;text-decoration:none}
.pf-active-filters a:hover{background:#e0ebe5}
.pf-active-filters .pf-reset{background:transparent;border-color:transparent;text-decoration:underline}
.pf-card{margin:0 0 34px;padding:26px 30px;background:#fff;border:1px solid var(--pf-line);border-radius:16px;box-shadow:0 3px 16px #1f35240a;min-width:0;scroll-margin-top:calc(var(--pf-header-offset) + 16px)}
.pf-card-head h2{margin:0 0 12px;font-size:27px;line-height:1.3}
.pf-card-head h2 a{color:var(--pf-ink);text-decoration:none}
.pf-card-head h2 a:hover{text-decoration:underline}
.pf-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px}
.pf-meta span{padding:5px 10px;border:1px solid var(--pf-line);background:#f8faf8;border-radius:999px;font-size:13px;line-height:1.4}
.pf-meta .pf-tag{background:#edf3ee}
.pf-disclosure{background:var(--pf-soft);border:1px solid var(--pf-line);border-radius:12px;margin:16px 0;overflow:hidden}
.pf-disclosure>summary{position:relative;padding:15px 42px 15px 18px;cursor:pointer;font-size:16px;font-weight:700;line-height:1.5;list-style:none}
.pf-disclosure>summary::after{content:'＋';position:absolute;right:16px;top:15px}
.pf-disclosure[open]>summary{border-bottom:1px solid var(--pf-line)}
.pf-summary-subtitle{display:block;font-size:13px;font-weight:400;color:var(--pf-muted);margin-top:3px}
.pf-panel-body{padding:20px 22px}
.pf-panel-body h3{font-size:18px;line-height:1.4;margin:12px 0}
.pf-panel-body p{margin:0 0 1em}
.pf-panel-body p:last-child{margin-bottom:0}
.pf-ui :is(.pf-prompt,.pf-source-text,.pf-panel-body){white-space:normal;overflow-wrap:break-word;word-break:normal;text-align:left}
.pf-source-text{font-family:Georgia,serif;font-size:17px;line-height:1.85;max-width:78ch}
.pf-source-text p{margin-bottom:1.15em}
.pf-work{font-weight:700;font-family:inherit}
.pf-citation{font-size:13px;line-height:1.6;color:var(--pf-muted);border-top:1px solid var(--pf-line);padding-top:14px;margin-top:18px!important}
.pf-material img{display:block;max-width:100%;height:auto;border-radius:8px}
.pf-material-caption{font-size:14px;line-height:1.6;margin-top:14px!important}
.pf-material-credit{font-size:13px;line-height:1.6;border-top:1px solid var(--pf-line);padding-top:10px}
.pf-material-credit>summary{cursor:pointer;font-weight:600;min-height:32px}
.pf-material-credit>div{padding-top:8px;overflow-wrap:anywhere}
.pf-prompt{margin:24px 0;max-width:82ch}
.pf-prompt h3{font-size:19px;line-height:1.4;margin:0 0 12px}
.pf-prompt p{margin:0 0 1em;font-size:18px;line-height:1.75}
.pf-options{padding:16px 18px;background:var(--pf-soft);border-radius:10px;margin-top:18px}
.pf-options p{font-size:16px}
.pf-own-answer{margin:22px 0;padding:19px 20px;border:1px solid var(--pf-line);border-radius:12px;background:#fafbf9}
.pf-own-answer h3{margin:0 0 16px;font-size:18px;line-height:1.4}
.pf-own-answer label{display:block;font-size:17px;font-weight:700;margin-bottom:10px}
.pf-own-answer textarea{display:block;width:100%;min-height:150px;resize:vertical;border:1px solid #becac2;border-radius:9px;padding:13px 15px;font-size:16px;line-height:1.7;color:var(--pf-ink);background:#fff}
.pf-own-answer textarea.pf-essay{min-height:360px}
.pf-choice-group{margin:0 0 16px;padding:0;border:0;min-width:0}
.pf-choice-group legend{font-size:15px;font-weight:600;margin-bottom:8px;float:none;width:auto}
.pf-choice-options{display:flex;flex-wrap:wrap;gap:8px}
.pf-own-answer label.pf-choice{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #aebfb4;border-radius:9px;background:#fff;color:var(--pf-ink);font-weight:500;font-size:15px;min-height:44px;margin:0;cursor:pointer}
.pf-choice input{accent-color:var(--pf-accent);margin:0;width:17px;height:17px}
.pf-choice:has(input:checked){background:#e4efe8!important;border-color:var(--pf-accent)!important}
.pf-choice:has(input:focus-visible){outline:3px solid #37877a;outline-offset:3px}
.pf-word-count{margin:8px 0 0;font-size:13px;color:var(--pf-muted)}
.pf-word-count[data-pf-minimum-met=true]{color:var(--pf-accent);font-weight:600}
.pf-progress-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px;margin-top:8px;padding-top:4px;border-top:1px solid var(--pf-line)}
.pf-own-answer .pf-progress-row label{display:inline-flex;align-items:center;gap:7px;margin:0;min-height:44px;font-size:13px;font-weight:500;cursor:pointer}
.pf-progress-row input{width:16px;height:16px;margin:0;accent-color:var(--pf-accent)}
.pf-progress-row input:focus-visible{outline:3px solid #37877a;outline-offset:3px}
.pf-own-answer .pf-answer-label{font-size:13px;font-weight:500;margin-bottom:6px}
.pf-ui .pf-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pf-card[data-pf-progress-state=done]{border-left:4px solid #497863}
.pf-card[data-pf-progress-state=review]{border-left:4px solid #a47c22}
.pf-answer-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-top:9px;font-size:12px;line-height:1.5;color:var(--pf-muted)}
.pf-answer-footer button{padding:0;border:0;background:transparent;color:var(--pf-muted);font-size:12px;text-decoration:underline;min-height:24px}
.pf-answer-footer button{margin-left:auto}
.pf-answer-footer [data-pf-save-status]:not([hidden]){color:#843d25;font-weight:600}
.pf-answer-table-wrap{max-width:100%;overflow-x:auto;margin:14px 0}
.pf-ui .pf-answer-table{width:100%;min-width:480px;border-collapse:collapse;font-size:15px;line-height:1.65;text-align:left}
.pf-ui .pf-answer-table :is(th,td){padding:12px 14px;border:1px solid var(--pf-line);vertical-align:top;white-space:normal;overflow-wrap:break-word}
.pf-ui .pf-answer-table th{background:#edf3ef;font-weight:700;color:var(--pf-ink)}
.pf-ui .pf-answer-table td{background:#fff}
.pf-help-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}
.pf-help-buttons button{min-height:46px;padding:11px 17px;border-radius:10px;border:1px solid #aebfb4;background:#f6faf6;color:var(--pf-accent);font-size:16px;font-weight:700;text-align:left}
.pf-help-buttons button::before{content:'＋';margin-right:9px}
.pf-help-buttons button[aria-expanded=true]::before{content:'−'}
.pf-help-buttons button[aria-expanded=true]{background:#e5efe7;border-color:var(--pf-accent)}
.pf-help-panel{margin-top:12px;border:1px solid var(--pf-line);border-radius:12px;background:#f9fbf8}
.pf-task-info{background:transparent;font-size:14px;margin-bottom:0}
.pf-task-info>summary{font-size:14px;color:var(--pf-muted);font-weight:600}
.pf-notice{padding:14px;border:1px solid #dcc79b;border-radius:10px;background:#fff9ea;font-size:14px}
.pf-empty{padding:24px;border:1px solid var(--pf-line);border-radius:12px;background:#fff}
.pf-pagination{margin:22px 0}
.pf-pagination ul{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.pf-pagination li{margin:0}
.pf-pagination .page-numbers{display:inline-flex;min-width:48px;min-height:48px;padding:8px 12px;align-items:center;justify-content:center;border:1px solid var(--pf-line);border-radius:8px;text-decoration:none;font-size:14px;background:#fff;line-height:1.4}
.pf-pagination .current{background:var(--pf-accent);border-color:var(--pf-accent);color:white}
.pf-pagination .dots{background:transparent;border-color:transparent;min-width:24px}
@media(max-width:1050px){.pf-base{grid-template-columns:270px minmax(0,1fr);gap:22px}.pf-card{padding:22px}}
@media(max-width:900px){.pf-base{grid-template-columns:1fr;gap:20px;margin-top:20px}.pf-filter-column{position:static;max-height:none;overflow:visible}.pf-mobile-filter-toggle{display:block;position:relative;cursor:pointer;padding:16px 40px 16px 20px;font-weight:700;list-style:none}.pf-mobile-filter-toggle::after{content:'＋';position:absolute;right:18px;top:16px}.pf-filter-form{border-top:1px solid var(--pf-line)}.pf-filter-shell:not([open])>.pf-filter-form{display:none}.pf-results{scroll-margin-top:100px}}
@media(max-width:600px){.pf-ui{font-size:16px}.pf-single{margin:20px 0 50px}.pf-card{padding:18px 16px;margin-bottom:24px;border-radius:12px}.pf-card-head h2{font-size:23px}.pf-meta{gap:5px;margin-bottom:18px}.pf-meta span{font-size:12px;padding:5px 8px}.pf-panel-body{padding:17px 16px}.pf-source-text{font-size:16px}.pf-prompt p{font-size:17px}.pf-own-answer{padding:15px}.pf-disclosure>summary{padding-left:15px}.pf-help-buttons button{flex:1;min-width:145px;font-size:15px}.pf-pagination .page-numbers{padding:8px 10px}.pf-pagination .prev,.pf-pagination .next{font-size:13px}}

/* Polish shares the established task controls and has its own filter tree. */
.ppol-ui .ppol-source-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.ppol-ui .ppol-source-text p{white-space:normal}
.ppol-ui img{max-width:100%;height:auto}
.ppol-ui .ppol-filter-choice{display:flex;align-items:flex-start;gap:.45rem;padding:.4rem 0;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}
.ppol-ui .ppol-filter-choice input{flex-shrink:0;margin-top:.25rem}
.ppol-ui .ppol-topic{margin:.4rem 0 .4rem .5rem}
.ppol-ui .ppol-topic>summary{cursor:pointer;font-weight:600;line-height:1.4}
.ppol-ui .pf-sidebar{max-height:85vh;overflow-y:auto;position:sticky;top:1rem}
.ppol-ui .pf-sidebar form>details{padding:.5rem 0;border-bottom:1px solid #ddd}
.ppol-ui .pf-sidebar input[type=search]{width:100%}
.ppol-ui .pf-answer-entry textarea{width:100%;box-sizing:border-box}
.ppol-ui .ppol-active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.ppol-ui .ppol-active-filters a{border:1px solid #ddd;border-radius:4px;padding:.3rem .5rem}
.ppol-ui [data-pf-maximum-exceeded=true]{color:#a21b1b}
@media(max-width:900px){.ppol-ui .pf-sidebar{position:static;max-height:none}.ppol-ui .pf-sidebar details[open]>form{max-height:70vh;overflow:auto}}

.ppol-ui .pf-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;max-width:1400px;margin:32px auto}
.ppol-ui .pf-sidebar{align-self:start;top:var(--pf-header-offset);max-height:calc(100dvh - var(--pf-header-offset) - 20px);border:1px solid var(--pf-line);background:var(--pf-soft);border-radius:16px;padding:18px}
.ppol-ui .pf-sidebar summary{cursor:pointer;font-weight:600}
.ppol-ui .pf-sidebar button{background:var(--pf-accent);color:white;border:0;border-radius:6px;padding:8px 14px}
.ppol-ui .pf-pagination{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.ppol-ui .pf-pagination a{padding:8px 14px;border:1px solid var(--pf-line);border-radius:6px}
.ppol-ui .pf-pagination [aria-current=page]{background:var(--pf-accent);color:white}
@media(max-width:900px){.ppol-ui .pf-layout{grid-template-columns:minmax(0,1fr);gap:20px}.ppol-ui .pf-sidebar{position:static;max-height:none;top:auto}}

/* Editorial explanations: scoped formatting and keyboard-accessible tables. */
.pf-ui .pf-explanation-content h4{font-size:17px;line-height:1.45;margin:24px 0 10px;color:var(--pf-ink)}
.pf-ui .pf-explanation-content h3:first-child{margin-top:0}
.pf-ui .pf-explanation-content ol,.pf-ui .pf-explanation-content ul{padding-left:1.6em;margin:12px 0 20px}
.pf-ui .pf-explanation-content li{padding-left:4px;margin-bottom:12px}
.pf-ui .pf-explanation-content li p{margin:0}
.pf-ui .pf-explanation-table-wrap{max-width:100%;overflow-x:auto;margin:14px 0 20px}
.pf-ui .pf-explanation-table-wrap:focus-visible{outline:3px solid var(--pf-ink);outline-offset:3px}
.pf-ui .pf-explanation-table-wrap table{width:100%;min-width:440px;border-collapse:collapse;font-size:15px;line-height:1.65;text-align:left}
.pf-ui .pf-explanation-table-wrap th,.pf-ui .pf-explanation-table-wrap td{padding:12px 14px;border:1px solid var(--pf-line);vertical-align:top;white-space:normal;overflow-wrap:break-word}
.pf-ui .pf-explanation-table-wrap thead th{background:#edf3ef;font-weight:700;color:var(--pf-ink)}
.pf-ui .pf-explanation-table-wrap tbody th{background:#f7f9f7;font-weight:600}
@media(max-width:600px){.pf-ui .pf-explanation-content h4{font-size:16px}.pf-ui .pf-explanation-table-wrap th,.pf-ui .pf-explanation-table-wrap td{padding:10px}}

/* Philosophy: progressive hints, with native details fallback. */
.pf-ui .pf-hint-ladder{margin:.5rem 0;line-height:1.75}
.pf-ui .pf-hint-intro{font-size:.95rem;color:#49605b;margin:0 0 1rem}
.pf-ui .pf-hint-step,.pf-ui .pf-hint-block{margin:.8rem 0}
.pf-ui .pf-hint-step>summary,.pf-ui .pf-hint-button{display:block;width:100%;text-align:left;padding:.8rem 1rem;border:1px solid #78968e;border-radius:7px;background:#eef5f1;color:#203732;font:inherit;font-weight:600;line-height:1.5;cursor:pointer;min-height:44px}
.pf-ui .pf-hint-button:hover,.pf-ui .pf-hint-button[aria-expanded=true]{background:#dfece4;color:#203732;border-color:#315e59}
.pf-ui .pf-hint-content,.pf-ui .pf-hint-step>p{margin:.6rem 0 1rem;padding:.2rem .9rem;border-left:3px solid #6b9585}
.pf-ui .pf-hint-content p{margin:.4rem 0;line-height:1.75}

.pf-ui .pf-hint-button:focus-visible,.pf-ui .pf-hint-step>summary:focus-visible{outline:3px solid #315e59;outline-offset:3px}
.pf-ui .pf-hint-ladder [hidden]{display:none!important}
