/* Angel: official Lumina assets and typography, white surfaces for reading and writing. */
body.angel-workbench{--ink:#32373c;--muted:#6b7280;--bg:#fff;--paper:#fff;--line:#e5e7e7;--accent:#32373c;--soft:#f5f6f6;background:#fff;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:1.8}
body.angel-workbench *{box-sizing:border-box}body.angel-workbench h1,body.angel-workbench h2,body.angel-workbench h3{font-family:inherit;letter-spacing:0;color:var(--ink);line-height:1.5}body.angel-workbench h1{font-size:28px;font-weight:800}body.angel-workbench h2{font-size:22px;font-weight:700}body.angel-workbench h3{font-size:17px;font-weight:700}
body.angel-workbench .site-header{max-width:1200px;margin:auto;padding:20px 32px;border-bottom:1px solid var(--line);gap:20px;background:#fff}body.angel-workbench .site-header .service-nav:not(#site-navigation){display:none}body.angel-workbench #site-navigation{margin-left:auto;display:block}.angel-header-actions{margin-left:auto}body.angel-workbench .site-header .brand{flex-shrink:0}body.angel-workbench #app{max-width:1180px;margin:auto;padding:32px 32px 100px 232px;min-height:65vh}.angel-workbench.angel-public #app,.angel-workbench.angel-editing #app{padding-left:32px}.angel-workbench.angel-public #app{padding-top:0}.angel-workbench.angel-editing #app{max-width:850px}
body.angel-workbench .btn{min-height:44px;min-width:44px;border-radius:6px;background:#32373c;border:1px solid #32373c;color:#fff;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.6;white-space:normal;text-align:center;box-shadow:none}body.angel-workbench .btn.secondary{background:white;color:var(--ink);border-color:#d4d4d0}body.angel-workbench .btn.soft{background:#32373c;color:white}body.angel-workbench .btn:disabled{opacity:.45;cursor:not-allowed}body.angel-workbench .btn:hover:not(:disabled){filter:brightness(.94)}body.angel-workbench .btn.danger{background:white;color:#b42318;border-color:#fecaca}body.angel-workbench .button-row{gap:12px;display:flex;flex-wrap:wrap}body.angel-workbench button:focus-visible,body.angel-workbench a:focus-visible,body.angel-workbench input:focus-visible,body.angel-workbench textarea:focus-visible,body.angel-workbench select:focus-visible,body.angel-workbench summary:focus-visible{outline:2px solid #32373c;outline-offset:4px}
body.angel-workbench .eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#727b80;margin:0 0 12px}body.angel-workbench .subtle,body.angel-workbench .intro{color:var(--muted);font-size:14px}body.angel-workbench .panel{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:none;margin-bottom:24px}body.angel-workbench .notice{border:0;border-left:3px solid #b6c2bd;background:#f5f7f6;color:#4b5750;border-radius:0;padding:16px 20px;font-size:14px;margin:20px 0}body.angel-workbench .error{background:#fff3f2;color:#b42318;border:1px solid #fecdca;padding:16px;border-radius:6px;overflow-wrap:anywhere}body.angel-workbench .empty{background:#fafafa;border:0;border-radius:8px;padding:32px 24px;color:var(--muted)}body.angel-workbench .empty strong{font-family:inherit;color:var(--ink);font-size:18px}body.angel-workbench .loading:before{color:#32373c}body.angel-workbench .toast{background:#32373c;bottom:100px;max-width:calc(100% - 32px)}
.angel-page-heading{margin:0 0 28px;border:0;padding:0}.angel-page-heading h1{margin:0 0 8px}.angel-page-heading p{margin:0}body.angel-workbench .field{margin:0 0 24px}body.angel-workbench .field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}body.angel-workbench .field small{display:block;color:var(--muted);font-size:12px;margin-top:8px}body.angel-workbench input,body.angel-workbench select,body.angel-workbench textarea{max-width:100%;width:100%;border:1px solid #d4d4d0;background:#fff;color:var(--ink);border-radius:6px;padding:12px;font:inherit;font-size:16px;min-height:48px}body.angel-workbench textarea{min-height:220px;line-height:1.9;resize:vertical}body.angel-workbench input[type=checkbox]{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:#32373c}body.angel-workbench .checkbox{display:flex;gap:12px;align-items:flex-start;font-size:14px;padding:10px 0}body.angel-workbench input[type=file]{font-size:13px}body.angel-workbench input[type=file]::file-selector-button{min-height:44px;border:1px solid #d4d4d0;background:#fff;border-radius:6px;margin-right:12px;color:#32373c;font:inherit}
.angel-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding:76px 0 80px}body.angel-workbench .angel-hero h1{font-size:clamp(28px,3vw,40px);line-height:1.65;font-weight:800;margin:0 0 24px;letter-spacing:.01em}.angel-hero-copy{color:#697174;font-size:16px;line-height:2.1;margin:0 0 30px}body.angel-workbench .angel-primary{min-width:220px}.angel-caption{font-size:12px;color:var(--muted);max-width:340px;margin:18px 0 0}.angel-example{padding:30px;background:#f7f8f7;border-radius:12px;transform:rotate(1deg);color:#5b6661}.angel-example-label{font-size:12px;margin:0 0 22px}.angel-example-profile{display:flex;gap:18px;padding-bottom:24px;border-bottom:1px solid #dde2df}.angel-example-photo{min-width:100px;height:136px;background:#e6ebe8;display:grid;place-items:center;font-family:Georgia,serif;font-style:italic;font-size:19px;color:#6b7c72;border-radius:6px}.angel-example-profile strong{display:block;font-size:17px;margin:8px 0}.angel-example-profile p{font-size:13px;margin:0}.angel-example small{font-size:11px}.angel-example-diary{padding:22px 0}.angel-example-diary span{font-size:10px;letter-spacing:.14em}.angel-example-diary strong{display:block;margin:8px 0;font-size:16px}.angel-example-diary p{font-size:13px;margin:0}.angel-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:40px 0 64px;border-top:1px solid var(--line)}.angel-benefits h2{font-size:19px;margin:0 0 14px}.angel-benefits p{font-size:14px;color:var(--muted);margin:0}.angel-guide{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;border-top:1px solid var(--line);padding:60px 0}.angel-guide h2{font-size:28px;line-height:1.7;margin:0 0 20px}.angel-guide p{font-size:14px;color:var(--muted)}.angel-guide ol{padding-left:24px;margin:0}.angel-guide li{padding-left:10px;margin-bottom:24px}.angel-guide li::marker{font-weight:800;color:#8e9992}.angel-guide h3{margin:0 0 6px}.angel-guide li p{margin:0}.angel-faq{max-width:760px;margin:10px auto 40px}.angel-faq h2{margin-bottom:24px}.angel-faq details{border-bottom:1px solid var(--line);padding:20px 0}.angel-faq summary{font-weight:600;cursor:pointer;min-height:32px}.angel-faq p{color:var(--muted);font-size:14px;margin:16px 0 0}
.angel-context{display:flex;gap:20px;align-items:end;padding-bottom:24px;margin-bottom:32px;border-bottom:1px solid var(--line)}.angel-context>.field{flex:1;margin:0;min-width:0}.angel-context>.field label{font-size:11px;font-weight:500;color:var(--muted);margin-bottom:6px}.angel-context select{font-size:14px;font-weight:600;min-height:44px;padding:10px}.angel-context>.btn{flex-shrink:0}.angel-profile-card{display:grid;grid-template-columns:150px 1fr;gap:32px;padding-bottom:40px}.angel-profile-card h2{font-size:30px;margin:0 0 12px}.angel-profile-card .btn{margin:8px 8px 0 0}.angel-portrait{width:150px;height:200px;object-fit:cover;border-radius:8px;background:#f3f5f4}.angel-photo-empty{display:grid;place-items:center;color:#929b96;font-size:12px;border:1px dashed #ccd4ce}.angel-bio{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95;margin:18px 0 24px}.angel-status{display:inline-flex;align-items:center;border:1px solid #e1e5e2;background:#f4f6f4;color:#68746c;font-size:11px;font-weight:600;border-radius:5px;padding:3px 9px;margin-right:8px}.angel-status.is-public{color:#286343;background:#f2f8f3;border-color:#d9e9dd}.angel-recent{border-top:1px solid var(--line);padding-top:30px}.angel-section-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.angel-section-actions h2{margin:0}.angel-draft-row{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--line);background:white;color:var(--ink);font:inherit;gap:16px;cursor:pointer}.angel-draft-row small{white-space:nowrap;color:var(--muted);font-size:12px}.angel-profile-detail{display:grid;grid-template-columns:160px 1fr;gap:32px}.angel-profile-detail h2{font-size:28px;margin:0 0 16px}.angel-profile-detail .button-row{margin-bottom:24px}.angel-profile-detail>div>.btn{margin:8px 8px 0 0}
.angel-bottom-nav{position:fixed;left:max(24px,calc((100vw - 1180px)/2 + 32px));top:200px;width:164px;display:flex;flex-direction:column;gap:10px;z-index:20;background:white}body.angel-workbench .angel-bottom-nav .btn{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:#fff;color:#7c8580;padding:12px;font-size:13px}body.angel-workbench .angel-bottom-nav [aria-current=page]{background:#f2f5f3;color:#32373c;font-weight:700}.angel-nav-icon{font-size:21px;line-height:1;width:24px;text-align:center}
.angel-filters{display:flex;gap:10px;margin:0 0 24px}body.angel-workbench .angel-filters .btn{border-color:transparent}body.angel-workbench .angel-filters [aria-pressed=true]{background:#f2f5f3;border-color:#e1e5e2}.angel-post-list{display:flex;flex-direction:column}body.angel-workbench .editor-post{display:flex;gap:24px;padding:24px 0;border:0;border-bottom:1px solid var(--line);background:white;box-shadow:none;border-radius:0}.editor-post>div{flex:1;min-width:0}.editor-post h3{margin:12px 0}.angel-post-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}body.angel-workbench .editor-post .angel-diary-image{width:130px;height:160px;object-fit:cover;background:#f4f6f5;border-radius:6px}body.angel-workbench .editor-post .btn{font-size:12px;padding:8px 14px}.angel-editor-top{display:flex;gap:20px;align-items:center;margin-bottom:28px}.angel-editor-top span{font-size:13px;color:var(--muted)}.angel-editor .composer-photo{background:white;border:0;border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:28px}.angel-editor .photo-preview{display:block;max-width:100%;width:240px;height:260px;object-fit:contain;background:#f6f7f6;border-radius:6px;margin:16px 0}.angel-save-status{font-size:13px;color:var(--muted)}.angel-editor-actions{display:flex;justify-content:flex-end;gap:16px;position:sticky;bottom:0;background:#fff;padding:20px 0;border-top:1px solid var(--line);margin-top:28px;z-index:25}.angel-editor-actions .btn{min-width:150px}.angel-check,.angel-public-preview{max-width:700px;margin:auto}.angel-preview-content{margin:32px 0}.angel-check-photo{display:block;width:100%;max-height:460px;object-fit:contain;background:#f7f8f7;border-radius:8px;margin-bottom:24px}.angel-confirm-actions{display:flex;flex-wrap:wrap;gap:16px;margin:32px 0}.angel-public-post{border-top:1px solid var(--line);padding:28px 0}.angel-public-post .angel-diary-image{max-width:100%;width:100%;max-height:420px;object-fit:contain;background:#f7f8f7}.angel-login,.angel-onboarding{max-width:660px;margin:56px auto}body.angel-workbench .session-panel{background:white;border:1px solid var(--line);padding:24px;border-radius:8px;margin:24px 0}body.angel-workbench .session-panel p{font-size:13px}body.angel-workbench .session-controls{flex-wrap:wrap;gap:12px}body.angel-workbench .session-controls select{min-width:0}.angel-store-choices{display:flex;flex-direction:column;gap:16px;margin:24px 0 40px}.angel-store-choices>.btn{display:flex;justify-content:space-between;text-align:left;gap:16px;padding:24px}.angel-membership-status{padding:24px 0;border-top:1px solid var(--line)}.angel-account-details{margin-top:24px}.angel-account-details summary{cursor:pointer}body.angel-workbench .site-footer{max-width:1116px;margin:0 auto;padding:32px;border-top:1px solid var(--line);font-size:12px;background:white}.angel-footer-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:24px 0}.angel-footer-links .btn{font-size:12px}.angel-leave-dialog{max-width:440px;width:calc(100% - 40px);border:1px solid #e1e5e2;border-radius:12px;padding:28px;color:#32373c;box-shadow:0 16px 70px #0002}.angel-leave-dialog::backdrop{background:#2228}.angel-dialog-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.angel-leave-dialog h2{font-size:22px;margin:0 0 16px}
@media(max-width:800px){
body.angel-workbench .site-header{padding:16px 20px;gap:12px}body.angel-workbench .site-header .brand-logo{width:32px;height:32px}body.angel-workbench .site-header .brand-wordmark{font-size:21px}.angel-header-actions .btn{font-size:12px;padding:9px 12px}body.angel-workbench #app,.angel-workbench.angel-public #app,.angel-workbench.angel-editing #app{padding:24px 20px 100px}.angel-workbench.angel-public #app{padding-top:0;padding-bottom:24px}body.angel-workbench h1{font-size:25px}body.angel-workbench h2{font-size:21px}.angel-hero{grid-template-columns:1fr;gap:36px;padding:44px 0 40px}body.angel-workbench .angel-hero h1{font-size:27px;line-height:1.7;margin-bottom:20px}.angel-hero-copy{font-size:14px;margin-bottom:26px}body.angel-workbench .angel-primary{width:100%;min-height:50px}.angel-caption{max-width:none}.angel-example{padding:24px;transform:none}.angel-example-photo{min-width:90px;height:126px;font-size:17px}.angel-example-profile{gap:16px}.angel-example-profile strong{font-size:15px}.angel-example-profile p{font-size:12px}.angel-benefits{grid-template-columns:1fr;gap:28px;padding:34px 0}.angel-benefits article{display:grid;grid-template-columns:32px 1fr;column-gap:12px}.angel-benefits article>.eyebrow{padding-top:4px;grid-row:span 2}.angel-benefits article h2{font-size:19px;margin-bottom:8px}.angel-benefits article p{grid-column:2}.angel-guide{grid-template-columns:1fr;gap:24px;padding:40px 0}.angel-guide h2{font-size:25px}.angel-guide ol{padding-left:20px}.angel-faq{margin-top:24px}.angel-faq summary{font-size:14px}.angel-context{gap:12px;margin-bottom:26px;padding-bottom:20px}.angel-context select{font-size:12px}.angel-context>.btn{font-size:12px;padding:10px 14px}.angel-page-heading{margin-bottom:24px}.angel-page-heading p{font-size:13px}.angel-profile-card{grid-template-columns:90px 1fr;gap:18px;padding-bottom:28px}.angel-profile-card h2{font-size:26px}.angel-portrait{width:90px;height:120px}.angel-profile-card .angel-bio{font-size:14px;margin:16px 0}.angel-profile-card .btn{width:100%;margin:8px 0 0;font-size:12px}.angel-profile-card .eyebrow{font-size:10px}.angel-profile-card .angel-status{font-size:10px;margin:0 4px 6px 0}.angel-recent{padding-top:24px}.angel-section-actions .btn{font-size:12px;padding:10px 14px}.angel-profile-detail{grid-template-columns:1fr;gap:24px}.angel-profile-detail>.angel-portrait{width:150px;height:200px}.angel-profile-detail h2{font-size:25px}.angel-bottom-nav{top:auto;bottom:0;left:0;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}body.angel-workbench .angel-bottom-nav .btn{display:flex;flex-direction:column;gap:6px;padding:8px 0;min-height:60px;font-size:10px;text-align:center;border-radius:6px}.angel-nav-icon{font-size:23px}body.angel-workbench .editor-post{gap:16px;padding:22px 0}body.angel-workbench .editor-post .angel-diary-image{width:78px;height:104px}body.angel-workbench .editor-post h3{font-size:16px}body.angel-workbench .editor-post .button-row{gap:8px}body.angel-workbench .editor-post .btn{font-size:11px;padding:9px}.angel-filters{gap:4px}.angel-filters .btn{font-size:13px;padding:8px 16px}.angel-editor-top{align-items:flex-start;gap:16px}.angel-editor-top span{font-size:12px;padding-top:10px}.angel-editor-actions{position:fixed;bottom:0;left:0;width:100%;padding:16px 20px calc(16px + env(safe-area-inset-bottom));gap:12px}.angel-editor-actions .btn{flex:1;min-width:0}.angel-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.angel-confirm-actions .btn{font-size:13px;padding:12px}body.angel-workbench .site-footer{padding:28px 20px 120px}.angel-workbench.angel-public .site-footer{padding-bottom:32px}.angel-login,.angel-onboarding{margin:36px auto}.angel-store-choices>.btn{flex-direction:column;padding:20px;gap:8px}.angel-footer-links{gap:16px}body.angel-workbench .session-panel{padding:20px}body.angel-workbench .session-controls{width:100%}.angel-draft-row{font-size:14px}.angel-draft-row small{font-size:11px}.angel-check-photo{max-height:360px}
}
@media(prefers-reduced-motion:reduce){body.angel-workbench *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Keep the store context compact beside the action at every width. */
body.angel-workbench .angel-context>.field{margin:0;min-width:0}
body.angel-workbench .angel-context>.field label{font-size:11px;margin-bottom:6px}
body.angel-workbench .angel-context select{font-size:14px;min-height:44px;padding:10px}
@media(max-width:800px){body.angel-workbench .angel-context select{font-size:13px}body.angel-workbench .angel-context>.btn{font-size:12px;padding:10px 14px}}

/* 2026-10: photo-led Angel surfaces; all overrides remain service scoped. */
body.angel-workbench{--ink:#3c3338;--muted:#786f75;--bg:#fcf9fa;--line:#eadfe4;--accent:#a44162;--soft:#f8ecf1;background:var(--bg);color:var(--ink)}
body.angel-workbench .site-header{max-width:none;padding:16px max(24px,calc((100vw - 1120px)/2));border-color:var(--line);background:#fff}
body.angel-workbench #app{max-width:1120px;padding:28px 24px 70px;display:flex;flex-direction:column}
body.angel-workbench.angel-public #app{max-width:1200px;padding:0 32px 60px}
body.angel-workbench.angel-editing #app{max-width:940px;padding:28px 32px 100px}
body.angel-workbench h1{font-size:28px;font-weight:700;letter-spacing:.02em}body.angel-workbench h2{font-size:22px;font-weight:700}body.angel-workbench h3{font-size:17px}
body.angel-workbench .btn{background:var(--accent);border-color:var(--accent);border-radius:6px;font-weight:600;color:#fff;min-height:46px;padding:11px 20px}
body.angel-workbench .btn.secondary{background:#fff;color:#7d3751;border-color:#d8b9c5}body.angel-workbench .btn.soft{background:var(--soft);color:#7d3751;border-color:var(--line)}body.angel-workbench .btn.danger{background:#fff;color:#b42318;border-color:#e9c3bc}
body.angel-workbench .btn:focus-visible,body.angel-workbench a:focus-visible,body.angel-workbench input:focus-visible,body.angel-workbench textarea:focus-visible,body.angel-workbench select:focus-visible,body.angel-workbench summary:focus-visible{outline-color:var(--accent)}
body.angel-workbench input[type=checkbox]{accent-color:var(--accent)}body.angel-workbench .notice{border-left-color:#c06a89;background:#f8eef2;color:#75495b;font-size:13px;border-radius:0 6px 6px 0;padding:14px 18px}
body.angel-workbench .eyebrow{font-size:11px;font-weight:600;color:#96516b;letter-spacing:.12em}body.angel-workbench .panel{border-color:var(--line)}
.angel-icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.angel-hero{gap:48px;padding:48px 0 38px;grid-template-columns:1fr 1.12fr;align-items:center}
body.angel-workbench .angel-hero h1{font-size:clamp(27px,2.7vw,36px);font-weight:700;line-height:1.65;letter-spacing:.015em;margin:0 0 22px}.angel-hero h1 span{color:#95425f}.angel-hero-copy{font-size:15px;color:#756970;line-height:2;margin-bottom:26px}.angel-caption{font-size:11px;color:#83727b;line-height:1.8}
.angel-hero-visual{position:relative;margin:0;padding-bottom:26px;min-width:0}.angel-hero-visual>img{display:block;width:100%;height:430px;object-fit:cover;object-position:57% 50%;border-radius:48% 48% 8px 8px;background:#f3e5e5}.angel-hero-visual figcaption{font-size:10px;color:#83727b;position:absolute;bottom:0;right:0}
.angel-visual-note{position:absolute;left:-22px;bottom:53px;min-width:235px;padding:22px 24px;background:#fffffff2;box-shadow:0 10px 36px #5f253114;border:1px solid #ffffff;border-radius:8px}.angel-visual-note .eyebrow{display:block;margin-bottom:8px}.angel-visual-note strong{font-size:21px;line-height:1.6;font-weight:600}.angel-visual-note>span:last-child{display:flex;gap:8px;align-items:center;margin-top:12px;color:#896575;font-size:11px}.angel-visual-note .angel-icon{width:17px;height:17px}
.angel-benefits{gap:0;padding:24px 0 32px;border-top:none;border-bottom:1px solid var(--line)}.angel-benefits article{padding:8px 28px;border-right:1px solid var(--line)}.angel-benefits article:first-child{padding-left:0}.angel-benefits article:last-child{border:0}.angel-benefit-icon{width:42px;height:42px;display:grid;place-items:center;background:#f2e0e8;border-radius:50%;color:#a44162;margin-bottom:16px}.angel-benefits h2{font-size:17px!important;margin-bottom:8px}.angel-benefits p{font-size:12px}
.angel-guide{gap:60px;border:0;padding:56px 0}.angel-guide h2{font-size:27px;font-weight:600}.angel-guide li::marker{color:#ab5b78}.angel-guide li{margin-bottom:22px}.angel-guide h3{font-size:16px}.angel-faq{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px 36px;max-width:none;margin:0 0 20px}.angel-faq h2{font-size:22px;margin:0 0 12px}.angel-faq details{padding:18px 0}.angel-faq details:last-child{border:0}.angel-faq summary{font-size:14px}.angel-faq p{font-size:13px}
.angel-bottom-nav{position:static;order:-2;width:100%;flex-direction:row;gap:0;border-bottom:1px solid var(--line);margin:0 0 24px;background:transparent;padding:0}
body.angel-workbench .angel-bottom-nav .btn{background:transparent;color:#8b7b83;flex:1;justify-content:center;gap:9px;border-bottom:3px solid transparent;border-radius:0;padding:16px 12px;font-size:13px}
body.angel-workbench .angel-bottom-nav [aria-current=page]{border-color:#b64f75;background:#fff5f8;color:#923954}.angel-context{order:-1;border:0;padding:0;margin:0 0 24px;align-items:center}.angel-context>.field{max-width:520px}.angel-context>.btn{margin-left:auto}
.angel-page-heading{margin-bottom:24px}.angel-page-heading h1{margin-bottom:6px}.angel-profile-card{background:#fff;border:1px solid var(--line);border-top:3px solid #cb7895;border-radius:8px;padding:28px;grid-template-columns:190px 1fr;gap:32px;margin-bottom:28px;box-shadow:0 8px 28px #6b3b5005}
.angel-portrait-wrap{min-width:0}.angel-portrait{width:100%;height:auto;aspect-ratio:3/4;border-radius:6px;object-fit:cover}.angel-portrait-wrap>p{font-size:11px;text-align:center;color:#997386;margin:10px 0 0}.angel-store-name{font-size:13px;font-weight:500;color:#9b5974;margin:0 0 10px;line-height:1.6}.angel-profile-card h2{font-size:28px!important;margin:0 0 12px;font-weight:700}.angel-profile-card .button-row{gap:10px}.angel-profile-card .btn{margin:0}.angel-profile-card .angel-bio{font-size:14px;margin:18px 0 24px;line-height:1.95}
.angel-photo-empty{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;border:1px solid #ecd6df;background:linear-gradient(145deg,#fcf3f6,#f3e1e9);color:#9e657c;font-size:12px;text-align:center;padding:12px}.angel-photo-empty .angel-icon{width:38px;height:38px;stroke-width:1.1}
.angel-status{border-color:#e8d5de;background:#fcf4f7;color:#986179;border-radius:4px;font-size:11px}.angel-status.is-public{color:#3f7359;background:#f0f7f2;border-color:#d5e5db}.angel-status-row{display:flex;flex-wrap:wrap;gap:6px}.angel-status-row .angel-status{margin:0}
.angel-recent{border:0;padding:0}.angel-section-actions{margin-bottom:18px}.angel-section-actions h2{font-size:20px!important;padding-left:12px;border-left:3px solid #c06a89}.angel-section-actions .btn{font-size:12px;min-height:44px;padding:9px 14px}
.angel-empty-diary{display:grid;grid-template-columns:180px 1fr;gap:24px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;align-items:center}.angel-empty-diary>img{width:100%;height:160px;object-fit:cover;object-position:65% 50%;border-radius:6px}.angel-empty-diary h3{margin:0 0 8px}.angel-empty-diary p{font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.9}.angel-empty-diary .btn{font-size:12px}
.angel-draft-row{gap:16px;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:10px;background:white;color:var(--ink)}.angel-draft-row>span:nth-child(2){flex:1}.angel-draft-row strong{font-size:14px;display:block;overflow-wrap:anywhere}.angel-draft-row small{display:block;margin-top:5px;font-size:11px;color:#947b87;white-space:normal}.angel-draft-thumb,.angel-draft-icon{width:56px;height:66px;border-radius:4px;object-fit:cover;flex-shrink:0}.angel-draft-icon{display:grid;place-items:center;background:var(--soft);color:#b4748e}
.angel-latest{margin-top:28px}.angel-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.angel-journal-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;padding:0;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.angel-journal-card>span{display:block;padding:12px 14px 0;font-size:14px;font-weight:600}.angel-journal-card>small{display:block;padding:8px 14px 14px;color:var(--muted);font-size:11px}.angel-journal-photo,.angel-journal-no-photo{width:100%;height:180px;object-fit:cover}.angel-journal-no-photo{display:grid;place-items:center;background:var(--soft);color:#b4748e}
.angel-profile-detail{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;grid-template-columns:210px 1fr;gap:32px}.angel-profile-detail .angel-bio{font-size:15px}.angel-profile-detail .eyebrow{margin:12px 0 6px}.angel-profile-detail .notice{margin:12px 0}.angel-profile-detail h2{margin-bottom:8px}.angel-profile-detail .button-row{margin:24px 0 16px}
.angel-filters{border-bottom:1px solid var(--line);gap:0;margin-bottom:20px}.angel-filters .btn{flex:1;border:0!important;border-radius:0!important;background:transparent!important;color:#786a72!important;min-height:48px}.angel-filters [aria-pressed=true]{color:#993b5e!important;box-shadow:inset 0 -3px #b95178!important;font-weight:700}
.angel-post-list{gap:14px}body.angel-workbench .editor-post{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;gap:22px;align-items:flex-start}body.angel-workbench .editor-post .angel-diary-image{width:130px;height:160px;border-radius:5px}body.angel-workbench .editor-post h3{margin:10px 0 6px;font-size:17px}.angel-post-excerpt{font-size:13px;margin:8px 0 16px}
.angel-editor-top{margin-bottom:24px}.angel-editor-top .btn{padding:10px 18px}.angel-editor-top span{font-size:13px}.angel-steps{display:flex;justify-content:center;list-style:none;gap:18px;padding:0;margin:0 0 28px;color:#9c8a93;font-size:12px}.angel-steps li{display:flex;align-items:center;gap:7px}.angel-steps li>span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #deced5;border-radius:50%;font-size:11px}.angel-steps [aria-current=step]{color:#9e3f63;font-weight:600}.angel-steps [aria-current=step]>span{background:#a44162;color:white;border-color:#a44162}
.angel-editor form{padding:28px;background:white;border:1px solid var(--line);border-radius:8px}.angel-editor .composer-photo{display:grid;grid-template-columns:142px 1fr;gap:24px;align-items:center;padding-bottom:24px;margin-bottom:26px}.angel-editor .composer-photo .field{margin:0}.angel-editor .composer-photo .checkbox{grid-column:1/-1;margin:0;padding:0}.angel-editor .photo-preview{width:142px;height:172px;margin:0;object-fit:cover;border-radius:6px;background:#f8edf2}.angel-editor .angel-photo-empty.photo-preview{display:flex}.angel-editor input[type=file]{border:0;padding:4px 0;background:transparent;min-height:44px;font-size:12px}.angel-editor input[type=file]::file-selector-button{border-color:#d9b1c1;background:#fff7fa;color:#8d3b59;font-size:13px;padding:0 12px}
body.angel-workbench .angel-writing-fields input,body.angel-workbench .angel-writing-fields textarea{border-color:#e0d7dc;background:#fff;border-radius:5px}.angel-writing-fields textarea{min-height:240px}.angel-writing-fields label{font-size:13px!important}.angel-editor-actions{margin:20px -28px -28px;padding:18px 28px;background:#fffafc;border-radius:0 0 8px 8px;border-top-color:var(--line)}.angel-editor-actions .btn{min-width:160px}.angel-save-status{font-size:12px;color:#876c7a;line-height:1.7}
.angel-preview-content{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;margin:24px 0;box-shadow:0 8px 24px #68374b05}.angel-preview-content h2{font-size:26px!important;margin:16px 0 10px}.angel-check-photo{max-height:380px;background:#f7f0f3;margin:0 0 22px}.angel-profile-preview .angel-check-photo,.angel-profile-preview .angel-portrait{width:180px;height:240px;object-fit:cover;margin:18px auto 24px}.angel-profile-preview>.angel-store-name{text-align:center}.angel-profile-preview>h2{text-align:center}.angel-profile-preview>.angel-bio{font-size:14px;margin-bottom:0}.angel-confirm-actions{gap:12px}.angel-public-post{padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:18px}.angel-public-post h3{margin:16px 0 8px}
.angel-login{max-width:620px;width:100%;background:white;border:1px solid var(--line);border-top:3px solid #c57794;border-radius:8px;padding:36px;margin:48px auto}.angel-login .session-panel{background:#fcf8fa}.angel-login .angel-page-heading h1{font-size:25px}.angel-login .angel-page-heading p{font-size:13px}.angel-login>.btn{margin-top:14px}.angel-onboarding{max-width:680px;margin:24px auto}.angel-onboarding-art{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#f3e0e8;color:#ad5c7c;margin:0 auto 24px}.angel-onboarding-art .angel-icon{width:34px;height:34px}.angel-onboarding>.angel-page-heading{text-align:center}.angel-membership-status{padding:22px;background:white;border:1px solid var(--line);border-radius:8px;margin:24px 0}.angel-membership-status h2{font-size:18px}.angel-membership-status p{font-size:13px}.angel-store-choices{gap:12px}.angel-store-choices>.btn{padding:24px;border-color:var(--line);color:var(--ink)!important}.angel-store-choices>.btn strong{font-size:17px}.angel-store-choices>.btn span{font-size:13px;color:#9c5976}
body.angel-workbench .site-footer{background:#fff;max-width:none;padding:32px max(24px,calc((100vw - 1072px)/2));border-color:var(--line)}.angel-leave-dialog{border-color:var(--line);background:white}.angel-leave-dialog::backdrop{background:#38232d66}
@media(max-width:800px){
 body.angel-workbench .site-header{padding:12px 16px;gap:10px}body.angel-workbench .site-header .brand-logo{width:32px;height:32px}body.angel-workbench .site-header .brand-wordmark{font-size:23px}.angel-header-actions .btn{min-height:42px;padding:8px 12px;font-size:12px}
 body.angel-workbench #app,body.angel-workbench.angel-public #app,body.angel-workbench.angel-editing #app{padding:24px 16px 112px}body.angel-workbench.angel-public #app{padding:0 20px 32px}
 .angel-hero{gap:24px;padding:30px 0 24px;grid-template-columns:1fr}.angel-hero-intro>.eyebrow{font-size:10px;margin-bottom:12px}body.angel-workbench .angel-hero h1{font-size:26px;line-height:1.65;margin-bottom:14px;letter-spacing:0}.angel-hero-copy{font-size:13px;line-height:1.9;margin-bottom:20px}.angel-caption{font-size:10px;line-height:1.7;margin-top:12px}body.angel-workbench .angel-primary{min-height:48px}.angel-hero-visual{margin:0 0 0 18px;padding-bottom:24px}.angel-hero-visual>img{height:295px;border-radius:44% 44% 6px 6px;object-position:60% 50%}.angel-visual-note{left:-18px;bottom:42px;min-width:180px;padding:16px 18px}.angel-visual-note strong{font-size:17px}.angel-visual-note .eyebrow{font-size:9px;margin-bottom:6px}.angel-visual-note>span:last-child{font-size:10px;margin-top:8px}.angel-hero-visual figcaption{font-size:8px}
 .angel-benefits{grid-template-columns:1fr;gap:0;padding:0 0 16px}.angel-benefits article{display:grid;grid-template-columns:40px 1fr;gap:3px 14px;padding:18px 0!important;border-right:0;border-bottom:1px solid var(--line)}.angel-benefit-icon{grid-row:span 2;width:38px;height:38px;margin:0;align-self:center}.angel-benefits h2{font-size:16px!important;margin:0}.angel-benefits p{font-size:11px;grid-column:2}.angel-guide{padding:32px 0;gap:22px;grid-template-columns:1fr}.angel-guide h2{font-size:23px!important;margin-bottom:12px}.angel-guide p{font-size:13px}.angel-guide h3{font-size:15px!important}.angel-guide li:last-child{margin-bottom:0}.angel-faq{padding:22px 18px}.angel-faq h2{font-size:20px!important}.angel-faq summary{font-size:13px}.angel-faq p{font-size:12px}
 .angel-bottom-nav{position:fixed;bottom:0;left:0;top:auto;width:100%;display:grid;grid-template-columns:repeat(4,1fr);padding:5px 6px calc(5px + env(safe-area-inset-bottom));margin:0;background:#fff;border:0;border-top:1px solid var(--line);box-shadow:0 -4px 16px #67415407;z-index:25}
 body.angel-workbench .angel-bottom-nav .btn{font-size:10px;gap:5px;padding:9px 0 7px;border:0;border-radius:6px;min-height:60px}body.angel-workbench .angel-bottom-nav [aria-current=page]{background:#f8eaf0;color:#a03e62}.angel-bottom-nav .angel-icon{width:22px;height:22px}
 .angel-context{margin-bottom:20px;gap:10px}.angel-context>.field{flex:1}.angel-context>.btn{padding:10px 12px}.angel-page-heading{margin-bottom:20px}.angel-page-heading h1{font-size:24px!important}.angel-page-heading p{font-size:12px}.angel-profile-card{grid-template-columns:104px 1fr;gap:16px;padding:20px 16px;margin-bottom:24px}.angel-profile-card h2{font-size:25px!important;margin-bottom:10px}.angel-portrait{width:100%;height:auto;aspect-ratio:3/4}.angel-portrait-wrap>p{font-size:9px}.angel-store-name{font-size:11px;margin-bottom:8px}.angel-profile-card .angel-bio{font-size:12px;line-height:1.85;margin:12px 0 16px}.angel-profile-card .button-row{gap:8px}.angel-profile-card .btn{font-size:11px;min-height:44px;padding:10px;width:100%}.angel-photo-empty{font-size:10px;gap:10px}.angel-photo-empty .angel-icon{width:30px;height:30px}.angel-status{font-size:10px}.angel-profile-card .angel-status{margin:0;font-size:9px;padding:3px 6px}.angel-section-actions h2{font-size:18px!important}.angel-section-actions .btn{font-size:11px;padding:9px 12px}
 .angel-empty-diary{grid-template-columns:88px 1fr;gap:16px;padding:16px}.angel-empty-diary>img{height:136px}.angel-empty-diary h3{font-size:14px!important;line-height:1.5}.angel-empty-diary p{font-size:11px;margin-bottom:12px}.angel-empty-diary .btn{font-size:11px;padding:9px 14px;min-height:44px}.angel-draft-row{padding:13px;gap:12px}.angel-draft-row strong{font-size:13px}.angel-draft-row small{font-size:10px}.angel-draft-thumb,.angel-draft-icon{width:44px;height:54px}.angel-journal-grid{gap:10px}.angel-journal-photo,.angel-journal-no-photo{height:100px}.angel-journal-card>span{font-size:11px;padding:10px 8px 0}.angel-journal-card>small{font-size:9px;padding:6px 8px 10px}
 .angel-profile-detail{grid-template-columns:100px 1fr;gap:18px;padding:20px 16px}.angel-profile-detail>.angel-portrait{width:100px;height:134px}.angel-profile-detail h2{font-size:24px!important}.angel-profile-detail .angel-bio{font-size:13px;margin:16px 0}.angel-profile-detail .button-row{gap:8px;margin:18px 0 12px}.angel-profile-detail .btn{font-size:11px;width:100%;padding:10px;margin:6px 0!important}.angel-profile-detail .notice{font-size:11px;padding:12px}.angel-profile-detail .eyebrow{font-size:10px}
 body.angel-workbench .editor-post{padding:16px;gap:14px}body.angel-workbench .editor-post .angel-diary-image{width:74px;height:100px}body.angel-workbench .editor-post h3{font-size:15px;margin:8px 0}.angel-post-excerpt{font-size:12px}body.angel-workbench .editor-post .btn{font-size:10px;padding:9px 10px}.angel-filters .btn{font-size:12px!important}
 .angel-editor-top{gap:14px;align-items:center;margin-bottom:20px}.angel-editor-top span{font-size:11px;padding:0}.angel-editor-top .btn{font-size:12px;min-height:44px;padding:10px 14px}.angel-steps{font-size:11px;gap:14px;margin-bottom:22px}.angel-steps li{gap:5px}.angel-steps li>span{width:21px;height:21px;font-size:10px}.angel-editor form{padding:20px 16px}.angel-editor .composer-photo{grid-template-columns:86px minmax(0,1fr);gap:14px;margin-bottom:22px;padding-bottom:22px}.angel-editor .photo-preview{width:86px;height:116px}.angel-editor .composer-photo .field small{font-size:10px;line-height:1.8}.angel-editor input[type=file]{font-size:10px}.angel-editor input[type=file]::file-selector-button{font-size:11px;margin-right:4px;padding:0 7px}.angel-writing-fields textarea{min-height:240px}.angel-editor-actions{position:fixed;left:0;bottom:0;width:100%;padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin:0;gap:12px;border-radius:0}.angel-editor-actions .btn{flex:1;min-width:0;font-size:13px;min-height:48px}.angel-save-status{font-size:11px}
 .angel-preview-content{padding:22px 18px;margin:20px 0}.angel-preview-content h2{font-size:24px!important}.angel-profile-preview .angel-portrait,.angel-profile-preview .angel-check-photo{width:150px;height:200px}.angel-profile-preview>.angel-bio{font-size:13px}.angel-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.angel-confirm-actions .btn{font-size:12px;padding:12px 10px}.angel-public-post{padding:18px}.angel-public-post .angel-bio{font-size:13px}
 .angel-login{padding:26px 20px;margin:28px auto}.angel-login .session-panel{padding:16px}.angel-login .angel-page-heading h1{font-size:23px!important}.angel-onboarding{margin:20px auto}.angel-onboarding>.angel-page-heading h1{font-size:22px!important}.angel-onboarding-art{width:64px;height:64px}.angel-membership-status{padding:18px}.angel-membership-status h2{font-size:17px!important}.angel-store-choices>.btn{padding:20px}.angel-store-choices>.btn strong{font-size:16px}
 body.angel-workbench .site-footer{padding:28px 20px 108px}body.angel-workbench.angel-public .site-footer{padding-bottom:32px}
}
@media(max-width:360px){body.angel-workbench .angel-hero h1{font-size:23px}.angel-profile-card{grid-template-columns:84px 1fr;gap:12px;padding:16px 12px}.angel-profile-card h2{font-size:23px!important}.angel-profile-detail{grid-template-columns:1fr}.angel-profile-detail>.angel-portrait{margin:0 auto;width:120px;height:160px}.angel-editor .composer-photo{grid-template-columns:1fr}.angel-editor .photo-preview{width:100px;height:134px}.angel-hero-visual figcaption{font-size:7px}}
body.angel-workbench .angel-file-input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;overflow:hidden;padding:0;border:0;clip-path:inset(50%)}
.angel-photo-field{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.angel-photo-field label{margin-bottom:8px!important}.angel-photo-field .btn{order:1;margin-top:12px;min-height:44px}.angel-photo-field .angel-file-name{order:2;overflow-wrap:anywhere;font-size:11px!important;max-width:100%;margin-top:8px!important}.angel-photo-field input:focus-visible~.btn{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:800px){body.angel-workbench.angel-editing #app{padding-top:18px}.angel-editor-top{margin-bottom:14px}.angel-editor .angel-page-heading{margin-bottom:16px}.angel-editor .angel-steps{margin-bottom:18px}.angel-editor>.notice{margin:12px 0 18px;padding:10px 12px;font-size:11px}.angel-editor form{padding-top:16px}.angel-editor .composer-photo{gap:14px;padding-bottom:18px;margin-bottom:22px}.angel-editor .photo-preview{height:112px}.angel-photo-field .btn{font-size:12px;padding:9px 14px;margin-top:8px}.angel-photo-field .angel-file-name{font-size:9px!important}}
/* Route headings receive programmatic focus for readers; controls retain a visible ring. */
body.angel-workbench .angel-page-heading h1:focus{outline:none}
@media(max-width:800px){
 body.angel-workbench.angel-confirming #app{padding-bottom:190px}
 .angel-check .angel-confirm-actions{position:fixed;z-index:24;bottom:calc(80px + env(safe-area-inset-bottom));left:0;width:100%;padding:12px 16px;margin:0;background:#fffafc;border-top:1px solid var(--line)}
 .angel-check .angel-confirm-actions .btn{min-height:48px}
 .angel-check .angel-profile-preview{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px 16px;align-items:start}
 .angel-check .angel-profile-preview>.angel-store-name{grid-column:1/-1;text-align:left;margin:0}
 .angel-check .angel-profile-preview>.angel-check-photo{grid-column:1;grid-row:2/4;width:100px;height:134px;margin:0}
 .angel-check .angel-profile-preview>h2{grid-column:2;grid-row:2;text-align:left;margin:0;font-size:24px!important}
 .angel-check .angel-profile-preview>.angel-bio{grid-column:2;grid-row:3;margin:0;font-size:12px;line-height:1.9}
}

/* Workspaces keep a small help footer; service discovery stays on public views. */
body.angel-workbench.angel-task #app{padding-bottom:32px}
body.angel-workbench .site-footer.angel-task-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-top:16px;padding-bottom:20px;margin:0}
body.angel-workbench .angel-task-footer>p,body.angel-workbench .angel-task-footer>.footer-services,body.angel-workbench .angel-task-footer>a:not(.footer-brand){display:none}
body.angel-workbench .angel-task-footer .footer-brand{gap:8px}
body.angel-workbench .angel-task-footer .brand-logo{width:24px;height:24px}
body.angel-workbench .angel-task-footer .brand-wordmark{font-size:22px}
body.angel-workbench .angel-task-footer .angel-footer-links{margin:0;gap:0}
body.angel-workbench .angel-task-footer .angel-footer-links .btn{background:transparent;border-color:transparent;padding:8px 0;font-size:11px}
body.angel-workbench .angel-task-footer #environment-footnote{flex-basis:100%;margin:0;font-size:8px;line-height:1.6}
@media(max-width:800px){
 body.angel-workbench .site-footer.angel-task-footer{padding:12px 20px calc(88px + env(safe-area-inset-bottom));gap:4px 12px}
 body.angel-workbench.angel-confirming .site-footer.angel-task-footer{padding-bottom:calc(170px + env(safe-area-inset-bottom))}
}
