/* P3 only. P1 shell and P2 landing retain their own layout and lifecycle. */
.bc-app #home { max-width:1040px; margin-inline:auto; padding-block:30px 16px; }
.bc-app #home .bc-home__intro { text-align:center; margin:12px auto 42px; }
.bc-app #home .bc-home__intro h1 { font-family:var(--bc-font-editorial); font-size:clamp(34px,4.2vw,60px); font-weight:400; letter-spacing:.035em; line-height:1.45; }
#home .bc-home__intro p { margin-top:14px; color:var(--bc-text-secondary); font-size:15px; }
#home .bc-home__entries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#home .bc-home__entry { position:relative; min-height:180px; padding:25px 24px; border:1px solid #dfd8e7; border-radius:24px; text-align:left; background:linear-gradient(135deg,#fff 20%,#f0eaf5); transition:background 140ms,border-color 140ms; }
#home .bc-home__entry:nth-child(2) { background:linear-gradient(135deg,#fff 20%,#eae5f2); }
#home .bc-home__entry:nth-child(3) { background:linear-gradient(135deg,#fff 20%,#eeeaf1); }
#home .bc-home__entry:hover, #home .bc-home__entry[aria-pressed=true] { border-color:#9c84b3; background:#eee7f4; filter:none; }
#home .bc-home__entry svg { width:28px; height:28px; color:#79618f; display:block; margin-bottom:17px; }
#home .bc-home__entry b { display:block; font-size:22px; font-weight:500; }
#home .bc-home__entry > span:not(.bc-home__arrow) { display:block; margin-top:7px; font-size:13px; color:#71677f; max-width:90%; }
#home .bc-home__arrow { position:absolute; right:23px; top:28px; font-size:22px; color:#79618f; }
#home .bc-home__request { max-width:800px; margin:32px auto 0; }
#home .bc-home__request > label { display:block; font-size:14px; color:var(--bc-text-secondary); margin-bottom:12px; }
#home .bc-home__input { display:flex; align-items:center; gap:12px; padding:10px 12px 10px 18px; border:1px solid #b9a9c5; border-radius:22px; background:#fff; }
.bc-app #main #home .bc-home__input textarea { border:0; background:none; padding:8px 0; min-height:56px; resize:vertical; line-height:1.6; border-radius:8px; }
#home .bc-home__input button { flex:0 0 48px; min-height:48px; border-radius:50%; background:var(--bc-primary); color:white; font-size:24px; }
#home .bc-home__request > p { color:var(--bc-text-secondary); font-size:12px; margin-top:10px; }
#home .bc-home__mode { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0 12px; font-size:12px; color:var(--bc-text-secondary); margin:4px 0 0; }
#home .bc-home__mode button { min-height:48px; color:var(--bc-selected-text); text-decoration:underline; text-underline-offset:4px; }
#home .bc-home__resume { display:flex; align-items:center; width:100%; padding:20px 24px; margin-top:28px; gap:18px; border:1px solid var(--bc-border); background:#fff; border-radius:20px; text-align:left; }
#home .bc-home__resume > span:first-child { font-size:30px; color:#79618f; }
#home .bc-home__resume > span:last-child { margin-left:auto; font-size:22px; }
#home .bc-home__resume b { font-size:16px; font-weight:500; }
#home .bc-home__resume small { display:block; margin-top:4px; color:var(--bc-text-secondary); font-size:12px; }
#home .bc-task { max-width:800px; margin:32px auto 0; padding:30px; background:#fff; border:1px solid var(--bc-border); border-radius:24px; scroll-margin-block:20px; }
#home .bc-task__header > span { font-size:12px; color:var(--bc-text-secondary); }
#home .bc-task__header h2 { font-size:23px; font-weight:500; margin:8px 0 22px; }
#home .bc-task__header h2:focus { outline:none; }
#home .bc-task fieldset { min-width:0; border:0; padding:0; margin:22px 0; }
#home .bc-task legend { font-size:14px; margin-bottom:12px; color:var(--bc-text-secondary); }
#home .bc-task__choices { display:flex; flex-wrap:wrap; gap:10px; }
#home .bc-task__choice { display:flex; align-items:center; gap:10px; min-height:48px; border:1px solid var(--bc-control-border); border-radius:12px; padding:10px 14px; cursor:pointer; font-size:14px; }
#home .bc-task__choice:has(input:checked) { background:var(--bc-selected-bg); border-color:#9275ad; }
#home .bc-task__choice input { flex:0 0 18px; width:18px; height:18px; accent-color:var(--bc-primary); margin:0; }
#home .bc-task__choice span { min-width:0; }
#home .bc-task__themes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#home .bc-task__themes b { display:block; font-size:14px; font-weight:500; }
#home .bc-task__themes small { display:block; margin-top:3px; color:var(--bc-text-secondary); font-size:12px; }
#home .bc-task__field { display:flex; flex-direction:column; gap:10px; margin:20px 0; font-size:14px; }
#home .bc-task__field textarea { min-height:96px; }
#home .bc-task__notice { padding:14px 16px; background:#f4f0f8; border-radius:12px; color:#51425f; font-size:14px; }
#home .bc-task__original, #home .bc-task__description { color:var(--bc-text-secondary); font-size:14px; margin-top:16px; overflow-wrap:anywhere; }
#home .bc-task__fine { font-size:12px; color:var(--bc-text-secondary); }
#home .bc-task__actions { display:flex; justify-content:flex-end; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
#home .bc-task__actions button, #home .bc-task__links button { min-height:48px; padding:10px 14px; border-radius:12px; font-size:14px; }
#home .bc-task__actions button:first-child { margin-right:auto; }
#home .bc-task__primary { color:#fff; background:var(--bc-primary); }
#home .bc-task__links { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
#home .bc-task__links button { color:var(--bc-selected-text); text-decoration:underline; text-underline-offset:4px; }
#home .bc-task__summary { margin:0; }
#home .bc-task__summary > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid #ebe6ef; font-size:14px; }
#home .bc-task__summary dt { color:var(--bc-text-secondary); }
#home .bc-task__summary dd { margin:0; overflow-wrap:anywhere; }
#home .bc-task__error { color:var(--bc-error); font-size:14px; margin-top:12px; }
#profile .bc-task-return, #cabinet .bc-task-return, #plan .bc-task-return { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; border:1px solid var(--bc-border); background:#fff; padding:14px 18px; margin-bottom:22px; border-radius:16px; font-size:14px; }
#profile .bc-task-return button, #cabinet .bc-task-return button, #plan .bc-task-return button { min-height:48px; padding:8px 12px; color:var(--bc-selected-text); }
@media(max-width:767px) {
 .bc-app #home { padding-top:0; }
 .bc-app #home .bc-home__intro { margin:0 0 25px; }
 .bc-app #home .bc-home__intro h1 { font-size:34px; letter-spacing:0; }
 #home .bc-home__intro p { font-size:13px; margin-top:9px; }
 #home .bc-home__entries { grid-template-columns:1fr; gap:12px; }
 #home .bc-home__entry { display:grid; grid-template-columns:30px minmax(0,1fr) 22px; column-gap:14px; min-height:88px; padding:17px 18px; border-radius:18px; }
 #home .bc-home__entry svg { grid-row:1/3; align-self:center; margin:0; width:26px; height:26px; }
 #home .bc-home__entry b { grid-column:2; font-size:19px; }
 #home .bc-home__entry > span:not(.bc-home__arrow) { grid-column:2; max-width:none; font-size:12px; margin-top:3px; }
 #home .bc-home__arrow { position:static; grid-column:3; grid-row:1/3; align-self:center; }
 #home .bc-home__request { margin-top:24px; }
 #home .bc-home__input { padding-left:14px; gap:8px; border-radius:18px; }
 #home .bc-home__input button { align-self:flex-end; }
 #home .bc-home__mode { gap:0 12px; }
 #home .bc-task { padding:22px 18px; border-radius:20px; }
 #home .bc-task__themes { grid-template-columns:1fr; }
 #home .bc-task__header h2 { font-size:21px; }
 #home .bc-task__summary > div { grid-template-columns:76px minmax(0,1fr); gap:12px; }
 #home .bc-home__resume { padding:16px; gap:12px; }
 #home textarea { scroll-margin-block:24px; }
}

