/* One native composer and its existing format chooser. Shared portal tokens only. */
.ft-composer { padding-block-end: 0; }
.ft-composer .app-header, .ft-composer .app-bottom-nav, .ft-composer .ft-legal-links { display: none; }
.ft-composer .app-container { inline-size: 100%; }
.ft-composer .app-layout { margin-block: 0; padding-block: 0; grid-template-columns: minmax(0, 1fr); }
.ft-composer .app-sidebar, .ft-composer .app-aside { display: none; }
.question-create-main [hidden], .composer-enhanced [hidden] { display: none !important; }
.question-create-card { background: var(--ft-surface); min-block-size: 100dvh; }
.composer-topbar { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .25rem .75rem; padding: .75rem 1rem 1rem; border-block-end: 1px solid var(--ft-border); }
.composer-close { display: inline-flex; align-items: center; gap: .35rem; min-block-size: 44px; color: var(--ft-muted); font-size: .875rem; text-decoration: none; border-radius: .65rem; }
.composer-close .ft-icon { inline-size: 1.1rem; block-size: 1.1rem; }
.composer-change-intent { justify-self: end; display: inline-flex; align-items: center; min-block-size: 44px; color: var(--ft-muted); font-size: .8125rem; text-underline-offset: .2em; }
.composer-topbar h1 { grid-column: 1 / -1; margin: .25rem 0 0; font-size: clamp(1.5rem, 3vw, 1.75rem); line-height: 1.3; }
.composer-form-description { grid-column: 1 / -1; margin: .25rem 0 0; color: var(--ft-muted); }
.composer-content { padding: 1.25rem 1rem max(1.5rem, env(safe-area-inset-bottom)); }
.question-create-form .ft-field { margin-block-end: 1.25rem; }
.question-create-form .ft-field > label { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .3rem; margin-block-end: .4rem; color: var(--ft-ink); font-size: .875rem; font-weight: 600; }
.question-create-form small { font-size: .8125rem; font-weight: 400; color: var(--ft-muted); }
.composer-field-limit { margin-inline-start: auto; color: var(--ft-muted); font-size: .75rem; font-weight: 400; }
.question-create-form .ft-field__hint { font-size: .8125rem; line-height: 1.6; margin-block: .4rem 0; }
.question-create-form input[type="text"], .question-create-form input[type="url"], .question-create-form textarea, .question-create-form select { font-size: 1rem; border: 1px solid var(--ft-border); border-radius: .85rem; background-color: var(--ft-canvas); color: var(--ft-ink); }
.question-create-form .composer-title input { margin: 0; padding: .8rem .85rem; font-size: 1rem; line-height: 1.5; font-weight: 500; }
.question-create-form input::placeholder, .question-create-form textarea::placeholder { color: var(--ft-muted); opacity: 1; font-weight: 400; }
.question-create-form #question-body { min-block-size: 7rem; padding: .8rem .85rem; resize: vertical; line-height: 1.6; }
.question-kind { border: 0; padding: 0; margin: 0 0 1.25rem; min-inline-size: 0; }
.question-kind__options { display: flex; flex-wrap: wrap; gap: .4rem; }
.question-kind label { position: relative; display: inline-flex; align-items: center; min-block-size: 44px; padding: .55rem .8rem; border: 1px solid var(--ft-border); border-radius: var(--ft-radius-pill); font-size: .875rem; font-weight: 550; background: var(--ft-canvas); cursor: pointer; }
.question-kind label:has(:checked), .composer-poll-tool:has(:checked) { color: var(--ft-primary); border-color: var(--ft-primary); background: var(--ft-pink); }
.question-kind label:has(:checked)::after { content: '✓'; margin-inline-start: .35rem; }
.question-kind label:has(:focus-visible), .composer-poll-tool:has(:focus-visible), .composer-close:focus-visible, .composer-change-intent:focus-visible { outline: 2px solid var(--ft-focus); outline-offset: 3px; }
.question-kind input.screen-reader-text:focus, .composer-poll-tool input.screen-reader-text:focus { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.question-create-form:not(:has([value="poll"]:checked)) .poll-create,
.question-create-form:not(:has([value="poll"]:checked)) .composer-poll-label,
.question-create-form:has([value="poll"]:checked) .composer-title-label { display: none; }
.composer-description { margin: 0; }
.composer-description > summary, .composer-writing-help > summary { min-block-size: 44px; padding-block: .65rem; font-size: .875rem; color: var(--ft-muted); cursor: pointer; }
.composer-enhanced:not(:has([name="kind"][value="poll"]:checked)) .composer-description > summary { display: none; }
.composer-ama-help { margin: -.25rem 0 1.25rem; color: var(--ft-muted); font-size: .875rem; line-height: 1.6; }
.composer-addons-title { margin: .25rem 0 .5rem; font-size: .875rem; font-weight: 600; }
.composer-toolbar { display: flex; flex-wrap: wrap; gap: .4rem; margin-block-end: 1rem; }
.composer-toolbar > * { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; position: relative; min-block-size: 44px; padding: .55rem .7rem; border: 1px solid var(--ft-border); border-radius: .75rem; background: var(--ft-canvas); color: var(--ft-ink); font-size: .875rem; font-weight: 500; text-decoration: none; cursor: pointer; }
.composer-toolbar > * > .ft-icon { flex: none; inline-size: 1.1rem; block-size: 1.1rem; color: var(--ft-muted); }
.composer-toolbar > *:hover:not(:disabled) { background: var(--ft-lilac); }
.composer-toolbar button:disabled { cursor: default; color: var(--ft-muted); }
.composer-enhanced .composer-link:not([open]), .composer-enhanced .composer-media:not([open]), .composer-enhanced .composer-link > summary, .composer-enhanced .composer-media > summary { display: none; }
.composer-link { margin-block: .75rem 1.25rem; }
.composer-link summary { min-block-size: 44px; color: var(--ft-muted); cursor: pointer; }
.composer-link-preview { display: flex; align-items: center; gap: .6rem; padding: .65rem; border: 1px solid var(--ft-border); border-radius: var(--ft-radius-medium); background: var(--ft-canvas); }
.composer-link-preview > span:nth-child(2) { flex: 1; min-inline-size: 0; overflow-wrap: anywhere; display: grid; }
.composer-link-preview strong { font-size: .875rem; }
.composer-link-preview .ft-icon { inline-size: 1.15rem; block-size: 1.15rem; }
.composer-link-preview > button { flex: none; display: grid; place-items: center; border: 0; background: transparent; color: var(--ft-muted); inline-size: 44px; block-size: 44px; cursor: pointer; }
.composer-writing-help { margin-block: -.25rem .75rem; }
.composer-hint { display: none; gap: .5rem; margin: 0 0 .65rem; padding: .25rem 0; color: var(--ft-muted); font-size: .8125rem; line-height: 1.6; }
.composer-hint .ft-icon { flex: none; inline-size: 1.1rem; block-size: 1.1rem; color: var(--ft-primary); }
.question-create-form:has([value="post"]:checked) .composer-hint--post,
.question-create-form:has([value="advice"]:checked) .composer-hint--advice,
.question-create-form:has([value="ama"]:checked) .composer-hint--ama,
.question-create-form:has([value="poll"]:checked) .composer-hint--poll { display: flex; }
.composer-topic { text-align: start; }
.composer-topic select { inline-size: 100%; min-block-size: 48px; padding: .75rem 2rem .75rem .85rem; }
.composer-topic-error { color: var(--ft-error); font-size: .875rem; margin: .4rem 0 0; }
.composer-destination { margin: .25rem 0 1rem; }
.composer-destination__choice { display: grid; gap: .4rem; }
.composer-destination label { color: var(--ft-ink); font-size: .875rem; font-weight: 600; }
.composer-destination select { inline-size: 100%; min-block-size: 48px; padding: .75rem 2rem .75rem .85rem; }
.composer-destination p { margin: .4rem 0 0; color: var(--ft-muted); font-size: .8125rem; line-height: 1.6; }
.composer-pack-context { display: flex; gap: .5rem; align-items: center; padding: .85rem; border-radius: var(--ft-radius-medium); background: var(--ft-lilac); color: var(--ft-ink); overflow-wrap: anywhere; }
.composer--pack .composer-topic, .composer--pack .question-kind, .composer--pack .composer-writing-help, .composer--pack .composer-public-only { display: none; }
.composer--pack #question-body { min-block-size: 10rem; }
.question-create-privacy { color: var(--ft-muted); font-size: .8125rem; line-height: 1.6; margin: 1.25rem 0 .75rem; }
.composer-publish { min-block-size: 48px; inline-size: 100%; margin-block-start: .25rem; }
.composer-tool-status { color: var(--ft-muted); font-size: .875rem; }
.composer-tool-status:empty { display: none; }
.composer-poll-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.composer-poll-heading .poll-mode { gap: .4rem; margin-block: .15rem .5rem; }
.composer-poll-heading .poll-mode label { min-block-size: 44px; padding: .5rem .65rem; }
.composer-enhanced .composer-poll-remove { display: inline-flex; align-items: center; justify-content: center; min-block-size: 44px; min-inline-size: 44px; padding: .5rem; border: 0; border-radius: .65rem; background: transparent; color: var(--ft-muted); font-size: .8125rem; cursor: pointer; }
.composer-pack-text:not(.composer-enhanced *) { display: none; }
.poll-create .poll-options-hint--image { display: none; }
.poll-create:has([name="poll_mode"][value="image"]:checked) .poll-options-hint--text { display: none; }
.poll-create:has([name="poll_mode"][value="image"]:checked) .poll-options-hint--image { display: inline; }
.question-create-form .poll-create { margin-block-end: 1.25rem; }
.composer-discard { border: 1px solid var(--ft-border); border-radius: 1.25rem; padding: 1.5rem; inline-size: min(24rem, calc(100% - 2rem)); color: var(--ft-ink); background: var(--ft-surface); box-shadow: var(--ft-shadow-card); }
.composer-discard::backdrop { background: rgb(41 24 50 / .35); }
.composer-discard h2 { font-size: 1.3rem; }
.composer-discard p { color: var(--ft-muted); font-size: .875rem; }
.composer-discard > div { display: flex; flex-wrap: wrap; gap: .75rem; }
.question-create-error { color: var(--ft-error); border: 1px solid; border-radius: .75rem; padding: .85rem; font-size: .875rem; overflow-wrap: anywhere; }
.question-create-state { margin: 1rem; }
.question-create-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.composer-state-close { display: inline-flex; gap: .5rem; margin: .5rem 1rem; padding: .5rem; }
.composer-choice { max-inline-size: 44rem; margin: .25rem 1rem 2rem; }
.composer-choice h1 { margin: 0 0 .5rem; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; }
.composer-choice > p { margin: 0 0 1rem; color: var(--ft-muted); font-size: 1rem; line-height: 1.6; }
.composer-intents { display: grid; gap: .65rem; }
.composer-intent { display: flex; gap: .75rem; align-items: center; min-block-size: 5rem; padding: .85rem 1rem; border: 1px solid var(--ft-border); border-radius: var(--ft-radius-large); background: var(--ft-surface); color: var(--ft-ink); text-decoration: none; box-shadow: var(--ft-shadow-card); }
.composer-intent > .ft-icon:first-child { flex: none; inline-size: 1.4rem; block-size: 1.4rem; padding: .65rem; box-sizing: content-box; border-radius: .85rem; background: var(--ft-lilac); color: var(--ft-primary); }
.composer-intent > span { flex: 1; min-inline-size: 0; }
.composer-intent strong { display: block; font-size: 1rem; line-height: 1.5; }
.composer-intent small { display: block; margin-block-start: .15rem; color: var(--ft-muted); font-size: .875rem; line-height: 1.5; }
.composer-intent > .ft-icon:last-child { flex: none; inline-size: 1.15rem; block-size: 1.15rem; color: var(--ft-muted); }
.composer-intent:hover { border-color: var(--ft-primary); background: var(--ft-canvas); }
.composer-intent:focus-visible { outline: 3px solid var(--ft-focus); outline-offset: 3px; }
@media (max-width: 63.999rem) {
 html:has(body.ft-composer) { margin-top: 0 !important; }
 .ft-composer #wpadminbar { display: none; }
 .ft-composer .app-main { padding-block-start: 0; }
}
@media (min-width: 64rem) {
 .ft-composer .app-header, .ft-composer .app-sidebar { display: block; }
 .ft-composer .app-container { inline-size: min(calc(100% - 3rem), var(--ft-app-width)); }
 .ft-composer .app-layout { padding-block: 2rem 4rem; grid-template-columns: var(--ft-app-sidebar) minmax(0, 1fr); }
 .question-create-card { max-inline-size: 44rem; margin-inline: auto; min-block-size: 0; border: 1px solid var(--ft-border); border-radius: 1.4rem; box-shadow: var(--ft-shadow-card); }
 .composer-topbar { padding: 1rem 1.5rem; }
 .composer-content { padding: 1.5rem; }
 .composer-choice { margin-inline: auto; margin-block-start: .5rem; }
}
@media (min-width: 72rem) {
 .ft-composer .app-layout { grid-template-columns: var(--ft-app-sidebar) minmax(0, 1fr) var(--ft-app-rail); }
 .ft-composer .context-rail { display: grid; }
}

/* DODAJ-UPROSZCZENIA-002: taxonomy-backed native radio tiles. */
.composer-topic { border: 0; padding: 0; margin: 0 0 1.25rem; min-inline-size: 0; }
.composer-topic legend { padding: 0; margin-block-end: .65rem; font-size: .875rem; font-weight: 600; }
.composer-topic__tiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.composer-topic__tile { position: relative; cursor: pointer; min-inline-size: 0; }
.composer-topic__tile > span { display: flex; align-items: center; gap: .5rem; min-block-size: 50px; padding: .6rem .7rem; border: 1px solid transparent; border-radius: .85rem; background: var(--topic-bg,var(--ft-lilac)); color: var(--topic-text,var(--ft-ink)); }
.composer-topic__tile .ft-icon { flex: 0 0 1.2rem; inline-size: 1.2rem; block-size: 1.2rem; color: var(--topic-accent,var(--ft-primary)); }
.composer-topic__tile strong { font-size: .8125rem; line-height: 1.4; font-weight: 600; }
.composer-topic__tile:has(:checked) > span { border-color: var(--ft-primary); box-shadow: inset 0 0 0 1px var(--ft-primary); }
.composer-topic__tile:has(:checked) > span::after { content: '✓'; margin-inline-start: auto; color: var(--ft-primary); font-weight: 700; }
.composer-topic__tile:has(:focus-visible) > span { outline: 3px solid var(--ft-focus); outline-offset: 3px; }
.composer-topic__tile input.screen-reader-text:focus { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; }
@media(min-width:40rem) { .composer-topic__tiles { grid-template-columns: repeat(3,minmax(0,1fr)); } }
