:root[data-theme="ocean"] { --forest:#173b54; --forest-2:#285672; --mint:#dbeaf0; --mint-strong:#b4d2df; --coral:#a8614f; }
:root[data-theme="warm"] { --forest:#513a32; --forest-2:#735246; --mint:#f0e4d9; --mint-strong:#ddc3ad; --coral:#a84e38; }
[data-text-size="large"] .content-area p, [data-text-size="large"] .content-area label, [data-text-size="large"] .content-area input, [data-text-size="large"] .content-area textarea, [data-text-size="large"] .content-area select { font-size:18px; line-height:1.65; }
[data-text-size="large"] .nav-item, [data-text-size="large"] button { font-size:15px; }
.feature-form { display:grid; gap:12px; margin-bottom:24px; }
.feature-form label, .panel>label { font-weight:650; font-size:13px; }
.feature-form input:not([type=checkbox]), .feature-form textarea, .feature-form select, .panel>select, .panel>textarea, .owner-request-card>textarea { width:100%; border:1px solid #ccd5cf; border-radius:11px; padding:12px 14px; background:white; color:var(--ink); }
.feature-form textarea, .draft-editor { resize:vertical; line-height:1.65; }
.feature-stack { display:grid; gap:18px; margin-bottom:24px; }
.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0; }
.feature-grid .panel { min-width:0; }
.feature-space { margin-top:26px; }
.feature-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; }
.feature-hint { color:#5a6863; font-size:12px; line-height:1.6; }
.feature-question { padding:16px 20px; border-left:3px solid var(--coral); background:var(--mint); border-radius:0 12px 12px 0; line-height:1.6; }
.preserved-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.75; }
.chapter-card { padding:18px; border:1px solid var(--line); border-radius:14px; }
.chapter-card h3 { margin-top:0; font-size:16px; }.chapter-card p { font-size:13px; line-height:1.6; }.chapter-card label { display:block; margin-top:12px; font-size:12px; }
.draft-editor { width:100%; display:block; border:1px solid #cdd8d1; border-radius:12px; background:#fffdfa; padding:18px; color:var(--ink); font-size:15px; }
.compact-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.theme-choice { border:2px solid transparent; border-radius:12px; padding:16px 22px; color:white; cursor:pointer; }.theme-choice.forest { background:#17372f; }.theme-choice.ocean { background:#173b54; }.theme-choice.warm { background:#513a32; }.theme-choice:hover { outline:3px solid var(--sand); }
.terms-box { padding:16px; border-radius:12px; background:var(--sand-soft); margin:16px 0; }
.guide-number { display:grid; place-items:center; width:38px; height:38px; background:var(--sand-soft); color:var(--forest); font-weight:700; border-radius:50%; }
.helper-launch { position:fixed; bottom:22px; right:28px; z-index:50; color:white; background:var(--forest); border:2px solid white; border-radius:28px; box-shadow:var(--shadow); padding:15px 24px; font-size:15px; font-weight:700; cursor:pointer; }
.helper-dialog { width:min(520px,calc(100vw - 32px)); border:1px solid var(--line); border-radius:22px; padding:26px; max-height:90vh; color:var(--ink); background:var(--paper); }.helper-dialog::backdrop { background:rgba(10,30,24,.38); }
.helper-dialog h2 { font:600 26px Georgia,serif; }.helper-dialog p { line-height:1.6; font-size:14px; }.helper-messages { max-height:240px; overflow:auto; margin-bottom:20px; }.helper-messages p { padding:12px; border-radius:10px; background:var(--mint); white-space:pre-wrap; }
summary { cursor:pointer; line-height:1.6; } details.panel>summary { padding:3px 0; }.reply-card { border-left:2px solid var(--line); padding:12px 18px; }.reply-card p { margin-bottom:0; }.project-source { max-height:420px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; background:#f4f5f2; padding:16px; }
.thought-card label { font-size:12px; color:var(--muted); }.main-nav { overflow-y:auto; min-height:0; }.sidebar { overflow-y:auto; }.new-request-shortcut { flex-shrink:0; }
.source-choice { display:block; margin:10px 0; }
#loading-screen { display:grid; place-items:center; grid-template-columns:1fr; color:var(--forest); font-size:18px; }
@media(max-width:760px) { .feature-grid { grid-template-columns:1fr; }.helper-launch { bottom:14px; right:14px; }.feature-actions>button { max-width:100%; }.compact-panel { flex-wrap:wrap; } }
