/* Colour tokens: every value below is the colour the app always used. theme.css swaps them in dark mode. */
:root{--tx-000000:#000000;--tx-05211f:#05211f;--tx-102626:#102626;--tx-173a31:#173a31;--tx-183b31:#183b31;--tx-183b32:#183b32;--tx-1b2a24:#1b2a24;--tx-1d6b3a:#1d6b3a;--tx-1f4d3a:#1f4d3a;--tx-1f5238:#1f5238;--tx-1f5bd1:#1f5bd1;--tx-203b33:#203b33;--tx-244637:#244637;--tx-24465b:#24465b;--tx-244d38:#244d38;--tx-24594d:#24594d;--tx-254b3c:#254b3c;--tx-284630:#284630;--tx-284d3b:#284d3b;--tx-2a2108:#2a2108;--tx-2f6ad0:#2f6ad0;--tx-2f7bf6:#2f7bf6;--tx-345f50:#345f50;--tx-3f5a4b:#3f5a4b;--tx-3f6177:#3f6177;--tx-3f6b57:#3f6b57;--tx-40543f:#40543f;--tx-41584f:#41584f;--tx-425f50:#425f50;--tx-44564b:#44564b;--tx-46683d:#46683d;--tx-476052:#476052;--tx-476557:#476557;--tx-4a5a52:#4a5a52;--tx-4a5e53:#4a5e53;--tx-4b625a:#4b625a;--tx-4c5d52:#4c5d52;--tx-4d5d53:#4d5d53;--tx-4d6358:#4d6358;--tx-4f5f54:#4f5f54;--tx-516957:#516957;--tx-526858:#526858;--tx-52685e:#52685e;--tx-526c5d:#526c5d;--tx-526d5c:#526d5c;--tx-53664c:#53664c;--tx-53675c:#53675c;--tx-53685a:#53685a;--tx-536a5b:#536a5b;--tx-536a5c:#536a5c;--tx-566a5d:#566a5d;--tx-566c50:#566c50;--tx-566d5d:#566d5d;--tx-576b5b:#576b5b;--tx-586e50:#586e50;--tx-5a6a60:#5a6a60;--tx-5a6c50:#5a6c50;--tx-5a6f66:#5a6f66;--tx-5b3d0c:#5b3d0c;--tx-5b4a7a:#5b4a7a;--tx-5b6c61:#5b6c61;--tx-5c4a2e:#5c4a2e;--tx-5c6a60:#5c6a60;--tx-5c7257:#5c7257;--tx-5d6e65:#5d6e65;--tx-5d7354:#5d7354;--tx-5e6d61:#5e6d61;--tx-5f6f66:#5f6f66;--tx-607061:#607061;--tx-607065:#607065;--tx-61715e:#61715e;--tx-617364:#617364;--tx-626b63:#626b63;--tx-63705d:#63705d;--tx-637065:#637065;--tx-63735e:#63735e;--tx-63756a:#63756a;--tx-63775d:#63775d;--tx-63786d:#63786d;--tx-646d64:#646d64;--tx-647166:#647166;--tx-647267:#647267;--tx-647363:#647363;--tx-64746a:#64746a;--tx-665539:#665539;--tx-66766c:#66766c;--tx-677267:#677267;--tx-67775e:#67775e;--tx-687368:#687368;--tx-6a470e:#6a470e;--tx-6a756a:#6a756a;--tx-6b786e:#6b786e;--tx-6c7767:#6c7767;--tx-6c7866:#6c7866;--tx-6d7b6e:#6d7b6e;--tx-6e8072:#6e8072;--tx-708076:#708076;--tx-748457:#748457;--tx-76816d:#76816d;--tx-793d28:#793d28;--tx-7a4a10:#7a4a10;--tx-7a6a45:#7a6a45;--tx-7a6a52:#7a6a52;--tx-7a6d58:#7a6d58;--tx-7a9080:#7a9080;--tx-7b8175:#7b8175;--tx-7c9e87:#7c9e87;--tx-7d3f28:#7d3f28;--tx-7d8b80:#7d8b80;--tx-7d8f83:#7d8f83;--tx-8a2f2f:#8a2f2f;--tx-8a5100:#8a5100;--tx-8a5612:#8a5612;--tx-8a5a14:#8a5a14;--tx-8a5a1c:#8a5a1c;--tx-8a9a8f:#8a9a8f;--tx-934a39:#934a39;--tx-955232:#955232;--tx-9a4a2b:#9a4a2b;--tx-9a5a12:#9a5a12;--tx-9a5b17:#9a5b17;--tx-9aa69c:#9aa69c;--tx-9b2c1f:#9b2c1f;--tx-9b2c2c:#9b2c2c;--tx-a14e40:#a14e40;--tx-a33a2a:#a33a2a;--tx-a33d2b:#a33d2b;--tx-a45845:#a45845;--tx-a9c2b4:#a9c2b4;--tx-b2613f:#b2613f;--tx-b36848:#b36848;--tx-c9822b:#c9822b;--tx-ffd79a:#ffd79a;--bg-0b2821:#0b2821;--bg-173a31:#173a31;--bg-183b31:#183b31;--bg-3f6b57:#3f6b57;--bg-b4e3ce:#b4e3ce;--bg-b9dbe1:#b9dbe1;--bg-b9dce6:#b9dce6;--bg-c9822b:#c9822b;--bg-cbded8:#cbded8;--bg-cfd6cc:#cfd6cc;--bg-cfe6ea:#cfe6ea;--bg-d3dfbb:#d3dfbb;--bg-d3e3a6:#d3e3a6;--bg-d5e3cf:#d5e3cf;--bg-d5e3d2:#d5e3d2;--bg-d6e0d0:#d6e0d0;--bg-d6eaee:#d6eaee;--bg-d7e5c5:#d7e5c5;--bg-d8e7fb:#d8e7fb;--bg-dae5d6:#dae5d6;--bg-dbe8d3:#dbe8d3;--bg-dbe9d3:#dbe9d3;--bg-dce7c5:#dce7c5;--bg-dce8cc:#dce8cc;--bg-dce8dd:#dce8dd;--bg-dce9a7:#dce9a7;--bg-dce9df:#dce9df;--bg-dcebd4:#dcebd4;--bg-dcefe2:#dcefe2;--bg-dfe7dc:#dfe7dc;--bg-dfe8d9:#dfe8d9;--bg-e0e8dd:#e0e8dd;--bg-e0ede2:#e0ede2;--bg-e1ead9:#e1ead9;--bg-e1eadc:#e1eadc;--bg-e2eadb:#e2eadb;--bg-e2ebd9:#e2ebd9;--bg-e2ece0:#e2ece0;--bg-e3ebe2:#e3ebe2;--bg-e3eee4:#e3eee4;--bg-e4e8e1:#e4e8e1;--bg-e5ece0:#e5ece0;--bg-e5ece1:#e5ece1;--bg-e5ece3:#e5ece3;--bg-e5edbd:#e5edbd;--bg-e5ede0:#e5ede0;--bg-e5eedb:#e5eedb;--bg-e5eedf:#e5eedf;--bg-e6d9b4:#e6d9b4;--bg-e6ecdf:#e6ecdf;--bg-e6eddb:#e6eddb;--bg-e6eddc:#e6eddc;--bg-e6eedb:#e6eedb;--bg-e6eff6:#e6eff6;--bg-e7e9e6:#e7e9e6;--bg-e7ebe2:#e7ebe2;--bg-e7ecdd:#e7ecdd;--bg-e7ecdf:#e7ecdf;--bg-e7eedf:#e7eedf;--bg-e7eee1:#e7eee1;--bg-e8a13a:#e8a13a;--bg-e8eddf:#e8eddf;--bg-e8eee5:#e8eee5;--bg-e8efde:#e8efde;--bg-e8efdf:#e8efdf;--bg-e8f0e2:#e8f0e2;--bg-e8f1ec:#e8f1ec;--bg-e9eddf:#e9eddf;--bg-e9eee3:#e9eee3;--bg-e9eee4:#e9eee4;--bg-e9eee5:#e9eee5;--bg-e9eee6:#e9eee6;--bg-e9eef6:#e9eef6;--bg-e9efdf:#e9efdf;--bg-e9efe1:#e9efe1;--bg-e9f1c8:#e9f1c8;--bg-eaf0e2:#eaf0e2;--bg-eaf0e5:#eaf0e5;--bg-ece6f3:#ece6f3;--bg-eceee7:#eceee7;--bg-edf0df:#edf0df;--bg-edf0e2:#edf0e2;--bg-edf0e7:#edf0e7;--bg-edf1e5:#edf1e5;--bg-edf1e6:#edf1e6;--bg-edf1e7:#edf1e7;--bg-edf1e8:#edf1e8;--bg-edf2e5:#edf2e5;--bg-edf2e7:#edf2e7;--bg-edf2e9:#edf2e9;--bg-edf3ed:#edf3ed;--bg-eee8d9:#eee8d9;--bg-eeeeee:#eeeeee;--bg-eef0df:#eef0df;--bg-eef0e5:#eef0e5;--bg-eef1e9:#eef1e9;--bg-eef1ea:#eef1ea;--bg-eef2e4:#eef2e4;--bg-eef6ef:#eef6ef;--bg-efeedb:#efeedb;--bg-f0f1e8:#f0f1e8;--bg-f0f2e4:#f0f2e4;--bg-f0f2e9:#f0f2e9;--bg-f0f3eb:#f0f3eb;--bg-f1f0df:#f1f0df;--bg-f1f3e9:#f1f3e9;--bg-f1f3ef:#f1f3ef;--bg-f1f4e6:#f1f4e6;--bg-f1f4ec:#f1f4ec;--bg-f1f4ee:#f1f4ee;--bg-f1f6f2:#f1f6f2;--bg-f2ecd4:#f2ecd4;--bg-f2f4e9:#f2f4e9;--bg-f2f6e8:#f2f6e8;--bg-f3ca75:#f3ca75;--bg-f3e6c6:#f3e6c6;--bg-f3f1e0:#f3f1e0;--bg-f3f5e8:#f3f5e8;--bg-f3f6ef:#f3f6ef;--bg-f4f1e6:#f4f1e6;--bg-f4f5e8:#f4f5e8;--bg-f4f5eb:#f4f5eb;--bg-f5ded3:#f5ded3;--bg-f5f2e8:#f5f2e8;--bg-f5f6ea:#f5f6ea;--bg-f6dc9c:#f6dc9c;--bg-f6edda:#f6edda;--bg-f6f4e6:#f6f4e6;--bg-f6f4ea:#f6f4ea;--bg-f6f7f3:#f6f7f3;--bg-f7f0dd:#f7f0dd;--bg-f7f6ed:#f7f6ed;--bg-f7f6ef:#f7f6ef;--bg-f7f8ee:#f7f8ee;--bg-f7f9f2:#f7f9f2;--bg-f8f6ea:#f8f6ea;--bg-fbecd6:#fbecd6;--bg-fbefd9:#fbefd9;--bg-fbf3df:#fbf3df;--bg-fbf3e4:#fbf3e4;--bg-fbf8ec:#fbf8ec;--bg-fbf9ee:#fbf9ee;--bg-fbfaf5:#fbfaf5;--bg-fbfaf6:#fbfaf6;--bg-fdecea:#fdecea;--bg-fdf0dc:#fdf0dc;--bg-fdf6ea:#fdf6ea;--bg-ffe9a8:#ffe9a8;--bg-fff3d6:#fff3d6;--bg-fff3db:#fff3db;--bg-fff4df:#fff4df;--bg-fff6dc:#fff6dc;--bg-fffaf0:#fffaf0;--bg-fffaf2:#fffaf2;--bg-fffdf4:#fffdf4;--bg-fffdf6:#fffdf6;--bg-fffdf7:#fffdf7;--bg-fffdf9:#fffdf9;--bg-ffffff:#ffffff;--bd-173a31:#173a31;--bd-183b31:#183b31;--bd-b4e3ce:#b4e3ce;--bd-b6c9b7:#b6c9b7;--bd-b7c8b2:#b7c8b2;--bd-b7cbb2:#b7cbb2;--bd-b7ccc2:#b7ccc2;--bd-b8c4bb:#b8c4bb;--bd-b8c7ae:#b8c7ae;--bd-b8c7b3:#b8c7b3;--bd-b9c5b6:#b9c5b6;--bd-b9c7b6:#b9c7b6;--bd-b9d6c0:#b9d6c0;--bd-bac8b7:#bac8b7;--bd-bacbb6:#bacbb6;--bd-bccfb1:#bccfb1;--bd-bdc9b2:#bdc9b2;--bd-bdc9b9:#bdc9b9;--bd-bdc9bd:#bdc9bd;--bd-bdccba:#bdccba;--bd-becdbd:#becdbd;--bd-bfcab7:#bfcab7;--bd-bfcebf:#bfcebf;--bd-c3cfbb:#c3cfbb;--bd-c4d0c0:#c4d0c0;--bd-c5d2c5:#c5d2c5;--bd-c5d4b9:#c5d4b9;--bd-c6d2c2:#c6d2c2;--bd-c7d3c7:#c7d3c7;--bd-c8d3bd:#c8d3bd;--bd-c8d3c2:#c8d3c2;--bd-c8d6c1:#c8d6c1;--bd-c9d2c2:#c9d2c2;--bd-c9d6c9:#c9d6c9;--bd-c9d8c9:#c9d8c9;--bd-cbd2c9:#cbd2c9;--bd-cbd3c5:#cbd3c5;--bd-cbd5c9:#cbd5c9;--bd-cbd6c5:#cbd6c5;--bd-cbd6c8:#cbd6c8;--bd-cbd8c4:#cbd8c4;--bd-cbd8c5:#cbd8c5;--bd-cbd8c8:#cbd8c8;--bd-cbd9cb:#cbd9cb;--bd-ccd5c7:#ccd5c7;--bd-ccd5c8:#ccd5c8;--bd-ccd6c2:#ccd6c2;--bd-cdd6c5:#cdd6c5;--bd-cfe0d6:#cfe0d6;--bd-d0d8ce:#d0d8ce;--bd-d0daca:#d0daca;--bd-d1dccc:#d1dccc;--bd-d2dac5:#d2dac5;--bd-d3dcd1:#d3dcd1;--bd-d3ddce:#d3ddce;--bd-d4ddce:#d4ddce;--bd-d4ded7:#d4ded7;--bd-d4dfc4:#d4dfc4;--bd-d5ddcf:#d5ddcf;--bd-d5ded6:#d5ded6;--bd-d6dbd1:#d6dbd1;--bd-d6dcd3:#d6dcd3;--bd-d6dfd0:#d6dfd0;--bd-d7ded2:#d7ded2;--bd-d7e0ce:#d7e0ce;--bd-d8d9d0:#d8d9d0;--bd-d8ddd1:#d8ddd1;--bd-d8ddd3:#d8ddd3;--bd-d8ded2:#d8ded2;--bd-d8dfcb:#d8dfcb;--bd-d8dfce:#d8dfce;--bd-d8dfd6:#d8dfd6;--bd-d8e0d2:#d8e0d2;--bd-d9c79a:#d9c79a;--bd-d9dfd1:#d9dfd1;--bd-d9dfd3:#d9dfd3;--bd-d9dfd5:#d9dfd5;--bd-d9e0d2:#d9e0d2;--bd-d9e0d5:#d9e0d5;--bd-d9e3d3:#d9e3d3;--bd-d9e3de:#d9e3de;--bd-dbe5dc:#dbe5dc;--bd-dce3d6:#dce3d6;--bd-dce3d9:#dce3d9;--bd-dce3da:#dce3da;--bd-dce3dc:#dce3dc;--bd-dddddd:#dddddd;--bd-deded2:#deded2;--bd-dedfd4:#dedfd4;--bd-dfe5dc:#dfe5dc;--bd-dfe8d8:#dfe8d8;--bd-e0e4d4:#e0e4d4;--bd-e0e4d9:#e0e4d9;--bd-e0e4dc:#e0e4dc;--bd-e0e6d9:#e0e6d9;--bd-e1e5da:#e1e5da;--bd-e3d3b5:#e3d3b5;--bd-e3e8e0:#e3e8e0;--bd-e3e8e1:#e3e8e1;--bd-e3eee4:#e3eee4;--bd-ecd3a1:#ecd3a1;--bd-eef1ec:#eef1ec;--bd-f4f5e8:#f4f5e8;--bd-f5d6a6:#f5d6a6;--bd-ffffff:#ffffff;--bga-ffffff-p28:rgba(255,255,255,.28);--bgx-eef2e4f2:#eef2e4f2;--bgx-f0f2e4e9:#f0f2e4e9;--bgx-f0f2e4eb:#f0f2e4eb;--bgx-f0f2e4ed:#f0f2e4ed;--bgx-f0f2e4f4:#f0f2e4f4;--bgx-f0f2e4f5:#f0f2e4f5;--bgx-f3f5e8d9:#f3f5e8d9;--bgx-f3f5e8e6:#f3f5e8e6;--bgx-f4f5e8b8:#f4f5e8b8;--bgx-f4f5e8e8:#f4f5e8e8;--bgx-f4f5e8f0:#f4f5e8f0;--bgx-f4f5e8f2:#f4f5e8f2;--bgx-f4f5e8f5:#f4f5e8f5;--bgx-f5f6eae6:#f5f6eae6;--bgx-f5f6eaf2:#f5f6eaf2;--bgx-f5f6eaf5:#f5f6eaf5;--bgx-fbf9f3f2:#fbf9f3f2;--bgx-ffffff14:#ffffff14;--bgx-ffffff1f:#ffffff1f;--bgx-ffffff22:#ffffff22;--bgx-ffffff26:#ffffff26;--bgx-ffffff2e:#ffffff2e;--bgx-ffffff33:#ffffff33;--bgx-ffffffb3:#ffffffb3;--bgx-ffffffe6:#ffffffe6}
:root{--forest:#173a31;--deep:#0b2821;--paper:#f0f2e4;--cream:#f5f2e8;--muted:#5a6a60;--line:#d0d8ce;--clay:#a45845;--text:#172c25;color:var(--text);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100svh;padding-bottom:calc(92px + env(safe-area-inset-bottom));overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.upload-button:focus-within{outline:3px solid var(--clay);outline-offset:3px}[hidden]{display:none!important}
.skip-link{position:absolute;top:-100px;left:12px;z-index:999;background:white;padding:12px}.skip-link:focus{top:12px}
.topbar{height:calc(70px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,4vw) 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd-d8ddd1);background:var(--paper)}
.brand-wrap{position:relative;display:flex;align-items:center}.brand-image{width:145px;max-height:45px;object-fit:contain;object-position:left}.brand-fallback{font-size:17px;letter-spacing:.17em;font-weight:800;display:none}.brand-image:not([src]),.brand-image[src=""]{display:none}.brand-image:not([src])+.brand-fallback{display:block}
.account-link{background:transparent;border:0;color:var(--tx-173a31);font-size:12px;padding:12px 5px;min-height:44px;font-weight:650}
.screen{width:min(1100px,100%);margin:0 auto;padding:0 18px 65px}.hero{position:relative;isolation:isolate;overflow:hidden;margin:20px 0 0;padding:45px 30px 43px;background:linear-gradient(125deg,#122d26,#244d3c);color:#f7f8ed;border-radius:20px}
.hero-orbit{position:absolute;right:-130px;top:-160px;width:400px;height:400px;border-radius:50%;border:1px solid #b5c7a337;box-shadow:0 0 0 35px #b5c7a30a,0 0 0 80px #b5c7a308;z-index:-1;pointer-events:none}
.eyebrow{display:inline-block;font-size:10px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--tx-6e8072)}.eyebrow.light{color:#d0dfc7}
.hero h1,.section-hero h1{font:normal clamp(48px,7.7vw,85px)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:21px 0 17px}.hero h1 span{color:#da9074}
.hero p{color:#e3ebde;max-width:410px;line-height:1.65;font-size:15px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.button{min-height:46px;padding:12px 17px;border:1px solid transparent;border-radius:11px;display:inline-flex;justify-content:center;align-items:center;gap:5px;text-decoration:none;font-size:13px;font-weight:700;line-height:1.3}
.button-clay{background:var(--clay);color:white}.button-forest{background:var(--bg-173a31);color:#fff}.button-light{background:var(--bg-f4f1e6);color:var(--tx-173a31)}.button-paper{background:var(--paper);color:var(--tx-173a31);border-color:var(--bd-c7d3c7)}.button-subtle{background:transparent;color:var(--tx-173a31);border-color:var(--bd-d8d9d0)}.button-outline-light{background:transparent;color:white;border-color:#8eab9c}.button.wide{width:100%;margin-top:14px}
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:0 0 17px 17px;margin:0 8px 24px;background:var(--bg-fffdf9);overflow:hidden}
.overview-grid>div{padding:19px 12px;display:flex;flex-direction:column;align-items:center;gap:2px;border-right:1px solid var(--line)}.overview-grid>div:last-child{border:0}.overview-grid strong{font:normal 33px Georgia,serif;color:var(--tx-173a31)}.overview-grid span{font-size:11px;color:var(--muted)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:30px 4px 14px}.section-heading h2,.pocket-card h2{font:normal clamp(25px,4vw,32px)/1.14 Georgia,serif;margin:6px 0 0}.quiet-note{font-size:11px;line-height:1.5;color:var(--muted)}.text-action{background:transparent;color:var(--tx-173a31);border:0;text-decoration:underline;text-underline-offset:3px;font-weight:700;font-size:12px;min-height:44px}
.world-stage{background:var(--bg-e2ece0);border:1px solid var(--line);border-radius:17px;overflow:hidden}.map-surface{height:auto;aspect-ratio:2/1;min-height:205px;position:relative;overflow:hidden;background:var(--bg-dce9df);touch-action:manipulation}.map-land{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.map-hitbox{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;z-index:1;cursor:crosshair}.map-pins{position:absolute;inset:0;pointer-events:none;z-index:2}.map-pin{pointer-events:auto;position:absolute;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;box-shadow:none}.map-pin::after{content:"";display:block;width:20px;height:20px;margin:auto;border:3px solid var(--bd-ffffff);border-radius:50%;background:var(--clay);box-shadow:0 2px 6px #143a2c55}.map-pin[aria-pressed=true]::after{width:28px;height:28px;background:var(--bg-173a31);box-shadow:0 2px 14px #143a2c88}.map-pin:hover::after{filter:brightness(1.08)}
.map-hint{position:absolute;z-index:2;left:14px;bottom:13px;padding:7px 11px;background:var(--bgx-f0f2e4e9);border-radius:20px;font-size:10px;pointer-events:none;color:var(--tx-173a31)}.map-caption{border-top:1px solid var(--bd-c9d6c9);background:var(--bg-f0f2e4);padding:12px 15px;font-size:11px;color:var(--tx-53685a)}
.places-and-detail{display:grid;grid-template-columns:minmax(240px,35%) minmax(0,1fr);gap:15px;min-height:185px}.places-list,.place-detail{background:var(--bg-f4f5e8);border:1px solid var(--line);border-radius:16px;padding:18px}
.empty{font:normal 21px/1.45 Georgia,serif;color:var(--tx-64746a);padding:10px}.country-group{border-bottom:1px solid var(--bd-dce3da);padding:9px 0}.country-group:last-child{border-bottom:0}.country-group>summary{list-style:none;cursor:pointer;font-weight:750;color:var(--tx-173a31);min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.country-group>summary::-webkit-details-marker{display:none}.country-group>summary:after{content:"⌄";font-size:17px;color:var(--tx-7a9080)}.place-row{display:flex;justify-content:space-between;width:100%;gap:10px;align-items:center;text-align:left;border:0;border-radius:8px;padding:12px 10px;background:transparent;color:var(--text);min-height:50px}.place-row[aria-pressed=true]{background:var(--bg-e8eee5)}.place-row strong{display:block;font-size:13px}.place-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.place-detail h3{font:normal 26px/1.15 Georgia,serif;color:var(--tx-173a31);margin:8px 0}.place-detail h4{font:normal 19px Georgia,serif;margin:22px 0 9px}.place-detail p{font-size:13px;line-height:1.55;color:var(--muted)}.place-detail .detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.memory-row{border-top:1px solid var(--bd-dce3da);padding:14px 0}.memory-row p{margin:6px 0;font-size:13px;color:var(--text);overflow-wrap:anywhere}.memory-row img{width:100%;max-width:350px;border-radius:11px;display:block;margin-top:10px;object-fit:contain}.memory-date{font-size:11px;color:var(--muted)}.memory-actions{display:flex;justify-content:flex-end}.memory-actions button,.danger-action{color:var(--tx-a14e40);background:transparent;border:0;font-size:11px;padding:9px 10px;min-height:42px}
.pocket-card{margin:28px 0 0;border-radius:17px;border:1px solid var(--bd-c5d2c5);background:var(--bg-e9eee5);padding:25px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,1fr);gap:24px}.pocket-card p{font-size:13px;line-height:1.55;color:var(--tx-566d5d)}.privacy-copy{font-size:11px!important;color:var(--tx-6d7b6e)!important}.pocket-actions{display:flex;flex-direction:column;gap:10px}.upload-button{position:relative;overflow:hidden;cursor:pointer}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.import-review{background:var(--bg-f0f2e4);padding:13px;border:1px solid var(--line);border-radius:12px}.import-review p{font-size:12px;margin:0 0 8px}.import-review button{width:100%;margin-top:7px}
.section-hero{padding:55px 4px 30px}.section-hero h1{color:var(--tx-173a31);font-size:clamp(42px,8vw,72px);max-width:800px}.section-hero p{max-width:600px;color:var(--muted);line-height:1.65}
.destination-feature,.feed-invitation{background:linear-gradient(130deg,var(--bg-173a31),#416550);padding:35px;border-radius:17px;color:white;min-height:290px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.destination-feature h2,.feed-invitation h2{font:normal clamp(32px,6vw,49px)/1.08 Georgia,serif;max-width:650px;margin:12px 0}.destination-feature p,.feed-invitation p{color:#dceadc;max-width:470px;font-size:14px;line-height:1.6}.destination-feature .button,.feed-invitation .button{margin-top:12px}
.destination-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:16px}.destination-grid article,.feed-small{padding:25px;background:var(--bg-f0f2e4);border:1px solid var(--line);border-radius:16px}.destination-grid h3,.feed-small h3{font:normal 27px Georgia,serif;margin:9px 0;color:var(--tx-173a31)}.destination-grid p,.feed-small p{font-size:13px;color:var(--muted);line-height:1.6}.feed-small{margin-top:15px}.info-note{padding:12px 3px}
.plan-list{display:grid;gap:13px}.plan-option{background:var(--bg-f0f2e4);border:1px solid var(--line);border-radius:17px;padding:24px;display:flex;gap:23px}.plan-option .step{font:normal 30px Georgia,serif;color:var(--clay)}.plan-option h2{font:normal 27px Georgia,serif;margin:0;color:var(--tx-173a31)}.plan-option p{font-size:13px;color:var(--muted);line-height:1.6;max-width:570px}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:stretch;justify-content:space-around;background:var(--bgx-f0f2e4f4);border-top:1px solid var(--bd-cbd5c9);box-shadow:0 -3px 21px #14211d1a;padding:7px 6px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.tabs button{flex:1;max-width:160px;min-height:58px;padding:5px 2px;border:0;background:transparent;border-radius:11px;display:flex;gap:2px;align-items:center;justify-content:center;flex-direction:column;color:var(--tx-607065);font-size:10px;font-weight:700}.tabs button[aria-current=page]{color:var(--tx-173a31);background:var(--bg-e5ece3)}.tab-icon{font-size:23px;font-weight:400;line-height:1.1}
.rovo-entry{position:fixed;right:14px;bottom:calc(90px + env(safe-area-inset-bottom));z-index:19;background:var(--bg-173a31);color:white;border-radius:40px;border:1px solid var(--bd-d2dac5);padding:12px 17px;font-size:12px;font-weight:750;box-shadow:0 5px 15px #173a313e;min-height:44px}
.global-status{position:fixed;bottom:calc(155px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(510px,calc(100% - 26px));padding:12px 16px;background:#18392f;color:#fff;border-radius:10px;z-index:22;font-size:12px;box-shadow:0 10px 35px #18392f44}
.editor-dialog{width:min(490px,calc(100% - 20px));max-height:calc(100svh - 24px);overflow:auto;padding:24px;background:var(--bg-f0f2e4);border:1px solid var(--bd-bdc9b9);border-radius:20px;color:var(--text)}
.editor-dialog::backdrop{background:#112c24ba;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading button{background:transparent;border:0;font-size:28px;line-height:1;padding:6px 12px;min-height:44px}.editor-dialog h2{font:normal 30px Georgia,serif;margin:12px 0}.editor-dialog p{font-size:12px;color:var(--muted);line-height:1.55}
.editor-dialog label{display:block;margin:14px 0;font-size:12px;font-weight:650}.editor-dialog input:not([type=file]),.editor-dialog textarea{display:block;width:100%;border:1px solid var(--bd-cbd3c5);border-radius:10px;background:white;padding:12px;margin-top:6px;min-height:44px;color:var(--text)}.editor-dialog textarea{min-height:105px;resize:vertical}
.editor-dialog input[type=file]{display:block;margin:9px 0;width:100%;font-size:12px}.coordinate-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-status{min-height:1em}.memory-for{font-weight:750;color:var(--tx-173a31)!important}
@media(max-width:650px){.screen{padding-left:12px;padding-right:12px}.hero{margin-top:11px;padding:40px 24px 35px;border-radius:14px}.hero h1{font-size:61px}.hero p{font-size:13px}.overview-grid{margin-bottom:24px}.overview-grid strong{font-size:28px}.overview-grid span{font-size:10px}.section-heading{align-items:start}.section-heading>.quiet-note{max-width:112px;text-align:right}.places-and-detail{display:flex;flex-direction:column}.place-detail{padding:20px}.pocket-card{grid-template-columns:1fr;gap:9px;padding:23px}.map-surface{min-height:187px}.section-hero{padding-top:37px}.section-hero h1{font-size:48px}.destination-grid{grid-template-columns:1fr}.destination-feature,.feed-invitation{padding:27px;min-height:265px}.plan-option{padding:19px;gap:15px}.topbar .account-link{font-size:11px}.brand-image{width:126px}.rovo-entry{right:12px}}
@media(min-width:1000px){.world-stage{max-width:1080px}.hero{padding:54px 55px}.places-and-detail{grid-template-columns:340px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}


/* Progressive story map: simple offline chronology, not road-true routing. */
.arc-route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.arc-route-segment{fill:none;stroke:var(--tx-a45845);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 4;opacity:.8}
.arc-playback{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;background:var(--bg-f0f2e4);border-top:1px solid var(--bd-c9d6c9)}
.arc-playback-status{display:flex;gap:3px;flex-direction:column;min-width:0}
.arc-playback-status strong{font-size:12px;color:var(--tx-173a31);line-height:1.35}
.arc-playback-actions{display:flex;align-items:center;gap:5px}
.arc-playback-actions button{min-width:42px;min-height:42px;background:var(--bg-edf0e7);border:1px solid var(--bd-cbd9cb);border-radius:11px;color:var(--tx-173a31);padding:8px;font-size:12px;font-weight:700}
.arc-playback-actions button:first-child{background:var(--bg-173a31);color:#fff;min-width:67px}
.arc-playback-actions button:disabled{opacity:.35}
@media(max-width:600px){.arc-playback{align-items:flex-start;flex-direction:column;gap:10px}.arc-playback-actions{width:100%}.arc-playback-actions button{flex:1}}

/* Optional, consent-first World Pocket native pairing; no account wall. */
.sync-card{margin:20px 0 40px;border:1px solid var(--bd-b6c9b7);background:var(--bg-f7f9f2);border-radius:17px;padding:24px}
.sync-card h2{font:normal 29px Georgia,serif;color:var(--tx-173a31);margin:9px 0}
.sync-card p{font-size:13px;line-height:1.6;color:var(--tx-536a5c)}
.sync-card .button{margin:7px 0}
.sync-code{font:700 24px/1.35 ui-monospace,monospace!important;letter-spacing:.11em;color:var(--tx-173a31)!important;overflow-wrap:anywhere;background:var(--bg-e0ede2);padding:13px;border-radius:11px}
.sync-buttons{display:flex;flex-wrap:wrap;gap:9px}.sync-buttons>*{flex:1 1 160px}

/* Connected route previews never write private itinerary data to disk. */
.trip-shelf{background:var(--bg-e9eee5);border:1px solid var(--bd-c5d2c5);border-radius:17px;padding:22px;margin-bottom:22px}
.trip-shelf-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.trip-shelf h2{font:normal 27px Georgia,serif;color:var(--tx-173a31);margin:7px 0}
.trip-shelf p{font-size:12px;line-height:1.6;color:var(--tx-536a5b)}
.trip-shelf h3{font:normal 20px Georgia,serif;margin:12px 0;color:var(--tx-173a31)}
.trip-shelf-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trip-shelf-columns>div{min-width:0}
.trip-shelf-entry{display:flex;flex-direction:column;align-items:start;text-align:left;gap:4px;width:100%;border:1px solid var(--bd-bfcebf);border-radius:11px;background:var(--bg-f0f2e4);padding:13px;min-height:52px;margin-bottom:8px;color:var(--tx-173a31)}
.trip-shelf-entry strong{font-size:13px;overflow-wrap:anywhere}
.trip-shelf-entry small{font-size:11px;color:var(--muted)}
.trip-shelf-empty{font-style:italic}
.trip-shelf-detail{padding:16px;margin:15px 0;background:var(--bg-fffdf9);border:1px solid var(--line);border-radius:13px}
.trip-shelf-detail h3{font-size:23px}
.trip-shelf-stops{padding-left:21px;line-height:1.65;font-size:13px}
.trip-shelf-stops li{padding:4px 0;overflow-wrap:anywhere}
@media(max-width:650px){.trip-shelf-columns{grid-template-columns:1fr}.trip-shelf-header>.button{width:100%}}

:root{--cream:#eff2e5;--paper:#f5f6ea;--line:#dedfd7}
.screen{max-width:1100px;padding-bottom:32px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 18px}
.page-heading h1{font:700 clamp(34px,5vw,48px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0;color:var(--tx-173a31)}
.page-heading p{color:var(--muted);font-size:15px;margin:10px 0 0;line-height:1.45}
.overview-grid{border:0;border-radius:0;background:transparent;margin:0 0 18px;display:flex;gap:26px}
.overview-grid>div{border:0;padding:0;flex-direction:row;gap:7px;align-items:baseline}
.overview-grid strong{font-size:25px}.overview-grid span{font-size:12px}
.section-heading{margin:22px 0 12px;align-items:center}.section-heading h2{font-size:25px;margin:0}
.world-stage{border-radius:12px}.map-surface{min-height:0;aspect-ratio:2/1}
.arc-playback{padding:8px 12px}.arc-playback-status strong{font-weight:500}.map-caption{padding:8px 12px;font-size:12px}
.arc-playback-actions button{min-height:44px;min-width:44px}
.places-and-detail:not(:has(.place-detail:not([hidden]))){grid-template-columns:1fr;min-height:0}
.empty{font:14px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;padding:5px;margin:4px;color:var(--muted)}
.tabs{box-shadow:none}.tabs button{font-size:12px;max-width:240px}.account-link{font-size:14px!important;padding:12px;border:1px solid var(--line);border-radius:9px}.account-link[aria-current=page]{background:var(--bg-e5ece3)}
.action-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:22px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--tx-173a31);min-height:62px;font-size:16px}
.action-row strong{display:block;font:700 23px/1.2 Georgia,serif}.action-row small{display:block;font-size:14px;color:var(--muted);margin-top:7px;line-height:1.4}.action-row:hover{background:var(--bg-eef1e9)}.discovery-list{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.pocket-card,.sync-card{background:var(--paper);margin:0 0 18px;padding:22px;border-color:var(--line)}
.pocket-card h2,.sync-card h2{font-size:26px;margin:0}.pocket-card p,.sync-card p{font-size:14px}.privacy-copy{font-size:12px!important}
.trip-shelf{background:var(--paper);border-color:var(--line);padding:20px}.trip-shelf p{font-size:14px}.trip-shelf h2{margin:0}
.staging-label{margin:0;padding:5px 18px;text-align:center;font-size:11px;background:var(--bg-eee8d9);color:var(--tx-665539)}
.global-status{bottom:calc(90px + env(safe-area-inset-bottom));font-size:14px}
.editor-dialog label{font-size:14px}.editor-dialog input:not([type=file]),.editor-dialog textarea{font-size:16px}
button:disabled{cursor:default;opacity:.5}
@media(max-width:650px){.page-heading{padding:23px 0 16px;gap:10px;flex-wrap:wrap}.page-heading h1{font-size:36px}.page-heading p{font-size:14px}.page-heading .button{padding:12px;font-size:13px}.overview-grid{gap:20px}.overview-grid span{font-size:11px}.overview-grid strong{font-size:23px}.arc-playback{flex-direction:row;align-items:center;flex-wrap:wrap}.arc-playback-actions{width:auto;flex:1;justify-content:flex-end}.arc-playback-actions button{flex:0}.discovery-list{grid-template-columns:1fr}.action-row{padding:20px}.trip-shelf-header>.button{width:auto}.screen{padding-bottom:20px}.places-and-detail{gap:12px}}

.transfer-options{display:block}
.pocket-card:has(#storage-title){display:block}
.pocket-card:has(#storage-title) h3{margin-top:28px}
.pocket-card:has(#storage-title) .pocket-actions{max-width:480px}
.transfer-options summary{cursor:pointer;min-height:44px;align-content:center;font-size:14px;color:var(--tx-173a31)}
.transfer-options[open] summary{margin-bottom:20px}
#screen-plan .plan-list{display:grid;gap:14px;margin-top:20px}
#screen-plan .trip-shelf{margin-top:8px}
#arcs-connect{margin-top:8px}

.feed-toolbar{display:flex;align-items:center;gap:12px;margin:8px 0 18px}
.feed-filters{display:flex;gap:8px;overflow-x:auto;padding:4px;flex:1}
.feed-filters button{white-space:nowrap;border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:12px 16px;min-height:44px;color:var(--tx-173a31)}
.feed-filters button[aria-pressed=true]{background:var(--bg-173a31);color:white}
#world-feed{display:grid;gap:20px;max-width:720px;margin:auto}
.world-post{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:22px;overflow:hidden}
.post-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:16px}
.world-post>img,.world-post>video{width:100%;max-height:480px;object-fit:cover;border-radius:10px}
.world-post h2{font:700 27px/1.2 Georgia,serif;margin:18px 0 8px}
.world-post p{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.world-post .post-byline{font-size:12px;color:var(--muted)}
.world-post summary{cursor:pointer;line-height:1.6;font-size:15px}
#feed-more{display:block;margin:22px auto}
#feed-more[hidden]{display:none}
@media(max-width:650px){.feed-toolbar{flex-wrap:wrap}.feed-filters{flex-basis:100%}.world-post{padding:16px}}

.post-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;border-radius:10px}.post-photos img{flex:0 0 100%;width:100%;max-height:480px;object-fit:contain;scroll-snap-align:start;background:var(--bg-eeeeee)}.post-location{height:190px;margin-top:18px;border-radius:12px;overflow:hidden;background:var(--bg-e0e8dd);z-index:0}.post-location .leaflet-control-attribution{font-size:9px!important}

#arc-worlds{margin:24px 0 32px}.arc-world-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.arc-world-head h2{margin:0;font:700 30px Georgia,serif}.arc-world-head p{color:var(--muted);font-size:14px}.arc-world-tabs{display:flex;gap:6px;margin:18px 0;flex-wrap:wrap}.arc-world-tabs button{min-height:44px;border:1px solid var(--line);border-radius:30px;padding:10px 18px;background:var(--paper);color:var(--tx-173a31)}.arc-world-tabs button[aria-pressed=true]{background:var(--bg-173a31);color:white}.arc-world-list{display:grid;gap:16px}.arc-world-card{padding:26px;border-radius:20px;border:1px solid var(--bd-cbd6c5);background:linear-gradient(140deg,var(--bg-edf1e5),var(--bg-f0f2e4))}.arc-world-card h3{font:700 30px Georgia,serif;margin:14px 0}.arc-state{font-size:11px;letter-spacing:2px;color:var(--tx-516957)}.arc-crew{font-size:14px;color:var(--tx-53675c)}.arc-feature-chips{display:flex;gap:8px;flex-wrap:wrap}.arc-feature-chips span{border-radius:20px;background:#fff9;padding:8px 12px;font-size:12px}.arc-world-empty{padding:35px 24px;border:1px dashed var(--bd-bac8b7);border-radius:18px}.arc-world-empty h3{font:700 25px Georgia,serif}.arc-world-empty p{color:var(--muted)}.arc-setup-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:24px;padding:26px;color:var(--tx-173a31);background:var(--paper)}.arc-setup-dialog::backdrop{background:#142c2370;backdrop-filter:blur(4px)}.arc-close{border:0;background:transparent;font-size:30px;min-width:44px;min-height:44px}.arc-field{display:grid;gap:8px;margin:18px 0;font-size:13px;font-weight:650}.arc-field input,.arc-field select{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font:inherit;font-size:16px;color:var(--tx-173a31)}.arc-capacity{padding:12px;border-radius:10px;background:var(--bg-e6ecdf);font-size:13px}.arc-option{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.arc-option strong,.arc-option small{display:block}.arc-option small{color:var(--muted);font-size:13px;margin-top:5px}.arc-option input{width:24px;height:24px;accent-color:var(--forest)}.arc-setup-dialog form>.button{width:100%;margin-top:10px}@media(max-width:550px){.arc-world-head{align-items:flex-start}.arc-world-head h2{font-size:25px}.arc-setup-dialog{padding:20px}.arc-world-tabs button{padding:10px 14px}}

#footprint-recorder{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:20px}#footprint-recorder h2{font:700 28px Georgia,serif}#footprint-recorder select{font:inherit;min-height:44px;border-radius:10px;padding:8px}#footprint-recorder article{margin-bottom:12px}

.arc-type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.arc-type-picker button{padding:16px 10px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--tx-173a31);text-align:left}.arc-type-picker button[aria-pressed=true]{background:var(--bg-173a31);color:white}.arc-type-picker strong,.arc-type-picker small{display:block}.arc-type-picker small{font-size:11px;line-height:1.4;margin-top:8px}.arc-type-picker button:disabled{opacity:1;cursor:default}.arc-world-card>.button{margin-right:8px;margin-top:8px}.crew-list{display:grid;gap:12px}.arc-crew-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--bg-edf1e5)}.arc-crew-card h3{font:700 22px Georgia,serif;margin:0}.arc-crew-card p{font-size:13px}

.marker-media-dialog{width:min(680px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--paper);color:var(--tx-173a31)}.marker-media-dialog::backdrop{background:#142c2388}.short-video video{width:100%;max-height:480px;border-radius:12px}.marker-private-photos{grid-column:1/-1;max-height:210px}.marker-private-photos:empty{display:none}.marker-private-photos img{max-height:210px}.map-place-card{max-height:65dvh;overflow:auto}

/* Creation tools and media composer */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.post-composer,.create-hub{width:min(620px,calc(100% - 20px));max-height:calc(100dvh - 28px);overflow:auto;padding:22px;border:1px solid var(--bd-d0d8ce);border-radius:24px;background:var(--bg-f0f2e4);color:var(--tx-173a31)}
.post-composer::backdrop,.create-hub::backdrop{background:#102b26b8;backdrop-filter:blur(5px)}
.compose-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.compose-header h2{font:normal 28px Georgia,serif;margin:0}.compose-header button{background:none;border:0;color:var(--tx-173a31);min-height:44px;padding:8px;font-size:14px}
.compose-media{background:var(--bg-e9eee3);border:1px solid var(--bd-d7e0ce);border-radius:18px;overflow:hidden}.compose-picker{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:250px;padding:24px;text-align:center}.compose-picker>span{font-size:38px;font-weight:300}.compose-picker small{color:var(--tx-5a6a60)}.compose-picker input{max-width:100%;font-size:12px;margin-top:12px}.has-media .compose-picker{min-height:0;padding:14px}.has-media .compose-picker>span,.has-media .compose-picker>strong{display:none}
#post-media{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px}#post-media:empty{display:none}#post-media figure{margin:0;min-width:100%;scroll-snap-align:start}#post-media img,#post-media video{display:block;width:100%;height:300px;object-fit:contain;background:#172c25}#post-media figcaption{display:flex;align-items:center;justify-content:space-around;font-size:12px;padding:5px}#post-media button{border:0;background:none;color:var(--tx-173a31);min-height:44px}
.compose-fields textarea{width:100%;min-height:95px;border:0;border-bottom:1px solid var(--bd-d0d8ce);background:transparent;padding:20px 0;font:inherit;resize:vertical}.compose-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--bd-d0d8ce);min-height:62px;font-size:13px}.compose-row input,.compose-row select{max-width:65%;min-height:44px;border:0;background:transparent;color:var(--tx-173a31);font:inherit}.compose-note,#post-status{font-size:12px;line-height:1.5;color:var(--tx-5a6a60)}.compose-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.compose-actions button{flex:1}.compose-library-heading{display:flex;justify-content:space-between;align-items:center}.compose-saved{display:grid;grid-template-columns:65px 1fr auto;gap:8px;padding:14px 0;border-bottom:1px solid var(--bd-d0d8ce)}.compose-saved img,.compose-saved video{grid-row:span 2;width:65px;height:75px;object-fit:cover;border-radius:10px}.compose-saved button{border:0;background:none;color:var(--tx-173a31);min-height:44px;text-align:left}.compose-saved small{grid-column:2;color:var(--tx-5a6a60)}.create-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px}.create-tools button{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;padding:22px;border:1px solid var(--bd-d0d8ce);border-radius:16px;background:var(--bg-f0f2e9);color:var(--tx-173a31)}.create-tools span{font-size:30px}.create-tools small{color:var(--tx-5a6a60);font-size:12px}.create-hub>p{color:var(--tx-5a6a60);font-size:13px}#create-memory{padding-top:20px}#create-memory select{display:block;width:100%;margin:12px 0;min-height:44px}#app-tabs [data-compose] .tab-icon{border-radius:50%;background:var(--bg-173a31);color:white;width:29px;height:29px;line-height:29px}
/* Map-first ARC overview; no private places are placed on this map. */
#screen-plan{position:relative}.arc-map-stage{position:relative;height:52dvh;min-height:330px;border-radius:22px;overflow:hidden;background:var(--bg-e9eee3)}#arc-map{height:100%;width:100%}#arc-map-home{position:absolute;top:14px;right:14px;z-index:500}#arc-map-status{position:absolute;bottom:24px;left:14px;right:14px;z-index:500;width:fit-content;background:var(--bgx-f0f2e4eb);padding:9px 12px;border-radius:12px;font-size:11px;pointer-events:none}.arc-bottom-sheet{position:relative;margin:-12px 0 0;padding:22px;background:var(--bg-f0f2e4);border:1px solid var(--bd-d0d8ce);border-radius:24px;z-index:600}.arc-bottom-sheet #arc-worlds{margin:0}.arc-bottom-sheet .arc-world-head h2{font-size:24px}.arc-bottom-sheet .arc-world-head p,.arc-bottom-sheet .arc-world-card>p.privacy-copy{display:none}.arc-travel-tools{border-top:1px solid var(--bd-d0d8ce);margin-top:18px;padding-top:18px}.arc-travel-tools summary{font-weight:650;cursor:pointer;min-height:44px}.arc-travel-tools>p{font-size:13px;color:var(--tx-5a6a60)}@media(max-width:650px){.post-composer,.create-hub{padding:18px}.compose-header h2{font-size:25px}.create-tools button{padding:16px}.arc-bottom-sheet{padding:16px}.arc-map-stage{height:50dvh}}

.compose-picker input::file-selector-button{border:1px solid var(--bd-b8c7b3);background:var(--bg-f0f2e4);color:var(--tx-173a31);border-radius:10px;padding:11px 16px;margin-right:10px;font-weight:600;cursor:pointer}

#social-profile{background:var(--bg-f0f2e4);border:1px solid var(--bd-d0d8ce);border-radius:20px;padding:24px;margin-bottom:18px}.profile-identity{display:flex;align-items:center;gap:18px;margin-bottom:22px}.profile-identity img{width:78px;height:78px;border-radius:50%;object-fit:cover}.profile-identity h2{margin:0;font:normal 30px Georgia,serif}.profile-identity p{color:var(--tx-5a6a60);font-size:13px}#social-editor summary{min-height:44px;cursor:pointer;font-weight:650}#social-form label{display:block;margin:15px 0;font-size:13px}#social-form input:not([type=checkbox]),#social-form textarea{display:block;width:100%;min-height:44px;margin-top:7px;padding:12px;border:1px solid var(--bd-d0d8ce);border-radius:10px;background:white;font:inherit}#social-form input[type=checkbox]{accent-color:#173a31;margin-right:8px}#social-form textarea{min-height:85px}#social-search{display:flex;gap:10px}#social-search input{min-width:0;flex:1;padding:12px;border:1px solid var(--bd-d0d8ce);border-radius:10px}.friend-card{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0;border-bottom:1px solid var(--bd-d0d8ce)}.friend-card>div{flex:1;min-width:120px}.friend-card small{display:block;color:var(--tx-5a6a60)}.friend-card p{font-size:13px}.friend-card img{width:45px;height:45px;border-radius:50%;object-fit:cover}#social-status{font-size:13px;color:var(--tx-5a6a60)}

/* ARC moderation stays inside the community's settings. */
.arc-safety-list{display:grid;gap:12px;margin:16px 0}
.arc-safety-person{padding:16px;border:1px solid var(--bd-d4ded7);border-radius:16px;background:var(--bg-ffffff)}
.arc-safety-person h3{margin:0 0 6px}.arc-safety-person small{display:block;color:var(--tx-52685e);margin-bottom:10px}
.arc-safety-person p{overflow-wrap:anywhere}.arc-safety-person .button{margin:6px 6px 0 0}
.arc-safety-confirm{padding:16px;background:var(--bg-edf3ed);border-radius:16px;margin:16px 0}
.arc-safety-confirm textarea{min-height:90px;width:100%;resize:vertical}
.arc-safety-confirm .button{margin-right:8px}

/* Shared notification/recovery surfaces: native app and staging pilot. */
.arc-lifecycle-toolbar{display:flex;flex-wrap:wrap;gap:8px}
.arc-lifecycle-dialog{box-sizing:border-box;width:min(600px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:0 20px 20px;border:1px solid var(--bd-b8c4bb);border-radius:20px;background:var(--bg-f5f2e8);color:var(--tx-173a31);overflow-wrap:anywhere}
.arc-lifecycle-dialog::backdrop{background:rgb(16 35 28 / 45%)}
.arc-lifecycle-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-f5f2e8);padding:16px 0;z-index:1;border-bottom:1px solid var(--bd-b8c4bb)}
.arc-lifecycle-header h2{font-size:1.25rem;margin:0}
.arc-lifecycle-dialog button,.arc-lifecycle-toolbar button{font:inherit;min-height:44px;padding:10px 14px;border:1px solid var(--bd-173a31);border-radius:10px;background:var(--bg-173a31);color:white;cursor:pointer}
.arc-lifecycle-dialog button{margin:4px 8px 4px 0}
.arc-lifecycle-dialog button:disabled{opacity:.55;cursor:not-allowed}
.arc-lifecycle-dialog button:focus-visible,.arc-lifecycle-toolbar button:focus-visible{outline:3px solid #bd6819;outline-offset:3px}
.arc-lifecycle-card{background:var(--bg-fffdf7);border:1px solid var(--bd-cbd2c9);border-radius:12px;margin:14px 0;padding:16px}
.arc-lifecycle-card h3{margin:0 0 8px;font-size:1.05rem}
.arc-lifecycle-card p{line-height:1.5}
@media(max-width:420px){.arc-lifecycle-dialog{padding:0 12px 12px}.arc-lifecycle-header{align-items:flex-start}.arc-lifecycle-header h2{font-size:1.1rem}.arc-lifecycle-card{padding:12px}}

.arc-lifecycle-header button{flex-shrink:0;white-space:nowrap}

/* Contextual posting keeps the main navigation focused on the three worlds. */
.world-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}

/* ARC index contains lists only; maps and actions belong to the selected ARC. */
.arc-list-card{border-bottom:1px solid var(--line)}.arc-open{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;padding:22px 16px;border:0;background:var(--paper);color:var(--tx-173a31);font:700 22px Georgia,serif;cursor:pointer;min-height:84px}.arc-open:hover,.arc-open:focus-visible{background:var(--bg-e5ece3)}.arc-list-meta{font:400 13px system-ui;color:var(--muted)}
.arc-overview .arc-world-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}
.arc-overview .arc-list-card{border:1px solid var(--bd-cbd6c8);border-radius:18px;overflow:hidden;background:var(--bg-edf1e8)}
.arc-overview .arc-open{min-height:150px;padding:22px;justify-content:center;background:linear-gradient(135deg,var(--bg-e5ece0),var(--bg-f0f2e4));font-size:24px;line-height:1.3}
.arc-overview .arc-world-head{align-items:center;margin-bottom:24px}.arc-overview .arc-world-head>.button{flex-shrink:0;min-height:48px}
.arc-overview .arc-world-empty{grid-column:1/-1;margin:8px 0;background:var(--bg-f1f3e9)}.arc-world-empty h3{margin:0 0 12px}
.arc-examples{border-top:1px solid var(--line);margin-top:30px;padding-top:16px}.arc-examples>summary{cursor:pointer;min-height:44px;font-weight:650;display:list-item}
.arc-local-dashboard{display:grid;gap:10px}.arc-local-dashboard h3{font:700 20px Georgia,serif;margin:20px 0 4px}.arc-local-link{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--tx-173a31);text-decoration:none;background:var(--bg-f5f6ea)}.arc-local-link small{color:var(--muted)}
.arc-setup-dialog>a.button{display:block;margin:12px 0;text-align:center;text-decoration:none}.arc-overview .privacy-copy{margin-bottom:18px}
@media(max-width:500px){.arc-overview .arc-world-head{align-items:stretch;flex-direction:column;gap:8px}.arc-overview .arc-world-head>.button{width:100%}.arc-overview .arc-world-head h2{font-size:26px}.arc-overview .arc-open{min-height:124px}}
.arc-detail-heading{padding:12px 0 22px}.arc-detail-heading h2{font:700 clamp(28px,4vw,40px) Georgia,serif;margin:20px 0 8px}.arc-detail-map{height:100%;width:100%}.arc-detail-map-controls{position:absolute;top:12px;right:12px;z-index:500}.arc-detail-map-status{position:absolute;bottom:10px;left:12px;right:12px;z-index:500;background:var(--bgx-f0f2e4ed);padding:10px;border-radius:10px;font-size:12px;pointer-events:none}.arc-offline-map{width:100%;height:100%;object-fit:contain}.arc-dashboard{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--bg-fffdf7)}.arc-dashboard-actions,.arc-dashboard-stats{display:flex;flex-wrap:wrap;gap:10px}.arc-dashboard-stats p{margin:0 0 14px;padding:10px;background:var(--bg-edf1e5);border-radius:10px}.arc-dashboard-route{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.arc-dashboard-route li{padding:8px 0}.arc-detail [hidden]{display:none!important}

.route-edit-dialog{max-width:520px;width:92vw;max-height:85vh;overflow:auto;border:0;border-radius:20px;padding:24px}.route-edit-dialog input{width:100%}.route-edit-dialog svg{width:100%;height:160px;background:var(--bg-edf2e9);border-radius:12px}.route-edit-dialog button{min-height:44px}.route-edit-dialog::backdrop{background:#10251d88}

/* Consistent navigation glyphs; labels and touch targets unchanged. */
#app-tabs .tab-icon{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0}#app-tabs .tab-icon svg{display:block;width:24px;height:24px}

/* Keep iPhone text-field focus at the normal page scale; pinch zoom stays available. */
:root :is(input,textarea,select,[contenteditable="true"]){font-size:max(16px,1rem)!important}

/* Posts inside an account ARC. */
.arc-posts{margin-top:24px}.arc-posts>button{margin:0 8px 8px 0}.arc-post-card{padding:18px 0;border-bottom:1px solid var(--bd-dce3dc)}.arc-post-card h4{margin:8px 0}.arc-post-card p{white-space:pre-wrap;overflow-wrap:anywhere}.arc-post-card small{color:var(--tx-63756a)}#post-arc-label{flex-wrap:wrap}#post-arc{max-width:100%}#post-arc-refresh{font:inherit;min-height:44px}

/* Keep double taps on the interface from changing page scale. Map zoom is handled by the map itself. */
body{touch-action:pan-x pan-y}

#post-status:not(:empty){padding:12px;border-radius:12px;background:var(--bg-e6ecdf);color:var(--tx-173a31);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.arc-posts{margin-top:24px}.arc-posts>button{margin:0 8px 8px 0}.arc-post-card{padding:18px 0;border-bottom:1px solid var(--bd-dce3dc)}.arc-post-card h4{margin:8px 0}.arc-post-card p{white-space:pre-wrap;overflow-wrap:anywhere}#post-arc-label{flex-wrap:wrap}#post-arc{max-width:100%}#post-arc-refresh{font:inherit;min-height:44px}

/* ARC invites and joining: same cards and buttons as the rest of ARCs. */
.arc-join{background:var(--bg-f5f6ea);border:1px solid var(--bd-dce3dc);border-radius:18px;padding:16px;margin:14px 0}.arc-join h3{margin:0 0 10px;font:700 19px Georgia,serif}.arc-join-form{display:flex;gap:8px}.arc-join-form input{flex:1;min-width:0;min-height:46px;border:1px solid var(--bd-ccd5c7);border-radius:12px;padding:0 12px;font:inherit;text-transform:uppercase}.arc-join-form input::placeholder{text-transform:none}
.arc-invite-list{display:grid;gap:8px;margin-top:10px}.arc-invite-person{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--bd-e3e8e1)}.arc-invite-person strong{flex:1 1 60%}.arc-invite-person small{flex:1 1 100%;color:var(--tx-63756a);order:1}.arc-invite-person button{min-height:40px}
.arc-invite-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.arc-invite-top h2{font:700 24px Georgia,serif;margin:0}.arc-invite-code,.arc-invite-friends{margin-top:18px}.arc-invite-code h3,.arc-invite-friends h3{margin:0 0 6px;font:700 18px Georgia,serif}.arc-invite-code-value{font:700 26px ui-monospace,Menlo,monospace;letter-spacing:.08em;margin:14px 0 0;user-select:all}
.arc-safety-person .friend-note{display:block;color:var(--tx-9b2c1f);margin-top:4px}

/* ARC list as a group-chat inbox; ARC photo and banner. */
.arc-chat-row{padding:0;border:0;background:none;box-shadow:none}
.arc-chat-row .arc-open{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 4px;background:none;border:0;border-bottom:1px solid var(--bd-e3e8e1);border-radius:0;min-height:72px}
.arc-avatar{flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#f4f5e8;font:600 18px Georgia,serif;overflow:hidden}
.arc-avatar img{width:100%;height:100%;object-fit:cover}
.arc-avatar-list{width:52px;height:52px}.arc-avatar-large{width:72px;height:72px;font-size:26px;border:3px solid var(--bd-f4f5e8)}
.arc-chat-body{display:flex;flex-direction:column;min-width:0;flex:1;gap:3px}
.arc-chat-line{display:flex;align-items:baseline;gap:8px}.arc-chat-title{flex:1;min-width:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx-173a31)}
.arc-chat-time{flex:0 0 auto;font-size:12px;color:var(--tx-63756a)}
.arc-chat-row .arc-list-meta{display:block;font-size:14px;color:var(--tx-4c5d52);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arc-chat-sub{font-size:12px;color:var(--tx-7d8b80);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arc-banner{height:132px;border-radius:18px;background-size:cover;background-position:center;margin:4px 0 -36px}
.arc-detail-title{display:flex;align-items:flex-end;gap:12px;padding-left:12px}.arc-detail-title h2{margin:0 0 6px}
.arc-image-slot{margin-top:18px}.arc-image-slot h3{margin:0 0 4px;font:700 18px Georgia,serif}.arc-image-actions{display:flex;gap:8px;margin-top:10px}.arc-banner-preview{margin:8px 0 0;height:96px}

/* Rove Tools: planners and partner links, styled like the rest of the app's rows. */
#screen-tools{max-width:1000px;margin:auto;padding-bottom:110px}.rove-tools-group{background:var(--bg-f5f6ea);border:1px solid var(--bd-dce3dc);border-radius:20px;padding:6px 18px 14px;margin:0 0 16px}.rove-tools-group h2{font:700 21px Georgia,serif;margin:14px 0 4px}
.rove-tool{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--bd-e3e8e1);padding:14px 0;min-height:64px;color:var(--tx-173a31);font:inherit}.rove-tool:last-of-type{border-bottom:0}
.rove-tool-text{flex:1;display:flex;flex-direction:column;gap:3px}.rove-tool-text small{color:var(--tx-63756a);font-size:13px;line-height:1.4}.rove-tool-go{font-size:12px;font-weight:700;color:var(--tx-63756a);white-space:nowrap}
/* Chat rows win over the older centered ARC cards. */
#arc-worlds .arc-world-list{display:block}
#arc-worlds .arc-chat-row{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0}
#arc-worlds .arc-chat-row .arc-open{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:12px;background:transparent;border:0;border-bottom:1px solid var(--bd-e3e8e1);border-radius:0;padding:12px 4px;font:inherit;color:var(--tx-173a31);box-shadow:none}
#arc-worlds .arc-chat-row .arc-list-meta{text-align:left;margin:0}
#arc-worlds .arc-back{margin:4px 0 10px}
#arc-worlds .arc-banner{margin:0 0 12px}#arc-worlds .arc-detail-title{align-items:center;padding-left:0}
.rove-tools-group>summary{font:700 21px Georgia,serif;padding:14px 0 6px;cursor:pointer;list-style-position:inside}.rove-tools-note{margin:0 0 14px}

/* Rove Tools side panel (My World and ARCs). */
.rove-tools-drawer{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(420px,92vw);box-sizing:border-box;border:0;border-radius:22px 0 0 22px;padding:calc(18px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:var(--bg-f0f2e4);overflow:auto;color:var(--tx-173a31)}
.rove-tools-drawer::backdrop{background:#142b2666}
.rove-tools-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rove-tools-top h2{font:700 28px Georgia,serif;margin:0}
.rove-tools-open{white-space:nowrap}.shape-intro-actions{display:flex;gap:8px;align-items:center}.shape-tools{min-height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--bd-cbd5c9);background:var(--bg-f5f6ea);color:var(--tx-173a31);font-weight:700}
.feed-follow{margin-left:auto;min-height:32px;padding:0 12px;font-size:12px}
.shape-intro-actions button{white-space:nowrap}
@media(max-width:480px){.shape-intro{flex-wrap:wrap;row-gap:12px}.shape-intro>div:first-child{flex:1 1 100%}.shape-intro-actions{flex:1 1 100%}.shape-intro-actions>*{flex:1}}

/* Rove Pulse: one calm card. Rings + score, one line of numbers, details folded. */
.rove-pulse{display:block;background:var(--bg-173a31);color:#f4f1e8;border-radius:22px;padding:18px;margin:12px 0 16px}
.pulse-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--tx-a9c2b4)}
.pulse-hero{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center}.pulse-hero .pulse-eyebrow{grid-column:1/-1}
.pulse-dial{position:relative;width:132px;height:132px}.pulse-rings{width:100%;height:100%}
.pulse-track{fill:none;stroke:#ffffff1f;stroke-width:9}.pulse-ring{fill:none;stroke-width:9;stroke-linecap:round}
.pulse-ring-distance{stroke:#7fd1a3}.pulse-ring-activeMs{stroke:#f0b45b}.pulse-ring-discoveries{stroke:#8fb8e8}
.pulse-score{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.pulse-score strong{font:700 34px Georgia,serif;line-height:1}.pulse-score span{font-size:10px;color:var(--tx-a9c2b4)}
.pulse-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px}.pulse-legend li{display:flex;flex-direction:column;padding-left:10px;border-left:3px solid}.pulse-legend span{font-size:11px;color:var(--tx-a9c2b4)}.pulse-legend strong{font-size:15px}
.pulse-legend-distance{border-color:#7fd1a3}.pulse-legend-activeMs{border-color:#f0b45b}.pulse-legend-discoveries{border-color:#8fb8e8}
.pulse-strip{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #ffffff1f}.pulse-strip div{display:flex;flex-direction:column}.pulse-strip strong{font-size:17px}.pulse-strip span{font-size:11px;color:var(--tx-a9c2b4)}
.pulse-more{margin-top:12px}.pulse-more>summary{font-size:13px;font-weight:700;color:#cfe0d6;cursor:pointer}
.pulse-more h3{font:700 15px Georgia,serif;margin:14px 0 8px}
.pulse-bars{display:flex;align-items:flex-end;gap:6px;height:84px}.pulse-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center}.pulse-bar span{display:block;background:var(--bgx-ffffff33);border-radius:4px}.pulse-bar-now span{background:#7fd1a3}.pulse-bar small{font-size:9px;color:var(--tx-a9c2b4);margin-top:4px;white-space:nowrap}
.pulse-totals{display:flex;justify-content:space-between;margin-top:14px}.pulse-totals div{display:flex;flex-direction:column}.pulse-totals span{font-size:11px;color:var(--tx-a9c2b4)}
.pulse-bests div{display:grid;grid-template-columns:1fr auto;padding:8px 0;border-bottom:1px solid #ffffff14}.pulse-bests small{grid-column:1/-1;font-size:11px;color:var(--tx-a9c2b4)}
.pulse-types{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.pulse-types span{font-size:11px;padding:4px 9px;border-radius:999px;background:var(--bgx-ffffff14)}

/* Rove Map: posts as photo bubbles, list/map toggle. */
.feed-view-toggle{display:inline-flex;background:var(--bg-e9eddf);border-radius:999px;padding:3px;margin-right:8px}.feed-view-toggle button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px;color:var(--tx-40543f);min-height:34px}.feed-view-toggle button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
.feed-map{height:min(62vh,520px);border-radius:22px;overflow:hidden;margin:6px 0 14px;background:var(--bg-dfe7dc)}
.feed-bubble-wrap{background:none;border:0}.feed-bubble{position:relative;width:52px;height:52px;border-radius:50%;border:3px solid var(--bd-ffffff);background:var(--bg-173a31);color:#fff;padding:0;overflow:visible;box-shadow:0 4px 14px #142b2659;font:700 18px Georgia,serif}
.feed-bubble img{width:100%;height:100%;object-fit:cover;border-radius:50%}.feed-bubble-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:var(--bg-c9822b);color:#fff;font:700 11px/20px system-ui;padding:0 5px;box-sizing:border-box}

/* Auto details checklist (place, time, weather) in the composer. */
.compose-details{border:0;border-top:1px solid var(--bd-d0d8ce);margin:0;padding:12px 0}.compose-details legend{font-size:12px;font-weight:700;color:var(--tx-63756a);padding:0}.compose-detail{display:flex;align-items:center;gap:8px;font-size:14px;padding:6px 0}.compose-detail input{width:20px;height:20px}#post-locate{margin-top:4px}

.travel-mode .travel-toggle{display:flex;align-items:center;gap:10px;font-weight:700;margin:8px 0}.travel-mode .travel-toggle input{width:22px;height:22px}

/* My World day view: today by default, step through days or show all time. */
.shape-day{position:absolute;left:12px;right:12px;bottom:64px;z-index:500;display:flex;gap:6px;align-items:center;justify-content:center;pointer-events:none}
.shape-day>*{pointer-events:auto}.shape-day-step,.shape-day-all{min-height:34px;border:1px solid var(--bd-cbd5c9);background:var(--bgx-f5f6eaf2);border-radius:999px;padding:0 12px;font-weight:700;color:var(--tx-173a31)}.shape-day input{min-height:34px;border:1px solid var(--bd-cbd5c9);border-radius:999px;padding:0 10px;background:var(--bgx-f5f6eaf2);font:inherit;color:var(--tx-173a31)}
.shape-day-all[aria-pressed=true]{background:var(--bg-173a31);color:#fff}.shape-day-hint{position:absolute;left:50%;top:44%;transform:translateX(-50%);z-index:450;margin:0;max-width:80%;text-align:center;background:var(--bgx-f5f6eaf2);border-radius:14px;padding:8px 12px;font-size:13px;color:var(--tx-40543f);pointer-events:none}.shape-day-hint:empty{display:none}
.shape-day{right:64px;justify-content:flex-start}.shape-day input{min-width:0;max-width:140px}

/* Footprint playback: route map with a moving marker, synced to the chosen video. */
.footprint-play{box-sizing:border-box;width:min(720px,100vw);max-width:100vw;max-height:100dvh;height:100dvh;margin:0 auto;border:0;padding:calc(12px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));background:var(--bg-f0f2e4);display:flex;flex-direction:column;gap:10px}
.footprint-play:not([open]){display:none}.footprint-play-head{display:flex;justify-content:space-between;align-items:center}.footprint-play-head h2{margin:0;font:700 22px Georgia,serif}
.footprint-play-map{flex:1;min-height:220px;border-radius:18px;overflow:hidden;background:var(--bg-dfe7dc)}.footprint-play-video{width:100%;max-height:34vh;border-radius:14px;background:#000}
.footprint-play-clips{display:flex;gap:8px;overflow:auto}.footprint-play-clips button{white-space:nowrap;min-height:38px}
.footprint-play-photo-wrap{background:none;border:0}.footprint-play-photo{width:44px;height:44px;border-radius:12px;border:2px solid var(--bd-ffffff);object-fit:cover;box-shadow:0 3px 10px #0004}.footprint-play-btn{margin-top:8px}

.invite-app{background:var(--bg-e9eddf);border-radius:20px;padding:16px;margin:0 0 16px}.invite-app button{width:100%;min-height:48px}.invite-app p{margin:10px 0 0}
/* Create New World */
.arc-new-world .arc-step{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font:700 13px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-173a31)}
.arc-new-world .arc-step span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--bg-173a31);color:#fff;font-size:12px;letter-spacing:0}
.arc-world-name{width:100%;box-sizing:border-box;padding:16px;border:2px solid var(--bd-173a31);border-radius:14px;font:700 22px Georgia,serif;background:var(--paper);color:var(--tx-173a31)}
.arc-new-world .arc-type-picker{margin:0 0 8px}.arc-type-icon{display:block;font-size:24px;margin-bottom:6px}
.arc-style-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.arc-style-picker button{padding:14px 8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--tx-173a31);font-weight:700}
.arc-style-picker button[aria-pressed=true]{background:var(--bg-c9822b);border-color:#c9822b;color:#fff}
.arc-hint{display:block;margin:8px 0 0;font-size:13px;color:var(--tx-5c6a60)}
.arc-more-options{margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:4px 16px}.arc-more-options summary{padding:12px 0;font-weight:700;color:var(--tx-173a31);cursor:pointer}
.arc-create-world{width:100%;padding:16px;font-size:17px;margin-top:6px}
.arc-style-picker button{min-width:0;padding:14px 4px;font-size:14px}.arc-new-world .arc-type-picker button{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
/* Planning vs started */
.arc-state{display:inline-flex;align-items:center;flex:0 0 auto;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.arc-state-active{background:var(--bg-dcefe2);color:var(--tx-1d6b3a)}.arc-state-planning{background:var(--bg-fbecd6);color:var(--tx-9a5a12)}.arc-state-finished{background:var(--bg-e7e9e6);color:var(--tx-5c6a60)}.arc-state-dormant{background:var(--bg-ece6f3);color:var(--tx-5b4a7a)}
.arc-list-group{margin:18px 4px 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-63756a)}
.arc-row-planning{border-left:3px dashed #c9822b}.arc-row-finished{opacity:.75}
.arc-detail-heading .arc-state{margin-top:8px;font-size:12px}
.arc-planning-banner{display:grid;gap:6px;margin:12px 0;padding:14px;border:1px dashed #c9822b;border-radius:14px;background:var(--bg-fdf6ea)}.arc-planning-banner span{font-size:14px;color:var(--tx-5c4a2e)}.arc-planning-banner .button{justify-self:start;margin-top:4px}
/* ARC settings hub (server-settings style) */
.arc-settings-hub{display:grid;gap:14px}
.arc-settings-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}
.arc-settings-cover{height:84px;background-size:cover;background-position:center}
.arc-settings-info{padding:0 16px 14px;margin-top:-30px}.arc-settings-info>strong{display:block;margin-top:8px;font:700 20px Georgia,serif;color:var(--tx-173a31)}
.arc-settings-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:13px;color:var(--tx-5c6a60)}
.arc-settings-group{display:grid;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}
.arc-settings-group h3{margin:0;padding:12px 16px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-63756a)}
.arc-settings-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border:0;border-top:1px solid var(--line);background:none;color:var(--tx-173a31);text-align:left;font:inherit;cursor:pointer}
.arc-settings-group h3+.arc-settings-item{border-top:0}
.arc-settings-item strong,.arc-settings-item small{display:block}.arc-settings-item small{margin-top:2px;font-size:12px;color:var(--tx-6b786e)}
.arc-settings-chevron{font-size:22px;color:var(--tx-9aa69c)}
.arc-settings-danger strong{color:var(--tx-a33a2a)}
.arc-settings-back{display:block;margin:0 0 8px;padding:6px 0;border:0;background:none;color:var(--tx-173a31);font-weight:700;cursor:pointer}
@media(min-width:760px){.arc-settings-hub{grid-template-columns:1fr 280px;align-items:start}.arc-settings-hub .arc-world-head{grid-column:1/-1}.arc-settings-card{grid-column:2;grid-row:2/span 4;position:sticky;top:0}.arc-settings-group{grid-column:1}}
.arc-quick-post{display:grid;gap:8px;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.arc-quick-post textarea{width:100%;box-sizing:border-box;border:0;resize:vertical;font:inherit;font-size:16px;background:none;color:var(--tx-173a31);outline:none}.arc-quick-bar{display:flex;justify-content:space-between;gap:8px}.arc-quick-bar .button{min-height:40px}
.arc-settings-info{margin-top:0;padding-top:16px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.arc-settings-info>strong{margin-top:0}.arc-settings-info .arc-settings-sub{grid-column:2}.arc-settings-info>:first-child{grid-row:span 2}
/* Build manuals (LEGO-style guides) */
.build-guide{display:grid;gap:12px;margin:14px 0;padding:16px;border-radius:20px;background:var(--bg-fffdf6);border:2px solid var(--bd-173a31);box-shadow:0 4px 0 #173a31}
.build-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.build-head h2{margin:2px 0 0;font:800 24px/1.1 Georgia,serif;color:var(--tx-173a31)}
.build-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--tx-c9822b)}.build-count{font:800 20px system-ui,sans-serif;color:var(--tx-173a31)}
.build-bricks{display:flex;gap:4px}.brick{flex:1;height:14px;border-radius:3px;background:var(--bg-e4e8e1);position:relative}.brick::after{content:"";position:absolute;left:50%;top:-4px;width:12px;height:5px;margin-left:-6px;border-radius:3px 3px 0 0;background:inherit}.brick-on{background:var(--bg-c9822b)}
.build-step{display:grid;gap:8px;padding:14px;border-radius:16px;background:var(--bg-ffffff);border:1px solid var(--bd-d9dfd5)}
.build-step-top{display:flex;align-items:center;gap:12px}.build-number{font:900 44px/1 system-ui,sans-serif;color:var(--tx-173a31);min-width:34px}.build-scene{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--bg-e8f1ec);font-size:34px}
.build-step h3{margin:0;font:800 19px/1.2 system-ui,sans-serif;color:var(--tx-173a31)}.build-caption{margin:0;color:var(--tx-4f5f54);font-size:14px}
.build-parts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;background:var(--bg-e6eff6);border:1px dashed #9db6c8}.build-parts small{width:100%;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3f6177)}.build-part{padding:3px 8px;border-radius:8px;background:var(--bg-ffffff);font-size:13px;font-weight:700;color:var(--tx-24465b)}
.build-cta{width:100%;min-height:46px;font-size:16px}.build-built{margin:0;font-weight:800;color:var(--tx-1d6b3a)}
.build-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px}.build-tile{display:grid;justify-items:center;gap:2px;padding:6px 0;border:1px solid var(--bd-d9dfd5);border-radius:12px;background:var(--bg-ffffff);color:var(--tx-173a31);font:inherit;cursor:pointer}.build-tile strong{font-size:12px}.build-tile span{font-size:18px}
.build-tile-done{background:var(--bg-eef6ef);border-color:var(--bd-b9d6c0)}.build-tile-done strong{color:var(--tx-1d6b3a)}.build-tile-current{border:2px solid #c9822b}
.build-finale{text-align:center;justify-items:center}.build-finale .build-scene{width:72px;height:72px;font-size:40px;background:var(--bg-fdf0dc)}
/* My World: fewer things on top of the map */
.shape-under{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 2px 0}
.shape-under .shape-legend{position:static;display:flex;gap:6px;margin:0;padding:0;background:none;box-shadow:none}
.shape-under .shape-day{position:static;display:flex;flex:1;justify-content:flex-start;gap:6px;pointer-events:auto}
.shape-day-hint{top:12px;transform:translateX(-50%);font-size:12px}
@media (pointer:coarse){.shape-map-tools [data-map=in],.shape-map-tools [data-map=out]{display:none}}
/* Footprint activity picker */
.activity-picker{flex-basis:100%;display:grid;gap:10px;margin-bottom:6px}
.activity-current{margin:0;font:800 18px system-ui,sans-serif;color:var(--tx-173a31)}
.activity-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.activity-tile{display:grid;justify-items:center;gap:4px;min-width:0;padding:10px 4px;border:1px solid var(--bd-d9dfd5);border-radius:14px;background:var(--bg-ffffff);color:var(--tx-173a31);font:inherit;cursor:pointer}
.activity-tile small{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.activity-icon{font-size:22px;line-height:1}.activity-tile-big{padding:14px 4px}.activity-tile-big .activity-icon{font-size:30px}
.activity-tile[aria-pressed=true]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}.activity-tile:disabled{opacity:.45;cursor:default}.activity-tile[aria-pressed=true]:disabled{opacity:1}
.activity-more{border:1px solid var(--bd-d9dfd5);border-radius:14px;padding:2px 12px;background:var(--bg-fffdf7)}.activity-more summary{padding:10px 0;font-weight:700;color:var(--tx-173a31);cursor:pointer}
.activity-group h4{margin:8px 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-63756a)}.activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:6px}
.activity-grid .activity-tile small{white-space:normal;overflow:visible;font-size:10px;line-height:1.15;text-align:center;word-break:break-word}
/* My World map: controls and day message live under the map */
.shape-under{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;margin:10px 0 0}
.shape-under .shape-legend button{min-height:34px;padding:0 14px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);color:var(--tx-173a31);font-weight:700;font-size:13px}
.shape-under .shape-legend button[aria-pressed=true]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}
.shape-under .shape-day{justify-content:flex-end;min-width:0}.shape-under .shape-day input{max-width:128px;font-size:13px}
.shape-under .shape-day-hint{position:static;transform:none;grid-column:1/-1;max-width:none;margin:0;padding:8px 12px;text-align:left;background:var(--bg-f1f4ee);font-size:13px}
@media(max-width:400px){.shape-under{grid-template-columns:1fr}.shape-under .shape-day{justify-content:flex-start}}
.shape-pin-ghost{opacity:.45;filter:grayscale(.6);transform:scale(.85);transform-origin:50% 100%}
/* Rove Map: one Snap-Map-style look for exploring, used by My World, ARCs and Rove Feed */
.leaflet-container .leaflet-tile-pane{filter:saturate(1.18) brightness(1.03)}
.rove-badge{position:absolute;right:-4px;bottom:-2px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg-ffffff);box-shadow:0 2px 6px #142b2640;font-size:12px;font-style:normal;line-height:1}
.shape-pin{position:relative}.shape-pin .rove-badge{right:-2px;bottom:18px}
.shape-pin img,.shape-pin>span{transition:transform .15s ease}.shape-pin:active img,.shape-pin:active>span{transform:scale(1.08)}
@keyframes rove-pulse{0%{box-shadow:0 0 0 0 #f2a33acc}70%{box-shadow:0 0 0 14px #f2a33a00}100%{box-shadow:0 0 0 0 #f2a33a00}}
.shape-pin-new img,.shape-pin-new>span,.rove-bubble-new{animation:rove-pulse 1.8s ease-out infinite;border-color:#f2a33a!important}
@media (prefers-reduced-motion:reduce){.shape-pin-new img,.shape-pin-new>span,.rove-bubble-new{animation:none}}
.rove-bubble-wrap{background:none;border:0}
.rove-bubble{position:relative;width:46px;height:46px;border-radius:50%;border:3px solid var(--bd-ffffff);background:var(--bg-173a31);color:#fff;padding:0;box-shadow:0 4px 14px #142b2659;font:800 16px system-ui,sans-serif;cursor:pointer}
.rove-bubble img{width:100%;height:100%;object-fit:cover;border-radius:50%}.rove-bubble span{display:grid;place-items:center;width:100%;height:100%}
.rove-bubble .rove-badge{width:18px;height:18px;font-size:10px;right:-6px;bottom:-4px}
.rove-count,.feed-bubble-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:var(--bg-c9822b);color:#fff;font:700 11px/20px system-ui;padding:0 5px;box-sizing:border-box}
/* My World map: immersive on phones, floating round controls */
@media (max-width:700px){
 .shape-map-stage{height:min(66vh,560px)!important;border-radius:24px!important;box-shadow:0 10px 30px #173a3126}
 .shape-search{border-radius:999px!important;box-shadow:0 6px 18px #173a3126;border:0!important}
 .shape-map-tools{left:auto!important;right:12px;bottom:16px!important;background:none!important;box-shadow:none!important;gap:8px;overflow:visible!important}
 .shape-map-tools button{width:44px;height:44px;min-width:0!important;border:0!important;border-radius:50%;background:var(--bg-f4f5e8);box-shadow:0 4px 14px #173a3133;font-size:11px;font-weight:800;padding:0}
}
.arc-detail-map{border-radius:20px;overflow:hidden}
.feed-map,.arc-detail-map{border-radius:24px!important;overflow:hidden;box-shadow:0 10px 30px #173a3126}
.feed-map .leaflet-control-zoom,.arc-detail-map .leaflet-control-zoom{border:0!important;box-shadow:none!important;display:grid;gap:8px}
.feed-map .leaflet-control-zoom a,.arc-detail-map .leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;border-radius:50%!important;border:0!important;background:var(--bg-f4f5e8);box-shadow:0 4px 14px #173a3133;color:var(--tx-173a31)}
@media (pointer:coarse){.feed-map .leaflet-control-zoom,.arc-detail-map .leaflet-control-zoom{display:none}}
/* Explore / Rove Feed map: Snap-style */
.feed-map{height:min(68vh,600px)!important;background:var(--bg-b9dce6)!important}
.feed-bubble{width:48px;height:48px}
.feed-pin{width:34px;height:34px;background:var(--bg-f4f5e8);color:var(--tx-173a31);font-size:17px;display:grid;place-items:center;border:2px solid var(--bd-ffffff);box-shadow:0 3px 10px #142b2659}
.feed-bubble.is-active{transform:scale(1.25);z-index:1000;border-color:#f2a33a}
.feed-map-strip{position:relative;z-index:500;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:-104px 10px 18px;padding:4px 2px 8px;scrollbar-width:none}
.feed-map-strip::-webkit-scrollbar{display:none}.feed-map-strip:empty{display:none}
.feed-map-card{flex:0 0 78%;max-width:300px;scroll-snap-align:center;display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:18px;background:var(--bg-f4f5e8);box-shadow:0 8px 24px #142b2640;text-align:left;font:inherit;color:var(--tx-173a31);cursor:pointer}
.feed-map-card.is-active{outline:3px solid #f2a33a}
.feed-map-thumb{flex:0 0 54px;height:54px;border-radius:14px;overflow:hidden;background:var(--bg-e8f1ec);display:grid;place-items:center;font-size:24px}.feed-map-thumb img{width:100%;height:100%;object-fit:cover}
.feed-map-text{min-width:0;display:grid;gap:2px}.feed-map-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.feed-map-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx-5c6a60);font-size:12px}
.feed-map .leaflet-control-attribution{font-size:9px;opacity:.7}
.arc-settings-warn strong{color:var(--tx-9a5a12)}
.arc-finish{display:grid;gap:12px}.arc-finish h2{margin:0}.arc-finish-actions{display:grid;gap:8px}.arc-finish-actions .button{width:100%;min-height:46px}
.arc-finished-banner{border-color:#9aa69c;background:var(--bg-f1f3ef)}.arc-finished-banner span{color:var(--tx-4f5f54)}
.feed-map-strip{margin-top:-116px}
/* Less noise everywhere: titles speak for themselves */
.page-heading p,.shape-intro p,.arc-world-head>div>p,.shape-privacy,#rovo-entry,#invite-app-status:empty,.arc-world-notice:empty{display:none!important}
.icon-refresh{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg-f4f5e8);color:var(--tx-173a31);font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto}
.shape-intro{align-items:center}.shape-intro h1{margin:0}
.rove-tools-open,.shape-tools{min-height:38px!important;padding:0 14px!important;font-size:13px!important}
.shape-under .shape-day-step{display:none}
.invite-app{padding:0;background:none;border:0}
.build-guide.build-collapsed{gap:8px;padding:12px 14px;box-shadow:0 3px 0 #173a31}
.build-collapsed .build-head h2{font-size:18px}.build-collapsed .build-count{font-size:15px}.build-collapsed .brick{height:8px}
.build-next{display:flex;align-items:center;gap:10px}.build-next-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:var(--bg-e8f1ec);font-size:22px}
.build-next-text{flex:1;min-width:0;display:grid}.build-next-text small{font-size:11px;font-weight:700;color:var(--tx-c9822b)}.build-next-text strong{font-size:15px;color:var(--tx-173a31);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.build-next .button{min-height:38px;padding:0 14px;font-size:13px;white-space:nowrap}
.build-toggle{justify-self:center;border:0;background:none;color:var(--tx-5c6a60);font-size:12px;font-weight:700;cursor:pointer;padding:2px 8px}
.shape-when-quick{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}.shape-chip{min-height:32px;padding:0 12px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);color:var(--tx-173a31);font-size:13px;font-weight:700}
.shape-choice-throwback{border-style:dashed!important;border-color:#c9822b!important}
.shape-hint{margin:0 0 10px;color:var(--tx-5c6a60);font-size:14px}
.arc-quick-bar{flex-wrap:wrap}
/* Your collection: search, organize, compact rows */
.shape-place-sidebar{display:none!important}
.shape-collection-tools{display:grid;gap:10px;margin:4px 0 10px}
.shape-collection-search{width:100%;box-sizing:border-box;min-height:44px;padding:0 16px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);font:inherit;font-size:15px}
.shape-group-by{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:999px;background:var(--bg-e9eee6)}
.shape-group-by button{min-height:34px;border:0;border-radius:999px;background:none;color:var(--tx-40543f);font-weight:700;font-size:13px}
.shape-group-by button[aria-pressed=true]{background:var(--bg-ffffff);color:var(--tx-173a31);box-shadow:0 1px 4px #173a3122}
.shape-shelf-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.shape-shelf-tabs::-webkit-scrollbar{display:none}
.shape-shelf-tabs button{flex:0 0 auto;min-height:32px;padding:0 12px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);color:var(--tx-173a31);font-size:12px;font-weight:700;white-space:nowrap}
.shape-shelf-tabs button[aria-pressed=true]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}
.shape-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.shape-collection-group{display:grid;border:1px solid var(--bd-dfe5dc);border-radius:16px;overflow:hidden;background:var(--bg-f4f5e8)}
.shape-group-head{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:10px 14px 6px;font:800 13px system-ui,sans-serif;color:var(--tx-173a31);letter-spacing:.02em}.shape-group-head small{color:var(--tx-7d8b80);font-weight:700}
.shape-row{display:flex!important;align-items:center;gap:12px;min-height:0!important;height:auto!important;padding:8px 14px!important;border:0!important;border-top:1px solid var(--bd-eef1ec)!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left}
.shape-row .shape-card-media{flex:0 0 48px;width:48px!important;height:48px!important;min-height:0!important;border-radius:12px;overflow:hidden;background:var(--bg-e8f1ec);display:grid;place-items:center}
.shape-row .shape-card-media img{width:100%;height:100%;object-fit:cover}.shape-row-icon{font-size:20px}
.shape-row .shape-card-copy{flex:1;min-width:0;padding:0!important}.shape-row h3{margin:0;font:700 15px system-ui,sans-serif;color:var(--tx-173a31);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shape-row .shape-card-copy p{margin:2px 0 0;font-size:12px;color:var(--tx-6b786e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shape-row-chevron{color:var(--tx-9aa69c);font-size:20px}
.shape-group-more{justify-self:center;margin:6px 0 10px}
.shape-new-card{min-height:48px!important;padding:12px!important;border:1px dashed #c9822b!important;border-radius:14px!important;background:var(--bg-f7f0dd)!important;color:var(--tx-173a31);font-weight:700}
.shape-collection-empty{color:var(--tx-6b786e);text-align:center}
/* Shared ARC page: same look as the example ARC dashboard */
.arc-stage-rich{height:min(78vh,700px)!important;min-height:520px;border-radius:24px;margin:0 0 -40px;box-shadow:none}
.arc-stage-rich .arc-detail-map{position:absolute;inset:0;height:100%;border-radius:24px!important;box-shadow:none}
.arc-hero{position:absolute;z-index:500;top:12px;left:12px;right:12px;display:grid;gap:10px;pointer-events:none}.arc-hero>*{pointer-events:auto}
.arc-hero .arc-back{justify-self:start;min-height:40px;padding:0 16px;border:0;border-radius:16px;background:var(--bgx-f5f6eaf5);box-shadow:0 5px 25px #183b3114;font-weight:700;color:var(--tx-183b31)}
.arc-hero-card{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:16px 18px;border-radius:22px;background:var(--bgx-f5f6eaf5);box-shadow:0 5px 25px #183b3114;border-top:4px solid var(--bd-183b31)}
.arc-hero-info{min-width:0;display:grid;gap:6px;justify-items:start}.arc-hero-info h2{margin:0;font:700 clamp(22px,6vw,29px)/1.15 Georgia,serif;color:var(--tx-183b31);overflow-wrap:anywhere}
.arc-hero-eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--tx-63786d);text-transform:uppercase}
.arc-hero-card .arc-dashboard-actions{display:grid;gap:6px;flex:0 0 auto;margin:0}
.arc-hero-card .arc-dashboard-actions .button{min-height:38px;padding:0 14px;font-size:12px;border-radius:24px;white-space:nowrap;margin:0}
.arc-map-chips{position:absolute;z-index:450;left:12px;right:110px;bottom:56px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.arc-map-chips::-webkit-scrollbar{display:none}
.arc-map-chip{flex:0 0 auto;min-height:38px;padding:0 14px;border:1px solid var(--bd-d5ded6);border-radius:24px;background:var(--bg-f5f6ea);color:var(--tx-183b31);font-weight:600;font-size:13px;box-shadow:0 3px 12px #183b3114}
.arc-map-chip[aria-pressed=true]{background:var(--bg-183b31);border-color:var(--bd-183b31);color:#fff}
.arc-map-add{position:absolute;z-index:460;right:14px;bottom:52px;min-height:52px;padding:0 22px;border:0;border-radius:26px;background:var(--bg-183b31);color:#fff;font-size:18px;font-weight:700;box-shadow:0 4px 20px #183b3155}
.arc-stage-rich .arc-detail-map-controls{position:absolute;z-index:450;right:14px;top:auto;bottom:116px}.arc-stage-rich .arc-detail-map-controls .button{width:44px;height:44px;padding:0;border-radius:50%;font-size:18px}
.arc-stage-rich .arc-detail-map-status{position:absolute;z-index:440;left:12px;bottom:10px;margin:0;padding:4px 10px;border-radius:12px;background:var(--bgx-f5f6eae6);font-size:11px;max-width:70%}
.arc-dashboard{position:relative;z-index:500;margin-top:0!important;border-radius:24px!important;box-shadow:0 3px 30px #183b3120;border:0!important}
.arc-panel-head{display:grid;gap:2px;margin-bottom:10px}.arc-panel-head h3{margin:0;font:700 28px/1.1 Georgia,serif;color:var(--tx-183b31)}
.arc-dashboard[data-show=posts] .arc-quests,.arc-dashboard[data-show=posts] .arc-dashboard-route,
.arc-dashboard[data-show=quests] .arc-posts,.arc-dashboard[data-show=quests] .arc-dashboard-route,
.arc-dashboard[data-show=places] .arc-posts,.arc-dashboard[data-show=places] .arc-quests{display:none}
.arc-stage-rich ~ .arc-planning-banner{position:relative;z-index:501;margin:0 0 12px}
.arc-stage-rich .leaflet-bottom.leaflet-right{bottom:40px}
.arc-hero-bar{display:flex;justify-content:space-between;gap:8px}
.arc-hero-toggle{min-height:40px;padding:0 16px;border:0;border-radius:16px;background:var(--bgx-f5f6eaf5);box-shadow:0 5px 25px #183b3114;font-weight:700;color:var(--tx-183b31)}
.arc-hero-toggle[aria-pressed=true]{background:var(--bg-183b31);color:#fff}
/* Footprint names and categories */
.footprint-namer{max-width:440px;border:0;border-radius:24px;padding:20px}.footprint-namer form{display:grid;gap:12px}.footprint-namer h2{margin:0;font:700 26px Georgia,serif;color:var(--tx-173a31)}.footprint-namer h3{margin:4px 0 0;font-size:14px;color:var(--tx-173a31)}
.footprint-namer input{min-height:48px;padding:0 14px;border:2px solid var(--bd-173a31);border-radius:14px;font:700 18px system-ui,sans-serif;color:var(--tx-173a31)}
.footprint-cat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.footprint-cat{display:grid;justify-items:center;gap:3px;min-width:0;padding:8px 2px;border:1px solid var(--bd-d9dfd5);border-radius:12px;background:var(--bg-ffffff);color:var(--tx-173a31);font:inherit;cursor:pointer}.footprint-cat span{font-size:22px}.footprint-cat small{font-size:10px;font-weight:700;line-height:1.1;text-align:center}
.footprint-cat[aria-pressed=true]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}
.footprint-namer-actions{display:grid;gap:8px}.footprint-namer-actions .button{min-height:46px;width:100%}
.footprint-cat-filter{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:8px 0}.footprint-cat-filter::-webkit-scrollbar{display:none}
.footprint-cat-filter button{flex:0 0 auto;min-height:32px;padding:0 12px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);color:var(--tx-173a31);font-size:12px;font-weight:700;white-space:nowrap}.footprint-cat-filter button[aria-pressed=true]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}
/* Drafts */
.drafts-tile{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:6px 0 12px;padding:0 16px;border:1px solid var(--bd-d9dfd5);border-radius:16px;background:var(--bg-f4f5e8);color:var(--tx-173a31);font-weight:800;font-size:15px;text-align:left}.drafts-tile::after{content:'›';font-size:22px;color:var(--tx-9aa69c)}
.drafts-chip{min-height:38px;padding:0 14px;border:1px dashed #c9822b;border-radius:999px;background:var(--bg-f7f0dd);color:var(--tx-9a5a12);font-weight:800;font-size:13px}.drafts-chip[hidden]{display:none}
.drafts-hub{width:min(560px,100vw);max-width:none;height:100%;max-height:100dvh;margin:0 auto;border:0;padding:16px;background:var(--bg-eef2e4)}
.drafts-head{display:flex;justify-content:space-between;align-items:center}.drafts-head h2{margin:0;font:700 28px Georgia,serif;color:var(--tx-173a31)}
.drafts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.draft-tile{position:relative;display:grid;align-content:end;justify-items:start;gap:2px;aspect-ratio:3/4;min-width:0;padding:8px;border:0;border-radius:12px;overflow:hidden;background:var(--bg-e8f1ec);color:#fff;text-align:left;font:inherit;cursor:pointer}
.draft-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.draft-tile::before{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0b1f19cc);z-index:1}
.draft-tile>*{position:relative;z-index:2}.draft-tile img{z-index:0}
.draft-icon{position:absolute!important;top:30%;left:50%;transform:translate(-50%,-50%);font-size:34px}
.draft-badge{position:absolute!important;top:6px;left:6px;padding:2px 7px;border-radius:999px;background:var(--bg-f4f5e8);color:var(--tx-173a31);font-size:10px;font-weight:800;font-style:normal}
.draft-tile strong{font-size:12px;line-height:1.2;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.draft-tile small{font-size:10px;opacity:.85}
.draft-tile-recording{background:var(--bg-c9822b)}
.arc-quick-thumbs{display:flex;gap:6px;flex-wrap:wrap}.arc-quick-thumbs:empty{display:none}
.arc-quick-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden}.arc-quick-thumb img{width:100%;height:100%;object-fit:cover}
.arc-quick-thumb button{position:absolute;top:2px;right:2px;width:22px;height:22px;border:0;border-radius:50%;background:#0b1f19cc;color:#fff;font-size:14px;line-height:22px;padding:0}
.staging-label{display:none}
/* Video fixes: the tab bar always stays on top, maps sit inside their own layer and fit the screen */
.tabs{z-index:3000!important;background:var(--bg-f0f2e4)!important}
.arc-map-stage,.shape-map-stage,.feed-map{isolation:isolate}
.shape-under{position:relative;z-index:1}
@media (max-width:700px){.shape-map-stage{height:min(56vh,480px)!important}}
.arc-stage-rich{height:min(64vh,600px)!important;min-height:440px}
main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
/* Footprints: two clear choices and a readable weekly card */
.footprint-choices{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.footprint-choice{display:grid;gap:6px;align-content:start}.footprint-choice .button{width:100%;min-height:52px;font-size:15px}.footprint-choice small{font-size:12px;color:var(--tx-5c6a60);line-height:1.3}
.rove-pulse{background:var(--bg-173a31)!important;color:#fff!important;border-radius:22px!important;padding:18px!important}
.rove-pulse .pulse-strip strong,.rove-pulse .pulse-legend strong,.rove-pulse .pulse-score strong{color:#fff}
.rove-pulse .pulse-strip{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.rove-pulse .pulse-strip>div{display:grid;gap:2px}.rove-pulse .pulse-strip span{font-size:11px;color:var(--tx-a9c2b4)}
.rove-pulse .pulse-more summary{color:#cfe3d6!important}
.footprint-rename{justify-self:start;margin-top:4px;font-size:13px}
.footprint-choice small{letter-spacing:normal!important;text-transform:none!important}
.footprint-own{min-height:44px;padding:0 14px;border:1px solid var(--bd-cbd5c9);border-radius:12px;font:inherit}.footprint-cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 12px}
.import-tile{position:relative;margin:0;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--bg-e8f1ec)}.import-tile img{width:100%;height:100%;object-fit:cover}
.import-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 6px 5px;background:linear-gradient(transparent,#0b1f19cc);color:#fff;font-size:10px;font-weight:700;line-height:1.2}
.import-unplaced{outline:2px dashed #c9822b}.import-fallback{padding:10px 12px;border:1px dashed #c9822b;border-radius:14px;background:var(--bg-f7f0dd);margin-bottom:10px}
.shape-choice-import{border-color:var(--bd-173a31)!important}
.shape-capture{position:absolute;z-index:520;left:14px;bottom:16px;width:56px;height:56px;border:3px solid var(--bd-ffffff);border-radius:50%;background:var(--bg-173a31);color:#fff;font-size:24px;box-shadow:0 6px 18px #173a3155;cursor:pointer}
.shape-choice-capture{border-color:#c9822b!important;background:var(--bg-f7f0dd)!important}
.shape-status-line{margin:0 0 10px;font-weight:700;color:var(--tx-173a31)}
.draft-delete{position:absolute!important;top:6px;right:6px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#0b1f19b3;font-size:14px;cursor:pointer}
.draft-confirm{position:absolute!important;inset:0;z-index:5!important;display:grid;align-content:center;justify-items:center;gap:6px;padding:8px;background:#0b1f19e6;border-radius:12px}.draft-confirm strong{font-size:12px;text-align:center}
.draft-confirm button{width:100%;min-height:32px;border:0;border-radius:10px;font-weight:800;font-size:12px}.draft-confirm-yes{background:#c0392b;color:#fff}.draft-confirm-no{background:var(--bg-ffffff);color:var(--tx-173a31)}
/* My World: Apple Maps-style sheet + Apple Photos-style memories */
.shape-under{margin-top:-26px!important;padding:16px 12px 8px;background:var(--bg-eef2e4);border-radius:24px 24px 0 0;box-shadow:0 -8px 24px #173a3118}
.shape-under::before{content:'';position:absolute;top:7px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--bg-cfd6cc)}
.world-photos{display:grid;gap:10px;margin:14px 0}.world-photos:empty{display:none}
.world-photos-head{display:flex;justify-content:space-between;align-items:baseline}.world-photos-head h2{margin:0;font:800 24px system-ui,sans-serif;color:var(--tx-173a31)}
.otd-card{position:relative;display:grid;align-content:end;justify-items:start;gap:2px;min-height:190px;padding:16px;border:0;border-radius:20px;overflow:hidden;background:var(--bg-173a31);color:#fff;text-align:left;font:inherit;cursor:pointer}
.otd-media{position:absolute;inset:0}.otd-media img{width:100%;height:100%;object-fit:cover}.otd-card::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0b1f19dd)}
.otd-card>*:not(.otd-media){position:relative;z-index:1}.otd-card small{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--tx-ffd79a)}.otd-card strong{font:800 24px system-ui,sans-serif}.otd-card span{font-size:13px;opacity:.9}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border-radius:16px;overflow:hidden}.photo-grid:empty{display:none}
.photo-tile{aspect-ratio:1;padding:0;border:0;background:var(--bg-e8f1ec);cursor:pointer}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.photo-empty{display:grid;gap:8px;padding:16px;border:1px dashed var(--bd-cbd5c9);border-radius:16px;text-align:center}.photo-empty p{margin:0;color:var(--tx-5c6a60)}
.shape-capture{bottom:40px!important}.shape-map-tools{bottom:40px!important}
.import-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:50%;background:#0b1f19b3;color:#fff;font-size:14px;line-height:24px;padding:0;z-index:2}
.import-video-badge{position:absolute;top:6px;left:6px;padding:2px 6px;border-radius:8px;background:#0b1f19b3;color:#fff;font-size:11px}
.import-noposter{display:grid;place-items:center;height:100%;font-size:28px}
.import-add-place{border:0;border-radius:8px;background:var(--bg-ffffff);color:var(--tx-173a31);font-weight:800;font-size:11px;padding:4px 6px}
.import-editing{outline:3px solid #c9822b}.import-all{display:flex;gap:6px;align-items:center;font-size:13px}
.shape-detail-video{width:100%;max-height:60vh;border-radius:16px;background:#000}
.shape-map-tools [data-map=locate]{font-size:20px!important;color:var(--tx-2f7bf6)!important}.shape-map-tools [data-map=locate].is-live{background:#2f7bf6!important;color:#fff!important}
.live-dot{filter:drop-shadow(0 2px 4px #2f7bf680)}
/* My World, Apple Maps style: full-bleed map, floating controls, pull-up sheet */
.mw-immersive .shape-intro{display:none!important}
.mw-immersive .shape-map-stage{height:70vh;margin:0 calc(50% - 50vw)!important;width:100vw;border-radius:0!important;box-shadow:none!important}
.mw-immersive .shape-map{border-radius:0}
.mw-immersive .shape-search{position:static!important;flex:1;min-height:46px!important;border:0!important;border-radius:999px!important;background:var(--bgx-ffffffe6)!important;box-shadow:none!important;font-size:16px!important;color:var(--tx-5c6a60)!important;padding:0 16px!important;text-align:left}
.mw-immersive .shape-map-tools{right:12px!important;left:auto!important;bottom:auto!important;top:14px!important;display:grid;gap:0!important;border-radius:14px!important;overflow:hidden!important;background:var(--bgx-f4f5e8f0)!important;box-shadow:0 4px 14px #173a3126!important}
.mw-immersive .shape-map-tools button{border-radius:0!important;box-shadow:none!important;background:none!important;width:46px;height:46px}.mw-immersive .shape-map-tools [data-map=expand]{display:none}
.mw-immersive .shape-map-tools [data-map=locate].is-live{background:#2f7bf6!important;color:#fff!important}
.mw-immersive .shape-capture{left:12px!important;bottom:auto!important;top:14px!important;width:50px;height:50px;font-size:22px}
.mw-weather{position:absolute;z-index:520;left:12px;top:74px;padding:6px 10px;border-radius:12px;background:var(--bgx-f4f5e8f0);box-shadow:0 4px 14px #173a3126;font-weight:800;font-size:14px;color:var(--tx-173a31)}
.mw-sheet{position:absolute;z-index:600;left:8px;right:8px;bottom:8px;height:calc(100% - 54px);display:flex;flex-direction:column;border-radius:26px;background:var(--bgx-eef2e4f2);box-shadow:0 -6px 30px #173a3130;transform:translate3d(0,var(--sheet-y,0px),0);transition:transform .34s cubic-bezier(.22,.9,.22,1);will-change:transform;contain:layout paint;overflow:hidden}
.mw-sheet.mw-dragging{transition:none}
.mw-grab{flex:0 0 auto;align-self:center;width:60px;height:18px;border:0;background:none;padding:0;cursor:grab;position:relative}.mw-grab::after{content:'';position:absolute;left:12px;right:12px;top:7px;height:5px;border-radius:3px;background:#c7cfc4}
.mw-bar{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:2px 12px 10px;touch-action:none}
.mw-me{flex:0 0 46px;height:46px;border:0;border-radius:50%;background:var(--bg-173a31);color:#fff;font-weight:800;font-size:13px}
.mw-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 14px calc(24px + var(--sheet-hidden,0px));-webkit-overflow-scrolling:touch}
.mw-sheet[data-state=peek] .mw-sheet-body{visibility:hidden}
.mw-sheet-body .shape-under{margin:0 0 10px!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}.mw-sheet-body .shape-under::before{display:none}
.mw-sections{display:grid;gap:8px;margin-bottom:12px}
.mw-h{display:flex;align-items:center;gap:4px;margin:10px 0 4px;font:800 20px system-ui,sans-serif;color:var(--tx-173a31)}.mw-chev{color:var(--tx-9aa69c)}
.mw-places{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mw-place{display:grid;justify-items:center;gap:3px;min-width:0;border:0;background:none;padding:0;font:inherit;color:var(--tx-173a31);cursor:pointer}.mw-place strong{font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-place small{font-size:11px;color:var(--tx-6b786e);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mw-disc{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;overflow:hidden;background:#2a6b57;color:#fff;font:800 18px system-ui;box-shadow:0 4px 12px #173a3133}.mw-disc img{width:100%;height:100%;object-fit:cover}.mw-disc-add{background:var(--bg-e3ebe2);color:var(--tx-173a31);font-size:30px;box-shadow:none}
.mw-list{display:grid;border-radius:16px;overflow:hidden;background:var(--bg-ffffff);border:1px solid var(--bd-e3e8e0)}
.mw-row{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 12px;border:0;border-top:1px solid var(--bd-eef1ec);background:none;text-align:left;font:inherit;color:var(--tx-173a31);cursor:pointer}.mw-row:first-child{border-top:0}
.mw-pin{grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--bg-fdecea);font-size:15px}.mw-row strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-row small{font-size:12px;color:var(--tx-6b786e)}
.mw-cards{display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.mw-cards::-webkit-scrollbar{display:none}
.mw-card{display:grid;align-content:end;justify-items:start;gap:2px;min-height:120px;padding:12px;border:0;border-radius:18px;background:linear-gradient(160deg,#2a6b57,var(--bg-173a31));color:#fff;text-align:left;font:inherit;scroll-snap-align:start;cursor:pointer}.mw-card-icon{font-size:30px;margin-bottom:auto}.mw-card strong{font-size:16px}.mw-card small{opacity:.85}
.mw-actions{display:grid;gap:8px;margin-top:6px}.mw-action{min-height:50px;border:0;border-radius:14px;background:var(--bg-e9eef6);color:var(--tx-1f5bd1);font-weight:800;font-size:15px;cursor:pointer}
.mw-top-actions{display:flex!important;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.mw-top-actions .shape-primary{min-height:40px!important;padding:0 16px!important;font-size:14px!important}
.mw-immersive .leaflet-bottom.leaflet-right{top:0;bottom:auto}.mw-immersive .leaflet-control-attribution{font-size:9px;opacity:.75;margin:0!important;border-radius:0 0 0 8px}
.mw-immersive .shape-map-tools{top:24px!important}
.mw-seg{position:absolute;z-index:560;top:14px;left:50%;transform:translateX(-50%);display:flex;padding:3px;border-radius:999px;background:var(--bgx-f4f5e8f0);box-shadow:0 4px 14px #173a3126}
.mw-seg button{min-height:34px;padding:0 12px;border:0;border-radius:999px;background:none;font-weight:800;font-size:13px;color:var(--tx-40543f)}.mw-seg button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
.mw-social-note{position:absolute;z-index:540;top:60px;left:50%;transform:translateX(-50%);max-width:80%;margin:0;padding:8px 12px;border-radius:12px;background:var(--bgx-f4f5e8f0);box-shadow:0 4px 14px #173a3126;font-size:13px;font-weight:700;color:var(--tx-173a31);text-align:center}
.mw-social{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mw-social-card{display:grid;align-content:end;justify-items:start;gap:2px;min-height:110px;padding:12px;border:0;border-radius:18px;background:linear-gradient(160deg,#3a6fb0,#1f3f73);color:#fff;text-align:left;font:inherit;cursor:pointer}.mw-social-card:last-child{background:linear-gradient(160deg,var(--bg-c9822b),#8a4f12)}.mw-social-card small{opacity:.88}
.mw-immersive .shape-capture{top:64px!important}
.mw-philosophy-line{margin:6px 2px 0;font-size:12px;color:var(--tx-5c6a60);line-height:1.4}
.mw-why{display:grid;gap:2px;justify-items:start;width:100%;margin-top:8px;padding:14px;border:1px solid var(--bd-e3e8e0);border-radius:16px;background:var(--bg-f7f0dd);text-align:left;font:inherit;color:var(--tx-173a31);cursor:pointer}.mw-why strong{font:700 18px Georgia,serif}.mw-why small{color:var(--tx-8a5a1c);font-weight:700}
.mw-why-lead{font:600 17px/1.45 Georgia,serif;color:var(--tx-173a31)}
.mw-loop{margin:0;padding-left:20px;display:grid;gap:8px}.mw-loop li{display:grid;gap:2px}.mw-loop strong{color:var(--tx-c9822b)}.mw-loop span{color:var(--tx-40543f);font-size:14px}
.mw-celebrate{margin:0;padding-left:18px;display:grid;gap:4px;color:var(--tx-40543f)}.mw-why-end{font:700 18px Georgia,serif;color:var(--tx-173a31)}
.mw-seg{top:40px!important}.mw-social-note{top:86px!important}
.vis-options{display:grid;gap:8px}.vis-option{display:grid;gap:2px;justify-items:start;padding:12px 14px;border:1px solid var(--bd-dfe5dc);border-radius:14px;background:var(--bg-ffffff);text-align:left;font:inherit;color:var(--tx-173a31);min-height:44px}.vis-option small{color:var(--tx-5c6a60)}.vis-option[aria-pressed=true]{border:2px solid var(--bd-173a31);background:var(--bg-f1f6f2)}
.vis-where{display:grid;gap:6px;padding:12px;border:1px dashed #c9822b;border-radius:14px;background:var(--bg-f7f0dd)}.vis-picked{margin:0;font-weight:700;color:var(--tx-173a31)}
.vis-requests{display:grid;gap:8px}.vis-request{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--bd-e3e8e0);border-radius:14px;background:var(--bg-ffffff)}.vis-request small{grid-column:1;color:var(--tx-6b786e)}
.rove-bubble-arc{background:var(--bg-c9822b)!important;border-color:var(--bd-ffffff)!important}.mw-arc-meta{font-weight:800;color:var(--tx-173a31)}
.vis-where input{width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border:1px solid var(--bd-cbd5c9);border-radius:12px;font:inherit;background:var(--bg-ffffff)}.vis-where label{display:grid;gap:4px;font-size:13px;font-weight:700}
/* Town picker for Open / Public ARCs */
.vis-where{display:grid;gap:8px;padding:14px!important;border:1px solid var(--bd-e3e8e0)!important;border-radius:18px!important;background:var(--bg-ffffff)!important}
.vis-title{font:800 17px system-ui,sans-serif;color:var(--tx-173a31)}.vis-help{color:var(--tx-5c6a60);font-size:13px;line-height:1.35;margin-top:-4px}
.vis-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:var(--bg-eef6ef);border:1px solid var(--bd-b9d6c0)}.vis-chip[hidden]{display:none}.vis-chip strong{flex:1;min-width:0;font-size:15px;color:var(--tx-173a31);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vis-chip-icon{font-size:18px}
.vis-change{border:0;background:none;color:var(--tx-1f5bd1);font-weight:800;font-size:14px;min-height:44px;padding:0 4px}
.vis-search{display:grid;gap:8px}.vis-search[hidden]{display:none}
.vis-search label{display:block;position:relative;margin:0}
.vis-search label::before{content:'🔍';position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none}
.vis-search input{width:100%;box-sizing:border-box;min-height:48px;padding:0 14px 0 40px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-f6f7f3);font:inherit;font-size:16px;color:var(--tx-173a31)}
.vis-search input:focus{outline:2px solid var(--bd-173a31);outline-offset:1px;background:var(--bg-ffffff)}
.vis-search .shape-text{justify-self:start;min-height:36px;padding:0 14px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);color:var(--tx-173a31);font-weight:700;font-size:13px;text-decoration:none}
.vis-search .shape-results{display:grid;border-radius:14px;overflow:hidden;border:1px solid var(--bd-e3e8e0)}.vis-search .shape-results:empty{display:none}
.vis-search .shape-results button{min-height:46px;padding:0 14px;border:0;border-top:1px solid var(--bd-eef1ec);background:var(--bg-ffffff);text-align:left;font:inherit;font-size:15px;color:var(--tx-173a31)}.vis-search .shape-results button:first-child{border-top:0}
.vis-search p{margin:0;font-size:12px;color:var(--tx-6b786e)}.vis-search p:empty{display:none}.vis-search small{font-size:11px;color:var(--tx-9aa69c)}

/* Keep sheet gestures on the handle, including iOS touch drags. */
.mw-grab{touch-action:none}

/* Unified map navigation; retain internal route triggers for existing details. */
#app-tabs{display:none!important}body{padding-bottom:env(safe-area-inset-bottom)}body[data-view=my] #screen-my{padding-bottom:0}body[data-view=my] .map-return{display:none}
.topbar-actions{display:flex;gap:8px;align-items:center}.map-return{white-space:nowrap}
.mw-sheet{--sheet-bottom:max(10px,env(safe-area-inset-bottom));--sheet-top:calc(env(safe-area-inset-top,0px) + 6px);bottom:var(--sheet-bottom);left:10px;right:10px;height:calc(100% - var(--sheet-bottom) - var(--sheet-top))}
.mw-seg{top:16px!important;max-width:calc(100% - 24px);width:max-content}.mw-seg button{min-height:40px;padding:0 12px;font-size:13px;white-space:nowrap}
.mw-immersive .shape-map-tools{top:78px!important}.mw-immersive .shape-capture{top:78px!important;width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;line-height:1.1}
.shape-capture img{width:25px;height:25px;filter:brightness(0) invert(1)}
.mw-capture-menu{position:absolute;z-index:900;left:12px;top:150px;width:min(245px,calc(100% - 84px));background:var(--paper);border-radius:18px;box-shadow:0 8px 26px #173a3130;overflow:hidden}
.mw-capture-menu>button{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--tx-173a31);font-size:15px;font-weight:700}.mw-capture-menu img{width:25px;height:25px}.mw-capture-menu p:empty{display:none}.mw-capture-menu p{padding:10px;font-size:13px;margin:0}
.mw-community{position:absolute;z-index:560;top:64px;left:84px;right:70px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.mw-community button{min-height:36px;border:0;padding:0 10px;background:var(--paper);color:var(--tx-173a31);border-radius:18px;font-weight:700;font-size:12px}.mw-community button[aria-pressed=true]{background:var(--bg-173a31);color:white}.mw-community-manage{flex-basis:100%}
.shape-map-stage[data-map-mode=community] .mw-social-note{top:150px!important}
.mw-social-note{top:74px!important;max-width:calc(100% - 170px)}
@media(max-width:380px){.mw-seg button{padding:0 9px;font-size:12px}.topbar-actions{gap:4px}.map-return{font-size:11px!important;padding:8px}}

/* The map owns the space formerly reserved for bottom navigation. */
body[data-view=my]{padding-bottom:0}body[data-view=my] #main{padding-bottom:0}

/* A private adventure dashboard, using the app's existing paper and forest palette. */
.footprint-dashboard{width:min(900px,calc(100% - 20px));padding:20px;scroll-padding-top:76px}
.footprint-dashboard>button:first-child{position:sticky;top:0;z-index:1000;display:block;margin-left:auto;background:var(--paper);box-shadow:0 2px 8px #173a3110}
.footprint-current-stats .footprint-stats{background:transparent;padding:16px 0;grid-template-columns:repeat(2,minmax(0,1fr))}
.footprint-current-stats .footprint-data-note{font-size:11px;line-height:1.5;color:var(--muted)}
.footprint-current-stats .footprint-elevation{margin:0 0 20px;background:var(--bg-f4f5e8)}
.footprint-current-notes{margin:18px 0;padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.footprint-current-notes label{display:block;font-weight:700;font-size:14px}
.footprint-current-notes textarea{display:block;box-sizing:border-box;width:100%;min-height:96px;padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:var(--bg-f4f5e8);color:var(--tx-173a31);font:inherit;font-size:16px;resize:vertical}
.footprint-current-notes p{font-size:12px;line-height:1.5;margin-bottom:0;color:var(--muted)}
.footprint-current-moments h4,.footprint-saved-media h4{font:700 18px Georgia,serif;margin:0 0 12px}
.footprint-saved-media{padding:20px 24px;border-top:1px solid var(--line)}
.footprint-media-strip{display:flex;gap:10px;overflow:auto;scroll-snap-type:x proximity;padding-bottom:6px}
.footprint-media-strip figure{margin:0;flex:0 0 180px;scroll-snap-align:start}
.footprint-media-strip img,.footprint-media-strip video{display:block;width:180px;height:150px;object-fit:cover;border-radius:12px;background:var(--bg-173a31)}
.footprint-history-head{margin:28px 0 8px}.footprint-history-head h3{font:700 27px Georgia,serif;margin:0 0 8px}.footprint-history-head p{font-size:13px;line-height:1.5;color:var(--muted);max-width:540px}
.mw-mode-content{padding:4px 0 18px}.mw-mode-help{font-size:13px;line-height:1.5;color:var(--muted);margin:4px 0 16px}
.mw-community-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.mw-community-start button{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--tx-173a31);text-align:left;min-height:80px}
.mw-community-start strong{display:block;font-size:15px}.mw-community-start small{display:block;font-size:12px;line-height:1.4;margin-top:6px;color:var(--muted)}
@media(max-width:600px){.footprint-dashboard{padding:14px}.footprints-record-panel{padding:16px}.footprints-filters{flex-wrap:wrap;gap:4px}.footprints-header{margin-top:8px}.mw-community-start{grid-template-columns:1fr}.mw-community-start button{padding:12px 14px;min-height:64px}.mw-community-start small{margin-top:3px}.footprint-current-stats .footprint-stats dd{font-size:21px}}

.footprints-record-panel .sync-buttons>button{flex-basis:120px;min-height:46px}

/* Explore preference controls and first-use setup. */
.explore-personalize{background:var(--bg-edf2e7);border:1px solid var(--bd-cbd8c5);border-radius:16px;padding:16px;margin:16px 0}.explore-personalize-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.explore-personalize-actions [aria-pressed=true],.explore-interest-grid [aria-pressed=true]{background:var(--bg-173a31);color:white;border-color:var(--bd-173a31)}.explore-interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.explore-interest-grid button{font-size:14px;min-height:52px;text-align:left}.explore-interest-dialog{max-width:540px}.explore-interest-dialog>.button{margin-right:12px}.explore-match{font-size:12px!important;color:var(--tx-46683d)!important;padding:8px 11px;background:var(--bg-edf2e7);border-radius:10px;margin:10px 0}.explore-interest-dialog button:focus-visible{outline:3px solid #b36848;outline-offset:3px}

.mw-teem-definition{margin:4px 0 10px;font-style:italic;font-size:14px;color:var(--ink,var(--tx-203b33));opacity:.8}

/* Keep map credits in a dedicated strip above the expanded sheet. */
.mw-immersive .leaflet-bottom.leaflet-right{z-index:450;max-width:100%;pointer-events:none}
.mw-immersive .leaflet-control-attribution{font-size:10px;line-height:14px;max-width:calc(100vw - 24px);padding:3px 6px;opacity:1;pointer-events:auto}
.mw-grab{width:100%;height:40px;min-height:40px;touch-action:none}
.mw-grab::after{left:calc(50% - 20px);right:auto;width:40px;top:16px}

.arc-map-adventure{padding:18px;background:var(--bg-f7f6ef);border:1px solid var(--bd-d7ded2);border-radius:18px;margin:16px 0}.arc-map-adventure button{margin:4px 6px 4px 0}.arc-map-adventure label{display:block;margin:8px 0}.arc-map-adventure input:not([type=range]){display:block;max-width:100%;padding:10px;border:1px solid var(--bd-b9c5b6);border-radius:8px}.arc-map-activities article{padding:12px 0;border-top:1px solid var(--bd-d7ded2)}.arc-map-activities strong,.arc-map-activities small{display:block}.arc-crew-marker{display:grid;place-items:center;width:36px;height:36px;background:var(--bg-173a31);border:3px solid var(--bd-ffffff);border-radius:10px;color:white;font-weight:700;box-shadow:0 2px 8px #0004}.footprint-replay-controls input{width:100%}.footprint-replay-controls[hidden]{display:none}

.arc-location-indicator{display:block;width:100%;background:var(--bg-173a31);color:#fff;border:0;border-radius:0;padding:8px 10px;font-size:12px;min-height:36px}.arc-location-indicator[hidden]{display:none}

/* Header-free app shell. Navigation stays within reach above the map controls. */
body{padding-top:env(safe-area-inset-top)}
body:not([data-view=my]) #main{padding-top:56px}
.app-menu{position:fixed;z-index:900;right:12px;top:calc(env(safe-area-inset-top) + 12px);color:var(--tx-173a31)}
.app-menu>summary{list-style:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--bd-d8ddd1);border-radius:14px;background:var(--bgx-f4f5e8f5);box-shadow:0 4px 14px #173a3126;font-size:23px;cursor:pointer}
.app-menu>summary::-webkit-details-marker{display:none}
.app-menu>summary:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
.app-menu>nav{position:absolute;top:0;right:56px;min-width:160px;display:grid;padding:6px;border:1px solid var(--bd-d8ddd1);border-radius:14px;background:var(--bg-f4f5e8);box-shadow:0 6px 24px #173a3126}
.app-menu>nav button{min-height:46px;text-align:left;padding:10px 14px;background:none;border:0;color:var(--tx-173a31);border-radius:8px}
.app-menu>nav button:hover{background:var(--bg-e7eee1)}
body[data-view=my] .app-menu{top:calc(env(safe-area-inset-top) + 78px)}
body[data-view=my]:has(.arc-location-indicator:not([hidden])) .app-menu{top:calc(env(safe-area-inset-top) + 114px)}
body:not([data-view=my]):has(.arc-location-indicator:not([hidden])) .app-menu{top:calc(env(safe-area-inset-top) + 48px)}
.mw-immersive .shape-map-tools{top:134px!important}

/* A small label with a full touch target; details stay in an accessible dialog. */
.app-legal-link{position:fixed;top:env(safe-area-inset-top);left:4px;z-index:900;min-width:48px;min-height:44px;padding:0 5px;border:0;background:transparent;color:var(--tx-173a31);font-size:11px;text-decoration:underline;text-underline-offset:3px;text-shadow:0 1px 3px #fff,0 -1px 3px #fff}
body:has(.arc-location-indicator:not([hidden])) .app-legal-link{top:calc(env(safe-area-inset-top) + 36px)}
.app-legal-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;border:1px solid var(--bd-cbd5c9);border-radius:22px;padding:24px;background:var(--bg-f0f2e4);color:var(--tx-173a31);line-height:1.6}
.app-legal-dialog::backdrop{background:#102e2466;backdrop-filter:blur(3px)}
.app-legal-dialog form{display:flex;justify-content:flex-end}.app-legal-dialog h2{font:700 28px Georgia,serif;margin:14px 0}.app-legal-dialog h3{font-size:16px;margin-top:24px}.app-legal-dialog p,.app-legal-dialog li{font-size:14px}.app-legal-dialog li{margin:10px 0}.app-legal-dialog a{color:inherit;text-underline-offset:3px}

/* Recorded history lives inside the existing My World sheet. */
.world-routes{display:grid;gap:6px;margin:14px 0}
.world-routes h3,.world-routes p{margin:0 0 6px}
.world-routes button{display:block;text-align:left;min-height:44px;padding:10px 12px;border:1px solid var(--bd-d9e0d5);border-radius:12px;background:var(--bg-ffffff);color:var(--tx-173a31);font:inherit}
.shape-under .shape-day select{min-height:44px;max-width:100%;border:1px solid var(--bd-cbd5c9);border-radius:12px;background:var(--bg-ffffff);padding:8px;color:var(--tx-173a31);font:inherit}
/* Manual place replays (#825): illustrative stops and a single-place reveal. */
.manual-replays{display:grid;gap:8px;margin:12px 0;padding:14px;border:1px solid var(--bd-dfe5dc);border-radius:16px;background:var(--bg-ffffff)}.manual-replays h3{margin:0}
.manual-replay-list{display:grid;gap:8px}.manual-replay-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:4px 8px;padding:10px 12px;border:1px solid var(--bd-dfe5dc);border-radius:12px}.manual-replay-row small{grid-column:1;color:var(--tx-6b786e)}.manual-replay-row strong{grid-column:1}.manual-replay-row button{grid-row:1/span 2;min-height:44px}
.manual-replay-card{padding:12px 14px;border-radius:14px;background:var(--bg-173a31);color:#fff}.manual-replay-card small{color:var(--tx-ffd79a);font-weight:800;letter-spacing:.08em;font-size:11px}.manual-replay-card h3{margin:2px 0;font:700 22px Georgia,serif}.manual-replay-card p{margin:0;opacity:.85}
.manual-replay-card.is-revealed{animation:manual-reveal .7s ease}@keyframes manual-reveal{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.manual-replay-builder form{display:grid;gap:10px}.manual-replay-builder input{min-height:44px;padding:0 12px;border:1px solid var(--bd-cbd5c9);border-radius:12px;font:inherit}
.manual-replay-choices{display:flex;flex-wrap:wrap;gap:6px;max-height:40vh;overflow:auto}.manual-replay-choices button{min-height:44px;padding:0 12px;border:1px solid var(--bd-cbd5c9);border-radius:999px;background:var(--bg-ffffff);font-weight:700;color:var(--tx-173a31)}.manual-replay-choices button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
.manual-replay-order{margin:0;padding-left:22px;display:grid;gap:4px}.manual-replay-order li span{margin-right:8px;font-weight:700}.manual-replay-order button{min-height:44px;min-width:44px}
@media (prefers-reduced-motion:reduce){.manual-replay-card.is-revealed{animation:none}}

/* My World continues behind the Dynamic Island/status bar without a glass header.
   Keep touch controls below the safe area; the map itself reaches the screen edge. */
body[data-view=my]{padding-top:0}
body[data-view=my]::before{content:none}
body[data-view=my] .mw-immersive .mw-seg{top:calc(24px + env(safe-area-inset-top))!important}
body[data-view=my] .mw-immersive .mw-community{top:calc(64px + env(safe-area-inset-top))}
body[data-view=my] .mw-immersive .mw-social-note{top:calc(74px + env(safe-area-inset-top))!important}
body[data-view=my] .shape-map-stage[data-map-mode=community] .mw-social-note{top:calc(150px + env(safe-area-inset-top))!important}
body[data-view=my] .mw-immersive .shape-map-tools{top:calc(134px + env(safe-area-inset-top))!important}

/* Shared ARC location prompt */
.arc-location-gate{display:grid;gap:8px;margin:8px 0;padding:12px 14px;border-radius:14px;background:var(--bg-fff4df);border:1px solid var(--bd-ecd3a1);color:var(--tx-5b3d0c)}.arc-location-gate p{margin:0;font-size:14px;line-height:1.4}

/* ARC detail, built like My World: full-screen map under the status bar, floating controls, one sheet with tabs. */
body[data-view=plan].arc-open{padding-top:0;padding-bottom:0}
body[data-view=plan].arc-open .app-menu,body[data-view=plan].arc-open .app-legal-link{display:none}
body[data-view=plan].arc-open #screen-plan{padding:0}
body[data-view=plan].arc-open .arc-map-stage.arc-immersive{position:fixed;inset:0;z-index:300;height:100dvh!important;min-height:0;margin:0;border-radius:0;box-shadow:none}
body[data-view=plan].arc-open .arc-immersive .arc-detail-map{border-radius:0!important;box-shadow:none}
body[data-view=plan].arc-open::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);z-index:850;pointer-events:none;background:var(--bgx-f4f5e8b8);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.arc-immersive .arc-fab-back{position:absolute;z-index:560;left:12px;top:calc(14px + env(safe-area-inset-top));margin:0;min-height:44px;padding:0 16px;border:0;border-radius:22px;background:var(--bgx-f4f5e8f0);box-shadow:0 4px 14px #173a3126;font-weight:800;color:var(--tx-173a31)}
.arc-fab-tools{position:absolute;z-index:560;right:12px;top:calc(14px + env(safe-area-inset-top));display:grid;border-radius:14px;overflow:hidden;background:var(--bgx-f4f5e8f0);box-shadow:0 4px 14px #173a3126}
.arc-fab-tools button,.arc-fab-tools .arc-fab{width:46px;height:46px;min-height:46px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:20px;color:var(--tx-173a31);display:grid;place-items:center}
.arc-fab-tools button+button{border-top:1px solid var(--bd-e3e8e0)}
.arc-immersive .leaflet-control-zoom{display:none}
.arc-sheet{z-index:600}
.arc-sheet-bar{padding:0 16px 6px;display:grid;gap:3px;cursor:grab;touch-action:none}
.arc-sheet-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.arc-sheet-title h2{margin:0;font:700 22px/1.15 Georgia,serif;color:var(--tx-173a31);overflow-wrap:anywhere}
.arc-seg{display:flex;gap:4px;overflow-x:auto;padding:4px 12px 8px;scrollbar-width:none}.arc-seg::-webkit-scrollbar{display:none}
.arc-seg button{flex:0 0 auto;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:var(--bg-eef1ea);color:var(--tx-40543f);font-weight:800;font-size:13px}
.arc-seg button[aria-selected=true]{background:var(--bg-173a31);color:#fff}
.arc-sheet[data-state=peek] .arc-seg{display:none}
.arc-sheet .arc-sheet-body{padding:4px 14px calc(24px + env(safe-area-inset-bottom) + var(--sheet-hidden,0px))}
.arc-sheet .arc-dashboard,.arc-sheet .arc-map-adventure{margin:0;padding:0;border:0;box-shadow:none;background:none}
.arc-sheet .arc-panel-head{display:none}
.arc-pane-overview .arc-dashboard-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.arc-pane-overview .arc-dashboard-actions .button{min-height:48px;margin:0;width:100%}
.arc-sheet .arc-planning-banner{margin:4px 0 8px}
.arc-immersive .arc-detail-map{z-index:0}
.arc-immersive .leaflet-bottom.leaflet-right{top:env(safe-area-inset-top);bottom:auto}.arc-immersive .leaflet-control-attribution{font-size:9px;opacity:.75;margin:0!important;border-radius:0 0 0 8px}

/* ARC chat */
.arc-chat{display:grid;gap:8px}.arc-chat-log{display:flex;flex-direction:column;gap:4px;max-height:46dvh;min-height:140px;overflow-y:auto;padding:4px 2px}
.arc-sheet .arc-chat-log{max-height:calc(100dvh - 330px)}
.arc-chat-msg{align-self:flex-start;max-width:82%;padding:8px 12px;border-radius:18px 18px 18px 6px;background:var(--bg-eef1ea);color:var(--tx-173a31)}.arc-chat-msg.is-mine{align-self:flex-end;border-radius:18px 18px 6px 18px;background:var(--bg-173a31);color:#fff}
.arc-chat-msg.is-run{margin-top:-2px}.arc-chat-msg p{margin:0;font-size:15px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}
.arc-chat-author{display:block;margin-bottom:2px;font-weight:800;font-size:11px;color:var(--tx-63786d)}.arc-chat-time,.arc-chat-photo{display:block;margin-top:3px;font-size:10px;opacity:.65}
.arc-chat-empty{margin:auto;text-align:center;color:var(--tx-63786d);font-size:14px}.arc-chat-older{align-self:center;min-height:36px;font-size:13px}.arc-chat-status{margin:0;min-height:0;font-size:12px;color:var(--tx-8a5a1c)}.arc-chat-status:empty{display:none}
.arc-chat-form{display:flex;gap:8px;align-items:flex-end;position:sticky;bottom:0;padding:6px 0 2px;background:var(--bg-eef2e4)}.arc-chat-form textarea{flex:1;resize:none;max-height:110px;padding:11px 14px;border:1px solid var(--bd-d5ded6);border-radius:20px;font-size:16px;background:var(--bg-ffffff);color:var(--tx-173a31)}.arc-chat-form .button{min-height:44px;margin:0;border-radius:22px}
.arc-sheet .arc-pane-chat:not([hidden]){display:flex;flex-direction:column;min-height:calc(100dvh - 290px - env(safe-area-inset-bottom))}
.arc-sheet .arc-pane-chat .arc-chat{flex:1;grid-template-rows:auto minmax(0,1fr) auto auto}.arc-sheet .arc-chat-log{max-height:none}

/* ARC sheet quick post */
.arc-sheet-bar{position:relative}.arc-sheet-post{position:absolute;right:14px;top:0;min-height:40px;padding:0 16px;border:0;border-radius:20px;background:var(--bg-173a31);color:#fff;font-weight:800;font-size:14px;box-shadow:0 4px 14px #173a3140}
.arc-sheet-title{padding-right:96px}

/* One look everywhere: the map is home. Every other screen is a cream sheet over a map-toned backdrop, with a floating back pill. */
.app-legal-link{display:none!important}
.app-back{display:none}
body:not([data-view=my]){background:linear-gradient(180deg,var(--sea) 0,var(--sage-deep) 100%) fixed}
body:not([data-view=my]):not(.arc-open){padding-top:calc(env(safe-area-inset-top) + 64px)}
body:not([data-view=my])::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);z-index:850;pointer-events:none;background:var(--bgx-f4f5e8b8);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
body:not([data-view=my]):not(.arc-open) .app-back{display:inline-flex;align-items:center;position:fixed;z-index:900;left:12px;top:calc(env(safe-area-inset-top) + 12px);min-height:44px;padding:0 18px;border:0;border-radius:22px;background:var(--bgx-f4f5e8f0);box-shadow:0 4px 14px #173a3126;font-weight:800;font-size:15px;color:var(--tx-173a31)}
body:not([data-view=my]) #main{padding-top:0}
body:not([data-view=my]):not([data-view=plan].arc-open) .screen{max-width:760px;margin:0 auto;background:var(--bg-eef2e4);border-radius:26px 26px 0 0;min-height:calc(100dvh - env(safe-area-inset-top) - 64px);padding:6px 16px calc(40px + env(safe-area-inset-bottom));box-shadow:0 -6px 30px #173a3130}
body[data-view=plan].arc-open .screen{background:none;box-shadow:none}
body:not([data-view=my]) .page-heading{padding:16px 0 12px}
body:not([data-view=my]) .page-heading h1{font:700 26px/1.15 Georgia,serif;letter-spacing:-.02em}
.button{border-radius:999px}
body:not([data-view=my]) .shared-card,body:not([data-view=my]) .sync-card,body:not([data-view=my]) .action-row{border-radius:18px;border:1px solid var(--bd-e3e8e0);background:var(--bg-ffffff);box-shadow:none}

/* ARC list, same language as My World */
body[data-view=plan] #arc-worlds{margin:4px 0 24px}
body[data-view=plan] .arc-overview .arc-world-head{flex-direction:row!important;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
body[data-view=plan] .arc-overview .arc-world-head>div{display:none}
body[data-view=plan] .arc-overview .arc-world-head>.button{width:auto!important;min-height:46px;padding:0 20px;flex:0 0 auto}
body[data-view=plan] .arc-world-head .text-action{margin-left:auto;font-size:14px;font-weight:700;color:var(--sea-deep);text-decoration:none}
body[data-view=plan] .arc-join{margin:0 0 14px;padding:14px;background:var(--bg-ffffff);border:1px solid var(--bd-e3e8e0)}body[data-view=plan] .arc-join p{margin:0 0 8px}
body[data-view=plan] .arc-world-tabs button{min-height:38px;border-radius:999px;border:0;background:var(--bg-eef1ea);color:var(--tx-40543f);font-weight:800;font-size:13px}
body[data-view=plan] .arc-world-tabs button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
body[data-view=plan] .arc-overview .arc-list-card{border:0;border-radius:0;background:none;border-top:1px solid var(--bd-eef1ec)}
body[data-view=plan] .arc-list-group{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--tx-63786d);margin:16px 0 4px}
body[data-view=plan] .arc-chat-line{flex-wrap:wrap;row-gap:2px}body[data-view=plan] .arc-chat-title{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}

/* Palette: taken from the map. Forest and moss for action, sage and sand for calm surfaces, sea for information, terracotta and amber for warmth and rewards. */
:root{--forest:#173a31;--moss:#3f6b57;--sage:#e8f0e2;--sage-deep:#cfe0cc;--sea:#d6eaee;--sea-deep:#2f6f82;--sand:#f6edda;--sand-deep:#e9d6b2;--clay:#b2613f;--amber:#e8a13a;--rose:#f5ded3;--ink:#172c25;--cream:#f0f2e4}
.button-forest,.arc-sheet-post,.mw-me,.arc-chat-form .button-forest{background:linear-gradient(135deg,var(--moss),var(--bg-173a31))!important;color:#fff}
.button-paper{background:var(--bg-ffffff);border-color:var(--sage-deep);color:var(--tx-173a31)}
.button-clay{background:linear-gradient(135deg,#c9774f,var(--clay))}
.arc-world-tabs button,.arc-seg button,.mw-community button{background:var(--sage)!important;color:var(--tx-3f6b57)}
.arc-world-tabs button[aria-pressed=true],.arc-seg button[aria-selected=true],.mw-community button[aria-pressed=true]{background:linear-gradient(135deg,var(--moss),var(--bg-173a31))!important;color:#fff}
.arc-state-active{background:var(--sage-deep);color:var(--tx-1f5238)}.arc-state-planning{background:var(--sand);color:var(--tx-8a5612)}.arc-state-finished{background:var(--sea);color:var(--sea-deep)}.arc-state-dormant{background:var(--bg-ece6f3);color:var(--tx-5b4a7a)}
.arc-chat-msg{background:var(--sage);color:var(--tx-173a31)}.arc-chat-msg.is-mine{background:linear-gradient(135deg,var(--moss),var(--bg-173a31));color:#fff}
.arc-chat-form textarea{border-color:var(--sage-deep)}
.arc-planning-banner{background:var(--sand);border-color:var(--sand-deep)}.arc-location-gate{background:var(--sand);border-color:var(--sand-deep);color:var(--tx-6a470e)}
.mw-sheet,.arc-sheet{background:var(--bgx-fbf9f3f2)}
.mw-card{background:linear-gradient(160deg,var(--moss),var(--bg-173a31))}.mw-social-card{background:linear-gradient(160deg,var(--sea-deep),#1d4a59)}.mw-social-card:last-child{background:linear-gradient(160deg,#cf8a3c,#9a5a1c)}
.mw-pin{background:var(--rose)}.mw-why{background:var(--sand);border-color:var(--sand-deep)}
body:not([data-view=my]) .shared-card,body:not([data-view=my]) .sync-card,body:not([data-view=my]) .action-row,.arc-join{background:var(--bg-ffffff);border:1px solid var(--sage-deep);box-shadow:0 2px 10px #173a3110}
body:not([data-view=my]) .action-row:nth-of-type(odd){background:linear-gradient(var(--bg-ffffff),var(--sage))}
.arc-hero-eyebrow,.arc-chat-author,.arc-list-group{color:var(--tx-3f6b57)}
.arc-fab-tools,.arc-immersive .arc-fab-back,.app-back,.app-menu>summary{background:var(--bgx-f4f5e8f2)}
.app-menu>summary:focus-visible,.arc-seg button:focus-visible{outline-color:var(--amber)}
.dna-panel{background:linear-gradient(160deg,#245443,var(--bg-173a31) 60%,#102c25);border-color:#2f5d50;border-radius:26px}
.feed-filters button,.feed-chip,.feed-tabs button{border-color:var(--sage-deep)}
.my-tools-tabs button{background:var(--sage)!important;color:var(--tx-3f6b57);border:0}.my-tools-tabs button[aria-pressed=true]{background:linear-gradient(135deg,var(--moss),var(--bg-173a31))!important;color:#fff}
.my-tools .my-tools-calendar button.has-trip{background:var(--sage-deep)}.my-tools .my-tools-calendar button.has-plan{box-shadow:inset 0 -3px 0 var(--amber)}
.my-tools h3{margin-top:22px}
dialog:focus,dialog:focus-visible{outline:none}

/* Less white: surfaces are soft sage and sand; pure white is kept for small highlights only. */
:root{--paper:#f3f5e8;--cream:#e9efdf;--line:#cbd9c6}
html,body{background-color:var(--cream)}
body:not([data-view=my]):not(.arc-open) .screen,.mw-sheet,.arc-sheet{background:linear-gradient(180deg,var(--bg-f1f4e6),var(--bg-e8efde))!important}
body:not([data-view=my]) .shared-card,body:not([data-view=my]) .sync-card,body:not([data-view=my]) .action-row,.arc-join,.arc-post-card,.arc-crew-card,.arc-settings-group,.place-detail,.pocket-card{background:linear-gradient(180deg,var(--bg-fbf8ec),var(--bg-f3f1e0))!important;border-color:var(--sage-deep)!important}
body:not([data-view=my]) .action-row:nth-of-type(odd){background:linear-gradient(180deg,var(--bg-f2f6e8),var(--bg-e6eedb))!important}
dialog,.destination-dialog,.arc-setup-dialog,.app-legal-dialog{background:linear-gradient(180deg,var(--bg-f4f5e8),var(--bg-e9efdf))}
input,textarea,select{background-color:var(--bg-fbf9ee)}
.arc-chat-form,.arc-chat-form textarea{background:var(--bg-fbf9ee)}.arc-chat-form{background:transparent}
.arc-chat-msg{background:var(--bg-dbe8d3)}
.mw-row,.mw-list{background:var(--bg-f8f6ea)}
.mw-seg,.arc-fab-tools,.arc-immersive .arc-fab-back,.app-back,.app-menu>summary,.shape-map-tools,.mw-community button{background:var(--bgx-f4f5e8f2)}
.button-paper{background:var(--bg-f8f6ea)}
.arc-overview .arc-list-card{background:none!important}
.world-switch{background:var(--sage-deep);border-radius:999px;padding:3px;display:flex;gap:2px;border:0}
.world-switch button{flex:1;border:0;border-radius:999px;background:transparent;color:var(--tx-3f6b57);font-weight:800}
.world-switch button[aria-current=page]{background:linear-gradient(135deg,var(--moss),var(--bg-173a31));color:#fff}
.atlas-tabs{background:var(--sage-deep);border-radius:999px;padding:3px;gap:2px}.atlas-tabs button{border:0!important;border-radius:999px!important;background:transparent!important;color:var(--tx-3f6b57)!important;font-weight:800}.atlas-tabs button[aria-pressed=true]{background:linear-gradient(135deg,var(--moss),var(--bg-173a31))!important;color:#fff!important}
.atlas-heading .text-action,.text-action{color:var(--sea-deep)}
.journey-actions .button-paper{background:linear-gradient(180deg,var(--bg-fbf8ec),var(--bg-efeedb));border-color:var(--sage-deep)}
.compose-actions{flex-wrap:wrap}.compose-actions #post-friends{order:-1;flex:1 1 100%;min-height:50px;font-size:15px}

/* Composer, modern and media-first: big media picker, caption on top, pills for place and audience, one clear Share. */
.post-composer{padding:0;width:min(520px,100%);height:min(100dvh,880px);max-height:100dvh;border:0;border-radius:28px;background:linear-gradient(180deg,var(--bg-f3f5e8),var(--bg-e6eddb));overflow:hidden}
.post-composer[open]{display:flex;flex-direction:column}
@media(max-width:600px){.post-composer{width:100%;height:100dvh;border-radius:0;margin:0}}
.post-composer .compose-header{margin:0;padding:calc(10px + env(safe-area-inset-top)) 14px 8px;background:var(--bgx-f3f5e8e6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--bd-d9e3d3);z-index:3}
.post-composer .compose-header h2{font:800 17px/1.2 Inter,system-ui,sans-serif;letter-spacing:0}
.post-composer .compose-header button{min-width:44px;min-height:44px;font-size:24px;font-weight:600}.post-composer #post-drafts{font-size:14px;font-weight:800;color:var(--sea-deep)}
.post-composer #post-editor{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 0}
.post-composer .compose-media{border:0;background:transparent;border-radius:22px;overflow:visible}
.post-composer .compose-picker{position:relative;min-height:0;aspect-ratio:4/5;max-height:44dvh;width:100%;box-sizing:border-box;gap:4px;padding:20px;border:2px dashed #a9c8b4;border-radius:22px;background:linear-gradient(160deg,var(--bg-dbe9d3),var(--bg-cfe6ea));cursor:pointer;text-align:center}
.post-composer .compose-picker>span{display:grid;place-items:center;width:68px;height:68px;margin-bottom:6px;border-radius:50%;background:linear-gradient(135deg,var(--moss),var(--bg-173a31));color:#fff;font-size:36px;font-weight:300;box-shadow:0 8px 20px #173a3138}
.post-composer .compose-picker strong{font-size:19px;color:var(--tx-173a31)}.post-composer .compose-picker small{color:var(--tx-3f6b57);font-size:13px}
.post-composer .compose-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
.post-composer .compose-media:has(#post-media:not(:empty)) .compose-picker{aspect-ratio:auto;min-height:0;max-height:none;margin-top:10px;padding:10px;flex-direction:row;gap:10px;border-radius:16px}
.post-composer .compose-media:has(#post-media:not(:empty)) .compose-picker>span{width:36px;height:36px;margin:0;font-size:22px}.post-composer .compose-media:has(#post-media:not(:empty)) .compose-picker small{display:none}.post-composer .compose-media:has(#post-media:not(:empty)) .compose-picker strong{font-size:15px}
.post-composer .compose-fields{display:flex;flex-direction:column;gap:8px;padding-bottom:4px}
.post-composer .compose-fields textarea{min-height:104px;padding:14px 2px 8px;border:0;border-bottom:0;font-size:18px;line-height:1.4;color:var(--ink);background:transparent;resize:none}
.post-composer .compose-fields textarea::placeholder{color:var(--tx-7d8f83)}
.post-composer .compose-row{margin:0;padding:6px 8px 6px 16px;gap:10px;border:1px solid var(--sage-deep);border-radius:999px;background:var(--bg-fbf9ee);font-size:14px;font-weight:800;color:var(--tx-3f6b57);min-height:48px}
.post-composer .compose-row input,.post-composer .compose-row select{flex:1;min-width:0;border:0;background:transparent;text-align:right;font:inherit;font-weight:700;color:var(--tx-173a31);outline:none;-webkit-appearance:none;appearance:none}
.post-composer .compose-row select{padding-right:6px;cursor:pointer}
.post-composer .compose-details{border:0;padding:0;margin:0}.post-composer .compose-details legend{display:none}
.post-composer #post-locate{align-self:flex-start;min-height:38px;padding:0 14px;border-radius:999px;background:var(--sea);color:var(--sea-deep);font-weight:800;text-decoration:none}
.post-composer .compose-note{margin:2px 4px;font-size:11px;line-height:1.4;color:var(--tx-6b786e)}
.post-composer .compose-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 -16px;padding:14px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#e6eddb00,var(--bg-e6eddb) 32%)}
.post-composer .compose-actions #post-friends{grid-column:1/-1;order:-1;min-height:54px;font-size:16px;letter-spacing:.01em}
.post-composer .compose-actions .button{min-height:48px;margin:0}
.post-composer #post-status:not(:empty){margin:0 16px 8px}
.post-composer .compose-picker{aspect-ratio:16/10;max-height:30dvh}
.post-composer .compose-picker>span{width:56px;height:56px;font-size:30px}
.post-composer .compose-fields textarea{min-height:84px}

/* Location-first composer */
.post-composer .compose-location-row{display:none}
.compose-place{position:static}
.place-card{border-radius:22px;overflow:hidden;background:var(--bg-fbf9ee);border:1px solid var(--sage-deep);box-shadow:0 4px 16px #173a3114}
.place-add{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:linear-gradient(135deg,var(--bg-dbe9d3),var(--sea));text-align:left;color:var(--tx-173a31);min-height:68px}
.place-add strong{display:block;font-size:17px}.place-add small,.place-info small{display:block;color:var(--tx-3f6b57);font-size:12px;margin-top:2px}.place-chevron{margin-left:auto;font-size:26px;color:var(--tx-3f6b57)}
.place-pin{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--rose);font-size:18px}.place-pin-blue{background:var(--bg-d8e7fb);color:var(--tx-2f6ad0);font-size:20px;font-weight:800}
.place-map{height:150px;background:linear-gradient(160deg,var(--bg-dbe9d3),var(--sea))}
.place-info{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px}.place-info>div{flex:1;min-width:0}.place-info strong{display:block;font-size:16px;color:var(--tx-173a31);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.place-link{border:0;background:none;color:var(--sea-deep);font-weight:800;font-size:14px;min-height:40px;padding:0 8px}.place-clear{width:36px;height:36px;border:0;border-radius:50%;background:var(--bg-e9efe1);color:var(--tx-3f6b57);font-size:15px}
.place-sheet{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg-f3f5e8),var(--bg-e6eddb));padding:calc(10px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom));overflow-y:auto}
.place-sheet[hidden]{display:none}
.place-sheet-top{display:flex;align-items:center;gap:6px;margin-bottom:10px}.place-sheet-top input{flex:1;min-width:0;min-height:46px;padding:0 16px;border:1px solid var(--sage-deep);border-radius:999px;background:var(--bg-fbf9ee);font-size:16px;color:var(--tx-173a31)}
.place-quick{display:grid;gap:8px;margin-bottom:6px}.place-section{display:block;margin:10px 4px 4px;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--tx-3f6b57)}
.place-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.place-chips::-webkit-scrollbar{display:none}.place-chip{flex:0 0 auto;min-height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--sage-deep);color:var(--tx-3f6b57);font-weight:800;font-size:14px}
.place-list{display:grid;gap:2px}.place-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 6px;border:0;border-top:1px solid var(--bd-dfe8d8);background:none;text-align:left;color:var(--tx-173a31)}
.place-row strong{display:block;font-size:16px}.place-row small{display:block;color:var(--tx-5f6f66);font-size:13px;margin-top:1px}.place-here{border:0;border-radius:16px;background:var(--bg-fbf9ee);padding:12px}
.place-status{margin:10px 6px;font-size:13px;color:var(--tx-8a5a1c);min-height:0}.place-status:empty{display:none}.place-credits{margin:auto 4px 0;padding-top:14px;font-size:10px;color:var(--tx-6b786e)}
.place-row>div,.place-add>div{flex:1;min-width:0;text-align:left}.place-row{justify-content:flex-start}

/* ARC Wrap */
.arc-wrap-dialog{width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:14px;border:0;border-radius:26px;display:none}
.arc-wrap-dialog[open]{display:grid;gap:10px}
.arc-wrap-canvas{width:100%;height:auto;max-height:62dvh;object-fit:contain;border-radius:20px;box-shadow:0 10px 30px #173a3140;background:var(--bg-173a31)}
.arc-wrap-dialog .button{width:100%;min-height:50px}.arc-wrap-open{width:100%;margin-bottom:10px;min-height:52px}
.arc-wrap-toast{position:fixed;z-index:1200;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:20px;background:linear-gradient(135deg,var(--moss),var(--bg-173a31));color:#fff;box-shadow:0 10px 30px #173a3150;font-weight:700;font-size:14px}
.arc-wrap-toast span{flex:1}.arc-wrap-toast button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--bg-ffffff);color:var(--tx-173a31);font-weight:800}.arc-wrap-toast .arc-wrap-later{background:transparent;color:#ffffffcc}
.mw-wrap-card{background:linear-gradient(160deg,var(--sea-deep),var(--bg-173a31))!important}
.auto-footprints label{display:grid;gap:6px;margin:12px 0;font-weight:800;font-size:13px;color:var(--tx-3f6b57)}
.auto-footprints input[type=text]{min-height:48px;padding:0 16px;border:1px solid var(--sage-deep);border-radius:999px;background:var(--bg-fbf9ee);font-size:16px;color:var(--tx-173a31);font-weight:600}
.auto-footprints .auto-footprints-switch{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--sage);color:var(--tx-173a31);font-size:15px}
.auto-footprints input[type=checkbox]{width:26px;height:26px;accent-color:var(--moss);flex:0 0 auto}
.auto-footprints .button{width:100%;margin-top:6px}

/* ===== Apple Human Interface polish ===== */
:root{--sf:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,"Segoe UI",sans-serif;--sf-serif:ui-serif,"New York",Georgia,serif;--ease-spring:cubic-bezier(.22,1.2,.36,1);--hair:rgba(23,58,49,.12)}
html{font-family:var(--sf);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body,button,input,textarea,select{font-family:var(--sf)}
/* Large title, grouped lists, hairlines */
body:not([data-view=my]) .page-heading h1{font:700 34px/1.12 var(--sf-serif);letter-spacing:-.4px}
.arc-hero-eyebrow,.place-section,.arc-list-group{font-family:var(--sf)}
body:not([data-view=my]) .pocket-card h2,body:not([data-view=my]) .shared-card h2{font:700 22px/1.2 var(--sf-serif);letter-spacing:-.2px}
body:not([data-view=my]) .pocket-card,body:not([data-view=my]) .shared-card,body:not([data-view=my]) .sync-card{border-radius:16px;box-shadow:none;border:0!important}
body:not([data-view=my]) .action-row{border-radius:14px;min-height:52px;font-size:17px}
.action-row+.action-row,.mw-row+.mw-row{border-top:.5px solid var(--hair)}
.mw-row,.place-row,.arc-chat-row{border-top-width:.5px}
/* Compact nav title */
.app-nav-title{position:fixed;z-index:900;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translateX(-50%);max-width:46%;height:44px;display:flex;align-items:center;font:600 17px/1 var(--sf);color:var(--tx-173a31);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity .2s ease}
.app-nav-title.is-visible{opacity:1}
body:not([data-view=my]):not(.arc-open)::before{height:calc(env(safe-area-inset-top) + 68px);background:linear-gradient(var(--bgx-f3f5e8d9),#f3f5e800);-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;transition:opacity .2s}
body:not([data-view=my]):not(.arc-open).is-scrolled::before{opacity:1}
/* Segmented controls: iOS track and thumb */
.world-switch,.atlas-tabs,.arc-world-tabs,.arc-seg{background:rgba(118,118,128,.14)!important;border-radius:10px!important;padding:2px!important;gap:0!important}
.world-switch button,.atlas-tabs button,.arc-world-tabs button,.arc-seg button{min-height:34px;border-radius:8px!important;background:transparent!important;color:var(--tx-173a31)!important;font-weight:600;font-size:14px;box-shadow:none}
.world-switch button[aria-current=page],.atlas-tabs button[aria-pressed=true],.arc-world-tabs button[aria-pressed=true],.arc-seg button[aria-selected=true]{background:var(--bg-fbf9ee)!important;color:var(--tx-173a31)!important;font-weight:700;box-shadow:0 1px 3px #0000002e,0 0 0 .5px #0000000d}
.arc-world-tabs,.arc-seg{margin-left:0;margin-right:0}.arc-seg{margin:0 12px 8px}
/* iOS switch */
.auto-footprints input[type=checkbox],#travel-mode input[type=checkbox]{-webkit-appearance:none;appearance:none;width:51px;height:31px;border-radius:999px;background:#78788052;position:relative;flex:0 0 auto;transition:background .2s;cursor:pointer}
.auto-footprints input[type=checkbox]::after,#travel-mode input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:var(--bg-ffffff);box-shadow:0 2px 6px #0000004d;transition:transform .25s var(--ease-spring)}
.auto-footprints input[type=checkbox]:checked,#travel-mode input[type=checkbox]:checked{background:#34a06b}
.auto-footprints input[type=checkbox]:checked::after,#travel-mode input[type=checkbox]:checked::after{transform:translateX(20px)}
.auto-footprints .auto-footprints-switch{justify-content:space-between;flex-direction:row-reverse;border-radius:12px;background:var(--bg-fbf9ee)}
/* Buttons: filled, tinted, 44pt targets */
.button,.place-chip,.arc-fab-tools button,.app-menu>summary,.mw-seg button{min-height:44px}
.button{font-weight:600;font-size:16px;letter-spacing:-.1px}
.button-paper{background:rgba(63,107,87,.12)!important;border-color:transparent!important;color:var(--tx-173a31)}
/* Press feedback and springy sheets; honours Reduce Motion */
button,.button,.action-row,.place-row,.mw-row,.mw-card,.arc-list-card{transition:transform .18s var(--ease-spring),opacity .15s}
button:active:not(:disabled),.button:active,.action-row:active,.mw-card:active,.place-row:active{transform:scale(.97);opacity:.88}

dialog[open]{animation:rove-pop .32s var(--ease-spring)}
@keyframes rove-pop{from{transform:translateY(24px) scale(.98);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Quests: points, leaderboard and reward moment */
.quest-earned{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;border-radius:999px;background:var(--sand);color:var(--tx-8a5612);font-weight:700;font-size:12px}
.arc-board{margin:4px 0 14px;padding:14px;border-radius:18px;background:linear-gradient(160deg,var(--bg-fbf3df),var(--bg-f3e6c6))}
.arc-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.arc-board-head h3{margin:0;font:700 20px var(--sf-serif)}.arc-board-head small{color:var(--tx-8a5612);font-weight:700}
.arc-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;align-items:end}
.arc-podium-card{display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:16px;background:var(--bg-fffdf4);box-shadow:0 2px 8px #8a561214;text-align:center}.arc-podium-card[data-rank="1"]{padding-block:20px;background:linear-gradient(160deg,var(--bg-ffe9a8),#f1c46b);box-shadow:0 6px 16px #c9822b40}
.arc-podium-card.is-you{outline:2px solid var(--moss)}.arc-medal{font-size:30px}.arc-podium-card strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.arc-podium-card small{color:var(--tx-6a470e);font-weight:700}
.arc-board-list{list-style:none;margin:6px 0 0;padding:0}.arc-board-list li{display:grid;grid-template-columns:34px 1fr auto;gap:2px 8px;align-items:center;padding:10px 4px;border-top:.5px solid var(--bd-d9c79a)}.arc-board-list li.is-you{background:var(--bg-fff6dc);border-radius:12px}
.arc-board-list .arc-rank{font-weight:800;color:var(--tx-8a5612)}.arc-board-list small{grid-column:2;color:var(--tx-7a6a45)}.arc-board-list b{grid-row:1/3;grid-column:3}
.quest-reward{width:min(340px,calc(100% - 32px));border:0;border-radius:28px;padding:30px 22px 22px;text-align:center;background:linear-gradient(180deg,var(--bg-fff3d6),var(--bg-f6dc9c));overflow:hidden;color:var(--tx-173a31)}
.quest-reward[open]{display:grid;gap:8px;justify-items:center}
.quest-badge{font-size:72px;line-height:1;animation:quest-pop .6s var(--ease-spring)}.quest-reward h2{margin:0;font:700 28px var(--sf-serif)}.quest-reward-title{margin:0;font-weight:700}
.quest-points{font:800 40px var(--sf);color:var(--tx-b2613f);letter-spacing:-1px}.quest-reward p{margin:0}.quest-reward .button{width:100%;margin-top:8px}
@keyframes quest-pop{0%{transform:scale(.2) rotate(-20deg);opacity:0}70%{transform:scale(1.15) rotate(6deg)}100%{transform:none;opacity:1}}
.quest-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.quest-confetti i{position:absolute;top:-12px;left:var(--x);width:9px;height:14px;border-radius:2px;animation:quest-fall 1.8s var(--d) ease-in forwards;background:var(--bg-e8a13a)}
.quest-confetti i[style*="--h:1"]{background:var(--bg-3f6b57)}.quest-confetti i[style*="--h:2"]{background:#2f6f82}.quest-confetti i[style*="--h:3"]{background:#b2613f}.quest-confetti i[style*="--h:4"]{background:var(--bg-f5ded3)}
@keyframes quest-fall{to{transform:translateY(420px) rotate(540deg);opacity:0}}
.arc-type-picker{grid-template-columns:repeat(2,1fr)}
.arc-kind-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-6px 0 14px}.arc-kind-seg[hidden]{display:none}
.arc-kind-seg button{padding:12px;border:1px solid var(--sage-deep);border-radius:14px;background:var(--bg-fbf9ee);text-align:left;color:var(--tx-173a31)}.arc-kind-seg strong{display:block;font-size:14px}.arc-kind-seg small{display:block;color:var(--tx-5f6f66);font-size:12px;margin-top:2px}
.arc-kind-seg button[aria-pressed=true]{background:linear-gradient(135deg,var(--moss),var(--bg-173a31));border-color:transparent;color:#fff}.arc-kind-seg button[aria-pressed=true] small{color:#ffffffcc}
.compose-meta{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,var(--bg-dbe9d3),var(--sea));color:var(--tx-173a31);font-size:13px;font-weight:600}
.compose-meta[hidden]{display:none}.compose-meta span{flex:1;min-width:0}.compose-meta button{border:0;background:var(--bg-fbf9ee);border-radius:999px;min-height:34px;padding:0 14px;font-weight:800;color:var(--sea-deep)}

/* TEEM: what you belong to, with events nested inside their club */
.mw-my-arcs{margin:6px 0 10px}.mw-my-list{margin-top:4px}
.mw-arc-row{align-items:center}.mw-arc-row.is-nested{margin-left:26px;border-left:3px solid var(--sage-deep);border-radius:0 12px 12px 0;background:var(--bg-f6f4e6)}
.arc-club-events{margin-top:14px}.arc-club-events h3{margin:0 0 6px;font:700 20px var(--sf-serif)}
.arc-event-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px;margin-bottom:6px;border:0;border-radius:14px;background:var(--bg-fbf9ee);text-align:left;color:var(--tx-173a31)}.arc-event-row>span:nth-child(2){flex:1;min-width:0}.arc-event-row strong{display:block}.arc-event-row small{display:block;color:var(--tx-5f6f66)}.arc-chevron{font-size:24px;color:var(--tx-3f6b57)}
.arc-parent-link{width:100%;justify-content:flex-start;margin-bottom:8px;min-height:40px}

/* Floating buttons never sit on top of sheet content: they ride above a half sheet and step aside for a full one. */
body[data-view=my][data-sheet=full] .shape-capture{opacity:0;pointer-events:none;transform:scale(.8)}
body[data-view=my][data-sheet=half] .mw-immersive .shape-capture:not([style*="--capture-top"]){top:auto!important;bottom:calc(52% + 12px)!important}
.shape-capture,.rovo-launcher,.my-day-launcher{transition:opacity .2s,transform .25s var(--ease-spring),bottom .3s var(--ease-spring)}

/* Proper homes: Capture is one bottom-right action; Rovo sits in the search row; My Day sits in the tool column. */
body[data-view=my] .mw-immersive .shape-capture{left:14px!important;right:auto!important;top:auto!important;bottom:calc(112px + env(safe-area-inset-bottom))!important;width:60px;height:60px;border-radius:50%;box-shadow:0 8px 22px #173a3150}
.mw-immersive .shape-capture>span{display:none}.mw-immersive .shape-capture img{width:28px;height:28px}
body[data-view=my] .mw-immersive .shape-capture[style*="--capture-left"]{left:var(--capture-left)!important;right:auto!important;top:var(--capture-top,auto)!important;bottom:var(--capture-bottom,auto)!important}
body[data-view=my][data-sheet=half] .mw-immersive .shape-capture:not([style*="--capture-left"]){top:auto!important;bottom:calc(52% + 14px)!important}
.rovo-launcher.is-docked{position:static!important;left:auto!important;top:auto!important;bottom:auto!important;flex:0 0 auto;width:46px;height:46px;border:0;border-radius:50%;box-shadow:none;background:linear-gradient(145deg,var(--bg-e9f1c8),var(--bg-d3e3a6));cursor:pointer;touch-action:manipulation}
.rovo-launcher.is-docked>span:last-child{display:none}.rovo-launcher.is-docked>span:first-child{font-size:24px;line-height:1}
.mw-bar .rovo-launcher.is-docked{margin-left:8px}
.my-day-launcher.is-docked{position:static!important;width:46px;height:46px;border:0;border-radius:0!important;box-shadow:none;background:none!important;color:var(--tx-173a31);display:grid;place-items:center}
.my-day-launcher.is-docked>span:last-child{display:none}.my-day-launcher.is-docked .my-day-launcher-face{font-size:24px;line-height:1;letter-spacing:0}
.shape-map-tools .my-day-launcher.is-docked{border-bottom:1px solid var(--bd-e3e8e0)!important}

/* ARC stages: Planning, Started, Finished */
.arc-stages{display:flex;gap:6px;list-style:none;margin:6px 0 2px;padding:0}
.arc-stages li{flex:1;position:relative;padding-top:10px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--tx-8a9a8f)}
.arc-stages li::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:2px;background:var(--bg-d6e0d0)}
.arc-stages li.is-done{color:var(--tx-3f6b57)}.arc-stages li.is-done::before{background:var(--moss)}
.arc-stages li.is-now{color:var(--tx-173a31)}.arc-stages li.is-now::before{background:linear-gradient(90deg,var(--moss),var(--amber))}
.mw-join-code{display:flex;align-items:center;gap:12px;width:100%;padding:12px;margin:0 0 8px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--bg-dbe9d3),var(--sea));text-align:left;color:var(--tx-173a31)}.mw-join-code strong{display:block;font-size:16px}.mw-join-code small{display:block;color:var(--tx-3f6b57);font-size:12px}
.arc-join-paste{width:100%;margin:6px 0 8px;min-height:48px}.arc-join-form{margin-top:4px}

/* Confirmation banner */
.rove-toast{position:fixed;z-index:3000;left:50%;top:calc(env(safe-area-inset-top) + 10px);transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:min(92vw,420px);padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,var(--moss),var(--bg-173a31));color:#fff;font:600 15px/1.25 var(--sf);box-shadow:0 10px 30px #173a3155;animation:rove-toast-in .35s var(--ease-spring);pointer-events:none}
.rove-toast>span:first-child{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--bgx-ffffff2e);font-size:13px}
.rove-toast-warn{background:linear-gradient(135deg,#c9774f,var(--clay));border-radius:18px;pointer-events:auto}
.rove-toast.is-leaving{opacity:0;transform:translate(-50%,-14px);transition:opacity .25s,transform .25s}
@keyframes rove-toast-in{from{opacity:0;transform:translate(-50%,-16px) scale(.96)}to{opacity:1;transform:translate(-50%,0)}}

/* Sheets pull down easily: a generous handle, header and tabs drag the sheet, and the content never traps the pull. */
.mw-grab{height:44px!important}.mw-grab::after{top:18px!important}
.arc-sheet-bar,.arc-seg,.mw-bar{touch-action:none}.arc-seg{touch-action:pan-x}
.mw-sheet-body{overscroll-behavior:contain}

/* Mode search dialog */
.mode-search{width:min(520px,calc(100% - 20px));max-height:min(86dvh,720px);display:none;padding:16px}.mode-search[open]{display:flex;flex-direction:column;gap:8px}
.mode-search-top{display:flex;align-items:center;justify-content:space-between}.mode-search-top h2{margin:0;font:700 22px var(--sf-serif)}
.mode-search>input{min-height:48px;padding:0 16px;border:1px solid var(--sage-deep);border-radius:999px;background:var(--bg-fbf9ee);font-size:16px;color:var(--tx-173a31)}
.mode-search-results{flex:1;min-height:80px;overflow-y:auto;display:grid;align-content:start;gap:2px}.mode-search-empty{margin:8px 4px;color:var(--tx-5f6f66);font-size:14px}
.mode-search-row{width:100%;text-align:left}.mode-search-row .button{flex:0 0 auto;min-height:38px;padding:0 14px;font-size:14px;margin-left:auto}.mode-search-row>div{flex:1;min-width:0}
.mode-search-footer{display:grid;gap:8px;margin-top:4px}.mode-search-footer .button{width:100%;min-height:48px}

/* Live tab */
.arc-map-adventure>.arc-live-card{margin:0 0 10px}
.arc-live-card{padding:14px;border-radius:18px;background:linear-gradient(180deg,var(--bg-fbf8ec),var(--bg-f1f0df));display:grid;gap:10px}.arc-live-card-head{display:flex;gap:12px;align-items:flex-start}
.arc-live-card-head>span{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--sage-deep);font-size:20px}.arc-live-card-head strong{display:block;font-size:17px;color:var(--tx-173a31)}.arc-live-card-head small{display:block;margin-top:2px;color:var(--tx-5f6f66);font-size:13px;line-height:1.35}
.arc-live-card .button{width:100%;min-height:48px;margin:0}.arc-live-here-list{display:grid;gap:6px}.arc-live-here-list p{margin:0;color:var(--tx-5f6f66);font-size:14px}
.arc-live-person{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;border-radius:14px;background:var(--bg-fbf9ee);text-align:left;color:var(--tx-173a31)}.arc-live-person strong{display:block}.arc-live-person small{display:block;color:var(--tx-5f6f66)}
.arc-live-refresh{justify-self:start}.arc-live-heading{margin:14px 2px 6px;font:700 18px var(--sf-serif)}

/* DNA setup */
.dna-setup h3{margin:18px 0 6px;font-size:17px}.dna-chips{display:flex;flex-wrap:wrap;gap:8px}
.dna-chip-pick{min-height:44px;padding:0 16px;border:1px solid #2b4946;border-radius:999px;background:#12302e;color:#dbe9d9;font-weight:700;font-size:15px}.dna-chip-pick[aria-pressed=true]{background:linear-gradient(135deg,#20b8aa,#3f8f7c);border-color:transparent;color:var(--tx-05211f)}
.dna-ask{margin:10px 0}.dna-ask-q{margin:0 0 6px;font-weight:700}.dna-ask-opts{display:grid;grid-template-columns:1fr auto 1fr;gap:6px}
.dna-ask-opts button{min-height:48px;padding:6px 10px;border:1px solid #2b4946;border-radius:12px;background:#12302e;color:#dbe9d9;font-size:14px;font-weight:600;line-height:1.2}.dna-ask-opts button[aria-pressed=true]{background:#e7b94d;border-color:transparent;color:var(--tx-2a2108)}
.dna-setup .button{width:100%;margin-top:14px;min-height:50px}

/* The Footprint recorder shares the composer's class: keep its own roomy, scrolling layout. */
.post-composer.footprint-dashboard{padding:22px;height:auto;max-height:calc(100dvh - 28px);overflow:auto;border:1px solid var(--bd-d0d8ce);border-radius:24px;width:min(620px,calc(100% - 20px))}
.post-composer.footprint-dashboard[open]{display:block}
@media(max-width:600px){.post-composer.footprint-dashboard{width:calc(100% - 16px);height:auto;max-height:calc(100dvh - 16px);border-radius:24px;margin:auto}}
/* My World is only the map: nothing scrolls under it, and the map always fills the screen. */
body[data-view=my]{overflow:hidden;overscroll-behavior:none}
body[data-view=my] .mw-immersive .shape-map-stage{height:100dvh!important;border:0}
/* Floating controls never sit on the sheet: Capture rides above a half sheet whatever its saved spot, and both it and the menu step aside for a full one. */
body[data-view=my][data-sheet=half] .mw-immersive .shape-capture.shape-capture:not([style*="--capture-left"]){left:14px!important;right:auto!important;top:auto!important;bottom:calc(52% + 14px)!important}
body[data-view=my][data-sheet=full] .mw-immersive .shape-capture.shape-capture,body[data-view=my][data-sheet=full] .app-menu{opacity:0;pointer-events:none}
body[data-view=my]:has(#my-world-legacy:not([hidden])){overflow:auto}
.mw-throwback-card{background:linear-gradient(160deg,#b2613f,#7d3f28)!important}

/* The round button is you */
.mw-me{overflow:hidden;padding:0}.mw-me.has-avatar{background:var(--bg-173a31)}.mw-me img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.mw-me.has-dna{background:#102626}.mw-me-dna{display:block;width:100%;height:100%}.mw-me-dna svg{display:block;width:100%;height:100%}
.mw-find-trips{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 10px;padding:12px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--bg-f5ded3),var(--bg-f6edda));text-align:left;color:var(--tx-173a31)}.mw-find-trips strong{display:block;font-size:16px}.mw-find-trips small{display:block;color:var(--tx-7d3f28);font-size:12px}
.photo-trip{display:flex;align-items:center;gap:12px;text-align:left}.photo-trip-pic{flex:0 0 auto;width:56px;height:56px;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,var(--bg-dbe9d3),var(--sea))}.photo-trip-pic img{display:block;width:100%;height:100%;object-fit:cover}

/* Rove Studio: Make my Reel */
.reel-studio{width:min(94vw,440px);max-height:92dvh;border:0;border-radius:26px;padding:0;background:var(--bg-f6f4ea);color:var(--tx-173a31);box-shadow:0 20px 60px #0b1f1a66}
.reel-studio::backdrop{background:#102b26b8}
.reel-body{display:grid;gap:12px;padding:20px 18px calc(18px + env(safe-area-inset-bottom));max-height:92dvh;overflow-y:auto}
.reel-body h2{margin:0;font:700 26px/1.15 Georgia,serif}.reel-body h3{margin:6px 0 0;font-size:16px}.reel-sub{margin:0;font-size:17px;color:var(--tx-41584f)}
.reel-card{position:relative;display:grid;gap:6px;align-content:end;min-height:200px;padding:18px;border-radius:20px;background:linear-gradient(160deg,var(--bg-173a31),#2c6a74);color:#fff;overflow:hidden}
.reel-title{font:700 24px/1.15 Georgia,serif}.reel-subtitle{font-size:15px;opacity:.85}
.reel-watermark{position:absolute;left:12px;top:12px;padding:6px 12px;border-radius:999px;background:#0b1f1a99;font:800 11px/1 system-ui,sans-serif;letter-spacing:.14em;color:#fff}
.reel-watermark::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#e8a23a}
.reel-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.reel-chips span{padding:5px 10px;border-radius:999px;background:var(--bgx-ffffff26);font-size:14px;font-weight:700}
.reel-big{min-height:60px;font-size:20px;font-weight:800;border-radius:18px;width:100%}
.reel-note{margin:0;padding:10px 12px;border-radius:12px;background:var(--bg-ffffff);font-size:16px}.reel-fine{color:var(--tx-5a6f66);font-size:14px}
.reel-more{border-radius:16px;background:var(--bg-ffffff);padding:4px 14px 14px}.reel-more summary{min-height:48px;display:flex;align-items:center;font-size:18px;font-weight:800;cursor:pointer}
.reel-more label{font-weight:700}.reel-more input[type=text]{width:100%;min-height:48px;font-size:17px;padding:0 12px;border:1px solid var(--bd-c9d2c2);border-radius:12px;margin:6px 0}
.reel-toggle{display:flex;align-items:center;gap:12px;min-height:52px;font-size:17px}.reel-toggle input{width:28px;height:28px;flex:0 0 auto}
.reel-counter{display:flex;align-items:center;gap:14px;min-height:64px;font-size:18px}.reel-counter strong{min-width:44px;text-align:center;font-size:32px}
.reel-counter button{width:56px;height:56px;border:0;border-radius:50%;background:var(--bg-173a31);color:#fff;font-size:30px;font-weight:800}.reel-counter button:disabled{opacity:.35}
.reel-body progress{width:100%;height:16px;accent-color:#2f7a5f}.reel-pct{font-size:20px;text-align:center}
.reel-video{width:100%;max-height:56dvh;border-radius:14px;background:#000}

/* My World Reels: real video tiles */
.mw-reels{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.mw-reel-tile{position:relative;flex:0 0 136px;aspect-ratio:9/16;padding:0;border:0;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,var(--bg-173a31),#2c6a74);color:#fff;scroll-snap-align:start;text-align:left}
.mw-reel-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mw-reel-tile::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(transparent,#0b1f1acc)}
.mw-reel-play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:2;width:44px;height:44px;border-radius:50%;background:#0b1f1a88;display:grid;place-items:center;font-size:18px;padding-left:3px}
.mw-reel-words{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:grid;gap:2px}.mw-reel-words strong{font:700 15px/1.15 Georgia,serif}.mw-reel-words small{font-size:12px;opacity:.9}
.mw-reel-tile.is-empty .mw-reel-play{background:var(--bgx-ffffff33)}
/* Rove Studio editor */
.reel-actions{display:grid;gap:8px}.reel-player{min-height:240px;align-content:center}
.reel-strip{display:flex;gap:6px;overflow-x:auto;padding:6px 2px 10px;-webkit-overflow-scrolling:touch}
.reel-clip{position:relative;flex:0 0 var(--w,64px);height:96px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--bg-173a31);color:#fff;display:grid;place-items:center}
.reel-clip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.reel-clip-icon{font-size:26px}
.reel-clip small{position:absolute;left:4px;bottom:4px;padding:2px 6px;border-radius:8px;background:#0b1f1acc;font-size:12px;font-weight:700}
.reel-clip.is-selected{border-color:#e8a13a;box-shadow:0 0 0 2px #e8a13a55}.reel-clip[data-transition]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#e8a13a99}
.reel-panel{display:grid;gap:8px;padding:12px;border-radius:16px;background:var(--bg-ffffff)}.reel-panel input[type=text]{width:100%;min-height:48px;font-size:17px;padding:0 12px;border:1px solid var(--bd-c9d2c2);border-radius:12px}
.reel-row{display:flex;flex-wrap:wrap;gap:8px}.reel-small{min-height:48px;padding:0 14px;font-size:16px;font-weight:700;border-radius:14px}.reel-small[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
.reel-pick{width:72px;height:72px;padding:0;border:2px solid var(--bd-c9d2c2);border-radius:12px;overflow:hidden;background:var(--bg-e6ecdf)}.reel-pick img{width:100%;height:100%;object-fit:cover}.reel-replace{display:flex;flex-wrap:wrap;gap:8px}

.reel-card{padding-top:58px}.reel-player{padding-top:58px}
.reel-player{min-height:150px!important;padding-top:54px}.reel-player .reel-sub{color:#fff;font-size:16px;margin:0}.reel-player .reel-video{max-height:34dvh}.reel-actions{grid-template-columns:1fr 1fr}.reel-actions .reel-big{min-height:54px;font-size:17px}
/* One-tap Footprint recorder */
.qr-record{display:grid;place-items:center;gap:1px;flex:0 0 52px;height:52px;padding:0;border:0;border-radius:50%;background:var(--bg-ffffff);color:var(--tx-173a31);box-shadow:0 2px 10px #173a3130;font-weight:800}
.qr-record small{font-size:10px;line-height:1}.qr-dot{width:18px;height:18px;border-radius:50%;background:#e23d3d;box-shadow:0 0 0 3px #e23d3d33}
.qr-record.is-live .qr-dot{animation:qr-pulse 1.2s ease-in-out infinite}.qr-record.is-live{background:#e23d3d;color:#fff}.qr-record.is-live .qr-dot{background:var(--bg-ffffff);box-shadow:0 0 0 3px #ffffff55}.qr-record.is-paused{background:var(--bg-e8a13a);color:var(--tx-173a31)}
@keyframes qr-pulse{50%{transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.qr-record.is-live .qr-dot{animation:none}}
.quick-record{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#0f2a24;color:#fff}
.quick-record::backdrop{background:#0f2a24}
.qr-body{display:grid;gap:18px;align-content:start;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));max-width:520px;margin:0 auto}
.qr-top{display:flex;justify-content:space-between;align-items:center}.qr-activity{font:800 18px/1 system-ui,sans-serif;opacity:.9}
.qr-body h2{margin:0;font:700 30px/1.1 Georgia,serif;text-align:center}.qr-sub{margin:0;text-align:center;font-size:18px;opacity:.85}
.qr-btn{border:0;border-radius:20px;color:#fff;background:var(--bgx-ffffff1f);font-weight:800;cursor:pointer}.qr-x{width:48px;height:48px;border-radius:50%;font-size:20px}
.qr-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.qr-chip{min-width:84px;min-height:84px;display:grid;place-items:center;gap:2px;padding:8px;border:2px solid transparent;border-radius:20px;background:var(--bgx-ffffff14);color:#fff;font-weight:700}
.qr-chip[aria-pressed=true]{border-color:#e8a13a;background:var(--bgx-ffffff26)}.qr-chip-icon{font-size:30px}.qr-chip small{font-size:14px}.qr-more{min-width:64px;font-size:15px}
.qr-all h3{margin:10px 0 6px;font-size:14px;opacity:.7;text-transform:uppercase;letter-spacing:.1em}
.qr-start{width:min(70vw,260px);height:min(70vw,260px);margin:6px auto;border-radius:50%;background:linear-gradient(145deg,#3ccf7a,#1f9d57);font-size:40px;letter-spacing:.06em;box-shadow:0 12px 40px #1f9d5766}.qr-start:disabled{opacity:.4}
.qr-resume{height:96px;width:100%;border-radius:24px;font-size:30px;margin:0}
.qr-hud{display:grid;gap:8px;text-align:center}.qr-cell strong{display:block;font:800 44px/1.05 system-ui,sans-serif;font-variant-numeric:tabular-nums}.qr-cell small{font-size:14px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}
.qr-time strong{font-size:84px}.qr-hud{grid-template-columns:1fr 1fr}.qr-time{grid-column:1/-1}
.qr-actions{display:grid}.qr-pause{height:96px;border-radius:24px;font-size:30px;background:var(--bg-e8a13a);color:var(--tx-173a31)}
.qr-extras{display:grid;gap:10px}.qr-small{min-height:60px;font-size:20px;border-radius:18px}.qr-fish{background:#2c6a74}
.qr-finish{display:grid;gap:10px}.qr-finish-btn{height:84px;font-size:26px;border-radius:22px;background:#e23d3d}.qr-quiet{min-height:52px;background:transparent;border:2px solid #ffffff44;font-size:17px}
.qr-status{margin:0;text-align:center;font-size:16px;min-height:22px;color:#ffd9a0}.qr-fine{text-align:center;opacity:.7;font-size:14px}

/* ===== Harmony layer: one shape language, one palette, one set of states =====
   Pills for actions, 20px cards, circles for round tools. Green = go and brand, red = live recording, amber = paused/attention. */
:root{--live:#e5484d;--pause:var(--amber,#e8a13a);--r-card:20px;--r-pill:999px;--ease-out:cubic-bezier(.22,.9,.22,1);--shadow-float:0 4px 16px #173a3128}
.mw-bar{gap:8px;align-items:center}
.mw-bar .shape-search{font-size:16px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-height:48px!important}
.mw-me,.mw-bar .rovo-launcher.is-docked,.qr-record{flex:0 0 48px;width:48px;height:48px;min-width:48px;margin-left:0!important}
.qr-record{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0;border:0;border-radius:var(--r-pill);background:var(--live);color:#fff;box-shadow:var(--shadow-float)}
.qr-record .qr-dot{width:16px;height:16px;border-radius:50%;background:var(--bg-ffffff);box-shadow:none}
.qr-record small{display:none}
.qr-record.is-live,.qr-record.is-paused{width:auto;flex:0 0 auto;padding:0 16px}
.qr-record.is-live small,.qr-record.is-paused small{display:inline;font:800 16px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.qr-record.is-live .qr-dot{animation:qr-pulse 1.2s ease-in-out infinite}
.qr-record.is-paused{background:var(--pause);color:var(--tx-173a31)}.qr-record.is-paused .qr-dot{background:var(--bg-173a31);animation:none}
/* Studio and the recorder use the app's own button shape and palette */
.reel-big,.reel-small,.qr-small,.qr-pause,.qr-resume,.qr-finish-btn,.qr-quiet{border-radius:var(--r-pill)}
.reel-card,.reel-panel,.reel-more,.reel-note{border-radius:var(--r-card)}
.reel-studio{border-radius:var(--r-sheet,26px)}
.quick-record{background:var(--deep,var(--bg-0b2821))}.quick-record::backdrop{background:var(--deep,var(--bg-0b2821))}
.qr-chip{border-radius:var(--r-card)}.qr-btn{border-radius:var(--r-pill)}
.qr-start{background:linear-gradient(145deg,#5aa27f,var(--moss,var(--bg-3f6b57)));box-shadow:0 12px 40px #3f6b5766}
.qr-finish-btn{background:var(--live)}.qr-pause{background:var(--pause);color:var(--tx-173a31)}
.qr-top .qr-x{border-radius:50%}
.rove-toast .rove-toast-action{margin-left:10px;padding:6px 12px;border:0;border-radius:var(--r-pill);background:var(--bg-ffffff);color:var(--tx-173a31);font-weight:800;font-size:14px}
/* ARC Journey tab: a route builder in the app's own shapes and palette */
.aj{display:grid;gap:12px;padding:2px 0 24px}.aj-head{display:grid;gap:4px}
.aj-title{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line,var(--bd-d0d8ce));border-radius:var(--r-pill);background:var(--bg-ffffff);font:700 20px/1.2 Georgia,serif;color:var(--tx-173a31)}
.aj-summary{margin:0;padding:0 6px;font-size:15px;color:var(--muted,var(--tx-5a6a60))}.aj-hint{margin:0;padding:12px 14px;border-radius:var(--r-card);background:var(--bgx-ffffffb3);font-size:16px;color:var(--tx-173a31)}
.aj-modes{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.aj-mode{flex:0 0 auto;min-width:48px;height:48px;border:2px solid transparent;border-radius:50%;background:var(--bg-ffffff);font-size:22px}.aj-mode[aria-pressed=true]{border-color:var(--bd-173a31);background:var(--sage,var(--bg-e8f0e2))}
.aj-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.aj-stop{display:grid;grid-template-columns:36px 1fr;gap:4px 10px;padding:12px;border-radius:var(--r-card);background:var(--bg-ffffff);box-shadow:0 1px 6px #173a3114}
.aj-badge{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--bg-173a31);color:#fff;font-weight:800}
.aj-words strong{display:block;font-size:17px;color:var(--tx-173a31)}.aj-words small{color:var(--muted,var(--tx-5a6a60));font-size:14px}.aj-tools{grid-column:2;display:grid;gap:8px}
.aj-nights{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700}.aj-step{width:40px;height:40px;border:0;border-radius:50%;background:var(--sage,var(--bg-e8f0e2));color:var(--tx-173a31);font-size:20px;font-weight:800}
.aj-actions{display:flex;flex-wrap:wrap;gap:8px}.aj-icon{width:44px;height:44px;border:0;border-radius:50%;background:var(--sage,var(--bg-e8f0e2));color:var(--tx-173a31);font-size:15px;font-weight:800}.aj-icon:disabled,.aj-step:disabled{opacity:.35}.aj-remove{background:var(--bg-f5ded3)}
.aj-dir{min-height:44px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--sea,var(--bg-d6eaee));color:var(--tx-173a31);font-weight:800;font-size:15px}
.aj-leg{display:flex;align-items:center;gap:8px;margin-left:18px;padding:6px 0 6px 28px;border-left:3px dotted var(--bd-173a31);color:var(--muted,var(--tx-5a6a60));font-size:14px}
.aj-add-btn{width:100%;min-height:56px;font-size:18px;border-radius:var(--r-pill)!important}.aj-panel{display:grid;gap:10px;margin-top:10px;padding:14px;border-radius:var(--r-card);background:var(--bg-ffffff)}.aj-panel h4{margin:0;font-size:18px}
.aj-quick{display:flex;flex-wrap:wrap;gap:8px}.aj-chip{min-height:44px;padding:0 16px;border:1px solid var(--line,var(--bd-d0d8ce));border-radius:var(--r-pill);background:var(--paper);color:var(--tx-173a31);font-weight:700;font-size:15px}
.aj-ideas{display:grid;gap:6px}.aj-idea{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;border:0;border-radius:var(--r-card);background:var(--sage,var(--bg-e8f0e2));text-align:left}
.aj-pick{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-card);background:var(--amber,var(--bg-e8a13a));color:var(--tx-173a31)}
.aj-go{display:grid;grid-template-columns:1fr 1fr;gap:8px}.aj-go .button{min-height:54px;font-size:17px;border-radius:var(--r-pill)}.aj-more{display:flex;gap:8px;flex-wrap:wrap}
.aj-status{margin:0;min-height:20px;padding:0 6px;font-size:15px;color:var(--moss,var(--tx-3f6b57))}
.aj-card{display:grid;gap:6px;padding:14px;border-radius:var(--r-card);background:var(--bg-ffffff)}.aj-card h4{margin:0;font-size:17px;color:var(--tx-173a31)}.aj-card p{margin:0;font-size:15px}.aj-fine{color:var(--muted,var(--tx-5a6a60));font-size:13px!important}.aj-warn{color:var(--tx-9a4a2b)}
.aj-dakeyi{background:var(--sea,var(--bg-d6eaee))}.aj-checks{display:grid;gap:10px}
.aj,.aj button,.aj input{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.aj-title{font-family:Georgia,serif}
.aj-modes{scrollbar-width:none}.aj-modes::-webkit-scrollbar{display:none}
.aj-actions{flex-wrap:nowrap;gap:6px;align-items:center}.aj-icon{flex:0 0 auto;width:40px;height:40px}.aj-dir{flex:1 1 auto;min-height:40px;padding:0 12px;font-size:14px;white-space:nowrap}
.aj-stop{padding:10px 12px}.aj-nights{gap:8px}.aj-step{width:36px;height:36px}
.arc-sheet .aj :is(p,small,strong,span,h4,li,label,button){font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
.arc-sheet .aj .aj-title{font-family:Georgia,serif!important}.arc-sheet .aj .aj-summary{font-weight:600}
/* Podcast recorder: same dark focus screen and shapes as the Footprint recorder */
.pod-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--deep,var(--bg-0b2821));color:#fff}.pod-dialog::backdrop{background:var(--deep,var(--bg-0b2821))}
.pod-body{display:grid;gap:16px;align-content:start;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));max-width:520px;margin:0 auto}
.pod-top{display:flex;justify-content:space-between;align-items:center}.pod-title{font:800 18px/1 system-ui,sans-serif;opacity:.9}.pod-x{width:48px;height:48px;border-radius:50%!important;background:var(--bgx-ffffff1f);font-size:20px}
.pod-h{margin:0;font:700 28px/1.15 Georgia,serif;text-align:center}.pod-sub{margin:0;text-align:center;font-size:17px;opacity:.85}.pod-fine{text-align:center;opacity:.7;font-size:14px}
.pod-btn{border:0;border-radius:var(--r-pill,999px);color:#fff;background:var(--bgx-ffffff1f);font-weight:800;cursor:pointer;min-height:56px;font-size:19px;padding:0 20px}
.pod-rec{display:grid;place-items:center;gap:6px;width:min(60vw,220px);height:min(60vw,220px);margin:8px auto;border-radius:50%!important;background:var(--live,#e5484d);box-shadow:0 12px 40px #e5484d66}.pod-rec strong{font-size:34px;letter-spacing:.08em}.pod-rec-dot{width:26px;height:26px;border-radius:50%;background:var(--bg-ffffff)}.pod-rec:disabled{opacity:.5}
.pod-time{text-align:center;font:800 84px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}.pod-meter{display:flex;align-items:center;justify-content:center;gap:4px;height:72px}.pod-meter span{width:6px;border-radius:3px;background:var(--amber,var(--bg-e8a13a));transition:height .2s}
.pod-actions{display:grid}.pod-pause,.pod-resume{height:88px;font-size:28px}.pod-pause{background:var(--pause,var(--bg-e8a13a));color:var(--forest,var(--tx-173a31))}.pod-resume{background:linear-gradient(145deg,#5aa27f,var(--moss,var(--bg-3f6b57)))}
.pod-finish{height:76px;font-size:24px;background:var(--live,#e5484d)}.pod-rec-share{background:var(--moss,var(--bg-3f6b57));height:64px}.pod-quiet{background:transparent;border:2px solid #ffffff44;min-height:52px;font-size:17px}.pod-small{min-height:48px;font-size:16px}
.pod-status{margin:0;text-align:center;font-size:16px;min-height:22px;color:#ffd9a0}.pod-recover{display:grid;gap:6px;padding:14px;border-radius:var(--r-card,20px);background:var(--bgx-ffffff14)}
.pod-ep{display:grid;gap:2px;text-align:left;padding:12px 16px;border-radius:var(--r-card,20px)!important;min-height:64px}.pod-ep small{opacity:.75;font-size:14px;font-weight:600}
.pod-body input[type=text],.pod-body textarea{width:100%;min-height:52px;padding:10px 14px;border:0;border-radius:var(--r-card,20px);background:var(--bgx-ffffff1f);color:#fff;font-size:17px}.pod-body label{font-weight:700;opacity:.8}.pod-body audio{width:100%}

.pod-live{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translateX(-50%);z-index:1100;min-height:44px;padding:0 18px;border:0;border-radius:var(--r-pill,999px);background:var(--live,#e5484d);color:#fff;font:800 16px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-float,0 4px 16px #173a3128)}.pod-live.is-paused{background:var(--pause,var(--bg-e8a13a));color:var(--forest,var(--tx-173a31))}
.pod-rec{align-content:center;justify-items:center}
.aj-route-note{margin:0;padding:8px 12px;border-radius:var(--r-card,20px);background:var(--sea,var(--bg-d6eaee));color:var(--forest,var(--tx-173a31));font-size:14px;font-weight:600}.aj-leg.is-road small{color:var(--forest,var(--tx-173a31));font-weight:700}
.profile-signin{display:grid;gap:10px;margin:0 0 14px;padding:18px;border-radius:var(--r-card,20px);background:var(--sage,var(--bg-e8f0e2));border:1px solid var(--line,var(--bd-d0d8ce))}.profile-signin h2{margin:0;font:700 22px/1.2 Georgia,serif;color:var(--forest,var(--tx-173a31))}.profile-signin p{margin:0;font-size:16px;color:var(--forest,var(--tx-173a31))}.profile-signin .button{min-height:52px;border-radius:var(--r-pill,999px);font-size:17px}
/* Profile page order that cannot be disturbed by what mounts later: title, then sign-in (signed out) or your profile and friends (signed in). */
#screen-profile{display:flex;flex-direction:column}#screen-profile>*{min-width:0}
#screen-profile>.page-heading{order:-30}#screen-profile>.profile-signin{order:-20}#screen-profile>#social-profile[data-connected=true]{order:-20}
/* Readability: nothing smaller than 12 px, muted text at 4.5:1 or better, and tap targets of at least 44 px */
.privacy-copy{font-size:13px!important;color:var(--tx-5a6a60)!important}
.build-eyebrow,.build-guide small,.dna-kicker,.arc-hero-eyebrow{font-size:12px!important}
.build-toggle{min-height:44px;padding:0 14px!important}
.build-guide .button,.build-guide button.button{min-height:44px}
/* Contrast and tap size on My World and ARCs */
.build-eyebrow{color:var(--tx-8a5a14)!important}
.mw-sheet-body .shape-text,.mw-sheet-body .mw-philosophy-line,.mw-sheet-body p,.mw-row small{color:var(--tx-4d5d53)}
.mw-sheet-body .shape-text{min-height:44px;display:inline-flex;align-items:center;padding:0 10px}
.mw-sheet-body button:not([class]),.mw-sheet-body .drafts-chip,.mw-sheet-body .shape-tools,.mw-sheet-body .shape-primary{min-height:44px}
#screen-plan .page-heading button.button,#screen-plan button.button{min-height:44px}
.shape-tools,.mw-sheet-body .shape-tools,.shape-primary,#screen-plan button.button,#screen-plan .page-heading .button{min-height:44px!important}
.build-guide small[class]:not(.build-eyebrow),.build-guide .build-next{color:var(--tx-8a5a14)}
.build-next-text small{color:var(--tx-8a5a14)!important}.rove-tools-open{min-height:44px!important}
.shape-primary{min-height:44px!important;height:44px!important}
/* ARC sheet: tab buttons and Post at 44 px, labels at 12 px or more, greyed stages still readable */
.arc-seg button{min-height:44px!important}.arc-sheet-post{min-height:44px!important}
.arc-stages li,.arc-sheet-title span,.arc-chat-author{font-size:12px!important}
.arc-stages li:not(.is-done):not(.is-now){color:var(--tx-5a6a60)!important}
.aj-leg small{font-size:13px!important}
.aj-icon,.aj-step{width:44px!important;height:44px!important}.aj-dir{min-height:44px!important}.aj-actions{gap:4px}
.reel-watermark{font-size:12px!important}.reel-counter button{flex:0 0 56px;min-width:56px}
/* Respect "reduce motion": no sliding, pulsing or animated bars for people who turned it off */
@media (prefers-reduced-motion:reduce){.mw-sheet,.mw-sheet.mw-dragging{transition:none!important}.pod-meter span,.qr-record .qr-dot,.qr-record.is-live .qr-dot,.aj-mode,.pod-live{transition:none!important;animation:none!important}.rove-toast{transition:none!important;animation:none!important}}
.rovo-launcher-face svg,.my-day-launcher-face svg,.rovo-face svg{display:block;color:var(--tx-173a31)}.rovo-launcher.is-docked>span:first-child{display:grid;place-items:center}
#screen-settings details>summary,.arc-travel-tools>summary{padding-block:12px}
#screen-settings details>summary,.arc-travel-tools>summary{padding-block:13px}[aria-label='Close create menu']{min-width:44px}
.quiet-note{font-size:12px!important}
/* Automatic Day Capture review card */
.day-review{display:grid;gap:8px;margin:10px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--text)}
.day-review[hidden]{display:none}
.day-review strong{font-size:16px}.day-review small,.day-review p{font-size:12px;color:var(--muted);margin:0}
.day-review-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.day-review .button,.day-review select{min-height:44px;font-size:14px}
.day-review select{border:1px solid var(--line);border-radius:12px;padding:0 10px;background:var(--bg-ffffff);color:var(--text)}
.day-review select[hidden],.day-review .button[hidden]{display:none}
/* Shared with friends */
.friends-shared{display:grid;gap:10px;margin-top:14px}
.friends-shared[hidden]{display:none}
.friends-shared-card{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--text)}
.friends-shared-card small,.friends-shared-card p{font-size:12px;color:var(--muted);margin:0}
.friends-shared-tag{font-size:12px;font-weight:600;color:var(--tx-173a31)}
.friends-shared-actions{display:flex;gap:8px;flex-wrap:wrap}
.friends-shared-actions .button,.friends-share-dialog .button{min-height:44px;font-size:14px}
.friends-share-dialog{max-width:min(92vw,420px);border:0;border-radius:18px;padding:18px;background:var(--cream);color:var(--text)}
.friends-share-dialog textarea{width:100%;box-sizing:border-box;margin:8px 0;font-size:16px;border:1px solid var(--line);border-radius:12px;padding:10px}
.friends-share-row{display:flex;align-items:center;gap:8px;min-height:44px}
.friends-share-row label{font-size:14px}.friends-share-row label:first-of-type{flex:1}
.friends-share-row input{width:22px;height:22px}
.arc-who-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}.arc-who-picker button{padding:14px 10px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--tx-173a31);text-align:left}.arc-who-picker button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}.arc-who-picker strong,.arc-who-picker small{display:block}.arc-who-picker small{font-size:12px;margin-top:6px}
.mw-friends-tabs{display:flex;gap:6px;margin:4px 0 12px}.mw-friends-tabs button{flex:1;padding:9px 6px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--tx-173a31);font-weight:600}.mw-friends-tabs button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
.mw-create{width:44px;height:44px;border-radius:50%;border:0;background:var(--bg-173a31);color:#fff;font-size:26px;line-height:1}.mw-create-menu{position:absolute;right:12px;bottom:92px;z-index:1200;display:grid;gap:4px;padding:8px;border-radius:16px;background:var(--paper);box-shadow:0 8px 28px #0003}.mw-create-menu button{display:flex;gap:10px;align-items:center;padding:12px 14px;border:0;border-radius:12px;background:transparent;color:var(--tx-173a31);text-align:left;font-weight:600}.mw-create-menu small{display:block;font-weight:400;opacity:.7}
.arc-who-label{margin:16px 0 8px;font-weight:700;color:var(--tx-173a31)}
.mw-friends-head .mw-teem-definition{margin:0 0 8px;font-size:13px;opacity:.75}
/* Location matters in ROVEBOUND: the place bar sits right under the photo, and glows until a place is set. */
.compose-place.needs-place{outline:2px solid #e8a13a;outline-offset:2px;border-radius:14px}.compose-details-wrap{margin:8px 0}.compose-details-wrap summary{cursor:pointer;font-weight:600;color:var(--tx-173a31);padding:8px 0}
.friend-code-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.friend-code-actions .button{flex:1;min-width:140px}
.friend-code-dialog{max-width:340px;width:calc(100% - 32px);border:0;border-radius:24px;padding:24px;background:var(--paper);text-align:center}.friend-code-dialog::backdrop{background:#0008}.friend-code-dna{max-width:160px;margin:8px auto}.friend-code-dna svg{width:100%;height:auto}.friend-code-dialog img{width:220px;height:220px;image-rendering:pixelated;background:var(--bg-ffffff);padding:10px;border-radius:12px}.friend-code-dialog strong{display:block;margin:8px 0}
/* Edit profile, Instagram-style: photo first, plain fields, two toggles, one Save that stays in reach. */
.profile-edit>summary{display:inline-block;padding:10px 18px;border-radius:999px;border:1px solid var(--line);font-weight:600;color:var(--tx-173a31);cursor:pointer}
.profile-edit form{display:grid;gap:14px;margin-top:14px}.pe-photo{display:flex;align-items:center;gap:16px}.pe-avatar{width:84px;height:84px;border-radius:50%;background:var(--bg-173a31);color:#fff;display:grid;place-items:center;font:700 28px Georgia,serif;overflow:hidden;cursor:pointer;flex:none}.pe-avatar img{width:100%;height:100%;object-fit:cover}
.pe-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.pe-toggle small{display:block}.pe-toggle input{width:22px;height:22px;flex:none}
.pe-status{min-height:1.2em;color:var(--tx-9b2c2c);font-weight:600;margin:0}.pe-save{position:sticky;bottom:12px;width:100%}
.profile-edit label.pe-avatar{display:grid;place-items:center;width:84px;height:84px;font:700 28px Georgia,serif;color:#fff;gap:0}.profile-edit label.pe-avatar span{font:inherit;color:inherit}
/* Clubs have their own look: warm clay and amber, a member strip instead of trip stages, Home/Events/Board tabs. */
.arc-sheet[data-kind=club]{border-top:4px solid var(--amber,#c98a2b)}
.arc-sheet[data-kind=club] .arc-hero-eyebrow{color:var(--tx-9a5b17);letter-spacing:.08em}
.arc-club-state{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--bg-fbefd9);color:var(--tx-7a4a10);font:700 12px var(--sf-sans,system-ui)}
.arc-club-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 12px 4px}.arc-club-strip div{background:var(--bg-fbf3e4);border-radius:14px;padding:8px 6px;text-align:center}.arc-club-strip strong{display:block;font:700 22px var(--sf-serif,Georgia,serif);color:var(--tx-7a4a10)}.arc-club-strip small{font-size:12px;color:var(--tx-7a6a52)}
.arc-sheet[data-kind=club] .arc-seg button[aria-selected=true]{background:#9a5b17!important;color:#fff!important}
.arc-sheet[data-kind=club] .arc-journey-open{background:#9a5b17;border-color:#9a5b17;color:#fff}
.arc-pane-events .arc-club-events{margin-top:6px}
.club-board{padding:6px 12px 24px}.club-board h3{margin:0 0 8px;font:700 20px var(--sf-serif,Georgia,serif);color:var(--tx-7a4a10)}
.club-board-form{display:grid;gap:8px;margin-bottom:10px}.club-board-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--bd-e3d3b5);border-radius:14px;padding:10px;font:inherit;background:var(--bg-fffaf0)}.club-board-pin{display:flex;gap:8px;align-items:center;font-size:14px}
.club-notice{background:var(--bg-fbf3e4);border-radius:14px;padding:12px;margin-bottom:8px}.club-notice.is-pinned{border:1px solid #c98a2b}.club-notice p{margin:0 0 6px}.club-notice small{color:var(--tx-7a6a52)}.club-notice-actions{display:flex;gap:14px;margin-top:6px}
.club-event-meta{margin:-2px 0 10px 56px;display:grid;gap:2px}.club-event-meta strong{color:var(--tx-7a4a10)}.club-event-meta small{color:var(--tx-7a6a52)}.club-event-rsvp{display:flex;gap:8px;align-items:center;margin-top:4px;flex-wrap:wrap}.club-event-rsvp button[aria-pressed=true]{background:#9a5b17;color:#fff}
.club-event-dialog form{display:grid;gap:10px;min-width:260px}

#sync-status{transition:opacity .6s ease}#sync-status.is-fading{opacity:0}
.itinerary-dialog{max-height:88vh;overflow:auto}.itinerary-dialog h2{font-family:Georgia,serif;font-weight:700;color:var(--tx-173a31);margin:0 0 4px}.itinerary-dialog label{display:grid;gap:4px;margin:8px 0;font-weight:700;font-size:13px;color:var(--tx-173a31)}.itinerary-dialog input{min-height:40px;border:1px solid var(--bd-cbd5c9);border-radius:10px;padding:6px 10px;font:inherit;background:var(--bg-ffffff)}
.it-trail{list-style:none;margin:14px 0;padding:0 0 0 22px;position:relative}.it-trail::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:repeating-linear-gradient(#9fb5a6 0 6px,transparent 6px 11px)}
.it-stop,.it-leg{position:relative;padding:6px 0 10px}.it-dot{position:absolute;left:-22px;top:9px;width:14px;height:14px;border-radius:50%;background:var(--bg-173a31);box-shadow:0 0 0 3px #fffdf7}.it-stop.is-layover .it-dot{background:var(--bg-fffdf7);border:2px solid #9fb5a6;box-sizing:border-box}
.it-words{display:grid;gap:3px}.it-stop strong{font:700 19px Georgia,serif;color:var(--tx-173a31)}.it-stop small,.it-leg small{color:var(--tx-4d6358);font-size:13px}.it-leg{padding:0 0 10px}.it-leg details summary{font-size:12px;color:var(--tx-63756a);cursor:pointer;margin-top:2px}
.it-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.it-nights{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--tx-173a31)}.it-note{font-size:13px;color:var(--tx-63756a)}.it-controls .text-action{font-size:12px;color:var(--tx-63756a);text-decoration:underline;background:none;border:0;padding:4px 2px}
.itinerary-status{min-height:1.2em;margin:8px 0 0;font-size:13px}

/* Add a booking and the day picker follow Apple's guidance: 44 pt targets, system text that scales with Dynamic Type, 8 pt spacing, safe-area padding. */
.itinerary-dialog{font:-apple-system-body;font-size:max(15px,1em);padding-bottom:calc(16px + env(safe-area-inset-bottom))}.itinerary-dialog p{font-size:.95em;line-height:1.4}
.itinerary-dialog .fine,.it-stop small,.it-leg small,.it-note{font-size:.85em;color:var(--tx-4a5e53)}.it-stop strong{font-size:1.2em}
.itinerary-dialog .button{width:100%;min-height:50px;border-radius:14px;font-weight:700}.itinerary-dialog .text-action,.it-controls .text-action{min-height:44px;padding:0 12px;font-size:.9em;color:var(--tx-3f5a4b);text-decoration:underline;background:none;border:0}
.it-nights .aj-step{width:44px;height:44px;min-width:44px;border-radius:50%;font-size:1.2em}.it-controls{gap:8px}.it-leg details summary{min-height:44px;display:flex;align-items:center;font-size:.9em;color:var(--tx-4a5e53)}
.itinerary-dialog input{min-height:44px;font-size:16px}
.shape-under .shape-day{flex-wrap:wrap;gap:8px}.shape-under .shape-day select,.shape-under .shape-day input{min-height:44px}.shape-under .shape-day input{flex:1 1 160px;min-width:160px;max-width:none;padding:6px 12px;font-size:16px}

.reel-lengths{display:flex;gap:8px;margin:12px 0}.reel-length{flex:1;min-height:44px;border:1px solid var(--bd-cbd5c9);border-radius:12px;background:var(--bg-ffffff);color:var(--tx-173a31);font:700 15px system-ui,sans-serif}.reel-length[aria-pressed=true]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}

.itinerary-dialog{position:relative}.it-exit{position:sticky;top:0;float:right;width:44px;height:44px;border:0;border-radius:50%;background:var(--bg-e7ebe2);color:var(--tx-173a31);font-size:18px;z-index:2}
.it-extras{display:grid;gap:6px;width:100%}.it-extra{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 2px 12px;border-left:2px solid #9fb5a6;font-size:.9em}.it-extra-remove{width:44px;height:44px;border:0;background:none;color:var(--tx-63756a)}
.it-extra-form{display:grid;grid-template-columns:1fr 72px auto;gap:8px;align-items:center}

#app-status{transition:opacity .6s ease}#app-status.is-fading{opacity:0}

/* Club colours: the owner picks a theme; chat, board and buttons follow it. Dark ink on soft tint, white on ink (all above 7:1). */
.arc-sheet{--club-ink:#173a31;--club-soft:#e3eee4;--club-accent:#2f7a5b}
.arc-chat-log{background:linear-gradient(var(--club-soft),var(--club-soft));border-radius:16px;padding:10px 8px;gap:3px}
.arc-chat-msg{background:var(--bg-ffffff);color:var(--tx-1b2a24);border:1px solid color-mix(in srgb,var(--club-accent) 25%,var(--bd-ffffff));box-shadow:0 1px 1px rgba(0,0,0,.04)}
.arc-chat-msg.is-mine{background:var(--club-ink);color:#fff;border-color:var(--club-ink)}
.arc-chat-author{color:color-mix(in srgb,var(--club-accent) 70%,var(--tx-000000));font-size:12px}
.arc-chat-msg.is-mine .arc-chat-author{color:rgba(255,255,255,.8)}
.arc-chat-time,.arc-chat-photo{opacity:.75}
.arc-chat-form{background:var(--club-soft);border-radius:0 0 16px 16px;padding:8px}
.arc-chat-form textarea{border-color:var(--club-accent);color:var(--tx-1b2a24)}
.arc-chat-form textarea:focus{outline:2px solid var(--club-accent);outline-offset:1px}
.arc-chat-form .button{background:var(--club-ink);color:#fff;border-color:var(--club-ink)}
.club-themes{display:flex;gap:10px;margin:8px 0 2px;flex-wrap:wrap}
.club-swatch{width:44px;height:44px;border-radius:50%;border:3px solid var(--bd-ffffff);box-shadow:0 0 0 1px #9aa89f;padding:0}
.club-swatch[aria-pressed="true"]{box-shadow:0 0 0 3px var(--club-ink)}
.club-board-form{display:grid;gap:8px;padding:10px;border-radius:16px;background:var(--club-soft);position:sticky;top:0;z-index:2}
.club-board-form textarea{width:100%;min-height:44px;max-height:140px;resize:none;font-size:16px;padding:11px 14px;border-radius:14px;border:1px solid var(--club-accent);background:var(--bg-ffffff);color:var(--tx-1b2a24)}
.club-board-starters{display:flex;gap:8px;overflow-x:auto}
.club-chip{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:22px;border:1px solid var(--club-accent);background:var(--bg-ffffff);color:var(--club-ink);font-size:14px}
.club-board-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.club-board-row .button{min-height:44px;min-width:88px;background:var(--club-ink);color:#fff}
.club-board-row .button:disabled{opacity:.45}
.club-notice{border-left:4px solid var(--club-accent)}
.club-notice.is-pinned{background:var(--club-soft)}

/* Throwback page */
.tb-page .tb-hero{text-align:center;padding:12px 8px 8px}
.tb-mark{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--bg-e3eee4);color:var(--tx-173a31);font-size:28px}
.tb-hero h3{margin:8px 0 2px;font-size:22px;line-height:1.2;color:var(--tx-173a31)}
.tb-meta{margin:0;color:var(--tx-4c5d52);font-size:15px}
.tb-story,.tb-crew{margin-top:14px;display:grid;gap:8px}
.tb-story p{margin:0;padding:12px 14px;border-radius:14px;background:var(--bg-f3f6ef);color:var(--tx-1b2a24);font-size:16px;line-height:1.4;white-space:pre-wrap}
.tb-crew .shape-choice{min-height:56px}
.tb-crew .shape-choice.is-primary{background:var(--bg-173a31);color:#fff}
.tb-crew .shape-choice.is-primary small{color:rgba(255,255,255,.85)}
.tb-board{margin-top:14px;display:grid;gap:8px}
.tb-board-host .arc-posts{display:grid;gap:10px}
.tb-board-host .arc-posts h3{display:none}
.tb-board-host .arc-post-card{padding:12px 14px;border-radius:14px;background:var(--bg-f3f6ef);border:1px solid var(--bd-dbe5dc)}
.tb-board-host .arc-quick-post textarea{width:100%;min-height:56px;font-size:16px}

/* ARC readability: text on light surfaces stays above 4.5:1 (was 2.9–3.2:1 for stages, amber labels and chevrons). */
.arc-stages li{color:var(--tx-44564b)}
.arc-stages li[aria-current],.arc-stages li.is-on,.arc-stages li.is-current{color:var(--tx-173a31)}
.build-eyebrow,.build-next-text small,.mw-loop strong{color:var(--tx-8a5100)}
.arc-settings-chevron,.mw-chev,.shape-row-chevron{color:var(--tx-5c6a60)}
.vis-search small{color:var(--tx-5c6a60)}
.arc-sheet small,.arc-sheet .privacy-copy,.aj-summary,.aj-words small,.aj-leg{color:var(--tx-44564b)}
.arc-sheet .arc-post-card small{color:var(--tx-44564b)}

/* Route card: the whole trip at a glance, or what is next once the route has started. */
.aj-trip{display:grid;gap:4px;padding:14px 16px;border-radius:18px;background:var(--bg-173a31);color:#fff}
.aj-trip-main{font:700 24px/1.15 Georgia,serif;color:#fff}
.aj-trip-sub,.aj-trip-line{margin:0;font-size:14px;color:#dbe9df}
.aj-trip-line{font-size:16px;color:#fff}
.aj-steps{display:flex;gap:4px;margin:6px 0}
.aj-steps i{flex:1;height:6px;border-radius:3px;background:var(--bga-ffffff-p28)}
.aj-steps i.is-done{background:#9bd3b0}.aj-steps i.is-now{background:var(--bg-ffffff)}
.aj-nav-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.aj-nav-actions .button,.aj-nav-end{min-height:48px;border-radius:24px}
.aj-trip .button-forest{background:var(--bg-ffffff)!important;color:var(--tx-173a31)!important}
.friends-share-quick{display:grid;gap:8px;margin:10px 0}
.friends-share-quick .button{width:100%}
.friends-share-star{min-width:44px;min-height:44px;border:0;background:none;font-size:20px;cursor:pointer}
.friends-share-picks{max-height:34vh;overflow:auto}
.friends-share-dialog{margin:auto auto 0;width:min(100vw,480px);max-width:100vw;border-radius:22px 22px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}
.friends-roster{display:grid;gap:10px;margin:6px 0 14px}
.friends-roster[hidden]{display:none}
.friends-roster-head{display:flex;align-items:center;justify-content:space-between}
.friends-roster-head h3{margin:0}
.friends-roster-add{min-height:44px;font-size:14px}
.friends-roster-strip{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}
.friends-roster-person{display:grid;justify-items:center;gap:4px;min-width:64px;min-height:44px;border:0;background:none;color:var(--text);font:inherit;cursor:pointer}
.friends-roster-person small{font-size:12px;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.friends-roster-face{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--bg-173a31);color:#fff;font-weight:700;overflow:hidden;box-sizing:border-box}
.friends-roster-face img{width:100%;height:100%;object-fit:cover}
.friends-roster-person.has-new .friends-roster-face{box-shadow:0 0 0 2px var(--cream),0 0 0 4px var(--forest)}
.friends-roster-person.is-close .friends-roster-face{box-shadow:0 0 0 2px var(--cream),0 0 0 4px #b7791f}
.friends-roster-request,.friends-roster-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.friends-roster-request span:nth-child(2){flex:1;min-width:120px;font-size:14px}
.friends-roster-request .button,.friends-roster-actions .button{min-height:44px;font-size:14px}
.friends-roster-actions{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.friends-roster-manage:empty{display:none}
.friends-react{display:flex;gap:8px;flex-wrap:wrap}
.friends-react-btn{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.friends-react-btn[aria-pressed="true"]{background:var(--bg-173a31);border-color:var(--bd-173a31);color:#fff}
.friends-reactions{color:var(--text)}
.friends-who summary{min-height:44px;display:flex;align-items:center;font-size:13px;cursor:pointer}
.chapter-zero{width:min(92vw,420px);border:0;border-radius:22px;padding:28px 22px;background:var(--cream);color:var(--text);text-align:center}
.chapter-zero::backdrop{background:rgba(10,20,15,.55)}
.chapter-zero-title{font-size:26px;line-height:1.2;margin:8px 0 14px;animation:c0-in .9s ease both}
.chapter-zero-line{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 16px}
.chapter-zero .button{display:block;width:100%;min-height:48px;margin:8px 0}
@keyframes c0-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chapter-zero.is-still .chapter-zero-title{animation:none}
@media (prefers-reduced-motion:reduce){.chapter-zero-title{animation:none}}
.shared-memory{width:min(100vw,480px);max-width:100vw;max-height:92vh;margin:auto auto 0;border:0;border-radius:22px 22px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));background:var(--cream);color:var(--text);overflow:auto}
.shared-memory::backdrop{background:rgba(10,20,15,.5)}
.shared-memory-title{font-size:22px;line-height:1.25;margin:0 0 8px}
.shared-memory-line{font-size:15px;line-height:1.5;margin:6px 0 10px}
.shared-memory .button{display:block;width:100%;min-height:48px;margin:8px 0}
.shared-memory textarea{width:100%;box-sizing:border-box;font-size:16px;border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}
.shared-memory input[type=date],.shared-memory input[type=text]{min-height:44px;font-size:16px;box-sizing:border-box;margin:4px 0 8px}
.shared-memory-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px}
.shared-memory-check input{width:22px;height:22px}
.shared-memory-person{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}
.shared-memory-person .button{width:auto;min-width:96px;margin:0}
.shared-memory-thread{display:grid;gap:10px;margin:12px 0}
.shared-memory-item{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.shared-memory-item.is-mine{border-color:var(--bd-173a31)}
.shared-memory-by{font-size:12px;color:var(--muted)}
.shared-memory-item p{margin:6px 0}
.shared-memory-photo img{width:100%;border-radius:10px;display:block}
.shared-memory-remove{min-height:44px;font-size:13px}
.shared-memory-danger{color:var(--tx-8a2f2f)}
.shared-memory-section{display:grid;gap:10px;margin:6px 0 14px}
.shared-memory-section[hidden]{display:none}
.shared-memory-head h3{margin:0}
.shared-memory-invite{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.shared-memory-invite p{margin:0;font-size:14px}
.shared-memory-invite .button{min-height:44px;font-size:14px}
.shared-memory-row{display:grid;gap:2px;text-align:left;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--text);font:inherit;cursor:pointer}
.shared-memory-row small{font-size:12px;color:var(--muted)}
.shared-memory-code summary{min-height:44px;display:flex;align-items:center;font-size:14px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.shared-memory *{animation:none!important;transition:none!important}}
/* Reactions on posts */
.post-reactions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.post-reaction{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid var(--bd-c9d8c9);border-radius:22px;background:var(--bg-ffffff);color:var(--tx-173a31);font-size:14px}.post-reaction[aria-pressed=true]{background:var(--bg-173a31);color:#fff;border-color:var(--bd-173a31)}.post-reactions-note{flex-basis:100%;margin:0;color:var(--tx-4a5a52);font-size:14px}.post-reactions-own{margin:10px 0 2px}

/* Text positioning: map credit sits below the status bar and clear of the top tabs; side tool labels stay centred and inside their buttons. */
body[data-view=my] .mw-immersive .leaflet-bottom.leaflet-right{top:env(safe-area-inset-top)}
.mw-immersive .shape-map-tools button{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;font-size:11px;padding:0 2px;overflow-wrap:normal}
.mw-sheet-body,.arc-sheet .arc-sheet-body{opacity:var(--sheet-fade,1);transition:opacity .18s}.mw-sheet.mw-dragging .mw-sheet-body,.arc-sheet.mw-dragging .arc-sheet-body{transition:none}
.explore-adventure{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 4px}.explore-adventure-label{font-size:12px;font-weight:700;color:var(--tx-40543f);margin-right:2px}.explore-adventure button{min-height:44px;padding:0 12px;font-size:13px}.explore-adventure button[aria-pressed=true]{background:var(--bg-173a31);color:#fff}
/* Line icons that replace emoji (icon-dom.mjs). They follow the text colour and size. */
.ic{width:1.15em;height:1.15em;fill:currentColor;vertical-align:-.2em;flex:none;display:inline-block}
.mw-pin .ic,.mw-card-icon .ic,.shape-row-icon .ic,.rove-badge .ic{vertical-align:middle}
.club-nudge{display:grid;gap:8px;margin:10px 0;padding:14px;border-radius:14px;background:var(--bg-ffffff);border:1px solid var(--bd-c9d8c9)}.club-nudge p{margin:0;font-size:14px;line-height:1.4}.club-nudge .button{min-height:44px}
.quest-place{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}.quest-place a{min-height:44px;display:inline-flex;align-items:center;color:var(--tx-173a31);font-weight:700}
/* Design pass: tile icons share one box so titles line up across a row; small controls reach 44px; tool labels reach 12px. */
.create-tools button{justify-content:flex-start}
.create-tools span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--bg-e3eee4);font-size:24px;line-height:1}
.compose-header button[aria-label]{min-width:44px;min-height:44px;display:grid;place-items:center;font-size:22px}
.mw-seg button{min-width:44px}
.mw-immersive .shape-map-tools button{font-size:12px}
/* Keep every map control above the sheet without shrinking its tap target. */
body[data-view=my][data-sheet=half] .mw-immersive .shape-map-tools{grid-template-columns:repeat(2,46px)}
@media (max-height:540px) and (orientation:landscape){
 body[data-view=my] .mw-immersive .shape-map-tools{display:flex!important;flex-wrap:nowrap;right:calc(max(12px,env(safe-area-inset-right,0px)) + 60px)!important;top:calc(48dvh - max(10px,env(safe-area-inset-bottom,0px)) - 56px)!important}
 body[data-view=my] .mw-immersive .shape-map-tools button{flex:0 0 46px;min-width:46px!important;min-height:46px}
}
body[data-view=my][data-sheet=full] .mw-immersive .shape-map-tools{visibility:hidden;pointer-events:none}
/* Composer: a dialog is capped at 100% - 6px - 2em by the browser, which left the full-screen composer 38px short of the right edge. */
.post-composer:not(.footprint-dashboard){max-width:100vw}
.post-composer .compose-actions .button{white-space:nowrap;padding-inline:10px;font-size:15px}
.post-composer .compose-details>summary{min-height:44px;display:flex;align-items:center}
.post-composer .text-action{min-height:44px}
.post-composer .compose-note{font-size:12px}
.post-composer summary{min-height:44px;display:flex;align-items:center}
/* Composer steps: photos first, then the caption page. */
.post-composer[data-step=media] .compose-fields{display:none}
.post-composer[data-step=details] .compose-nextbar{display:none}
.post-composer[data-step=media] .compose-nextbar{position:sticky;bottom:0;display:grid;gap:4px;justify-items:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#e6eddb00,var(--bg-e6eddb) 32%)}
.post-composer .compose-nextbar .button{width:100%;min-height:48px}
.post-composer .compose-back{justify-self:start;font-weight:700}
.post-composer[data-step=details] .compose-media:not(:has(#post-media:not(:empty))) .compose-picker{aspect-ratio:auto;max-height:none;min-height:0;padding:12px;flex-direction:row;gap:10px;border-radius:16px}
.post-composer[data-step=details] .compose-media:not(:has(#post-media:not(:empty))) .compose-picker>span{width:36px;height:36px;margin:0;font-size:22px}
.post-composer[data-step=media] #post-editor{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto}
.post-composer[data-step=media] .compose-nextbar{margin-top:auto;background:none}
.post-composer summary{list-style:none}.post-composer summary::-webkit-details-marker{display:none}.post-composer summary::before{content:"›";display:inline-block;margin-right:10px;font-size:20px;transition:transform .15s}.post-composer details[open]>summary::before{transform:rotate(90deg)}
/* Map pins: the icon sits centred, and the tap area grows to 44px without changing how the pin looks. */
.atlas-pin{position:relative;display:inline-grid;place-items:center;padding:0;line-height:1}.atlas-pin .ic{width:62%;height:62%}.atlas-pin::after{content:"";position:absolute;inset:-7px}
/* Create menu: one line per choice; the longer description is a tooltip only. */
.mw-create-menu{gap:0}.mw-create-menu button{min-height:48px;padding:10px 16px;font-size:16px}
/* The + glyph sits off-centre in most fonts: draw it as two bars centred in the circle. */
.mw-create{position:relative;font-size:0;color:transparent}
.mw-create::before,.mw-create::after{content:"";position:absolute;left:50%;top:50%;background:var(--bg-ffffff);border-radius:1px;transform:translate(-50%,-50%)}
.mw-create::before{width:18px;height:2.5px}.mw-create::after{width:2.5px;height:18px}
.mw-friends-tabs button{min-height:44px}
/* Design pass: Explore disclosure rows reach 44px; the small heading above nearby ideas is 12px. */
.atlas-about>summary,.atlas-extras>summary{min-height:44px;display:flex;align-items:center}
.nearby-heading .eyebrow{font-size:12px}
/* Add a booking: the "Not now" link lines up with the text above it. */
.itinerary-dialog .text-action{padding-left:0;margin-left:0;text-align:left}
/* Experience card (Explore, after you choose an area) */
.experience-card{margin:12px 0;padding:14px;border:1px solid var(--line,var(--bd-d0d8ce));border-radius:16px;background:var(--bg-f7f8ee)}
.experience-card h4{margin:0 0 4px;font:700 17px Georgia,serif;color:var(--tx-173a31)}
.experience-card .experience-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.experience-card .experience-links button{min-height:44px;flex:1 1 30%}
.experience-card .text-action{min-height:44px;padding:0 12px 0 0}
.experience-optin{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600;color:var(--tx-173a31)}
.experience-optin input{width:22px;height:22px}

/* Friend DNA match card and saved matches. */
.friend-dna-score{display:block;font-size:2.4rem;line-height:1.1;color:var(--forest,var(--tx-1f4d3a));margin:4px 0}
.friend-dna-headline{font-weight:600;margin:0 0 8px}
.friend-dna-match button,.friend-dna-saved button{min-height:44px;margin:4px 6px 0 0}
.friend-dna-saved h3{margin:14px 0 4px;font-size:1rem}

/* Trim a recorded ARC activity. */
.arc-trim-dialog{max-width:380px;width:calc(100% - 32px);border:0;border-radius:24px;padding:24px;background:var(--paper)}.arc-trim-dialog::backdrop{background:#0008}
.arc-trim-dialog input[type=range]{width:100%;min-height:44px}.arc-trim-dialog button{min-height:44px;margin:6px 8px 0 0}.arc-trim-summary{font-weight:600}

/* Rating a post Explore placed beyond your interests. */
.explore-surprise{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:10px}.explore-surprise-label{flex-basis:100%;opacity:.75}
.explore-surprise button{min-height:44px}.explore-surprise button[aria-pressed=true]{background:var(--forest,#1f4d3a);color:#fff}.explore-surprise small.privacy-copy{flex-basis:100%}

/* Quest stop place picker. */
.quest-find>summary{min-height:44px;display:flex;align-items:center}

/* Birthday step at sign-in. */
.age-gate{max-width:380px;width:calc(100% - 32px);border:0;border-radius:24px;padding:24px;background:var(--paper)}.age-gate::backdrop{background:#000a}
.age-gate-row{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:8px;margin:14px 0}.age-gate select,.age-gate input{min-height:48px;font-size:max(16px,1rem);width:100%;box-sizing:border-box}
.age-gate button{min-height:48px;width:100%}

.quest-near{margin:6px 0}.quest-near-toggle{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.4;min-height:44px}.quest-near-toggle input{margin-top:3px;min-width:20px;min-height:20px}.quest-near-line{margin:4px 0 8px;font-weight:600;color:var(--tx-173a31)}

.interest-graph{margin:12px 0;padding:10px 12px;border:1px solid var(--bd-cfe0d6);border-radius:14px;background:var(--bg-ffffff)}.interest-graph summary{min-height:44px;display:flex;align-items:center;font-weight:600}.interest-graph-toggle{display:flex;gap:8px;font-size:14px;line-height:1.4;min-height:44px;align-items:flex-start}.interest-graph-list{list-style:none;margin:6px 0;padding:0}.interest-graph-list li{min-height:44px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.shared-memory-echoes{display:grid;gap:8px;margin:8px 0}.shared-memory-echo{display:grid;gap:2px;text-align:left;padding:12px 14px;min-height:44px;border-radius:14px;border:1px solid var(--bd-cfe0d6);background:var(--bg-e3eee4);color:var(--tx-173a31);font:inherit}.shared-memory-echo small{letter-spacing:.04em;opacity:.8}.shared-memory-echo-toggle{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.4;min-height:44px;margin-top:6px}

.my-horizon{margin:12px 0;padding:10px 12px;border:1px solid var(--bd-cfe0d6);border-radius:14px;background:var(--bg-ffffff)}.my-horizon summary{min-height:44px;display:flex;align-items:center;font-weight:600}.my-horizon-starters{display:flex;flex-wrap:wrap;gap:8px}.my-horizon-card{margin:10px 0;padding-top:8px;border-top:1px solid var(--bd-e3eee4)}.my-horizon-card h3{margin:0 0 2px;font-size:17px}.my-horizon-steps{list-style:none;margin:6px 0;padding:0}.my-horizon-steps li{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:44px}.my-horizon-add{display:flex;gap:8px;margin:6px 0}.my-horizon-add input{flex:1;min-height:44px;font:inherit}.my-horizon-actions{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}

.place-timeline-day h3{margin:12px 0 4px;font-size:15px}.place-timeline-row{padding:6px 0;border-top:1px solid var(--bd-e3eee4)}.place-timeline-row p{margin:0}.place-timeline-row details summary{min-height:44px;display:flex;align-items:center;font-size:14px;opacity:.8}.place-timeline-trip{margin:10px 0;padding:8px 10px;border:1px solid var(--bd-cfe0d6);border-radius:12px}.place-timeline-trip summary{min-height:44px;display:flex;align-items:center;font-weight:600}

/* Membership-scoped shared-memory access on the private Me map. */
.shared-map-summary{position:absolute;z-index:500;top:80px;left:88px;right:16px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--text);font:inherit;font-size:12px;box-shadow:0 3px 12px #183e3114}

/* Explore is the home for private trip planning and external travel services. */
.atlas-tabs{display:flex;flex-wrap:wrap}.atlas-tabs button{flex:1;white-space:nowrap;min-height:44px!important}.trip-planner{padding:12px 0 22px;border-bottom:1px solid var(--bd-dce3dc);margin-bottom:20px;min-width:0}.trip-planner h3{margin:0 0 6px}.trip-planner p{line-height:1.5}.trip-plan-picker,.trip-plan-actions,.trip-plan-providers{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.trip-plan-picker>label{flex:1;min-width:160px}.trip-planner label{display:grid;gap:6px;margin:12px 0;font-size:14px;font-weight:600}.trip-planner input,.trip-planner select,.trip-planner textarea{box-sizing:border-box;min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--bd-cbd5c9);border-radius:10px;background:var(--bg-fbf9ee);color:var(--tx-173a31);font:inherit;font-size:16px}.trip-planner fieldset{border:0;padding:0;margin:0;min-width:0}.trip-planner legend{font-weight:700;padding-top:16px}.trip-plan-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trip-plan-checklist{margin:12px 0}.trip-plan-checklist summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer}.trip-plan-checklist label{display:flex;align-items:center;gap:10px;min-height:44px}.trip-plan-checklist input{width:20px;min-height:20px;flex-shrink:0}.trip-planner button{min-height:44px;max-width:100%}.trip-plan-status{min-height:24px;font-size:14px}.trip-plan-booking{margin-top:20px}.trip-plan-booking h4{font-size:18px;margin:0}.trip-plan-providers{margin:14px 0}.trip-plan-delete{padding:10px 12px;border:1px solid var(--bd-cbd5c9);border-radius:12px}.trip-plan-delete button{margin:4px 8px 4px 0}.trip-planner [hidden]{display:none!important}
@media(max-width:360px){.trip-plan-dates{grid-template-columns:1fr}.atlas-tabs button{font-size:12px}}

.trip-business-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.trip-business-nav button{min-height:44px!important}.group-trip-planner{padding:14px 0 20px;margin-bottom:18px;border-bottom:1px solid var(--bd-dce3dc)}.group-trip-planner h3{margin:0 0 6px}.group-trip-planner p{line-height:1.5}.group-trip-planner button{min-height:44px;margin:4px 8px 4px 0}.group-trip-planner article{margin:10px 0;padding:12px;border:1px solid var(--bd-cbd5c9);border-radius:12px}.group-trip-planner article strong{display:block}.group-trip-planner article small{display:block;margin:5px 0;color:var(--tx-63756a)}

.trip-plan-dates>label{min-width:0}

/* Keep map clipping from scrolling the whole sheet during keyboard focus. */
@supports(overflow:clip){.mw-immersive .shape-map-stage{overflow:clip}}

.group-trip-help>summary,.trip-planner>details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
/* Accepted shared photos remain private previews, scoped to their visible map layer. */
.shape-pin.shared-pin{width:48px;height:48px;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--paper);background:var(--paper);overflow:visible}
.shared-pin.has-photo img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--paper);box-shadow:0 2px 8px #173a3140}
.shared-pin .shared-photo-badge{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;min-width:22px;min-height:22px;padding:0;border:1px solid var(--paper);display:grid;place-items:center;border-radius:12px;background:var(--paper);font-size:11px;line-height:16px;box-shadow:0 1px 4px #173a3130}

/* The real native MKMapView is beneath WKWebView; only the measured map aperture is transparent. */
html.apple-map-through,html.apple-map-through body.apple-map-through,html.apple-map-through body.apple-map-through .apple-map-through{background:transparent!important;background-image:none!important}
/* Paint only outside the native aperture; its actual Apple legal strip stays open. */
.shape-map-stage.apple-map-through::before{content:"";position:absolute;left:var(--apple-frame-left,0px);top:var(--apple-frame-top,0px);width:var(--apple-frame-width,0px);height:var(--apple-frame-height,0px);box-shadow:0 0 0 200vmax var(--bg-b9dce6);pointer-events:none;z-index:0}
.shape-map.apple-primary-overlays{clip-path:inset(0 0 56px 0)}
.shape-map.apple-primary-overlays .leaflet-control-container{visibility:hidden}
.shape-map.apple-primary-moving .leaflet-overlay-pane,.shape-map.apple-primary-moving .leaflet-marker-pane,.shape-map.apple-primary-moving .leaflet-shadow-pane{visibility:hidden}

.shape-map-tools button[hidden]{display:none!important}


/* Explore planning panel: existing itinerary, explicit friend review, map stays visible. */
.rove-explore{min-width:0;color:var(--tx-173a31)}
.rove-explore .atlas-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:0 0 12px}
.rove-explore .atlas-heading h3{margin:0;font:600 20px/1.2 Georgia,serif}
.rove-explore .atlas-heading p{margin:5px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.rove-explore .atlas-heading .text-action{flex-shrink:0;font-size:12px;min-height:44px}
.rove-explore .rove-plan-panel{padding:20px 18px;margin:0 0 16px;border:1px solid var(--bd-d4ddce);border-radius:18px;background:var(--bg-fbf9ee)}
.rove-explore .rove-plan-eyebrow{display:block;margin-bottom:10px;font-size:10px;font-weight:750;letter-spacing:.14em;color:var(--muted)}
.rove-explore .rove-plan-intro h2{margin:0;font:600 clamp(26px,4vw,34px)/1.08 Georgia,serif;letter-spacing:-.035em;color:var(--tx-173a31)}
.rove-explore .rove-plan-copy{margin:12px 0 18px;font-size:14px;line-height:1.55;color:var(--muted)}
.rove-explore .rove-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.rove-explore .rove-plan-actions>button{min-height:44px;min-width:0;white-space:normal;padding:10px 12px;font-size:14px}
.rove-explore .rove-plan-actions>.shape-primary{grid-column:1/-1}
.rove-explore .rove-plan-status{margin:12px 0 0;min-height:20px;font-size:12px;line-height:1.5;color:var(--muted)}
.rove-explore .rove-plan-panel[data-planning=true]{padding:16px 18px}
.rove-explore .rove-plan-panel[data-planning=true] .rove-plan-eyebrow,.rove-explore .rove-plan-panel[data-planning=true] .rove-plan-copy{display:none}
.rove-explore .rove-plan-panel[data-planning=true] .rove-plan-intro h2{font-size:26px}
.rove-explore .atlas-tabs{margin-bottom:16px}
.rove-explore .journey-planner{margin-top:0;padding-top:4px;border-top:0}
.rove-explore .journey-planner>h3{font:600 24px/1.2 Georgia,serif;margin:8px 0}
.rove-explore .journey-place-search{margin:12px 0}
.rove-explore .journey-place-search>summary,.rove-explore .journey-preferences>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.rove-explore .journey-together{padding:16px 0;margin-top:12px;border-top:1px solid var(--bd-d4ddce)}
.rove-explore [hidden]{display:none!important}
.rove-explore button:focus-visible,.rove-explore summary:focus-visible{outline:2px solid var(--sea-deep);outline-offset:3px}
@media(min-width:980px){.mw-sheet:has(.rove-explore){left:20px;right:auto;width:400px;max-width:calc(100% - 40px);bottom:16px;height:calc(100% - 32px);transform:none!important}.mw-sheet:has(.rove-explore) .mw-sheet-body{overflow-y:auto}.rove-explore .rove-plan-panel{padding:22px 20px}.rove-explore .journey-fields{gap:10px}}
@media(max-width:380px){.rove-explore .atlas-heading{flex-wrap:wrap}.rove-explore .rove-plan-panel{padding:16px 14px}.rove-explore .rove-plan-actions>button{font-size:13px}}

/* Capture clears the desktop Explore dock; saved coordinates remain untouched. */
@media(min-width:980px){body[data-view=my][data-sheet] .mw-immersive:has(.rove-explore) .shape-capture.shape-capture{left:clamp(436px,var(--capture-left,436px),calc(100vw - 76px))!important;right:auto!important;opacity:1!important;pointer-events:auto!important;transform:none!important}}

/* Narrow Explore planner controls keep their intrinsic widths inside the sheet. */
@media(max-width:379.98px){.rove-explore .journey-fields{grid-template-columns:minmax(0,1fr)}.rove-explore .journey-fields label,.rove-explore .journey-fields input,.rove-explore .journey-fields select,.rove-explore .journey-fields textarea{min-width:0;width:100%;max-width:100%;box-sizing:border-box}}

/* One Capture flow: content, explicit destination, then audience review. */
.post-composer [hidden]{display:none!important}
.post-composer .compose-category{border-radius:18px;align-items:flex-start;flex-direction:column;padding:12px 14px;gap:6px}
.post-composer .compose-category select{width:100%;max-width:100%;text-align:left;min-height:44px;font-size:15px;appearance:auto;-webkit-appearance:auto}
.post-composer #post-caption{min-height:128px;font-size:20px;line-height:1.45}
.post-composer #post-category-note{font-size:12px;line-height:1.5;margin:2px 4px 10px}
.post-composer .compose-fields{gap:10px}
.post-composer .compose-row:focus-within{outline:2px solid var(--sea-deep);outline-offset:2px}
.post-composer .compose-back{font-size:13px;min-height:44px;align-self:flex-start}
.create-hub .create-tools button{min-height:110px}
.create-hub .create-tools strong{font:600 21px/1.2 Georgia,serif}
.place-tales-dialog textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:18px;line-height:1.5;padding:12px}
.place-tales-dialog button{min-height:44px}
@media(max-width:380px){.post-composer .compose-actions{grid-template-columns:minmax(0,1fr)}.create-hub{padding:16px}.create-hub .create-tools button{padding:14px}.post-composer .compose-row{flex-wrap:wrap;min-width:0}.post-composer .compose-row input,.post-composer .compose-row select{max-width:100%;box-sizing:border-box}}

.place-tales-dialog input:not([type=checkbox]),.place-tales-dialog select{display:block;width:100%;max-width:100%;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--sage-deep);border-radius:12px;background:var(--bg-fbf9ee);color:var(--ink);font:inherit}
.place-tales-dialog>button:first-child{min-height:44px;padding:10px 16px;border:0;border-radius:999px;background:var(--sage);color:var(--ink);font:inherit}
.place-tales-dialog summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.place-tales-dialog input:focus-visible,.place-tales-dialog select:focus-visible,.place-tales-dialog textarea:focus-visible{outline:2px solid var(--sea-deep);outline-offset:2px}

.post-composer[data-step=details][data-format=note] .compose-media{display:none}
.post-composer .compose-details-wrap #post-back,.post-composer .compose-details-wrap #post-friends{margin-top:10px;min-height:44px;width:100%}

/* Account-scoped editable .rove trip library. */
.local-trips{padding:18px 0;border-top:1px solid var(--sage-deep);margin-top:18px}
.local-trip-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.local-trip-actions button{min-height:44px}
.local-trip-library-dialog{width:min(960px,calc(100vw - 24px));max-width:960px;max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;background:var(--bg-fbf9ee);color:var(--ink);padding:20px;border:1px solid var(--sage-deep);border-radius:20px}
.local-trip-library-dialog::backdrop{background:rgba(0,0,0,.55)}
.local-trip-library-dialog label{display:block;min-width:0;margin:12px 0;font-size:14px}
.local-trip-library-dialog input,.local-trip-library-dialog textarea,.local-trip-library-dialog select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 12px;margin-top:5px;border:1px solid var(--sage-deep);border-radius:10px;background:var(--bg-fbf9ee);color:var(--ink);font:inherit}
.local-trip-library-dialog textarea{min-height:76px;resize:vertical}
.local-trip-library-dialog input:focus-visible,.local-trip-library-dialog textarea:focus-visible,.local-trip-library-dialog select:focus-visible,.local-trip-library-dialog button:focus-visible,.local-trip-library-dialog a:focus-visible{outline:2px solid var(--sea-deep);outline-offset:2px}
.local-trip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.local-trip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:8px;margin:16px 0}
.local-trip-entry{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px;min-width:0;min-height:56px;border:1px solid var(--sage-deep);border-radius:12px;background:transparent;color:var(--ink);overflow-wrap:anywhere}
.local-trip-entry[aria-pressed=true]{border-width:2px}
.local-trip-entry small{font-size:12px}
.local-trip-stops{list-style:none;padding:0;margin:16px 0;counter-reset:none}
.local-trip-stop,.local-trip-import-card{padding:14px;margin:14px 0;border:1px solid var(--sage-deep);border-radius:14px;overflow-wrap:anywhere}
.local-trip-saved-links{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}
.local-trip-saved-links a{color:var(--sea-deep);padding:8px 0;overflow-wrap:anywhere}
.local-trip-link-review{padding-top:10px}
.local-trip-status{min-height:24px;overflow-wrap:anywhere}
.local-trip-status[data-error=true]{font-weight:600}
.local-trip-import-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px}
.local-trip-import-card dd{margin:0;overflow-wrap:anywhere}
@media(max-width:380px){.local-trip-library-dialog{padding:14px}.local-trip-fields{grid-template-columns:minmax(0,1fr)}.local-trip-import-card dl{display:block}.local-trip-import-card dd{margin:4px 0 10px}}

/* One translucent material per sheet; inner containers do not stack blur layers. */
:root{--sheet-glass:linear-gradient(145deg,rgba(250,253,255,.65),rgba(235,245,250,.42));--sheet-glass-line:rgba(255,255,255,.72);--sheet-glass-panel:rgba(255,255,255,.20)}
.mw-sheet,.arc-sheet{background:var(--sheet-glass)!important;border:1px solid var(--sheet-glass-line);box-shadow:0 12px 32px #06233320,inset 0 1px 0 #ffffff66!important;-webkit-backdrop-filter:blur(16px) saturate(1.15)!important;backdrop-filter:blur(16px) saturate(1.15)!important}
.mw-sheet .mw-sheet-body,.mw-sheet .mw-bar,.mw-sheet .mw-personal-content,.mw-sheet .mw-mode-content{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.rove-explore .rove-plan-panel{background:var(--sheet-glass-panel)!important;border:1px solid var(--sheet-glass-line);box-shadow:inset 0 1px 0 #ffffff40}

/* Keep real Apple attribution outside the transparent sheet, including its dragged tail. */
.shape-map-stage.apple-map-host:not([data-map-engine=fallback]) .mw-sheet{--sheet-bottom:max(64px,calc(env(safe-area-inset-bottom,0px) + 10px));bottom:var(--sheet-bottom);height:calc(100% - var(--sheet-bottom) - var(--sheet-top));clip-path:inset(0 0 max(0px,var(--sheet-y,0px)) 0)}

.shape-map-stage.apple-map-host .mw-sheet:not(.mw-dragging){transition:transform .34s cubic-bezier(.22,.9,.22,1),clip-path .34s cubic-bezier(.22,.9,.22,1)}

/* Visible map tabs remain reachable while the transparent sheet is fully raised. */
.mw-seg{z-index:650}
.mw-sheet{--sheet-top:calc(env(safe-area-inset-top,0px) + 84px);height:calc(100% - var(--sheet-bottom) - var(--sheet-top))}

/* Pause material sampling during map/sheet gestures; keep its tint steady. */
.map-moving .mw-sheet,.map-moving .arc-sheet,.mw-sheet.mw-dragging,.arc-sheet.mw-dragging{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
@media(prefers-reduced-transparency:reduce){.mw-sheet,.arc-sheet{background:var(--paper)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}

.globe-crosshair{position:absolute;left:50%;top:50%;z-index:451;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:var(--paper);color:var(--text);text-align:center;font:28px/36px system-ui;pointer-events:none}

.shape-map-stage[data-globe=true] .shape-map-tools{background:rgba(245,250,252,.94)!important}.shape-map-stage[data-globe=true] .shape-map-tools button{color:#102c35!important}

/* The visible My World sheet owns its height; no painted offscreen tail. */
.mw-immersive .mw-sheet.mw-sheet-sized{height:var(--sheet-height,96px)!important;max-height:calc(100% - var(--sheet-top) - var(--sheet-bottom));transform:none!important;clip-path:none!important;transition:height .24s cubic-bezier(.2,.7,.2,1),background-color .2s;will-change:auto}
.mw-sheet-ruler{position:absolute;top:calc(env(safe-area-inset-top,0px) + 84px);bottom:max(10px,env(safe-area-inset-bottom,0px));width:0;visibility:hidden;pointer-events:none}
.apple-map-host .mw-sheet-ruler{top:calc(env(safe-area-inset-top,0px) + 84px);bottom:max(64px,calc(env(safe-area-inset-bottom,0px) + 10px))}
.mw-immersive .mw-sheet.mw-sheet-sized.mw-dragging{transition:none}
.mw-immersive .mw-sheet.mw-sheet-sized.mw-dragging .mw-sheet-body{visibility:visible}
/* CSS cannot sample MapKit behind WKWebView. Clear only after native glass ack. */
body .mw-immersive .shape-map-stage.native-sheet-glass .mw-sheet.mw-sheet-sized{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none}
.apple-native-scene .shape-map.apple-primary-overlays .leaflet-pane{visibility:hidden!important}
.apple-native-scene .shape-map{pointer-events:none}
.apple-native-scene[data-map-engine="fallback"] .shape-map{pointer-events:auto}
.map-scope-status{margin:0;color:var(--muted,#52665c);font-size:12px;line-height:1.4;padding:0 14px 8px}
@media(min-width:900px){.mw-immersive .mw-sheet.mw-sheet-sized:has(.rove-explore){height:calc(100% - var(--sheet-top) - var(--sheet-bottom))!important}}

.map-more{position:relative;text-align:center}.map-more>summary{cursor:pointer;font-size:12px;min-height:40px;display:grid;place-items:center;list-style:none}.map-more>summary::-webkit-details-marker{display:none}.map-more[open]{background:var(--paper);border-radius:16px;padding:4px}.map-more[open]>button{display:block;width:100%;margin-top:4px}

/* Native scene fills its whole stable frame; the old web-overlay aperture mask
   has no dimensions in this mode and would paint over the entire native map. */
.shape-map-stage.apple-native-scene.apple-map-through::before{content:none!important;box-shadow:none!important}

/* Full-bleed imagery; readable sheet controls stay inside landscape cutouts. */
.mw-immersive .mw-sheet.mw-sheet-sized{left:max(10px,calc(env(safe-area-inset-left,0px) + 8px));right:max(10px,calc(env(safe-area-inset-right,0px) + 8px))}

/* Shared-photo status belongs to the sheet, clear of the island/menu/map tabs. */
.mw-sheet .shared-map-summary{position:static!important;transform:none!important;inset:auto!important;max-width:100%!important;width:100%;margin:0;padding:6px 14px;min-height:44px;text-align:left;font-size:12px;line-height:1.35;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* The largest layout viewport follows rotation without using keyboard height. */
.mw-viewport-ruler{position:fixed;top:0;left:0;width:0;height:100lvh;visibility:hidden;pointer-events:none}

.shape-map-pick{position:absolute;z-index:700;top:calc(env(safe-area-inset-top,0px) + 82px);left:max(12px,calc(env(safe-area-inset-left,0px) + 8px));right:max(76px,calc(env(safe-area-inset-right,0px) + 64px));padding:8px 12px;border-radius:16px;background:var(--paper);color:var(--text);box-shadow:0 4px 16px #173a3126;font-size:13px}.shape-map-pick button{display:block;min-height:44px}
/* Reserve photo space before lazy decode so feed cards and tap targets stay put. */
.world-post .post-photos img{aspect-ratio:4/3;height:auto}