/* P3.3: one shared task flow; DOM and keyboard order match the visual order. */
.bc-app[data-bc-page="workspace"]:has(#home:not([hidden])) {
 background:linear-gradient(90deg,#ffffff00,#ffffffa6 28%,#ffffffd9 50%,#ffffffa6 72%,#ffffff00),url('../assets/home-v33/ambient.jpg'),#f8f6fa;
 background-image:linear-gradient(90deg,#ffffff00,#ffffffa6 28%,#ffffffd9 50%,#ffffffa6 72%,#ffffff00),image-set(url('../assets/home-v33/ambient.avif') type('image/avif'),url('../assets/home-v33/ambient.webp') type('image/webp'),url('../assets/home-v33/ambient.jpg') type('image/jpeg'));
 background-size:100% 100%,cover;
 background-position:center,center;
 background-repeat:no-repeat;
}
.bc-app #home .bc-home__intro { margin-bottom:24px; }
#home .bc-home__accent { color:#76578d; }
@supports (background-clip:text) {
 #home .bc-home__accent { background:linear-gradient(110deg,#76578d,#9273a7 55%,#71517f); background-clip:text; color:transparent; }
}
#home .bc-home__request { margin-top:0; }
#home .bc-home__input { border-color:#b6a6c6; background:linear-gradient(112deg,#fff 38%,#fcf9ff); box-shadow:inset 0 1px 0 #fff,0 8px 28px #4934530a; }
#home .bc-home__input:focus-within { border-color:var(--bc-focus); box-shadow:0 0 0 3px #7654941f,0 8px 28px #4934530d; }
#home .bc-home__divider { display:flex; align-items:center; justify-content:center; gap:16px; margin:22px auto 20px; color:var(--bc-text-secondary); font-size:13px; }
#home .bc-home__divider::before, #home .bc-home__divider::after { content:""; width:56px; height:1px; background:#d2c6dd; }
#home .bc-home__mode { max-width:800px; margin:14px auto 0; }
#home .bc-home__entry { isolation:isolate; overflow:hidden; border-color:#ddd2e3; background:linear-gradient(120deg,#fff 15%,#f4e9ef); box-shadow:inset 0 1px 0 #fff,0 6px 22px #49345308; }
#home .bc-home__entry:nth-child(2) { background:linear-gradient(120deg,#fff 15%,#ede6f5); }
#home .bc-home__entry:nth-child(3) { background:linear-gradient(120deg,#fff 15%,#f5e8ee); }
#home .bc-home__material { position:absolute; inset:0 0 0 auto; width:66%; height:100%; z-index:-1; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 24%); }
#home .bc-home__material[hidden] { display:none; }
#home .bc-home__material img { width:100%; height:100%; object-fit:cover; object-position:72% center; display:block; }
#home .bc-home__entry::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#fff 0%,#fffffff7 38%,#ffffffd9 61%,#ffffff47 87%,#ffffff14); }
#home .bc-home__entry:hover, #home .bc-home__entry[aria-pressed=true] { border-color:#9c84b3; background:#f1ebf6; filter:none; }
@media(max-width:767px) {
 .bc-app #home .bc-home__intro { margin-bottom:20px; }
 #home .bc-home__divider { margin-block:19px; gap:12px; font-size:12px; }
 #home .bc-home__divider::before, #home .bc-home__divider::after { width:36px; }
 #home .bc-home__material { width:43%; opacity:.72; }
 #home .bc-home__entry::after { background:linear-gradient(90deg,#fff 0%,#fffffff7 50%,#ffffffed 83%,#ffffff52); }
 .bc-app[data-bc-page="workspace"]:has(#home:not([hidden])) { background-size:100% 100%,auto 100%; background-position:center,center top; }
}
@media(forced-colors:active) {
 #home .bc-home__accent { color:CanvasText; background:none; forced-color-adjust:auto; }
 #home .bc-home__material, #home .bc-home__entry::after { display:none; }
 #home .bc-home__input { box-shadow:none; }
}
