:root {color-scheme:light; font-family:system-ui,-apple-system,sans-serif; color:#172d2b; background:#f5f4ed}
* {box-sizing:border-box}
body {margin:0}
header {max-width:960px;margin:auto;padding:24px;font-weight:650;display:flex;justify-content:space-between;gap:16px}
header span {font-size:12px;font-weight:400;color:#526764}
main {max-width:540px;margin:24px auto 64px;padding:0 24px}
.eyebrow {font-size:14px;color:#45635d}
h1 {font-size:clamp(36px,7vw,52px);letter-spacing:-2px;line-height:1.06;margin:22px 0}
.intro {font-size:18px;line-height:1.5;margin:14px 0 28px}
.declaration {margin:0}
.declaration strong {font-size:22px;line-height:1.4}
button {border:1px solid #a5b9af;border-radius:8px;padding:12px;background:white;font:inherit;color:inherit}
button {width:100%;padding:17px;border:0;border-radius:12px;background:#173f34;color:white;font-size:18px;font-weight:650;cursor:pointer}
button:disabled {opacity:.45;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible {outline:3px solid #ad5e20;outline-offset:4px}
#privacy {font-size:14px;color:#45635d}
#status {min-height:44px;line-height:1.5}
#downloads a {display:block;margin:18px 0}
a {color:#285e4c}
.note {font-size:13px;line-height:1.6;color:#52635c}
details {margin-top:24px;font-size:14px}
[hidden] {display:none!important}
.layer-progress {margin:24px 0;padding:20px;background:#fffdf8;border:1px solid #cbd7cc;border-radius:20px}
.progress-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.progress-heading .eyebrow {margin:0 0 6px;font-size:12px}
h2 {font-size:23px;letter-spacing:-.6px;margin:0;line-height:1.2}
.badge {border-radius:20px;background:#e7ede4;padding:6px 10px;font-size:13px;white-space:nowrap}
.photo-stage {position:relative;overflow:hidden;display:grid;place-items:center;height:160px;margin:18px 0;border-radius:12px;background:#e7ede4}
.photo-stage img {position:absolute;width:100%;height:100%;object-fit:contain;background:#e7ede4}
.photo-placeholder {font-size:13px;color:#52635c}
.layer-ring {position:absolute;inset:8px;border:2px solid transparent;border-radius:8px;pointer-events:none}
[data-state="working"] .layer-ring {border-color:#44735d;animation:layer-breathe 1.5s ease-in-out infinite}
[data-state="complete"] .layer-ring {border-color:#44735d}
#progress-caption {font-size:15px;line-height:1.5;min-height:44px}
.steps {padding:0;list-style:none;margin:16px 0}
.steps li {display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-top:1px solid #e5e9e1}
.steps li>div {flex:1;min-width:0}
.steps strong {font-size:14px;line-height:1.4}
.steps p {font-size:12px;line-height:1.5;color:#52635c;margin:5px 0 0}
.step-icon {display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1px solid #cbd7cc;font-size:12px}
.step-state {font-size:11px;padding-top:6px;white-space:nowrap;color:#52635c}
.steps [data-state="active"] .step-icon {background:#173f34;color:white;border-color:#173f34;animation:layer-breathe 1.5s ease-in-out infinite}
.steps [data-state="active"] .step-state {color:#173f34;font-weight:650}
.steps [data-state="done"] .step-icon {background:#e0eddf;color:#234c38;border-color:#e0eddf}
.steps .pending .step-icon {border-style:dashed}
.steps [data-state="error"] .step-state {color:#953e22}
.progress-footnote {font-size:12px;line-height:1.5;color:#52635c;margin:16px 0 0}
@keyframes layer-breathe {50% {opacity:.45}}
@media (prefers-reduced-motion:reduce) {.layer-ring,.steps [data-state="active"] .step-icon {animation:none}}
@media (max-width:380px) {.layer-progress {padding:14px}.steps li {gap:7px}.step-state {font-size:10px}}
.photo-stage {height:240px}
.processing-overlay {position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:linear-gradient(transparent,rgba(10,38,29,.25))}
[data-state="working"] .processing-overlay {opacity:1}
.scan-line {position:absolute;top:0;left:0;right:0;height:3px;background:#b4ffcc;box-shadow:0 0 24px 8px #71dc9380;animation:photo-scan 1.4s ease-in-out infinite alternate}
.pixel-grid {position:absolute;inset:0;background-image:linear-gradient(#a7efbe40 1px,transparent 1px),linear-gradient(90deg,#a7efbe40 1px,transparent 1px);background-size:24px 24px;opacity:.25}
.info-flow {position:absolute;left:14px;right:14px;bottom:14px;padding:10px 12px;border:1px solid #91d4b3;border-radius:10px;background:#163d32ed;color:#effaf2;animation:info-arrive .5s ease-out}
.info-flow span {display:block;font-size:12px;margin-bottom:5px}
.info-flow code {display:block;font-size:12px;letter-spacing:1px;overflow-wrap:anywhere}
.consent-seal {display:none;position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);width:66px;height:66px;border:2px solid #b4ffcc;border-radius:50%;color:#b4ffcc;background:#163d32e0;text-align:center;padding-top:8px;font-size:27px}
.consent-seal small {position:absolute;top:72px;left:-40px;right:-40px;font-size:12px;color:#fff;text-shadow:0 1px 4px #000}
[data-phase="consent"] .consent-seal {display:block;animation:seal-arrive .5s ease-out}
[data-phase="consent"] .scan-line {display:none}
[data-state="complete"] .layer-ring {border-color:transparent}
.effect-note {font-size:11px;line-height:1.5;color:#52635c;margin:0 0 16px}
.layer-details {padding:14px;background:#edf2e9;border-radius:12px;margin:18px 0}
.layer-details>div+div {margin-top:13px}
.layer-details dt {font-size:11px;color:#52635c;margin-bottom:4px}
.layer-details dd {margin:0;font:12px/1.5 ui-monospace,monospace;overflow-wrap:anywhere}
@keyframes photo-scan {to {top:100%}}
@keyframes info-arrive {from {opacity:0;transform:translateY(15px)}to {opacity:1;transform:translateY(0)}}
@keyframes seal-arrive {from {opacity:0;scale:.8}to {opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce) {.scan-line,.info-flow,.consent-seal {animation:none!important}.processing-overlay {transition:none}}

[data-state="complete"] .processing-overlay,[data-state="error"] .processing-overlay {display:none}

#choose {margin-top:4px}
#privacy {text-align:center;margin:14px 0 24px}
#selection:empty {display:none}
#selection {font-size:16px;font-weight:600;margin:20px 0 12px}
#share {margin-top:20px}
.completion-policy {text-align:center;font-size:14px;margin:12px 0 18px;color:#45635d}
[data-state="complete"] #progress-title {color:#173f34}

#protect-page[data-state="complete"] #choose-stage {display:none}
.secondary-action {display:block;width:auto;margin:10px auto 20px;padding:8px;background:transparent;color:#285e4c;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.completion-policy {text-align:left;font-size:16px;margin:14px 0 0}
#processing-details {margin-top:24px}
#processing-details summary {color:#45635d;cursor:pointer}
.layer-progress[data-state="working"] #processing-details>summary {display:none}
.layer-progress[data-state="complete"] .effect-note,.layer-progress[data-state="complete"] #progress-caption {display:none}
#progress-title:focus {outline:none}
#protect-page[data-state="complete"] .layer-progress {margin-top:0}

/* Consumer view: a single processing state; diagnostic controls are opt-in. */
body:not(.debug-mode) [data-debug] {display:none!important}
body:not(.debug-mode) #progress-caption {display:none}
#status:empty {display:none}
.layer-progress[data-state="selected"] .processing-overlay {display:none}
.layer-progress[data-state="selected"] #different {display:none}
.declaration-card {display:flex;gap:14px;align-items:center;padding:18px;margin:18px 0;background:#eaf1e7;border:1px solid #b8ccba;border-radius:14px;box-shadow:0 3px 0 #dbe6d7}
.declaration-mark {display:grid;place-items:center;width:36px;height:42px;flex-shrink:0;background:#173f34;color:#fff;border-radius:10px 10px 16px 16px;font-size:20px}
.declaration-card strong {display:block;font-size:19px;line-height:1.3;margin:6px 0;color:#173f34}
.declaration-label {font-size:11px;font-weight:650;letter-spacing:1px;text-transform:uppercase;color:#45635d}
#declaration-context {display:block;font-size:12px;color:#45635d}
body:not(.debug-mode) .layer-progress[data-state="working"] .scan-line {display:block}
body:not(.debug-mode) .layer-progress[data-state="working"] .consent-seal {display:none}
#downloads a {display:block;text-align:center;padding:15px;background:#173f34;color:white;border-radius:12px;text-decoration:none;font-weight:650}

/* A shared rights label connects the explanation to the attached declaration. */
#protect-page[data-state="choose"] {max-width:960px}
.introduction-grid {display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.rights-label {background:#fffaf1;border:1px solid #a7b8a3;border-radius:16px;padding:20px;box-shadow:0 4px 0 #ddd8c8,0 10px 24px #173f340a;color:#173f34}
.rights-label-heading {display:flex;gap:14px;align-items:center;margin:-20px -20px 0;padding:20px;border-radius:15px 15px 0 0;background:linear-gradient(120deg,#173f34,#28584b);border-bottom:3px solid #cfad67;color:#fffaf1}
.rights-emblem {display:grid;place-items:center;width:38px;height:46px;flex-shrink:0;border-radius:10px 10px 18px 18px;background:#ffffff0d;border:1px solid #d9bc7f;color:#e8cd91;font-size:24px;box-shadow:inset 0 0 0 3px #173f34}
.rights-label-caption {font-size:10px;font-weight:700;letter-spacing:1.2px;color:#e8cd91}
.rights-label h3 {font-size:24px;line-height:1.12;letter-spacing:-.5px;margin:7px 0 0}
.rights-categories {list-style:none;margin:0;padding:0}
.rights-categories li {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e1dacb;font-size:14px;font-weight:550}
.rights-categories strong {font-size:11px;letter-spacing:.8px;color:#a32a2a;border:1px solid #e6aaa0;background:#fce9e5;padding:4px 7px;border-radius:5px}
.declaration-meaning {margin-top:14px;font-size:12px}
.declaration-meaning summary {cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:#45635d}
.declaration-meaning dl {margin:14px 0 0}
.declaration-meaning dl>div+div {margin-top:12px}
.declaration-meaning dt {font-weight:650;margin-bottom:3px}
.declaration-meaning dd {margin:0;line-height:1.5;color:#45635d}
.journey {display:flex;justify-content:space-between;align-items:center;gap:8px;padding:18px 0 22px;color:#45635d;font-size:13px;text-align:center}
.journey span:nth-child(odd) {font-weight:650;color:#173f34}
.choice-explanation h2 {font-size:21px;letter-spacing:-.4px}
.choice-explanation p {font-size:14px;line-height:1.5;margin:10px 0}
.choice-explanation .platform-note {font-size:12px;color:#52635c;margin:12px 0 24px}
#privacy.privacy-promise {text-align:left;margin:24px 0 18px;padding-top:18px;border-top:1px solid #d4ddcf}
.privacy-promise strong {font-size:14px}
.privacy-promise p {font-size:12px;color:#45635d;margin:8px 0 0}
#protect-page[data-state="selected"] #choose-stage,#protect-page[data-state="working"] #choose-stage {display:none}
.layer-progress[data-state="selected"] #different {display:block}
.attachment-context {font-size:12px;text-align:center;color:#45635d;margin:12px 0 0}
#completion-policy {margin-top:18px}
@media(max-width:640px) {
 header {padding:20px;gap:12px;font-size:14px}
 main {margin:8px auto 40px;padding:0 20px}
 h1 {font-size:36px;letter-spacing:-1.5px;margin:16px 0 10px}
 .intro {font-size:15px;margin:0 0 20px}
 .introduction-grid {grid-template-columns:1fr;gap:16px}
 .rights-label {padding:16px}
 .rights-label-heading {margin:-16px -16px 0;padding:16px}
 .rights-label h3 {font-size:23px}
 .rights-categories li {padding:8px 0;font-size:13px}
 .journey {padding:6px 0 16px;font-size:12px}
 .choice-explanation h2 {font-size:18px}
 .choice-explanation p {font-size:12px;margin:7px 0}
 .choice-explanation .platform-note {font-size:11px;margin:10px 0 14px}
 #privacy.privacy-promise {margin:14px 0;padding-top:12px}
 .privacy-promise strong {font-size:13px}
 .privacy-promise p {font-size:11px}
}

/* Honest visualization of real local work; nothing is painted into the export. */
.rights-categories strong {white-space:nowrap;display:flex;align-items:center;gap:5px}
.rights-categories strong span {font-size:18px;line-height:12px;font-weight:800}
.attached-badge {display:none;position:absolute;bottom:12px;left:12px;border-radius:24px;padding:8px 12px;background:#173f34;color:#fff;font-size:12px;font-weight:650;box-shadow:0 2px 8px #173f3433}
.layer-progress[data-state="complete"] .attached-badge {display:block}
.activity {display:grid;gap:0;margin:16px 0;background:#eef2e9;border:1px solid #d4dfce;border-radius:12px;padding:4px 14px}
.activity>div {display:flex;gap:12px;align-items:center;padding:10px 0;font-size:13px;color:#52635c}
.activity>div+div {border-top:1px solid #d4dfce}
.activity small {display:none;font-size:11px;margin-top:3px}
.activity [data-state="done"] small {display:block}
.activity-icon {display:grid;place-items:center;width:24px;height:24px;border:1px solid #b7c8b1;border-radius:50%;font-size:12px}
.activity [data-state="active"] {color:#173f34;font-weight:650}
.activity [data-state="active"] .activity-icon {background:#173f34;color:#fff;animation:layer-breathe 1.5s ease-in-out infinite}
.activity [data-state="done"] .activity-icon {background:#dae7d3;color:#173f34;border-color:#dae7d3}
#attachment-details {font-size:13px;margin:16px 0}
#attachment-details summary {cursor:pointer;color:#285e4c;text-decoration:underline;text-underline-offset:3px}
.attachment-metadata {padding:14px;border-radius:12px;background:#edf2e9;margin:12px 0}
.attachment-metadata>div+div {margin-top:14px}
.attachment-metadata dt {font-size:11px;color:#45635d}
.attachment-metadata dd {margin:4px 0 0;overflow-wrap:anywhere;font-size:12px;line-height:1.4}
#photo-reference,#photo-fingerprint {font-family:ui-monospace,monospace}
@media(prefers-reduced-motion:reduce) {.activity [data-state="active"] .activity-icon {animation:none}}

/* Completion labels sit below the preview, outside the image. */
.attached-badge {position:static;width:fit-content;margin:0 auto 16px}

/* A small seal repeats the declaration label’s warm accent after completion. */
.attached-badge {border:1px solid #c9a86a;box-shadow:0 2px 6px #173f341a}

/* Keep the processing receipt beside the photo and the declaration compact. */
.photo-stage {margin-bottom:8px}
.activity {margin:0 0 10px}
#attachment-details {margin:10px 0 16px}
.rights-categories {display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px}
.rights-categories li {justify-content:flex-start;align-items:flex-start;gap:6px;padding:8px;background:#fff4ed;border:1px solid #ead6cd;border-radius:6px;font-size:12px;line-height:1.35}
.category-cross {color:#b02c2c;font-size:19px;line-height:16px;font-weight:800;flex-shrink:0}
#declaration-result .rights-label {padding:12px;border-radius:12px;box-shadow:0 2px 0 #ddd8c8}
#declaration-result .rights-label-heading {margin:-12px -12px 0;padding:12px;gap:10px;border-radius:11px 11px 0 0;border-bottom-width:2px}
#declaration-result .rights-label h3 {font-size:18px;margin-top:4px}
#declaration-result .rights-label h3 br {display:none}
#declaration-result .rights-label-caption {font-size:9px;letter-spacing:.8px}
#declaration-result .rights-emblem {width:28px;height:34px;font-size:18px}
#declaration-result .rights-categories {gap:6px;padding-top:10px}
#declaration-result .rights-categories li {font-size:11px;padding:6px}
#declaration-result .declaration-meaning {font-size:11px;margin-top:10px}
.attached-badge {margin-bottom:10px}

.protect-brand {font-weight:700;text-decoration:none;color:inherit}
.protect-nav {font-size:12px;font-weight:400;color:#526764;text-decoration:none}
.protect-brand:hover,.protect-nav:hover {text-decoration:underline;text-underline-offset:4px}

/* Shared movement navigation, scoped to keep photo-processing UI styles intact. */
.protect-header{max-width:none;margin:0;position:sticky;top:0;z-index:20;align-items:center;padding:18px 40px;gap:24px;background:#f5f4edf5;border-bottom:1px solid #d1d8cb;backdrop-filter:blur(12px);color:#173f34}
.protect-header .protect-brand{font-size:16px;letter-spacing:-.03em;white-space:nowrap;font-weight:700}
.protect-header .protect-brand span{color:#a26730;font-size:inherit;font-weight:inherit}
.protect-header nav{display:flex;gap:22px}
.protect-header nav a{font-size:12px;font-weight:550;white-space:nowrap;text-decoration:none;color:inherit;display:flex;align-items:center;min-height:44px}
.protect-header nav a:hover,.protect-header nav a[aria-current]{text-decoration:underline;text-underline-offset:4px}
.protect-header .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:11px 17px;border:1px solid #173f34;border-radius:8px;background:#173f34;color:#fffaf1;text-decoration:none;font-size:14px;font-weight:650;white-space:nowrap}
.protect-header .button span{font-size:inherit;color:inherit;font-weight:inherit}
.protect-header .button:hover{background:#28584b}
@media(max-width:1050px){.protect-header{padding:16px 24px;gap:15px}.protect-header nav{gap:12px}.protect-header nav a{font-size:10px}}
@media(max-width:760px){.protect-header{display:grid;grid-template-columns:1fr auto;padding:13px 20px 10px;gap:10px}.protect-header .protect-brand{font-size:14px}.protect-header nav{grid-row:2;grid-column:1/-1;flex-wrap:wrap;gap:0 20px;justify-content:flex-start}.protect-header nav a{padding:7px 0;font-size:10px}.protect-header .button{font-size:12px;padding:9px 13px}}
@media(max-width:360px){.protect-header{padding-left:15px;padding-right:15px}.protect-header nav{gap:0 16px}}

/* Keep the shared participation action readable in the compact tool header. */
.protect-header .participation-cta{white-space:nowrap}
@media(max-width:760px){.protect-header .participation-cta{font-size:11px;padding:10px 11px;gap:8px}}
@media(max-width:360px){.protect-header{column-gap:8px}.protect-header .protect-brand{font-size:12px}.protect-header .participation-cta{font-size:10px;padding:10px 9px;gap:7px}}
.preview-note{font-size:11px;color:#6c6556;margin:9px 0 0}
@media(max-width:600px){#choose-stage>.intro{margin-bottom:16px}.introduction-grid{gap:12px}.choice-explanation>.journey{padding-bottom:12px}.choice-explanation .platform-note{margin-bottom:10px}}
.check-shared{margin:28px 0 12px;padding-top:20px;border-top:1px solid #d1d8cb;font-size:14px;line-height:1.6}
.check-shared>summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.check-shared button{margin:6px 0}
.check-shared code{overflow-wrap:anywhere}
#check-result{padding:18px;margin:14px 0;border:1px solid #afc2a7;border-radius:12px;background:#eef3e8}
#check-result h2{font-size:20px;margin:0 0 12px}
#check-result p{font-size:13px}
.retrieved-policy{padding:12px;border-left:4px solid #ad8b50;background:#fffdf4;font-size:20px;font-weight:700}

/* A short choose → review → save flow, with diagnostic detail kept out of the way. */
#protect-page,#protect-page[data-state="choose"]{max-width:1000px;margin:40px auto 48px;padding:0 28px;color:#173f34}
.tool-heading{text-align:center;margin-bottom:30px}
.tool-heading h1{font-size:clamp(36px,4.5vw,52px);margin:0 0 16px;letter-spacing:-1.8px}
.tool-heading .intro{font-size:18px;line-height:1.55;margin:0 auto 24px;max-width:620px}
.journey{display:flex;justify-content:center;list-style:none;padding:0;margin:0;gap:24px;font-size:14px;text-align:left}
.journey li{display:flex;align-items:center;gap:8px;line-height:1.35;color:#52635c}
.journey li+li:before{content:'→';margin-right:12px;color:#7c897a}
.journey li span{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #a7b8a3;border-radius:50%;color:#52635c;font-size:13px;font-weight:650}
.journey li[aria-current] {color:#173f34;font-weight:650}
.journey li[aria-current] span{background:#173f34;border-color:#173f34;color:#fffaf1}
.introduction-grid{grid-template-columns:1fr 1.14fr;grid-template-areas:'declaration choose';gap:32px;align-items:center}
#declaration-intro{grid-area:declaration;min-width:0}
.choice-explanation{grid-area:choose;padding:32px;background:#eef1e8;border:1px solid #d1d8cb;border-radius:18px;text-align:center}
.choice-explanation h2{font-size:26px;line-height:1.18;max-width:300px;margin:0 auto 14px;letter-spacing:-.7px}
.choice-explanation>p{font-size:16px;line-height:1.6;margin:12px 0 24px}
#choose{margin:0;min-height:58px;font-size:19px}
#privacy.privacy-promise{font-size:14px;line-height:1.6;margin:18px 0 14px;padding:0;border:0;text-align:center;color:#45635d}
.choice-explanation .file-note{font-size:13px;margin:0;color:#52635c}
.rights-label-heading{background:#173f34}
.rights-emblem{border-radius:50%;width:38px;height:38px;box-shadow:none;background:transparent}
.rights-label-caption{font-size:11px;letter-spacing:1px}
.rights-label h3,#declaration-result .rights-label h3{font-size:28px}
.rights-categories,#declaration-result .rights-categories{display:block;padding-top:12px}
.rights-categories li,#declaration-result .rights-categories li{font-size:15px;line-height:1.45;padding:10px 0;background:transparent;border:0;border-bottom:1px solid #e1dacb;border-radius:0;gap:9px}
.category-cross{font-size:20px;line-height:1.1}
.declaration-meaning,#declaration-result .declaration-meaning{font-size:14px;line-height:1.6;margin-top:18px}
.declaration-meaning summary{min-height:30px;line-height:1.6}
.declaration-meaning p{margin:14px 0 0;color:#45635d}
#declaration-result .rights-label{padding:20px;border-radius:16px}
#declaration-result .rights-label-heading{padding:20px;margin:-20px -20px 0;border-radius:15px 15px 0 0;gap:14px;border-bottom-width:3px}
#declaration-result .rights-label-caption{font-size:11px;letter-spacing:1px}
#declaration-result .rights-emblem{width:38px;height:38px;font-size:24px}
.preview-note{font-size:14px;line-height:1.6;text-align:center;margin:22px 0;color:#6d5939}
.layer-progress{padding:28px;margin:0;border-radius:18px;scroll-margin-top:110px}
.progress-heading h2{font-size:26px;line-height:1.2}
#review-copy{font-size:16px;line-height:1.55;margin:12px 0 24px;color:#45635d}
.review-grid{display:grid;grid-template-columns:1.14fr 1fr;align-items:start;gap:28px}
.review-photos{min-width:0}
.photo-stage{height:290px;margin:0 0 12px;background:#e7ede4}
.selected-photos{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px}
.selected-photos img{width:64px;height:64px;object-fit:cover;border:1px solid #a7b8a3;border-radius:7px;flex-shrink:0}
.selected-photos:empty{display:none}
#completion-policy{margin:0;min-width:0}
.attachment-context{font-size:14px;margin:12px 0 0}
.result-actions{max-width:460px;margin:24px auto 0;text-align:center}
#share{min-height:56px;margin:0}
.secondary-action{font-size:15px;min-height:44px;margin:12px auto 0;padding:10px}
#downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}
#downloads a{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:12px 20px;border:1px solid #a7b8a3;border-radius:10px;background:transparent;color:#173f34;font-size:16px;font-weight:650;text-decoration:none}
.result-actions:has(#share[hidden]) #downloads a{background:#173f34;color:#fffaf1;border-color:#173f34;flex:1}
#status{font-size:16px;line-height:1.6;margin:20px 0;text-align:center}
.processing-overlay{background:transparent}
.scan-line,.pixel-grid,.consent-seal{display:none!important}
.info-flow{animation:none;background:#173f34;color:#fffaf1;border:0}
.info-flow code{display:none}
.info-flow span{margin:0;font-size:14px}
.check-shared{margin:28px auto 0;padding-top:22px;font-size:16px;max-width:720px}
.check-shared>summary{min-height:44px}
.check-shared button{width:auto;padding:13px 22px;font-size:16px;min-height:48px}
#check-result p{font-size:14px;line-height:1.6}
.check-assessment{margin:0}
.check-assessment>div{padding:12px 0;border-bottom:1px solid #ccd7c5}
.check-assessment dt{font-size:13px;font-weight:650;color:#52635c}
.check-assessment dd{margin:5px 0 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.save-help{max-width:640px;margin:20px auto;padding:16px 20px;border:1px solid #cbd7cc;border-radius:12px;background:#eef1e8;font-size:14px;line-height:1.6}
.save-help p{margin:0 0 12px}
.save-help p:last-child{margin:12px 0 0}
#open-photos{display:flex;flex-wrap:wrap;gap:8px 20px}
#open-photos a{display:inline-flex;align-items:center;min-height:44px;color:#285e4c;font-weight:650;text-underline-offset:3px}
@media(max-width:700px){
 #protect-page,#protect-page[data-state="choose"]{margin:28px auto 36px;padding:0 20px}
 .tool-heading{margin-bottom:24px}
 .tool-heading .intro{font-size:16px;margin-bottom:22px}
 .journey{gap:12px;font-size:12px;justify-content:space-between}
 .journey li{flex-direction:column;gap:7px;text-align:center;flex:1}
 .journey li+li:before{display:none}
 .introduction-grid{grid-template-columns:1fr;grid-template-areas:'choose' 'declaration';gap:24px}
 .choice-explanation{padding:24px}
 .choice-explanation h2{font-size:24px}
 .choice-explanation>p{font-size:15px;margin:12px 0 20px}
 .rights-label{padding:20px}
 .rights-label-heading{margin:-20px -20px 0;padding:20px}
 .layer-progress{padding:20px;scroll-margin-top:155px}
 .review-grid{grid-template-columns:1fr;gap:20px}
 .photo-stage{height:240px}
 .progress-heading h2{font-size:23px}
 .badge{font-size:12px}
 #review-copy{font-size:15px}
 .preview-note{font-size:14px;margin:20px 0}
 .check-shared{font-size:15px}
 .protect-header nav a{font-size:12px}
 .protect-header nav{gap:0 16px}
}

/* Illustrative layers are DOM siblings of the preview, never part of its bytes. */
#protect-page[data-state="error"] #choose-stage{display:none}
.review-outcomes{min-width:0}
.photo-stage{height:auto;min-height:180px;padding:16px;background:#eaece3;display:flex;justify-content:center;margin:0;border:1px solid #d9dfd0;border-radius:14px}
.photo-surface{position:relative;display:flex;justify-content:center;max-width:100%;overflow:hidden;border-radius:7px;box-shadow:0 5px 18px #173f3414}
.photo-stage img{position:static;display:block;width:auto;height:auto;max-width:100%;max-height:400px;object-fit:contain;background:transparent}
.photo-placeholder{padding:30px}
.photo-stage:has(img:not([hidden])) .photo-placeholder{display:none}
.protection-layers{position:absolute;inset:0;pointer-events:none;opacity:1;transition:opacity .3s ease}
.protection-layers[data-visible="false"]{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}
.watermark-texture{position:absolute;inset:0;background-image:linear-gradient(#f5e3ac5c 1px,transparent 1px),linear-gradient(90deg,#f5e3ac5c 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(transparent 20%,#000 100%);background-color:#173f3412}
.layer-label{position:absolute;left:10px;right:10px;background:#fffaf1f5;color:#173f34;padding:10px;border:1px solid #c6b47b;border-radius:7px;font-size:12px;line-height:1.4;font-weight:650;box-shadow:0 2px 8px #173f3426}
.watermark-label{bottom:62px}
.metadata-label{bottom:10px;display:flex;align-items:center;gap:6px}
.document-icon{font-size:21px;color:#806333}
#layer-controls{text-align:center;margin-top:14px}
#layer-toggle{width:auto;padding:11px 20px;min-height:44px;border:1px solid #7b9886;background:#edf1e6;color:#173f34;font-size:15px;border-radius:24px}
#layer-toggle:hover{background:#e0e9d8}
.layer-explanation{font-size:13px;line-height:1.5;color:#52635c;max-width:360px;margin:9px auto 0}
.protection-status{margin:0 0 22px}
.protection-status>div{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid #dce2d4;align-items:flex-start}
.protection-status>div:first-child{padding-top:4px}
.signal-icon{flex:0 0 28px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #b7c5af;border-radius:50%;background:#edf1e6;font-weight:650}
.signal-title{display:block;font-size:17px;line-height:1.35}
.signal-detail{display:block;font-size:14px;line-height:1.55;color:#52635c;margin-top:6px}
[data-verification="verified"] .signal-icon{background:#173f34;color:#fffaf1;border-color:#173f34}
[data-write="failed"] .signal-icon,[data-verification="failed"] .signal-icon{color:#873d23;border-color:#c58b6b;background:#fbede1}
#verification-summary{font-size:14px;line-height:1.5;font-weight:650;margin:16px 0 0}
#verification-summary span{display:block;font-weight:400;color:#52635c;font-size:13px;margin:4px 0 0}
.layer-progress[data-state="complete"] #declaration-result,.layer-progress[data-state="complete"] #declaration-context{display:none}
.compact-declaration{padding:17px 18px;background:#edf0e5;border:1px solid #c5cfb8;border-left:3px solid #ad8a47;border-radius:9px}
.compact-declaration>strong{font-size:14px;letter-spacing:1.3px}
.compact-declaration p{font-size:14px;line-height:1.5;margin:7px 0}
.compact-declaration small{font-size:12px;color:#52635c;line-height:1.5}
.layer-progress[data-state="complete"] .progress-heading h2{font-size:30px;letter-spacing:-.9px;max-width:690px}
.layer-progress[data-state="complete"] .progress-heading h2:before{content:'✓';display:inline-grid;place-items:center;border-radius:50%;width:30px;height:30px;font-size:19px;background:#e8eedf;margin-right:10px;vertical-align:3px}
#completion-limitation{font-size:14px;line-height:1.5;color:#755d36;text-align:center;max-width:590px;margin:10px auto 22px}
#completion-meaning,#attachment-details{font-size:15px;margin:0;padding:15px 0;border-top:1px solid #dce2d4}
#completion-meaning summary,#attachment-details summary{cursor:pointer;min-height:24px;text-underline-offset:4px}
#completion-meaning p{font-size:14px;line-height:1.65;color:#52635c}
.attachment-metadata dt{font-size:13px}
.attachment-metadata dd{font-size:14px}
.selected-photos{margin-top:14px;align-items:start}
.batch-photo{flex-shrink:0;width:85px;padding:5px;background:transparent;color:#173f34;border:1px solid transparent;border-radius:8px;font-weight:500;text-align:left}
.batch-photo img{width:72px;height:64px;display:block}
.batch-photo span{display:block;font-size:11px;line-height:1.4;margin-top:6px}
.batch-photo[aria-pressed="true"]{border-color:#6e8d76;background:#e5ecdf}
.batch-result{font-size:13px;line-height:1.5;margin:0 0 8px}
.selected-photos:has(.batch-result){display:block}
.layer-progress[data-state="working"] .processing-overlay{background:linear-gradient(transparent 55%,#173f3426)}
.layer-progress[data-state="working"] .info-flow{left:8px;right:8px;bottom:8px;padding:10px}
.layer-progress[data-state="working"] .info-flow span{font-size:13px}
.layer-progress[data-state="working"][data-phase="watermark"] .scan-line,.layer-progress[data-state="working"][data-phase="encode"] .scan-line{display:block!important;background:#dbc58b;box-shadow:0 0 16px 5px #eee0b254}
.layer-progress[data-state="working"][data-phase="watermark"] .pixel-grid,.layer-progress[data-state="working"][data-phase="encode"] .pixel-grid{display:block!important;background-image:linear-gradient(#f5e3ac66 1px,transparent 1px),linear-gradient(90deg,#f5e3ac66 1px,transparent 1px);opacity:.5}
.document-arrival{display:none;position:absolute;top:18%;right:12px;font-size:32px;color:#173f34;background:#fffaf1;border:1px solid #ba9d5e;border-radius:6px;padding:3px 10px;animation:document-arrive 1.2s ease-out infinite}
[data-state="working"][data-phase="consent"] .document-arrival{display:block}
@keyframes document-arrive{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(10px)}}
@media(max-width:700px){
 .photo-stage{padding:10px;min-height:140px}
 .photo-stage img{max-height:310px}
 .review-grid{gap:22px}
 .layer-progress[data-state="complete"] .progress-heading{align-items:flex-start}
 .layer-progress[data-state="complete"] .progress-heading h2{font-size:25px;letter-spacing:-.7px}
 .layer-progress[data-state="complete"] .progress-heading h2:before{width:24px;height:24px;font-size:16px;vertical-align:2px;margin-right:6px}
 .badge{padding:5px 8px}
 .signal-title{font-size:16px}
 .signal-detail{font-size:13px}
 .protection-status{margin-bottom:18px}
 .protection-status>div{padding:12px 0}
 .result-actions{margin-top:20px}
 .layer-label{font-size:11px;left:7px;right:7px;padding:8px}
 .watermark-label{bottom:58px}
 .layer-explanation{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .protection-layers,.protection-layers[data-visible="false"],.processing-overlay{transition:none}
 .document-arrival,.scan-line,.pixel-grid,.info-flow,.layer-ring{animation:none!important}
}
#protect-page[data-state="complete"]>.preview-note{display:none}
@media(max-width:700px){
 #verification-summary span{display:none}
 .compact-declaration{padding:14px 16px}
 .compact-declaration small{display:none}
 .compact-declaration p{font-size:13px;margin-bottom:0}
}

/* Centered photo and signal panel, matching the approved completion reference. */
.review-grid{display:block}
.review-photos{width:100%}
.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0 22px}
.photo-toolbar h3{font-size:20px;font-weight:600;letter-spacing:-.3px;margin:0}
#layer-controls{margin:0;text-align:right}
#layer-toggle{display:flex;gap:9px;align-items:center;background:transparent;border-color:#b7c5b8;padding:9px 18px;font-weight:500}
.toggle-eye{display:block;width:20px;height:13px;border:1.6px solid currentColor;border-radius:70% 25%;transform:rotate(25deg);position:relative}
.toggle-eye:before{content:'';position:absolute;width:5px;height:5px;left:6px;top:2px;border:1.5px solid currentColor;border-radius:50%}
[aria-pressed="false"] .toggle-eye:after{content:'';position:absolute;height:24px;width:1.6px;background:currentColor;left:8px;top:-7px;transform:rotate(-65deg);box-shadow:1.5px 0 #fffdf8}
.photo-stage{max-width:600px;margin:0 auto;background:transparent;border:0;padding:0;min-height:0}
.photo-surface{border:1px solid #d9dfd0;border-radius:16px;box-shadow:none}
.photo-stage img{max-height:460px;border-radius:15px}
.protection-layers{position:relative;inset:auto;width:100%;max-width:600px;max-height:300px;margin:3px auto 0;pointer-events:auto;border:1px solid #d6e0d0;border-radius:12px;background:#eef1e9;overflow:hidden;transition:opacity .25s ease,max-height .25s ease,margin .25s ease}
.protection-layers[data-visible="false"]{max-height:0;opacity:0;visibility:hidden;margin-top:0;transition:opacity .25s ease,max-height .25s ease,visibility 0s .25s; border-width:0}
.protection-status{margin:0;padding:0 20px}
.protection-status>div,.protection-status>div:first-child{padding:19px 0;align-items:center;gap:14px;border-bottom:0}
.protection-status>div+div{border-top:1px solid #d4ddce}
.protection-status>div>div{flex:1;min-width:0}
.signal-art{display:flex;align-items:center;justify-content:center;width:25px;flex-shrink:0;color:#285e4c}
.signal-art svg{width:25px;height:29px}
.code-art{font-family:ui-monospace,monospace;font-size:24px;letter-spacing:-3px;padding-right:3px}
.signal-title{font-size:17px;font-weight:500}
.signal-icon,[data-verification="verified"] .signal-icon{background:transparent;border:0;color:#285e4c;font-size:22px;width:24px;flex-basis:24px}
[data-verification="failed"] .signal-icon,[data-write="failed"] .signal-icon{color:#873d23}
.layer-progress[data-state="complete"] .signal-detail{display:none}
.layer-explanation{max-width:none;margin:14px auto 0;text-align:center;font-size:14px;line-height:1.6}
.verification-receipt{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.layer-progress[data-state="complete"] .progress-heading h2:before{content:none}
.completion-indicators{display:flex;align-items:center;gap:12px}
.completion-check{display:none;border:2px solid #40845a;color:#28653e;border-radius:50%;font-size:21px;width:31px;height:31px;align-items:center;justify-content:center}
.layer-progress[data-state="complete"] .completion-check{display:flex}
.layer-progress[data-state="complete"] .progress-heading{align-items:center}
.layer-progress[data-state="complete"] #review-copy{margin-bottom:32px}
.layer-progress[data-state="complete"] .compact-declaration{background:transparent;padding:0;border:0;margin:30px 0 0}
.compact-declaration>strong{font-size:20px;letter-spacing:0}
.compact-declaration p{font-size:17px;line-height:1.65;margin:12px 0 0}
.selected-photos{justify-content:center}
.layer-progress[data-state="working"] .photo-toolbar,.layer-progress[data-state="error"] .photo-toolbar{margin-top:8px}
@media(max-width:700px){
 .photo-toolbar{margin:22px 0 16px;gap:10px}
 .photo-toolbar h3{font-size:17px}
 #layer-toggle{font-size:14px;padding:9px 12px;min-height:42px}
 .toggle-eye{width:18px}
 .photo-stage img{max-height:330px}
 .protection-status{padding:0 14px}
 .protection-status>div,.protection-status>div:first-child{padding:16px 0;gap:10px}
 .signal-title{font-size:14px;line-height:1.45}
 .signal-art{width:22px}
 .signal-art svg{width:22px}
 .layer-explanation{font-size:12px;margin-top:12px}
 .compact-declaration>strong{font-size:18px}
 .compact-declaration p{font-size:15px;margin-top:10px}
 .layer-progress[data-state="complete"] .compact-declaration{margin-top:26px}
 .layer-progress[data-state="complete"] .progress-heading{align-items:flex-start;gap:10px}
 .completion-check{width:25px;height:25px;font-size:17px;flex-shrink:0;margin-top:3px}
 .layer-progress[data-state="complete"] #review-copy{margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.protection-layers,.protection-layers[data-visible="false"]{transition:none}}

/* Compact completion spacing and a persistent, paired save/share action row. */
.layer-progress[data-state="complete"]{padding:22px}
.layer-progress[data-state="complete"] #review-copy{margin:8px 0 14px}
.layer-progress[data-state="complete"] .photo-toolbar{margin:12px 0}
.layer-progress[data-state="complete"] .photo-stage img{max-height:clamp(160px,34svh,300px)}
.layer-progress[data-state="complete"] .protection-status>div{padding:12px 0}
.layer-progress[data-state="complete"] .layer-explanation{margin-top:8px;font-size:13px}
.layer-progress[data-state="complete"] .compact-declaration{margin-top:18px}
.layer-progress[data-state="complete"] .compact-declaration p{margin-top:6px;font-size:15px;line-height:1.5}
.result-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;max-width:680px;margin:16px auto 0;align-items:start}
.layer-progress[data-state="complete"] .result-actions{position:sticky;bottom:8px;z-index:8;padding:10px;background:#fffdf8f7;border-radius:14px;box-shadow:0 -8px 18px #fffdf8e6}
#downloads{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}
#downloads a,#share{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;margin:0;padding:13px 16px;border-radius:12px;font-size:18px;font-weight:600;line-height:1.4}
#downloads a{border:1px solid #ccd3c8;background:transparent}
#share{grid-column:2;grid-row:1}
.action-icon{width:21px;height:21px;flex-shrink:0}
#different{grid-column:1/-1;justify-self:center;margin:0;padding:8px 12px;min-height:42px;font-size:16px;font-weight:400;text-decoration:underline;text-underline-offset:5px;display:flex;align-items:center;gap:8px}
.result-actions:has(#share[hidden]) #downloads{grid-column:1/-1}
#completion-limitation{margin:6px auto 16px;font-size:13px}
@media(max-width:700px){
 .layer-progress[data-state="complete"]{padding:18px}
 .layer-progress[data-state="complete"] .progress-heading h2{font-size:24px}
 .layer-progress[data-state="complete"] .photo-stage img{max-height:clamp(140px,29svh,245px)}
 .layer-progress[data-state="complete"] .photo-toolbar{margin:10px 0}
 .layer-progress[data-state="complete"] #review-copy{font-size:14px;margin:8px 0 12px}
 .layer-progress[data-state="complete"] .signal-title{font-size:13px}
 .layer-progress[data-state="complete"] .protection-status>div{padding:10px 0}
 .layer-progress[data-state="complete"] .compact-declaration{margin-top:14px}
 .layer-progress[data-state="complete"] .compact-declaration p{font-size:14px}
 .layer-progress[data-state="complete"] .result-actions{bottom:max(4px,env(safe-area-inset-bottom));padding:8px 0;gap:5px 10px;margin-top:12px}
 #downloads a,#share{font-size:15px;padding:12px 10px;gap:7px;min-height:50px}
 .action-icon{width:18px;height:18px}
 #different{font-size:14px;min-height:40px}
}
/* Opaque, full-width backing keeps scrolling content from competing with actions. */
.result-actions{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:none}
.action-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;max-width:680px;align-items:start}
.layer-progress[data-state="complete"] .result-actions{background:#fffdf8;box-shadow:0 -8px 12px #fffdf8;border-radius:0;padding:10px 0}
body:has(#protect-page[data-state="complete"]) .protect-header{background:#f5f4ed}
@media(max-width:700px){
 .action-pair{gap:10px}
 .layer-progress[data-state="complete"]{scroll-margin-top:180px}
 .layer-progress[data-state="complete"] .result-actions{padding:8px 0;gap:3px}
}

/* A quiet declaration emblem and a separate, always-open checker card. */
.compact-declaration>strong{display:flex;align-items:center;gap:10px}
.declaration-shield{width:23px;height:27px;flex-shrink:0;color:#159447}
.rights-emblem:has(.declaration-shield){border:0;background:none;box-shadow:none;width:30px;height:34px}
.rights-emblem .declaration-shield{color:#69d98d}
.check-shared{max-width:none;margin:18px 0 0;padding:22px 24px;background:#fffdf8;border:1px solid #d3dccc;border-radius:18px;font-size:16px;line-height:1.5}
.checker-intro{display:flex;align-items:flex-start;gap:20px}
.checker-icon{width:31px;height:31px;flex-shrink:0;margin-top:5px;color:#173f34}
.checker-intro h2{font-size:23px;font-weight:650;line-height:1.3;letter-spacing:-.4px;margin:0}
.checker-intro p{margin:8px 0 0;font-size:16px;line-height:1.6;color:#52635c}
.checker-action{display:flex;justify-content:flex-end;margin:18px 0 0}
.check-shared #check-photo{display:inline-flex;align-items:center;gap:16px;justify-content:center;background:transparent;color:#173f34;border:1px solid #c5cfc0;border-radius:12px;margin:0;padding:12px 20px;font-size:16px;min-height:48px;font-weight:550;width:auto}
.check-shared #check-photo:hover:not(:disabled){background:#edf1e6}
#check-status:empty{display:none}
#check-status{font-size:14px;margin:14px 0 0}
#check-result{margin-top:20px}
@media(max-width:700px){
 .check-shared{padding:20px 18px;border-radius:16px;margin-top:16px}
 .checker-intro{gap:12px}
 .checker-icon{width:26px;height:26px}
 .checker-intro h2{font-size:21px}
 .checker-intro p{font-size:14px;margin-top:6px}
 .checker-action{margin-top:14px}
 .check-shared #check-photo{font-size:15px;padding:11px 16px;min-height:46px}
 .declaration-shield{width:21px;height:25px}
}

/* Shared readable top navigation; wrap the header before shrinking link text. */
.protect-header nav a{font-size:18px;font-weight:550;line-height:1.4;display:flex;align-items:center;min-height:44px}
@media(max-width:1100px){
 .protect-header{display:grid;grid-template-columns:1fr auto;gap:10px 20px}
 .protect-header nav{grid-row:2;grid-column:1/-1;flex-wrap:wrap;justify-content:center;gap:0 24px}
}
@media(max-width:760px){
 .protect-header nav{justify-content:flex-start;gap:0 20px}
 .protect-header nav a{font-size:16px}
}
@media(max-width:360px){.protect-header nav{gap:0 16px}}

/* The photo picker is the primary action; the declaration is supporting information. */
#choose{appearance:none;background:#173f34;color:#fffaf1;opacity:1;border:1px solid #173f34;box-shadow:0 3px 8px #173f3418}
#choose:hover:not(:disabled){background:#28584b;border-color:#28584b}
#choose:disabled{background:#173f34;color:#fffaf1;opacity:1;cursor:wait}
#declaration-intro .rights-label{background:#fffdf8;border-color:#d1d8cb;box-shadow:none}
#declaration-intro .rights-label-heading{background:transparent;color:#173f34;margin:0;padding:0 0 16px;border-radius:0;border-bottom:1px solid #d9dfd0;gap:12px}
#declaration-intro .rights-label-caption{color:#52635c;font-size:10px;letter-spacing:1px}
#declaration-intro .rights-label h3{font-size:22px;line-height:1.2;margin-top:6px}
#declaration-intro .rights-emblem .declaration-shield{color:#29814e;width:24px;height:28px}

.save-help{scroll-margin-top:180px}
.save-help h3{font-size:20px;line-height:1.3;margin:0 0 10px;color:#173f34}
.share-save-options{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.share-save-options a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:9px;background:#173f34;color:#fffaf1;font-size:16px;font-weight:650;text-decoration:none}
#retry-share{width:auto;min-height:44px;padding:10px 0;background:transparent;color:#285e4c;border-radius:0;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:4px}

/* Illustrated iPhone walkthrough; controls remain usable without animation. */
.iphone-guide{margin:40px 0 0;border-top:1px solid #d1d8cb;padding:24px 0;color:#173f34}
.iphone-guide>h2{font-size:clamp(25px,3vw,32px);font-weight:650;line-height:1.2;letter-spacing:-.035em;margin:0 0 16px}.iphone-guide-body p{font-size:14px;line-height:1.7}.iphone-guide-jump{margin:16px 0 0;font-size:14px;line-height:1.5}.iphone-guide-jump a{color:#285e4c;text-underline-offset:4px}.iphone-guide-jump a:focus-visible{outline:3px solid #a95d21;outline-offset:4px}
.shortcut-walkthrough{display:grid;grid-template-columns:280px minmax(0,1fr);gap:52px;align-items:center;padding:32px;border:1px solid #d1d8cb;border-radius:20px;background:#e9eee4;margin:24px 0}.shortcut-walkthrough[hidden]{display:none}
.guide-phone{width:280px;max-width:100%;height:480px;border:7px solid #203a32;border-radius:40px;background:#faf9f5;box-shadow:0 16px 32px #173f3414;position:relative;overflow:hidden;color:#243d33;font-family:system-ui,-apple-system,sans-serif}
.guide-phone-top{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;font-size:10px;font-weight:650}.guide-island{width:75px;height:20px;border-radius:20px;background:#203a32}.guide-home-bar{height:4px;width:88px;position:absolute;bottom:9px;left:50%;transform:translateX(-50%);background:#203a32;border-radius:5px}.guide-screen{padding:7px 17px 24px}.guide-screen.scene-enter{animation:guide-scene-in .35s ease-out}
.guide-mock-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#496b9a;margin-bottom:20px}.guide-mock-nav strong{color:#243d33;font-size:13px}.guide-mock-heading{font-size:25px!important;font-weight:700;letter-spacing:-.7px;line-height:1.2!important;margin:12px 0 20px!important}.guide-mock-card{background:#e8e9f4;border-radius:12px;padding:17px 14px;min-height:92px;margin:12px 0;display:flex;flex-direction:column;justify-content:space-between;gap:12px;font-size:13px}.guide-mock-card.sage{background:#dfebdf}.guide-mock-card.white{background:#fff;border:1px solid #e3e5dc;min-height:0}.guide-mock-card b{font-size:14px}.guide-mock-search{padding:12px;background:#eaece8;color:#5e6b62;border-radius:10px;font-size:12px;margin:14px 0}.guide-mock-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:49px;padding:12px;background:white;border-bottom:1px solid #edf0e9;font-size:12px}.guide-mock-hint{font-size:11px!important;color:#607066;line-height:1.6!important;margin:15px 0!important}.guide-mock-field{padding:13px;border-radius:8px;background:#f7f7f2;border:1px solid #c7d3c4;font-size:12px;overflow-wrap:anywhere}.guide-mock-plus{font-size:27px;line-height:1}.guide-mock-chip{color:#245d80;background:#e2f0f7;border-radius:5px;padding:3px 6px}.guide-mock-toggle{display:block;width:35px;height:22px;background:#32774f;border-radius:16px;padding:3px}.guide-mock-toggle:after{content:"";display:block;background:#fff;width:16px;height:16px;border-radius:50%;margin-left:13px}.guide-mock-photo{height:155px;background:linear-gradient(155deg,#cbd9c0 48%,#99b58d 48%);border-radius:13px;display:grid;place-items:center;color:#315e46;font:italic 20px Georgia,serif}.guide-mock-sheet{background:#eff0ed;border:1px solid #dce1d7;border-radius:20px 20px 8px 8px;margin-top:-15px;padding:15px 10px;position:relative}.guide-mock-sheet>small{display:block;font-size:10px;text-align:center;margin-bottom:12px}.guide-target{position:relative;outline:2px solid #b38e51;outline-offset:4px;border-radius:6px}.guide-target:after{content:"";position:absolute;right:4px;bottom:-12px;width:22px;height:22px;background:#b38e5130;border:2px solid #a67c38;border-radius:50%;box-shadow:0 0 0 5px #b38e5118}.is-playing .guide-target:after{animation:guide-tap 1.6s ease-in-out infinite}
.guide-kicker{font-size:11px!important;letter-spacing:.14em;color:#6c725d;margin:0 0 22px!important}.guide-step-count{font-size:13px!important;color:#856337;margin:0 0 10px!important}.guide-directions h3{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:0 0 15px}.guide-instruction{font-size:16px!important;line-height:1.65!important;min-height:106px}.guide-progress{display:flex;gap:8px;margin:24px 0}.guide-progress button{display:block;flex:1;width:auto;min-width:0;min-height:32px;padding:13px 0;background:transparent;border:0;border-radius:0;box-shadow:none}.guide-progress button:after{content:"";display:block;height:4px;border-radius:6px;background:#bdc9b5}.guide-progress button[aria-current="step"]:after{background:#173f34}.guide-progress button:hover:after{background:#648264}
.guide-controls button{width:auto;font-size:14px;border-radius:8px;min-height:44px;padding:10px 14px;margin:0}.guide-play{display:flex;align-items:center;justify-content:space-between;gap:20px}.guide-step-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.guide-step-controls button{background:transparent;color:#173f34;border:1px solid #9eaf96;font-size:13px;font-weight:500}.guide-controls button:disabled{opacity:.45;cursor:default}.guide-controls button:focus-visible,.guide-progress button:focus-visible,.guide-written summary:focus-visible{outline:3px solid #a95d21;outline-offset:4px}.guide-timing,.guide-illustration-note{font-size:12px!important;color:#607066}.guide-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.guide-scope{padding:16px 18px;border-left:3px solid #b38e51;background:#f0eee2}.guide-written{margin:22px 0}.guide-written summary{cursor:pointer;font-size:14px;font-weight:600}.guide-written ol{padding-left:22px;font-size:14px;line-height:1.7}.guide-written li{padding:5px 0}.shortcut-address code{overflow-wrap:anywhere;font-size:12px}.shortcut-alternative{border-top:1px solid #d1d8cb;padding-top:18px}.shortcut-source a{color:inherit;text-underline-offset:4px}
@keyframes guide-tap{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@keyframes guide-scene-in{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.shortcut-walkthrough{grid-template-columns:1fr;gap:28px;padding:24px 18px}.guide-phone{justify-self:center;order:2;width:260px;height:440px}.guide-directions{display:contents}.guide-directions h3{font-size:24px;margin:0}.guide-directions .guide-kicker{display:none}.guide-directions .guide-step-count{margin:0!important}.guide-directions .guide-instruction{margin:0!important}.guide-progress{order:3}.guide-controls{order:4}.guide-timing{order:5;margin:0!important}.guide-instruction{min-height:0}.guide-kicker{margin-bottom:12px!important}.guide-progress{margin:15px 0}}
@media(prefers-reduced-motion:reduce){.guide-screen.scene-enter,.is-playing .guide-target:after{animation:none}}

.cloud-beta{max-width:944px;margin:24px auto 0;padding:14px 20px;border:1px solid #d9c7a7;border-radius:10px;background:#f3eddd;color:#614c2c;font:14px/1.6 system-ui,sans-serif}@media(max-width:760px){.cloud-beta{margin:16px 20px 0}}
