
:root{color-scheme:light;--green:#173f35;--green2:#244d40;--cream:#f6f0e5;--paper:#fffaf1;--gold:#d3aa60;--terra:#ad593f;--ink:#203c32;--muted:#617066;--line:#d8d4c5;--radius:22px;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:#103128;color:var(--ink);font:1rem/1.5 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}a{color:inherit}button{color:inherit}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid #a36624;outline-offset:4px}h1,h2,h3,p{margin:0 0 .7em}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.15;font-weight:500}h1{font-size:2.15rem}h2{font-size:1.7rem}h3{font-size:1.35rem}p:last-child{margin-bottom:0}small,.meta{font-size:.875rem;color:var(--muted)}.shell{max-width:520px;min-height:100dvh;margin:auto;background:var(--cream);box-shadow:0 0 100px #0003;position:relative}
.header{background:var(--green);color:var(--cream);padding:20px 24px 28px}.brand-row{display:flex;align-items:center;gap:12px;min-height:48px;margin-bottom:20px}.brand{font:1.6rem Georgia;display:flex;align-items:center;gap:10px;text-decoration:none;flex:1}.brand img{width:42px;height:42px;object-fit:cover;border-radius:12px}.header h1{margin-bottom:12px}.header p{color:#e5e3d4}.icon-btn{background:none;border:0;padding:10px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;color:inherit}.icon{width:23px;height:23px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.header .icon-btn:hover{background:#ffffff15}
main{padding:26px 22px 32px;min-height:45vh;flex:1 0 auto}main#app{display:flex;flex-direction:column;min-height:100dvh}
.nav{position:sticky;bottom:0;flex-shrink:0;max-width:520px;width:100%;display:grid;grid-template-columns:repeat(4,1fr);background:var(--green);padding:10px 10px calc(10px + env(safe-area-inset-bottom));z-index:20;border-top:1px solid #e5d7af30}.nav a{color:var(--cream);text-decoration:none;text-align:center;padding:8px 2px 5px;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:.875rem;border-radius:12px}.nav .icon{width:25px;height:25px}.nav a[aria-current=page]{color:var(--gold);background:#ffffff0c}.nav a[aria-current=page]:after{content:"";height:3px;width:22px;background:var(--gold);border-radius:5px}.card{background:var(--paper);border:1px solid #e4dfd2;border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.pad{padding:21px}.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:14px}.muted{color:var(--muted)}.eyebrow{color:#925338;text-transform:uppercase;font-size:.78rem;font-weight:650;letter-spacing:.095em;margin-bottom:10px}.gold{color:var(--gold)}.btn{border:1px solid transparent;background:var(--green);color:#fffaf1;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 20px;border-radius:15px;font-weight:600;line-height:1.35}.btn:hover{filter:brightness(1.08)}.btn.full{width:100%}.btn.terra{background:var(--terra)}.btn.outline{background:transparent;border-color:var(--green);color:var(--green)}.btn.soft{background:#eae5d5;color:var(--ink)}.btn.small{min-height:44px;padding:10px 15px;font-size:.9rem}.text-btn{border:0;background:none;padding:12px 4px;text-decoration:underline;text-underline-offset:4px;color:#934b35}.notice{border-radius:16px;background:#ece8d9;padding:15px 17px;font-size:.9rem;line-height:1.5;margin:0 0 20px;color:#4a574b}.notice.honey{background:#efe0ba;color:#584327}.notice.sage{background:#e3e9d8}.gap{margin-top:22px}.center{text-align:center}.crop{position:relative;overflow:hidden;display:block;background:#e0ddcc}.crop>img{position:absolute;max-width:none;display:block}.hero-photo{border-radius:80px 80px 20px 20px;overflow:hidden;margin:26px 0}.welcome{background:var(--green);color:var(--cream);padding:32px 28px;min-height:100dvh;text-align:center}.welcome .brand{justify-content:center;margin:10px 0 32px}.welcome h1{font-size:2.85rem}.welcome .btn.outline{border-color:#dedac4;color:#f6f0e5}.welcome .muted{color:#d9dfd3}.welcome .notice{background:#ffffff0d;color:#e7e5d7;margin-top:24px}.welcome .hero-photo{max-height:310px}.welcome .hero-photo .crop{max-height:310px}
.field{display:grid;gap:7px;margin-bottom:19px;font-weight:600}.field input,.field select,.field textarea,.search{width:100%;border:1px solid #99a79c;background:#fffcf7;color:var(--ink);border-radius:12px;padding:13px 14px;min-height:50px;outline-offset:2px;font-weight:400}.field textarea{min-height:110px;resize:vertical}.field small{font-weight:400}.password{position:relative}.password input{padding-right:58px}.password button{position:absolute;right:5px;top:3px}.check{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;margin:20px 0}.check input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}.filter-row{display:flex;gap:9px;overflow:auto;padding:2px 0 12px;margin:12px 0 18px;scrollbar-width:thin}.chip{white-space:nowrap;border:1px solid #aeb9a9;background:transparent;color:var(--ink);border-radius:24px;padding:10px 15px;font-size:.9rem;min-height:44px}.chip[aria-pressed=true]{background:var(--green);color:var(--cream);border-color:var(--green)}.header .chip{color:var(--cream);border-color:#aabbab}.header .chip[aria-pressed=true]{background:var(--terra);border-color:var(--terra)}
.interests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.interest{border:1px solid #acb7a5;border-radius:16px;min-height:110px;background:#fbf7ee;padding:12px 4px;color:var(--green);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:.87rem;overflow-wrap:anywhere}.interest .icon{height:29px;width:29px;color:#a76043}.interest[aria-pressed=true]{background:var(--green);color:var(--cream)}.interest[aria-pressed=true] .icon{color:var(--gold)}.interest[aria-pressed=true]:after{content:"✓";position:absolute;right:6px;top:5px;color:var(--gold);font-size:.875rem}.search{border-radius:25px}.article-title{text-decoration:none}.article-title:hover{text-decoration:underline}.card .crop{border-radius:0}.card a.photo-link{display:block}.actions{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:4px;padding:7px 10px}.action{border:0;background:none;min-height:46px;padding:9px 8px;color:var(--green);display:inline-flex;gap:7px;align-items:center;font-size:.875rem;border-radius:12px}.action[aria-pressed=true]{color:#934b35;background:#efe3cc}.action .icon{width:20px}.avatar{height:45px;width:45px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#e8d3ab;display:flex;align-items:center;justify-content:center;color:var(--green);font-family:Georgia;font-size:1.2rem}.avatar .crop{width:100%;height:100%;aspect-ratio:1}.avatar.big{height:96px;width:96px;font-size:2.5rem}.post-head{padding:18px}.post-caption{padding:18px}.post-reactions-summary{display:flex;flex-wrap:wrap;gap:8px;padding:0 15px 12px}.reaction-summary-item{display:inline-flex;align-items:center;gap:5px;background:#f2edf9;color:#54358c;border-radius:20px;padding:6px 11px;font-size:.8rem;line-height:1.3}.reaction-summary-item .icon{width:15px;flex-shrink:0}.reactions{display:flex;flex-wrap:wrap;gap:7px;padding:0 15px 18px}.reaction{display:flex;gap:6px;align-items:center;border:1px solid transparent;background:#f0e6d7;color:#924e35;border-radius:20px;padding:10px 13px;min-height:44px;font-size:.875rem}.reaction[aria-pressed=true]{border-color:#9d5a3c;background:#ebd3bc}.reaction .icon{width:18px}.tabs{display:flex;gap:8px;margin-bottom:22px}.tabs .chip{flex:1}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid .card{margin:0}.grid h3{font:600 1rem/1.3 'Segoe UI',Arial}.grid .pad{padding:13px}.list{border:1px solid #e1dccf;border-radius:20px;overflow:hidden;background:#fffaf3;margin:20px 0}.list>a,.list>button,.setting{display:flex;align-items:center;gap:13px;width:100%;text-align:left;min-height:64px;padding:17px 18px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #e1dccf;text-decoration:none;font-size:1rem}.list>:last-child{border-bottom:0}.list .chevron{margin-left:auto}.list .icon:not(.chevron){color:#a65b3e}.community-avatars{display:flex;gap:16px;justify-content:space-between;margin:20px 0}.community-avatars>a{text-align:center;text-decoration:none;font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:8px}.community-avatars .avatar{width:57px;height:57px}.profile-head{display:flex;align-items:center;gap:20px;margin-bottom:22px}.profile-head h2{overflow-wrap:anywhere}.section-title{margin:26px 0 13px}.complete-card{display:flex;gap:15px;align-items:flex-start}.complete-card .thumb{width:94px;flex-shrink:0;border-radius:12px;overflow:hidden}.complete-card h3{font-size:1.2rem}.challenge-art{display:flex;justify-content:center;padding:30px;border-radius:18px;background:#ead6b5;margin-bottom:24px}.challenge-art img{width:115px;height:115px;border-radius:28px}.progress-label{color:#4b6851;font-size:.9rem}.setting .toggle{margin-left:auto}.toggle{appearance:none;width:49px;height:29px;border-radius:20px;background:#b8bdb5;position:relative;cursor:pointer;flex-shrink:0}.toggle:before{content:"";position:absolute;width:23px;height:23px;border-radius:50%;background:white;left:3px;top:3px;transition:transform .18s}.toggle:checked{background:var(--green)}.toggle:checked:before{transform:translateX(20px)}.small-links{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin:20px 0}.small-links a{font-size:.9rem}.empty{padding:32px 24px;text-align:center;background:#ede9dc;border-radius:20px}.empty .icon{width:38px;height:38px;margin:0 0 15px}.legal h2{font:600 1.2rem 'Segoe UI',Arial;margin-top:28px}.legal p{margin-bottom:16px}.legal{line-height:1.65}.demo-tag{padding:8px 12px;text-align:center;background:#e5deca;color:#4d5b50;font-size:.78rem}.readable{font-size:1.15rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:20px;top:-100px;background:white;color:var(--green);z-index:100;padding:15px}.skip:focus{top:15px}#toast{position:fixed;bottom:110px;left:50%;transform:translate(-50%,20px);width:max-content;max-width:90vw;z-index:70;background:#102d25;color:#fff9ec;border:1px solid #e4c47a50;border-radius:14px;padding:14px 20px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:24px;background:var(--cream);color:var(--ink);max-width:440px;width:calc(100% - 34px);padding:26px;box-shadow:0 20px 80px #0005}dialog::backdrop{background:#08241999}dialog h2{font-size:1.7rem}dialog form{margin-top:18px}.dialog-close{float:right;margin:-10px -8px 0 10px}.large-text{font-size:19px}.preview-upload{width:100%;max-height:260px;object-fit:contain;border-radius:15px;margin:15px 0}.history-row{display:flex;align-items:center;gap:16px}.history-row .crop{width:90px;border-radius:12px;flex-shrink:0}.meta-line{display:flex;gap:10px;align-items:center}.chart-link{font-size:.9rem}.switch-link{margin:20px 0}.install-info{padding:20px;border:1px solid var(--line);border-radius:18px;margin-top:22px}.install-info summary{cursor:pointer;font-weight:600}.install-info p{margin-top:12px;font-size:.9rem}
@media(min-width:800px){body{padding:24px 0}.shell{border-radius:24px 24px 0 0;overflow:hidden}.nav{bottom:0}.welcome{min-height:calc(100dvh - 24px)}}
@media(max-width:360px){main{padding-inline:15px}.header{padding-inline:18px}.interest{font-size:.8rem}.community-avatars{gap:6px}h1{font-size:1.9rem}.action{gap:4px;padding:8px 5px}.profile-head{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
[hidden]{display:none!important}
.header .brand{min-width:0;line-height:1.15}
.story-section{border-block:1px solid var(--line);padding:20px 0;margin-bottom:24px}.story-section h2{margin:0}.story-strip{display:flex;gap:20px;overflow-x:auto;padding:14px 4px;align-items:flex-start}.story-circle{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 76px;max-width:100px;text-decoration:none;text-align:center;font-size:.875rem;overflow-wrap:anywhere}.story-ring{padding:4px;border:2px solid var(--terra);border-radius:50%;display:block}.story-ring .avatar{width:60px;height:60px}.story-add{width:72px;height:72px;border:2px dashed var(--green);border-radius:50%;display:grid;place-items:center;background:#ede2cb}.story-add .icon{width:28px;height:28px}.story-preview{border-radius:22px;overflow:hidden;background:#e3d8bf;max-height:280px}.story-preview .crop{max-height:280px}.story-upload{display:block;width:100%;max-height:460px;object-fit:contain;background:#173f35}.story-preview .story-upload{max-height:280px}.story-choices{border:0;padding:0;margin:20px 0;display:flex;gap:8px;flex-wrap:wrap}.story-choices legend{margin-bottom:10px}.story-view{border-radius:24px;overflow:hidden;background:var(--green);color:var(--cream);margin-bottom:24px}.story-byline{padding:18px}.story-byline .meta{color:#e4dcca}.story-caption{padding:24px;font:1.3rem/1.5 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}.story-reactions{padding:0}.story-art .crop{max-height:430px}.story-choices .chip{white-space:normal}.story-section .text-btn{font-size:.875rem}#story-form input[type=file]{min-width:0;font-size:.875rem}.story-section .row{align-items:baseline}.story-preview.empty{display:flex;align-items:center;justify-content:center;min-height:180px}.story-preview.empty .icon{width:40px;height:40px;color:#6b7d6f}
.story-hashtags{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 10px;margin-top:-14px}
.story-hashtag{font-size:.85rem;font-weight:700;color:#ffe9b8}
.story-location{display:flex;align-items:center;gap:6px;padding:0 24px 20px;margin:0;font-size:.9rem;color:#e4dcca}
.story-location .icon{width:16px;height:16px;flex-shrink:0}
.story-location-chip{display:inline-flex;align-items:center;gap:8px;background:#eef2ea;border:1px solid var(--line);border-radius:14px;padding:8px 12px;font-size:.9rem}
.story-location-chip .icon{width:16px;height:16px;color:var(--green)}
.story-location-chip .icon-btn{min-width:26px;min-height:26px;padding:3px;margin-left:4px}
.story-view .post-reactions-summary{padding:0 24px 20px}
.bubble-story-strip{margin-bottom:18px;padding-top:4px}
.avatar-ring-wrap{display:inline-flex;border-radius:50%;flex-shrink:0}
.avatar-ring-wrap.has-story{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--violet)}
.post-author-link{text-decoration:none;color:inherit;display:inline-flex}
body[data-page="story"]{overflow:hidden}
.story-fs{position:fixed;inset:0;z-index:80;background:#000;overflow:hidden}
.story-fs-media{position:absolute;inset:0}
.story-fs-media .story-upload{width:100%;height:100%;max-height:none;object-fit:contain;display:block;background:#000}
.story-fs-scrim-top{position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(to bottom,#000000b3,transparent);pointer-events:none;z-index:1}
.story-fs-scrim-bottom{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,#000000c7,transparent 75%);pointer-events:none;z-index:1}
.story-fs-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 14px) 14px 10px;flex-wrap:wrap}
.story-fs-close{color:#fff;flex-shrink:0;min-width:40px;min-height:40px}
.story-fs-close .icon{width:24px;height:24px}
.story-fs-who{display:flex;align-items:center;gap:9px;flex:1;min-width:0;color:#fff}
.story-fs-who .avatar{width:38px;height:38px;flex-shrink:0}
.story-fs-who strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story-fs-action{flex-shrink:0;border:1px solid #ffffff55;background:#00000040;color:#fff;border-radius:16px;padding:8px 13px;font-size:.8rem;min-height:38px}
.story-fs-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#00000050;display:flex;align-items:center;justify-content:center;color:#fff;z-index:2}
.story-fs-nav.prev{left:10px}
.story-fs-nav.next{right:10px}
.story-fs-nav .icon{width:22px;height:22px}
.story-fs-bottom{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 16px calc(env(safe-area-inset-bottom) + 20px);display:grid;gap:12px}
.story-fs-tags{display:flex;flex-wrap:wrap;gap:6px}
.story-fs-tags .story-hashtags{padding:0;margin:0;display:contents}
.story-fs-tags .story-hashtag{background:#00000055;color:#fff;border-radius:12px;padding:5px 11px;font-size:.78rem}
.story-fs-tags .story-location{padding:5px 11px;margin:0;color:#fff;background:#00000055;border-radius:12px;font-size:.78rem;gap:5px}
.story-fs-tags .story-location .icon{width:14px;height:14px}
.story-fs-bubble{display:inline-block;width:fit-content;max-width:88%;background:#fffdf7;color:var(--ink);border-radius:20px 20px 20px 4px;padding:12px 16px;font-size:.98rem;line-height:1.45;box-shadow:0 6px 18px #00000040}
.story-fs .post-reactions-summary{padding:0;margin:0}
.story-fs .reaction-summary-item{background:#ffffffe8}
.story-fs-hint{color:#ffffffcc;margin:0}
.story-fs-reactions{flex-wrap:nowrap;overflow-x:auto;padding:0;margin:0;gap:8px}
.story-fs-reactions .reaction{background:#ffffffe8;flex-shrink:0}
.story-fs-music{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#00000040;border:1px solid #ffffff40;color:#fff;display:flex;align-items:center;justify-content:center;padding:0}
.story-fs-music .icon{width:17px;height:17px}
.story-music-chip{display:inline-flex;align-items:center;gap:8px;background:#eef2ea;border:1px solid var(--line);border-radius:14px;padding:8px 12px;font-size:.9rem;max-width:100%}
.story-music-chip .icon{width:16px;height:16px;color:var(--green);flex-shrink:0}
.story-music-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story-music-chip .icon-btn{min-width:26px;min-height:26px;padding:3px;margin-left:4px;flex-shrink:0}
.story-music-picker{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fffdf9}
.story-music-picker .tabs.small{gap:6px;margin-bottom:10px}
.story-music-picker .tabs.small .chip{padding:7px 12px;font-size:.85rem}
.story-music-list{display:grid;gap:10px;max-height:320px;overflow-y:auto}
.story-music-row{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:10px}
.story-music-info{display:flex;flex-direction:column;gap:2px}
.story-music-row audio{width:100%;height:34px}
.story-music-row .btn{justify-self:start}
.story-music-player{display:flex;align-items:center;gap:10px;padding:0 15px;margin-top:-6px}
.story-music-player .icon{width:18px;height:18px;color:var(--green);flex-shrink:0}
.story-music-player audio{flex:1;min-width:0;height:36px}
.story-music-credit{padding:4px 15px 16px;margin:0;color:var(--muted)}
.chat-access{margin-bottom:20px}.chat-list{border:1px solid var(--line);background:var(--paper);border-radius:22px;overflow:hidden}.chat-preview{display:flex;align-items:center;gap:13px;padding:20px 16px;text-decoration:none;border-bottom:1px solid var(--line)}.chat-preview:last-child{border-bottom:0}.chat-preview-copy{min-width:0;flex:1;display:grid;gap:5px}.chat-preview-copy strong{font-size:1.1rem;overflow-wrap:anywhere}.chat-preview-copy>span{font-size:.9rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-person{margin-bottom:18px;align-items:center}.chat-person>div{flex:1;min-width:0;overflow-wrap:anywhere}.chat-person .meta{margin:5px 0 0}.chat-demo{font-size:.875rem}.chat-messages{display:flex;flex-direction:column;gap:16px;padding:12px 0 24px;min-height:180px}.chat-textarea-wrap{position:relative}.chat-textarea-wrap textarea{padding-right:90px}.chat-emoji-btn{position:absolute;right:42px;bottom:4px;min-width:38px;min-height:38px;padding:6px;font-size:1.2rem}.chat-mic-btn{position:absolute;right:4px;bottom:4px;min-width:38px;min-height:38px;padding:7px;color:var(--green)}.emoji-picker{display:flex;flex-wrap:wrap;gap:4px;background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:8px;max-height:140px;overflow-y:auto}.emoji-btn{border:0;background:none;font-size:1.35rem;line-height:1;min-width:40px;min-height:40px;border-radius:10px;cursor:pointer}.emoji-btn:hover,.emoji-btn:focus-visible{background:#f0ece0}.chat-message{align-self:flex-start;background:#e9dfcb;padding:16px 18px;border-radius:20px 20px 20px 5px;max-width:88%;color:var(--ink)}.chat-message.mine{align-self:flex-end;background:var(--green);color:var(--paper);border-radius:20px 20px 5px 20px}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:9px}.chat-bubble-row{display:flex;align-items:flex-start;gap:6px}
.chat-bubble-row p{flex:1;min-width:0}
.msg-react-btn{min-width:28px;min-height:28px;width:28px;height:28px;padding:4px;flex-shrink:0;opacity:.75;color:inherit}
.msg-react-btn .icon{width:14px}
.msg-reactions-summary{display:flex;flex-wrap:wrap;gap:4px;margin:-3px 0 9px}
.msg-reaction-chip{background:rgba(255,255,255,.6);border-radius:12px;padding:2px 7px;font-size:.8rem;line-height:1.3}
.chat-message.mine .msg-reaction-chip{background:rgba(255,255,255,.25)}
.msg-react-panel{display:flex;gap:2px;margin:-3px 0 9px;background:#fffdf9;border:1px solid var(--line);border-radius:12px;padding:4px;width:max-content}
.msg-react-panel .emoji-btn{font-size:1.1rem;min-width:32px;min-height:32px;padding:2px}
.voice-recorder{display:flex;align-items:center;gap:10px;background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.voice-recorder .muted{font-size:.875rem}
.voice-recorder #voice-timer{font-variant-numeric:tabular-nums;font-weight:700;color:var(--terra)}
.voice-dot{width:11px;height:11px;border-radius:50%;background:#e2583f;flex-shrink:0;animation:voice-pulse 1.1s ease-in-out infinite}
@keyframes voice-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.voice-recorder .btn{margin-left:auto}
.voice-recorder.voice-preview audio{flex:1;min-width:0;height:36px}
.chat-audio{display:block;width:100%;min-width:220px;max-width:100%;height:40px;margin-bottom:9px}
@media(prefers-reduced-motion:reduce){.voice-dot{animation:none}}
.chat-message-meta{font-size:.875rem;color:#546254}.chat-message.mine .chat-message-meta{color:#e2dccb}.chat-composer{display:grid;gap:12px;background:var(--paper);padding:18px;border:1px solid var(--line);border-radius:20px}.chat-composer label{font-weight:600}.chat-composer textarea{display:block;width:100%;min-width:0;resize:vertical;min-height:95px;padding:12px;border:1px solid #99a79c;border-radius:12px;background:#fffdf9;color:var(--ink)}
/* Direction validée : surfaces claires, couleur en touches, doré réservé au logo. */
@font-face{font-family:Nunito;src:url('assets/Nunito.ttf') format('truetype');font-weight:200 1000;font-style:normal;font-display:swap}
:root{--green:#123e34;--green2:#244d40;--cream:#fbfaf6;--paper:#fff;--gold:#ffd34d;--terra:#b74b1c;--violet:#8653db;--orange:#ff8b42;--ink:#183c33;--muted:#566a62;--line:#e1e6df;--radius:24px}
body{font-family:Nunito,'Segoe UI',sans-serif;background:#e9eeea}h1,h2,h3,.brand,.avatar{font-family:Nunito,'Segoe UI',sans-serif;font-weight:800;letter-spacing:-.025em}h1{font-size:1.55rem;line-height:1.25}h2{font-size:1.45rem;line-height:1.3}h3{font-size:1.15rem;line-height:1.35}p{line-height:1.6}
.header{background:var(--cream);color:var(--ink);padding:20px 22px;border-bottom:1px solid var(--line)}.brand-row{margin:0;gap:12px;min-height:46px}.header h1{margin:0;flex:1;min-width:0;overflow-wrap:anywhere}.header .icon-btn{flex-shrink:0}.brand-mark{flex-shrink:0;display:block}.brand-mark img{display:block;width:43px;height:43px;border-radius:13px}.header .icon-btn:hover{background:#eee7f7}.header p{color:var(--muted)}main{padding-top:24px}.brand{font-size:1.5rem}.brand img{width:48px;height:48px;border-radius:14px}
.btn{border-radius:25px;background:var(--violet);font-weight:750}.btn.terra{background:#ffe3cd;color:#73371a;border-color:#f5c29b}.btn.soft{background:#f0edf7;color:#48346b}.btn.outline{background:transparent;color:var(--green);border-color:#9aada2}.text-btn,.article-title:hover{color:var(--violet)}.nav{background:var(--green);border-radius:24px 24px 0 0}.nav a{font-weight:700}.nav a[aria-current=page]{color:#ffd34d}.card{border-color:var(--line);box-shadow:none}.notice{background:#f0f2ed;color:#43574d}.notice.honey{background:#fff3c9;color:#55451e}.notice.sage{background:#edf1e8;color:#40533a}.eyebrow{color:#815023;font-size:.875rem;letter-spacing:.025em;text-transform:none}.empty{background:#f0f2ed}.demo-tag{background:#f0f2ed}.list{background:var(--paper);border-color:var(--line)}.list>a,.list>button,.setting{border-color:var(--line)}.list .icon:not(.chevron){color:var(--violet)}.list>:nth-child(3n+2) .icon:not(.chevron){color:#ad511e}.list>:nth-child(3n) .icon:not(.chevron){color:var(--green)}.field input,.field select,.field textarea,.search{background:#fff;border-color:#a7b5ac;border-radius:17px}.search{border-radius:26px}.interest{background:#fff;border-color:var(--line);border-radius:22px}.interest .icon{color:var(--violet)}.interest[aria-pressed=true]{background:#eee6ff;border-color:var(--violet);color:#402678}.interest[aria-pressed=true] .icon,.interest[aria-pressed=true]:after{color:var(--violet)}.chip[aria-pressed=true]{background:#eee6ff;color:#462579;border-color:#9d7bd7}.reaction{background:#f2edf9;color:#54358c}.reaction:nth-child(3n+2){background:#fff2ca;color:#715318}.reaction:nth-child(3n){background:#fff0e6;color:#8b411f}.reaction[aria-pressed=true]{background:#e4d5ff;border-color:#8653db;color:#432577}.action[aria-pressed=true]{background:#eee6ff;color:#54358c}.avatar{background:#f0e8ff}.profile-head{background:#f0ebf8;padding:18px;border-radius:28px}.profile-head>div{min-width:0}.profile-head .avatar.big{height:80px;width:80px}.profile-head h2{font-size:1.4rem}[data-surface=community]{background:#fff7db;border:0}.story-section{border-color:var(--line)}.story-ring{border-color:var(--violet)}.story-circle:nth-child(2n) .story-ring{border-color:var(--orange)}.story-add{background:#ffedaa;border:1px solid #f2d77c}.story-caption{font:700 1.2rem/1.55 Nunito,sans-serif}.story-view{background:var(--green)}.challenge-art{padding:20px;background:#fff3c9;border-radius:28px;max-width:100px;margin:0 0 22px}.challenge-art .icon{width:46px;height:46px;color:var(--green)}.complete-card h3{font-size:1.1rem}.grid h3,.legal h2{font-family:Nunito,sans-serif;font-weight:800}.legal h2{line-height:1.4}.chat-message{background:#f0edf7}.chat-message.mine{background:var(--green)}.chat-composer{background:#fff}.chat-composer textarea{background:#fff}.story-upload{background:var(--green)}
.welcome{background:var(--cream);color:var(--ink);text-align:left}.welcome .brand{justify-content:flex-start;margin-bottom:30px}.welcome h1{font-size:2.1rem;line-height:1.2}.welcome .hero-photo{border-radius:32px;margin:24px 0;max-height:270px}.welcome .hero-photo .crop{max-height:270px}.welcome .muted{color:var(--muted)}.welcome .notice{background:#f0f2ed;color:#43574d}.welcome .btn.outline{color:var(--green);border-color:#9aada2}.welcome .btn.terra{background:var(--violet);color:white;border-color:transparent}.welcome .install-info{background:transparent}.editorial-feed>.card{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:28px}.editorial-feed .pad{padding:18px 0 12px}.editorial-feed .crop{border-radius:20px}.editorial-feed .actions{border:0;padding:0;justify-content:flex-start;gap:14px}.editorial-feed h2{font-size:1.4rem}.skip{top:0;transform:translateY(-200%)}.skip:focus{top:15px;transform:none}dialog{background:var(--cream)}:focus-visible{outline-color:#8653db}.community-avatars{flex-wrap:wrap;justify-content:flex-start}.community-avatars>a{flex:1;min-width:55px}.tabs{flex-wrap:wrap}.chip{white-space:normal}.chat-person{flex-wrap:wrap}
@media(max-width:360px){.header{padding:17px 15px}.brand-row{gap:8px}.header h1{font-size:1.35rem}.profile-head{padding:14px;gap:12px}.profile-head .avatar.big{width:65px;height:65px}.welcome{padding:25px 20px}.nav{padding-inline:5px}.nav a{font-size:.875rem}.complete-card{flex-wrap:wrap}}
.article-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e0ddcc}.card .article-photo{border-radius:0}.editorial-feed .article-photo{border-radius:20px}.article-photo-full{display:block;width:100%;height:auto;border-radius:20px;background:#e0ddcc}.article-credit{font-size:.8rem;line-height:1.5;color:var(--muted);margin:10px 0 22px}.article-credit a{color:inherit}.sources-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:14px}.sources-list li{font-size:.9rem;line-height:1.5}.sources-list a{color:inherit;font-weight:600}.article-context{margin:-8px 0 20px;font-style:italic}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-upload{position:relative;display:inline-flex}.avatar-edit-btn{border:0;background:none;padding:0;position:relative;cursor:pointer;border-radius:50%}.avatar-edit-badge{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff9ec;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream)}.avatar-edit-badge .icon{width:16px;height:16px}
.shared-article{margin:0 18px 14px;border:1px solid #e4dfd2;border-radius:14px;overflow:hidden;background:#faf8f2}.shared-article .article-photo{display:block;width:100%}.shared-article .pad{padding:14px}.shared-article .eyebrow{display:flex;align-items:center;gap:6px}.shared-article .eyebrow .icon{width:16px;height:16px}.shared-article h3{margin:6px 0 6px;font-size:1rem}.shared-article .article-credit{font-size:.78rem;color:var(--muted);margin:0}.shared-article-missing{margin:0 18px 14px;padding:14px;border-radius:14px;background:#ede9dc;color:var(--muted);font-size:.9rem}.shared-article-missing .icon{width:16px;height:16px;vertical-align:middle}
.nav a{position:relative}.nav-badge{position:absolute;top:2px;right:calc(50% - 20px);width:10px;height:10px;border-radius:50%;background:#e2583f;border:2px solid var(--green)}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#e2583f;color:#fff;font-size:.78rem;font-weight:700;margin-left:8px}.chat-preview.unread strong{font-weight:800}.chat-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#e2583f;margin-left:7px;vertical-align:middle}
.crop-wrap{display:flex;flex-direction:column;align-items:center}.crop-viewport{position:relative;width:260px;height:260px;border-radius:50%;overflow:hidden;background:#1c2b22;touch-action:none;margin:0 auto}.crop-viewport #crop-img{position:absolute;left:50%;top:50%;max-width:none;user-select:none;-webkit-user-drag:none;cursor:grab}#crop-zoom{width:100%;margin:14px 0 18px}

/* ===== Mode foncé (choix dans Mes réglages > Apparence) ===== */
html[data-theme=dark]{color-scheme:dark;--cream:#121a17;--paper:#1b2823;--ink:#ece7da;--muted:#a9b6ae;--line:#2c3c35;--green:#123e34}
html[data-theme=dark] body{background:#0a0f0d}
html[data-theme=dark] .card{border:1px solid #39362d}
html[data-theme=dark] .eyebrow{color:#e3c4b6}
html[data-theme=dark] .btn.soft{background:#3c382c}
html[data-theme=dark] .text-btn{color:#e4c1b7}
html[data-theme=dark] .notice{background:#393529;color:#d5dbd5}
html[data-theme=dark] .notice.honey{background:#494335;color:#ede3d6}
html[data-theme=dark] .notice.sage{background:#353b2b}
html[data-theme=dark] .crop{background:#474434}
html[data-theme=dark] .welcome .btn.outline{border-color:#39372d}
html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .search{border:1px solid #4c584e;background:#1c1914}
html[data-theme=dark] .chip{border:1px solid #4e5a49}
html[data-theme=dark] .header .chip{border-color:#495b4a}
html[data-theme=dark] .interest{border:1px solid #505b49;background:#24211a}
html[data-theme=dark] .interest .icon{color:#ddb9aa}
html[data-theme=dark] .action[aria-pressed=true]{color:#e4c1b7;background:#3f392d}
html[data-theme=dark] .avatar{background:#4d4638}
html[data-theme=dark] .reaction-summary-item{background:#201b26;color:#c9b9e5}
html[data-theme=dark] .reaction{background:#383128;color:#e4c3b7}
html[data-theme=dark] .reaction[aria-pressed=true]{background:#4a4036}
html[data-theme=dark] .list{border:1px solid #39362d;background:#1f1b16}
html[data-theme=dark] .list>a,html[data-theme=dark] .list>button,html[data-theme=dark] .setting{border-bottom:1px solid #39362d}
html[data-theme=dark] .list .icon:not(.chevron){color:#dfbaab}
html[data-theme=dark] .challenge-art{background:#4d4538}
html[data-theme=dark] .progress-label{color:#ccdacf}
html[data-theme=dark] .toggle{background:#41463f}
html[data-theme=dark] .empty{background:#363327}
html[data-theme=dark] .demo-tag{background:#454132;color:#d2d9d4}
html[data-theme=dark] .story-add{background:#403b2f}
html[data-theme=dark] .story-preview{background:#4d4638}
html[data-theme=dark] .story-preview.empty .icon{color:#c0c9c2}
html[data-theme=dark] .story-location-chip{background:#252b1f}
html[data-theme=dark] .story-fs-bubble{background:#1c1a14}
html[data-theme=dark] .story-fs .reaction-summary-item{background:#141414e8}
html[data-theme=dark] .story-fs-reactions .reaction{background:#141414e8}
html[data-theme=dark] .story-music-chip{background:#252b1f}
html[data-theme=dark] .story-music-picker{background:#1b1914}
html[data-theme=dark] .emoji-picker{background:#1b1914}
html[data-theme=dark] .emoji-btn:hover,html[data-theme=dark] .emoji-btn:focus-visible{background:#322f24}
html[data-theme=dark] .chat-message{background:#433c30}
html[data-theme=dark] .msg-react-panel{background:#1b1914}
html[data-theme=dark] .voice-recorder{background:#1b1914}
html[data-theme=dark] .chat-message-meta{color:#cfd6cf}
html[data-theme=dark] .chat-composer textarea{border:1px solid #4c584e;background:#1b1914}
html[data-theme=dark] body{background:#232d25}
html[data-theme=dark] .header .icon-btn:hover{background:#241f2a}
html[data-theme=dark] .btn.terra{background:#352d26;color:#ecd8ce;border-color:#5b5048}
html[data-theme=dark] .btn.soft{background:#1f1c27;color:#d5cbe6}
html[data-theme=dark] .btn.outline{border-color:#495a50}
html[data-theme=dark] .notice{background:#252a1e;color:#d5dfda}
html[data-theme=dark] .notice.honey{background:#373428;color:#f0e9d9}
html[data-theme=dark] .notice.sage{background:#282d21;color:#dae3d7}
html[data-theme=dark] .eyebrow{color:#e9d6c5}
html[data-theme=dark] .empty{background:#252a1e}
html[data-theme=dark] .demo-tag{background:#252a1e}
html[data-theme=dark] .list>:nth-child(3n+2) .icon:not(.chevron){color:#e3c6b5}
html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .search{background:#141414;border-color:#4b5950}
html[data-theme=dark] .interest{background:#141414}
html[data-theme=dark] .interest[aria-pressed=true]{background:#1f1c26;color:#d2c7ea}
html[data-theme=dark] .chip[aria-pressed=true]{background:#1f1c26;color:#d5c7ea;border-color:#4f485b}
html[data-theme=dark] .reaction{background:#201b26;color:#c9b9e5}
html[data-theme=dark] .reaction:nth-child(3n+2){background:#363327;color:#ede3d0}
html[data-theme=dark] .reaction:nth-child(3n){background:#26201c;color:#e8cec3}
html[data-theme=dark] .reaction[aria-pressed=true]{background:#282330;border-color:#4f485b;color:#d5c8ea}
html[data-theme=dark] .action[aria-pressed=true]{background:#1f1c26;color:#c9b9e5}
html[data-theme=dark] .avatar{background:#1e1b25}
html[data-theme=dark] .profile-head{background:#211c27}
html[data-theme=dark] [data-surface=community]{background:#2d2a20}
html[data-theme=dark] .story-add{background:#494535;border:1px solid #5b5748}
html[data-theme=dark] .challenge-art{background:#373428}
html[data-theme=dark] .chat-message{background:#1f1c27}
html[data-theme=dark] .chat-composer{background:#141414}
html[data-theme=dark] .chat-composer textarea{background:#141414}
html[data-theme=dark] .welcome .notice{background:#252a1e;color:#d5dfda}
html[data-theme=dark] .welcome .btn.outline{border-color:#495a50}
html[data-theme=dark] .article-photo{background:#474434}
html[data-theme=dark] .article-photo-full{background:#474434}
html[data-theme=dark] .shared-article{border:1px solid #39362d;background:#222019}
html[data-theme=dark] .shared-article-missing{background:#363327}
/* corrections manuelles du mode foncé */
html[data-theme=dark] .nav a,html[data-theme=dark] .chat-message.mine{color:#f6f0e5}
html[data-theme=dark] .nav a[aria-current=page]{color:#ffd34d}
html[data-theme=dark] .chat-message.mine{background:#1d5a49}
html[data-theme=dark] .btn.outline,html[data-theme=dark] .welcome .btn.outline,html[data-theme=dark] .interest,html[data-theme=dark] .action,html[data-theme=dark] .avatar,html[data-theme=dark] .story-location-chip .icon,html[data-theme=dark] .story-music-chip .icon,html[data-theme=dark] .story-music-player .icon,html[data-theme=dark] .chat-mic-btn,html[data-theme=dark] .list>:nth-child(3n) .icon:not(.chevron),html[data-theme=dark] .challenge-art .icon{color:#b5dcc9}
html[data-theme=dark] .text-btn,html[data-theme=dark] .article-title:hover{color:#c3a9f5}
html[data-theme=dark] .btn{color:#fffaf1}
html[data-theme=dark] .btn.soft{background:#2a2540;color:#e0d6f5}
html[data-theme=dark] .btn.outline{background:transparent}
html[data-theme=dark] .chip[aria-pressed=true],html[data-theme=dark] .interest[aria-pressed=true]{background:#4a3a82;border-color:#7b66c4;color:#fff}
html[data-theme=dark] .header .chip[aria-pressed=true]{background:var(--terra);border-color:var(--terra);color:#fff}
html[data-theme=dark] .chip{color:var(--ink)}
html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .search,html[data-theme=dark] .chat-composer textarea{background:#0f1613;color:var(--ink);border-color:#4a5b52}
html[data-theme=dark] ::placeholder{color:#8d9b93;opacity:1}
html[data-theme=dark] .article-photo,html[data-theme=dark] .article-photo-full,html[data-theme=dark] .crop>img,html[data-theme=dark] .avatar img{filter:brightness(.9)}
html[data-theme=dark] .toggle:before{background:#f2efe6}
html[data-theme=dark] .toggle:checked{background:#2f8a6c}
html[data-theme=dark] .notice,html[data-theme=dark] .notice.honey,html[data-theme=dark] .notice.sage{color:var(--ink)}
html[data-theme=dark] .notice.honey{background:#3a3524}
html[data-theme=dark] .theme-setting{margin:0 0 20px}
.theme-setting{margin:0 0 20px}.theme-setting p{margin-bottom:12px}.theme-setting .tabs{margin-bottom:0}
html[data-theme=dark] dialog{border:1px solid #34463e}

/* ===== Publications avec plusieurs photos (jusqu'à 10) ===== */
.photo-count-line{margin:0 0 10px;font-size:.9rem}
.photo-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}
.photo-thumb{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#e0ddcc}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.photo-thumb-remove{position:absolute;top:5px;right:5px;width:32px;height:32px;min-width:32px;border-radius:50%;border:0;background:#000000a6;color:#fff;display:flex;align-items:center;justify-content:center;padding:0}
.photo-thumb-remove .icon{width:18px;height:18px}
.photo-carousel{position:relative}
.photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.photo-track::-webkit-scrollbar{display:none}
.photo-slide{flex:0 0 100%;scroll-snap-align:center;min-width:0}
.photo-slide a{display:block}
.photo-counter{position:absolute;top:10px;right:10px;background:#000000a6;color:#fff;border-radius:14px;padding:3px 10px;font-size:.8rem;font-weight:700;pointer-events:none}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:#000000a6;color:#fff;display:flex;align-items:center;justify-content:center;padding:0}
.photo-arrow[hidden]{display:none}
.photo-arrow.prev{left:8px}.photo-arrow.prev .icon{transform:scaleX(-1)}.photo-arrow.next{right:8px}
.photo-dots{display:flex;justify-content:center;gap:6px;padding:9px 0 2px}
.photo-dot{width:7px;height:7px;border-radius:50%;background:#99a79c}
.photo-dot.on{background:var(--violet)}
.photo-link-multi{position:relative;display:block}
.photo-multi-badge{position:absolute;top:8px;right:8px;background:#000000a6;color:#fff;border-radius:12px;padding:2px 9px;font-size:.75rem;font-weight:700}
html[data-theme=dark] .photo-thumb{background:#2a342f}
html[data-theme=dark] .photo-dot{background:#4a5b52}
html[data-theme=dark] .photo-dot.on{background:#b79af0}

/* ===== Fiche pratique des recettes ===== */
.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin:0 0 22px}
.recipe-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:12px 10px;margin-bottom:12px}
.recipe-facts div{display:grid;gap:2px}
.recipe-facts strong{font-size:1.02rem}
.recipe-card p{margin:0 0 8px;font-size:.9rem}
.recipe-card p:last-child{margin-bottom:0}
.recipe-warning{background:#efe0ba;color:#584327;border-radius:12px;padding:10px 12px}
html[data-theme=dark] .recipe-warning{background:#3a3524;color:var(--ink)}

/* ===== Barre du bas : fixe et stable sur iPhone ===== */
/* Le défilement collant (sticky) se décalait sur iOS quand la barre d'adresse de Safari se replie.
   La barre est maintenant fixée au bas de l'écran, et le contenu garde de la place en dessous. */
.nav{position:fixed;left:0;right:0;bottom:0;margin:0 auto;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
main.with-nav{padding-bottom:calc(96px + env(safe-area-inset-bottom))}

.mod-card h3{margin:6px 0}.mod-msg{white-space:pre-wrap;overflow-wrap:anywhere}.mod-target{border:1px solid var(--line);border-radius:14px;padding:10px;margin:10px 0}.mod-target img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:10px;margin:8px 0}.mod-target .btn{margin-top:6px}

.article-video{margin:18px 0 22px}.article-video h3{margin:0 0 10px}.article-video video{display:block;width:100%;max-height:420px;border-radius:18px;background:#0a0f0d}.article-video .video-explain{margin:12px 0 4px}

.member-result,.request-row{display:flex;align-items:center;gap:12px;padding:10px 4px}.member-result-name{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:600}.request-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.request-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.request-row{padding:12px 14px;border-bottom:1px solid var(--line)}.request-row:last-child{border-bottom:0}.list.requests{padding:0}

/* Palette « Plein soleil » (octobre 2026) : jaune franc, touches d'orange. Le mode sombre n'est pas concerné. */
html:not([data-theme=dark]){--cream:#fffaf0;--orange:#ff7a1f}
html:not([data-theme=dark]) body{background:#fffaf0}
html:not([data-theme=dark]) .notice.honey{background:#ffdf6b;color:#3f3000}
html:not([data-theme=dark]) [data-surface=community]{background:#ffe27d}
html:not([data-theme=dark]) .challenge-art{background:#ffd34d}
html:not([data-theme=dark]) .story-add{background:#ffd966;border:1px solid #f0b400}
html:not([data-theme=dark]) .reaction:nth-child(3n+2){background:#ffdf6b;color:#5c3f00}
html:not([data-theme=dark]) .reaction:nth-child(3n){background:#ffd2ad;color:#7a3000}
html:not([data-theme=dark]) .btn.terra{background:#ff7a1f;color:#2f1300;border-color:transparent}
html:not([data-theme=dark]) .btn.soft{background:#ffd5ab;color:#5c2400}
html:not([data-theme=dark]) .eyebrow{color:#b84300}
html:not([data-theme=dark]) .profile-head{background:#e9defc}
html:not([data-theme=dark]) .action[aria-pressed=true]{background:#ffe3cc;color:#a33a00}
html:not([data-theme=dark]) .nav a[aria-current=page]{color:#ffd34d}

.member-fullname{display:block;font-weight:400}.check small{color:var(--muted)}

/* Palette « Plein soleil » — mode sombre : fond sombre, contours dorés, abricot pour les boutons secondaires */
html[data-theme=dark]{--orange:#ff8f3d}
html[data-theme=dark] .notice.honey{background:#1c2a24;color:#fff0c2;border:1.5px solid #ffd34d}
html[data-theme=dark] [data-surface=community]{background:#1c2a24;border:1.5px solid #ffd34d}
html[data-theme=dark] .challenge-art{background:#1c2a24;border:1.5px solid #ffd34d}
html[data-theme=dark] .challenge-art .icon{color:#ffd34d}
html[data-theme=dark] .story-add{background:#1c2a24;border:1.5px solid #ffd34d}
html[data-theme=dark] .reaction:nth-child(3n+2){background:#1c2a24;color:#ffe08a;border:1px solid #ffd34d}
html[data-theme=dark] .reaction:nth-child(3n){background:#1c2a24;color:#ffbf94;border:1px solid #ff8f3d}
html[data-theme=dark] .btn.terra{background:#ff7a1f;color:#2f1300;border-color:transparent}
html[data-theme=dark] .btn.soft{background:#ffc999;color:#4a1f00;border-color:transparent}
html[data-theme=dark] .action[aria-pressed=true]{background:#1c2a24;color:#ffc9a0;border:1px solid #ff8f3d}

/* Mode sombre : on retire les fonds bruns/olive restants au profit du vert sapin foncé de l'application */
html[data-theme=dark] .card{border:1px solid #2c3c35}
html[data-theme=dark] .list{background:#1c2a24;border:1px solid #2c3c35}
html[data-theme=dark] .list>a,html[data-theme=dark] .list>button,html[data-theme=dark] .setting{border-bottom:1px solid #2c3c35}
html[data-theme=dark] .list>:last-child{border-bottom:0}
html[data-theme=dark] .list .icon:not(.chevron){color:#c4a8ff}
html[data-theme=dark] .list>:nth-child(3n+2) .icon:not(.chevron){color:#ffb27a}
html[data-theme=dark] .list>:nth-child(3n) .icon:not(.chevron){color:#b5dcc9}
html[data-theme=dark] .notice,html[data-theme=dark] .welcome .notice,html[data-theme=dark] .empty,html[data-theme=dark] .demo-tag{background:#1c2a24;color:#d5dfda}
html[data-theme=dark] .shared-article{background:#1c2a24;border:1px solid #2c3c35}
html[data-theme=dark] .crop,html[data-theme=dark] .article-photo,html[data-theme=dark] .article-photo-full{background:#1c2a24}
html[data-theme=dark] .profile-head{background:#1c2a24;border:1.5px solid #8653db}
html[data-theme=dark] .avatar{background:#2e2447;color:#e9defc}
html[data-theme=dark] .notice.honey{background:#1c2a24;color:#fff0c2;border:1.5px solid #ffd34d}
html[data-theme=dark] [data-surface=community]{background:#1c2a24;border:1.5px solid #ffd34d}

/* Flux du vivant : une couleur par catégorie (pastille, liseré de la carte, filtres) */
.cat-nature{--c-bg:#d9f2d0;--c-fg:#1f5a2a;--c-line:#8fd18a;--c-dark:#8fd18a}
.cat-arts{--c-bg:#eadcff;--c-fg:#4b2a8c;--c-line:#b99af0;--c-dark:#c4a8ff}
.cat-sciences{--c-bg:#cfe8fb;--c-fg:#0f4a7a;--c-line:#8cc4ee;--c-dark:#8cc4ee}
.cat-histoire{--c-bg:#ffe9a3;--c-fg:#5c4400;--c-line:#f0c84a;--c-dark:#ffd34d}
.cat-savoir{--c-bg:#e3e8b0;--c-fg:#454a00;--c-line:#c2cc6a;--c-dark:#c2cc6a}
.cat-cultures{--c-bg:#ffd9e0;--c-fg:#8a1f3d;--c-line:#f28aa0;--c-dark:#f28aa0}
.cat-gastronomie{--c-bg:#ffd5ab;--c-fg:#6b2a00;--c-line:#ff9a4a;--c-dark:#ffb27a}
.cat-sport{--c-bg:#c9f0ee;--c-fg:#0b5a55;--c-line:#6fd0c8;--c-dark:#6fd0c8}
.cat-voyages{--c-bg:#f1e4d0;--c-fg:#5a3d12;--c-line:#d2b182;--c-dark:#e0c08f}
.cat-actualites{--c-bg:#ffd9c2;--c-fg:#8a2f00;--c-line:#ff8f3d;--c-dark:#ff8f3d}
.cat-pill{display:inline-block;background:var(--c-bg);color:var(--c-fg);border:1px solid var(--c-line);border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:700;letter-spacing:0;line-height:1.3;text-transform:none}
.editorial-feed .card[class*=cat-]{border-top:4px solid var(--c-line)}
.eyebrow{flex-wrap:wrap}
.filter-row .chip[class*=cat-]{border-color:var(--c-line)}
.filter-row .chip[class*=cat-][aria-pressed=true]{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-fg);font-weight:700}
html[data-theme=dark] .cat-pill{background:#1c2a24;color:var(--c-dark);border-color:var(--c-dark)}
html[data-theme=dark] .editorial-feed .card[class*=cat-]{border-top:4px solid var(--c-dark)}
html[data-theme=dark] .filter-row .chip[class*=cat-]{border-color:var(--c-dark)}
html[data-theme=dark] .filter-row .chip[class*=cat-][aria-pressed=true]{background:var(--c-dark);color:#10201a;border-color:var(--c-dark)}
.cat-pill{margin-right:8px}

/* Profil : abricot à la place du jaune (rond « Ajouter » des stories et carte « Ma communauté »). Ma bulle garde son jaune. */
html:not([data-theme=dark]) .story-section .story-add{background:#ffcb9a;border:1px solid #f0a35e}
html:not([data-theme=dark]) [data-surface=community]{background:#ffd9b5}

/* Mission du jour : la famille de mission (« Prendre soin de soi ») à droite de la pousse, en plus grand */
.challenge-head{display:flex;align-items:center;gap:16px;margin:0 0 22px}
.challenge-head .challenge-art{margin:0;flex-shrink:0}
.challenge-family{margin:0;font-size:1.5rem;line-height:1.2;font-weight:800;color:#6b3fc9;overflow-wrap:anywhere}
html[data-theme=dark] .challenge-family{color:#c4a8ff}

/* Invitation par code : encart plus visible (plus grand, couleur abricot) */
.invite-code-box{padding:18px 18px;border-width:1.5px}
.invite-code-box summary{font-size:1.08rem;font-weight:800;line-height:1.35}
.invite-code-box p{font-size:.95rem}
html:not([data-theme=dark]) .invite-code-box{background:#ffe9d6;border-color:#f0a35e}
html:not([data-theme=dark]) .invite-code-box summary{color:#7a3000}
html[data-theme=dark] .invite-code-box{background:#1c2a24;border-color:#ff8f3d}
html[data-theme=dark] .invite-code-box summary{color:#ffc9a0}

.article-end-nav{display:grid;gap:10px;margin:26px 0 8px;padding-top:22px;border-top:1px solid var(--line)}
.article-end-nav .btn{text-align:center;text-decoration:none}

/* Stories : anneau multicolore (jaune, orange, violet) qui tourne autour des photos de profil */
.story-ring,.avatar-ring-wrap.has-story{position:relative;border:0;border-radius:50%;isolation:isolate;box-shadow:none}
.story-ring{padding:7px}
.avatar-ring-wrap.has-story{padding:5px}
.story-ring::before,.avatar-ring-wrap.has-story::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;background:conic-gradient(from 0deg,#ffd34d,#ff7a1f,#8653db,#ffd34d,#ff7a1f,#8653db,#ffd34d);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));animation:story-spin 3.2s linear infinite}
.avatar-ring-wrap.has-story::before{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}
@keyframes story-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.story-ring::before,.avatar-ring-wrap.has-story::before{animation:none}}

/* Pseudos un peu plus gros (publications, communauté, discussions) */
.post-head strong{font-size:1.2em}
.list>a[href^="#/member/"]>span:not(.avatar-ring-wrap){font-size:1.2em;font-weight:700}
.chat-preview-copy>strong{font-size:1.15em}

/* À retenir : liste de trois points */
.notice .takeaway-list{margin:.4rem 0 0;padding-left:1.2rem}
.notice .takeaway-list li{margin:.35rem 0;line-height:1.5}

/* Missions : cartes à faire glisser */
.mission-intro{margin:0 0 14px;color:var(--muted)}
.mission-carousel{position:relative}
.mission-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:2px 2px 6px}
.mission-track::-webkit-scrollbar{display:none}
.mission-track:focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:18px}
.mission-card{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:center;scroll-snap-stop:always;margin:0}
.mission-card.is-progress{border:2px solid var(--violet)}
.mission-card.is-done{border:2px solid #4c9a6a}
.mission-status{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;padding:3px 12px;border-radius:20px;font-weight:700;font-size:.8rem;background:#efe6ff;color:#4b2a8c}
.mission-status.done{background:#dff3e6;color:#1f5a38}
.mission-status .icon{width:14px;height:14px}
.mission-dots{display:flex;justify-content:center;gap:8px;margin:12px 0 2px}
.mission-dot{width:9px;height:9px;border-radius:50%;background:var(--ink);opacity:.25;transition:opacity .2s,transform .2s}
.mission-dot.on{opacity:1;transform:scale(1.25);background:var(--violet)}
.mission-arrow{position:absolute;top:96px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.18);padding:0;cursor:pointer}
.mission-arrow.prev{left:-6px}.mission-arrow.next{right:-6px}
.mission-arrow[hidden]{display:none}
.mission-arrow .icon{width:18px;height:18px}
.section-title{font-size:1.15rem;margin:22px 0 10px}
.progress-label.in-progress{color:#4b2a8c;font-weight:700}
.mission-row-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.empty.small{padding:14px 10px}
html[data-theme=dark] .mission-card.is-progress{border-color:#b99af0}
html[data-theme=dark] .mission-card.is-done{border-color:#6fd09a}
html[data-theme=dark] .mission-status{background:#2a2147;color:#d8c8ff}
html[data-theme=dark] .mission-status.done{background:#1c3a2a;color:#a9f0c4}
html[data-theme=dark] .mission-dot{background:#fff}
html[data-theme=dark] .mission-dot.on{background:#c4a8ff}
html[data-theme=dark] .mission-arrow{background:#1c2a24;color:#fff;border-color:#3a4a42}
html[data-theme=dark] .progress-label.in-progress{color:#c4a8ff}

/* Nouveautés et pastille de notifications */
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;font-size:.7rem;font-weight:800;line-height:1;color:#fff;background:#e2583f;border:2px solid var(--green);right:calc(50% - 28px)!important;top:0!important;width:auto!important}
.news-card{border:2px solid #f0c84a}
.news-card h2{margin:0 0 6px;font-size:1.1rem}
.notif-list{display:flex;flex-direction:column;gap:8px}
.notif-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:inherit;text-decoration:none}
.notif-item.is-new{border-color:var(--violet);background:#f4efff}
.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.notif-text .meta{font-size:.8rem;color:var(--muted)}
.notif-dot{width:10px;height:10px;border-radius:50%;background:var(--violet);flex-shrink:0}
html[data-theme=dark] .news-card{border-color:#ffd34d}
html[data-theme=dark] .notif-item{background:#1c2a24;border-color:#3a4a42}
html[data-theme=dark] .notif-item.is-new{border-color:#c4a8ff;background:#2a2147}
html[data-theme=dark] .notif-dot{background:#c4a8ff}

/* Écran d'ouverture plein écran (première visite) */
.splash{position:fixed;inset:0;z-index:9999;background:#0a4439;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease;cursor:pointer}
.splash.in{opacity:1}
.splash.out{opacity:0;pointer-events:none}
.splash{overflow:hidden}.splash img{width:min(135vw,135dvh);max-width:none;height:auto;flex-shrink:0;display:block;transform:scale(.94);transition:transform 2.8s ease-out}
.splash.in img{transform:scale(1)}
.splash-hint{position:absolute;left:0;right:0;bottom:max(24px,env(safe-area-inset-bottom));margin:0;text-align:center;color:#d9e8e0;font-size:.9rem;opacity:.85}
@media(prefers-reduced-motion:reduce){.splash,.splash img{transition:none}.splash img{transform:none}}

/* Musique sur les publications */
#post-music-field{margin:12px 0}
.post-music{margin:10px 18px 6px}
.post-music-btn{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;text-align:left;border:1px solid var(--line);border-radius:16px;background:#f4efff;color:var(--ink);padding:10px 14px;cursor:pointer;font:inherit}
.post-music-btn .pm-play{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--violet);color:#fff;flex-shrink:0}
.post-music-btn .pm-play .icon{width:18px;height:18px}
.post-music-btn .pm-text{flex:1;min-width:0;display:flex;flex-direction:column}
.post-music-btn .pm-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-music-btn .pm-state{font-weight:700;font-size:.85rem;color:#4b2a8c}
.post-music-btn[aria-pressed=true]{border-color:var(--violet)}
html[data-theme=dark] .post-music-btn{background:#2a2147;border-color:#3a4a42;color:#fff}
html[data-theme=dark] .post-music-btn .pm-state{color:#d8c8ff}
html[data-theme=dark] .post-music-btn .pm-text .meta{color:#c9c3d8}

/* === Profil façon réseau photo (grille de publications) === */
.pf-top{display:flex;align-items:center;gap:18px;margin:4px 0 12px}
.pf-top .avatar.big{height:84px;width:84px}
.pf-main{min-width:0;flex:1}
.pf-main h2{font-size:1.35rem;overflow-wrap:anywhere;margin:0}
.pf-sub{margin:2px 0 8px;color:var(--muted);font-size:.9rem}
.pf-stats{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem}
.pf-stats a{color:var(--ink);text-decoration:none}
.pf-stats b{font-weight:800}
.pf-actions{display:flex;gap:10px;margin-bottom:12px}
.pf-actions .btn{flex:1;justify-content:center;min-height:42px;padding:8px 12px}
.pf-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.pf-pills a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 13px;border-radius:20px;background:#f0ebf8;color:#48346b;text-decoration:none;font-size:.85rem;font-weight:700}
.pf-pills a:nth-child(2n){background:#fff3c9;color:#55451e}
.pf-pills a:nth-child(3n){background:#fff0e6;color:#8b411f}
.pf-pills .icon{width:16px;height:16px}
.pf-pills em{font-style:normal;background:var(--violet);color:#fff;border-radius:10px;padding:0 7px;font-size:.75rem}
.pf-tabs{margin:14px 0 10px}
.pg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 -4px 14px}
.pg-tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#f0ebf8;text-decoration:none}
.pg-tile img{width:100%;height:100%;object-fit:cover;display:block}
.pg-text{display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;font-size:.78rem;line-height:1.3;color:#48346b;overflow:hidden}
.pg-multi{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;gap:3px;background:#000000a6;color:#fff;border-radius:10px;padding:1px 7px;font-size:.72rem;font-weight:700}
.pg-multi .icon{width:12px;height:12px}
.pg-draft{position:absolute;left:5px;bottom:5px;background:#fff3c9;color:#55451e;border-radius:8px;padding:1px 7px;font-size:.7rem;font-weight:700}
.pf-community{background:#fff7db;border-radius:18px;padding:10px 14px;margin:6px 0 16px;font-size:.9rem}
.pf-community-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pf-mini-avatars{display:flex;gap:6px}
.pf-mini-avatars .avatar{width:30px;height:30px;font-size:.9rem}
.pf-community-links{display:flex;justify-content:space-between;gap:10px;margin-top:4px}
.pf-community-links a,.pf-community-links .text-btn{font-size:.85rem;min-height:32px}
html[data-theme=dark] .pf-pills a{background:#2a2433;color:#d9c9ff}
html[data-theme=dark] .pf-pills a:nth-child(2n){background:#3a3418;color:#ffe9a0}
html[data-theme=dark] .pf-pills a:nth-child(3n){background:#3b2a1f;color:#ffcfae}
html[data-theme=dark] .pg-tile{background:#1c2a24}
html[data-theme=dark] .pg-text{color:#d9c9ff}
html[data-theme=dark] .pf-community{background:#2c2812}
html[data-theme=dark] .pf-stats a{color:var(--ink)}
@media(max-width:360px){.pf-top{gap:12px}.pf-top .avatar.big{width:68px;height:68px}}
.pf-stories{margin:0 0 6px;padding:2px 0 8px;gap:12px}
.pf-stories .story-circle{font-size:.75rem}
.pf-stories .story-add,.pf-stories .story-ring,.pf-stories .story-circle .avatar{width:58px;height:58px}
.pf-stories .story-add{display:flex;align-items:center;justify-content:center}
.pf-pills{gap:6px}
.pf-pills a{padding:5px 10px;min-height:34px;font-size:.8rem}
.pf-pills{flex-wrap:nowrap;gap:5px;margin-bottom:6px}
.pf-pills a{padding:5px 8px;gap:4px;font-size:.75rem;white-space:nowrap}
.pf-pills .icon{width:14px;height:14px}
@media(max-width:350px){.pf-pills{flex-wrap:wrap}}
.pf-pills a{flex:1 1 auto;justify-content:center;padding:5px 6px;font-size:.74rem}
.pf-pills{flex-wrap:wrap}
.pf-pills a{flex:1 1 auto}

/* === Musique sur la photo (façon Instagram) === */
.post-media{position:relative;cursor:pointer}
.pm-chip{position:absolute;top:8px;left:8px;z-index:3;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 60px);min-height:22px;padding:2px 8px 2px 6px;border:0;border-radius:12px;background:#000000a6;color:#fff;font:700 .66rem/1.2 inherit;cursor:pointer}
.pm-chip .icon{width:11px;height:11px;flex-shrink:0}
.pm-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-chip[aria-pressed=true]{background:var(--violet)}
.pm-chip[aria-pressed=true] .icon{animation:pmpulse 1.1s ease-in-out infinite}
@keyframes pmpulse{50%{transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.pm-chip[aria-pressed=true] .icon{animation:none}}
/* Titre de la musique : simple texte discret sur la photo */
.pm-chip{top:6px;left:8px;min-height:0;padding:2px 0;gap:4px;border-radius:0;background:none;color:#fff;font-size:.7rem;font-weight:600;line-height:1.2;text-shadow:0 0 3px #000c,0 1px 2px #000c;max-width:calc(100% - 50px)}
.pm-chip .icon{width:10px;height:10px;filter:drop-shadow(0 1px 1px #000c)}
.pm-chip[aria-pressed=true]{background:none}
.pm-chip[aria-pressed=true] .icon{animation:none}

/* === Publications en grand, façon réseau photo === */
.post-card{margin-inline:-22px;border-radius:0;border-width:1px 0;margin-bottom:0}
.post-card+.post-card{border-top-width:0}
.post-card .post-head{padding:12px 16px}
.post-card .article-photo{aspect-ratio:auto;height:auto;max-height:calc(min(100vw,520px)*1.3334);object-fit:cover;width:100%}
.post-card .shared-article .article-photo{aspect-ratio:4/3;max-height:none;object-fit:cover}
.post-card .photo-track{align-items:center}
.post-card .photo-carousel{background:var(--paper)}
.post-card .post-caption{padding:12px 16px}
.post-card .reactions{padding-inline:16px}
.post-card .text-btn{margin-inline:16px!important}
@media(max-width:360px){.post-card{margin-inline:-15px}}
/* === Profil : grille plein écran, photos verticales === */
.pf-top .avatar.big{height:92px;width:92px;font-size:2.8rem}
.pg-grid{margin-inline:-22px;gap:2px;margin-bottom:10px}
.pg-tile{aspect-ratio:3/4}
@media(max-width:360px){.pg-grid{margin-inline:-15px}.pf-top .avatar.big{width:72px;height:72px}}
.post-card{border-left-width:0!important;border-right-width:0!important}

/* === Album en musique : photos qui défilent en boucle === */
.album{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0e1512;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.album-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease;display:block}
.album-img.on{opacity:1}
.album:not([data-ready]) .album-img:first-of-type{opacity:1}
.album-pause{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#0003;z-index:2}
.album-pause span{width:60px;height:60px;border-radius:50%;background:#000a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.album.paused .album-pause{display:flex}
@media(prefers-reduced-motion:reduce){.album-img{transition:none}}
.post-card .album{max-height:calc(min(100vw,520px)*1.3334)}
.album-opt{margin:4px 0 16px;display:grid;gap:8px}
.album-opt>.chip{display:inline-flex;align-items:center;gap:8px;justify-self:start}
.album-opt .icon{width:18px;height:18px}
.album-rhythm{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.album-rhythm .chip{padding:7px 16px}

/* ===== Recettes structurées (lot Saveurs du monde) ===== */
.recipe-full{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;margin:6px 0 22px}
.recipe-full h2{font-size:1.2rem;margin:0 0 12px}
.recipe-full h3{font-size:1rem;margin:16px 0 6px}
.recipe-full .recipe-facts{margin-bottom:4px}
.recipe-list{margin:0;padding-left:1.3rem;font-size:.97rem;line-height:1.55}
.recipe-list li{margin:0 0 7px}
.recipe-full .recipe-tips{margin:14px 0 10px;font-size:.92rem}
.recipe-full .recipe-warning{font-size:.88rem;margin:0}

/* ===== Pour aller plus loin (liens officiels) ===== */
.more-links{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.more-links li{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:11px 14px;font-size:.95rem}
.more-links a{font-weight:650}

/* ===== Missions : durée, modalités, À retenir, sources ===== */
.mission-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;font-size:.88rem;color:var(--muted)}
.mission-meta span{display:inline-flex;align-items:center;gap:5px}
.mission-meta .icon{width:15px;height:15px}
.mission-retain{margin:12px 0 4px;font-size:.92rem}
.mission-sources{margin:8px 0 14px;font-size:.85rem}
.mission-card .text-btn.center{display:block;margin:6px auto 0}

/* ===== Écouter l'article ===== */
.tts-box{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0 0 20px}
.tts-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tts-main{display:inline-flex;align-items:center;gap:8px;flex:1;justify-content:center;min-width:180px}
.tts-main .icon{width:18px;height:18px}
.tts-opts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.chip-btn{border:1px solid #9aada2;background:transparent;color:var(--ink);border-radius:20px;padding:6px 13px;font:inherit;font-size:.88rem;cursor:pointer}
.chip-btn[aria-pressed=true]{background:#eee6ff;border-color:#8653db;color:#462579;font-weight:700}
html[data-theme=dark] .chip-btn[aria-pressed=true]{background:#2a2147;color:#d9c9ff;border-color:#8f6fe0}
.tts-note{margin:10px 0 0;font-size:.8rem}

/* ---------- Vidéos courtes (publications, stories) ---------- */
.vid-wrap{position:relative;background:#000;cursor:pointer;line-height:0}
.vid-wrap .vid{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;background:#000}
.vid-play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:#000000a6;color:#fff;display:none;align-items:center;justify-content:center;pointer-events:none}
.vid-play .icon{width:28px;height:28px}
.vid-wrap.is-paused .vid-play{display:flex}
.vid-sound{position:absolute;right:12px;bottom:12px;width:42px;height:42px;border-radius:50%;background:#000000b0;border:1px solid #ffffff59;color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;z-index:3}
.vid-sound .icon{width:20px;height:20px}
.vid-sound:focus-visible{outline:3px solid #fff;outline-offset:2px}
.story-fs-top .vid-sound{position:static;width:38px;height:38px;background:#00000040;border:1px solid #ffffff40}
.story-fs-top .vid-sound .icon{width:17px;height:17px}
.story-fs-media.vid-wrap{position:absolute;inset:0;background:#000;display:flex;align-items:center;justify-content:center}
.story-fs-media.vid-wrap .story-upload{width:100%;height:100%;max-height:none;object-fit:contain}
.video-prep{display:grid;gap:8px;margin-bottom:16px;line-height:1.4}
.video-prep video{width:100%;max-height:320px;border-radius:14px;background:#000}
.video-prep progress{width:100%;height:10px;accent-color:var(--green)}
.story-preview .video-prep{padding:20px;margin:0;text-align:center}
.story-preview video.story-upload{width:100%;max-height:280px;display:block;background:#000}.story-preview .meta{margin:0;padding:8px 14px 10px}
html[data-theme=dark] .video-prep progress{accent-color:#9fd3bd}

/* ---------- Jouer avec le vivant ---------- */
:root{--g-ok-bg:#e1ecd6;--g-ok-bd:#6f9a62;--g-no-bg:#f6e4cc;--g-no-bd:#c58a3d;--g-cell:#fffcf5;--g-cell-bd:#8a9a8e;--g-sel:#ffe49a;--g-word:#e8f0e2;--g-block:#173f35}
html[data-theme=dark]{--g-ok-bg:#243a2c;--g-ok-bd:#78a870;--g-no-bg:#3b3022;--g-no-bd:#d49a48;--g-cell:#2a3a33;--g-cell-bd:#7d968a;--g-sel:#6a5a1f;--g-word:#2c3e34;--g-block:#0b1210}
.g-intro{line-height:1.55;margin:0 0 16px}
.g-list{display:grid;gap:12px;margin-bottom:20px}
.g-card,.g-entry{display:flex;align-items:center;gap:14px;padding:16px;text-align:left;color:var(--ink);text-decoration:none;width:100%;font:inherit;cursor:pointer}
.g-entry{margin:0 0 18px;border-color:#d8cfa8}
.g-card-icon{flex:0 0 46px;height:46px;border-radius:14px;background:#efe0ba;color:#584327;display:flex;align-items:center;justify-content:center}
html[data-theme=dark] .g-card-icon{background:#3a3524;color:#f0e0b0}
.g-card-icon .icon{width:24px;height:24px}
.g-card-text{display:grid;gap:3px;flex:1;line-height:1.35}
.g-card-text strong{font-size:1.05rem}
.g-card-text span{font-size:.9rem;color:var(--muted)}
.g-card>.icon,.g-entry>.icon{width:20px;height:20px;flex:0 0 auto;color:var(--muted)}
.g-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.g-progress{color:var(--muted);font-size:.9rem;margin:0 0 10px}
.g-q{font-size:1.25rem;line-height:1.35;margin:0 0 16px}
.g-choices{display:grid;gap:10px;margin-bottom:16px}
.g-choice{display:flex;align-items:center;gap:10px;text-align:left;width:100%;min-height:54px;padding:12px 16px;border-radius:16px;border:1.5px solid var(--g-cell-bd);background:var(--g-cell);color:var(--ink);font:inherit;font-size:1rem;line-height:1.35;cursor:pointer}
.g-choice:not(:disabled):hover{border-color:var(--green)}
.g-choice:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
.g-choice.is-ok{background:var(--g-ok-bg);border-color:var(--g-ok-bd)}
.g-choice.is-no{background:var(--g-no-bg);border-color:var(--g-no-bd);border-style:dashed}
.g-choice:disabled{opacity:1;cursor:default;color:var(--ink)}
.g-mark .icon{width:20px;height:20px;color:#3d6f35}
html[data-theme=dark] .g-mark .icon{color:#9fd3a0}
.g-vf{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.g-vf-btn{justify-content:center;font-weight:700;font-size:1.1rem;min-height:64px}
.g-read{margin-top:4px}
.g-read .icon{width:18px;height:18px;flex:0 0 auto}
.g-result{margin-top:8px}
.g-result h2{margin:0 0 6px}
.g-found{padding-left:20px;margin:0 0 16px;line-height:1.6}
.g-credit-title{margin:22px 0 6px;font-size:.95rem;color:var(--muted)}
.g-credits{padding-left:18px;margin:0 0 20px;font-size:.82rem;line-height:1.5;color:var(--muted)}
.g-credits a{color:inherit}
/* Memory */
.g-mem{display:grid;gap:10px;margin-bottom:18px}
.g-mem.cols3{grid-template-columns:repeat(3,1fr)}
.g-mem.cols4{grid-template-columns:repeat(4,1fr)}
.g-mem-card{aspect-ratio:1;border-radius:14px;border:1.5px solid var(--g-cell-bd);background:var(--green);padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#e8d9a8}
.g-mem-card:disabled{opacity:1;cursor:default}
.g-mem-card:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
.g-mem-card img{width:100%;height:100%;object-fit:cover;display:block}
.g-mem-card.is-found{border-color:var(--g-ok-bd);box-shadow:0 0 0 2px var(--g-ok-bd)}
.g-mem-back .icon{width:34%;min-width:22px;height:auto;opacity:.85}
/* Puzzle */
.g-puz-wrap{max-width:380px;margin:0 auto 12px}
.g-puz{display:grid;gap:3px;aspect-ratio:1;background:var(--line);padding:3px;border-radius:14px}
.g-puz.n3{grid-template-columns:repeat(3,1fr)}
.g-puz.n4{grid-template-columns:repeat(4,1fr)}
.g-tile{border:0;padding:0;border-radius:6px;background-color:var(--g-cell);cursor:pointer;min-height:0}
.g-tile:focus-visible{outline:3px solid var(--terra);outline-offset:-3px}
.g-tile:disabled{opacity:1;cursor:default}
.g-tile.blank{background:transparent;box-shadow:inset 0 0 0 2px var(--line)}
.g-ref{margin:6px 0 14px}
.g-ref summary{cursor:pointer;color:var(--green);font-weight:600;padding:6px 0}
html[data-theme=dark] .g-ref summary{color:#9fd3bd}
.g-ref img{width:100%;max-width:300px;display:block;border-radius:12px;margin-top:8px}
/* Mots croisés */
.cw-top{margin-bottom:4px}
.cw-bar{background:var(--g-word);border-radius:14px;padding:11px 14px;line-height:1.4;font-size:.95rem;margin-bottom:12px;min-height:3.2em;color:var(--ink)}
.cw-wrap{position:relative;max-width:440px;margin:0 auto 12px}
.cw-grid{display:grid;grid-template-columns:repeat(var(--cwc),1fr);grid-template-rows:repeat(var(--cwr),auto);gap:2px;position:relative}
.cw-cell{aspect-ratio:1;position:relative;border:1.5px solid var(--g-cell-bd);border-radius:5px;background:var(--g-cell);color:var(--ink);padding:0;display:flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;min-width:0}
.cw-block{background:var(--g-block);border-color:var(--g-block);cursor:default}
.cw-num{position:absolute;top:1px;left:3px;font-size:.58rem;line-height:1;color:var(--muted);font-weight:700}
.cw-ch{font-size:1.15rem;font-weight:700;text-transform:uppercase}
.cw-cell.is-word{background:var(--g-word)}
.cw-cell.is-sel{background:var(--g-sel);border-color:var(--terra);box-shadow:0 0 0 2px var(--terra)}
.cw-cell.is-bad{border-style:dashed;border-color:var(--g-no-bd);background:var(--g-no-bg)}
.cw-cell.is-bad .cw-ch{text-decoration:underline wavy;text-underline-offset:3px}
.cw-cell:focus-visible{outline:3px solid var(--terra);outline-offset:1px}
.cw-input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;border:0;padding:0;font-size:16px;pointer-events:none}
.cw-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}
.cw-msg{text-align:center;color:var(--muted);min-height:1.4em;margin:0 0 10px}
.cw-clues h3{margin:16px 0 6px}
.cw-clues ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.cw-clue{display:flex;gap:10px;text-align:left;width:100%;background:transparent;border:0;border-radius:10px;padding:8px 10px;color:var(--ink);font:inherit;font-size:.92rem;line-height:1.4;cursor:pointer}
.cw-clue.is-on{background:var(--g-word)}
.cw-clue-n{font-weight:700;min-width:1.6em}
.cw-clue small{color:var(--muted)}
@media (min-width:480px){.cw-ch{font-size:1.3rem}}

/* Pastilles du fil : une seule ligne, défilement horizontal */
.filter-row .chip{flex:0 0 auto;white-space:nowrap}

/* Profil : le cercle coloré des stories entoure bien la pastille (58 px au total, pastille de 48 px centrée) */
.pf-stories .story-ring{padding:5px;box-sizing:border-box}
.pf-stories .story-circle .avatar{width:48px;height:48px}
.pf-stories .story-ring .avatar{margin:0}

.recipe-full .recipe-allergens{margin:10px 0 12px;font-size:.9rem}
.recipe-full h3+p{margin-top:4px}

.reading-actions{display:flex;gap:8px;margin:0 0 8px}
.reading-actions .btn{flex:1 1 0;min-width:0}
.reading-row .btn{margin-top:8px}

/* Vérification anti-robots : la fenêtre n'apparaît que si elle est nécessaire */
.captcha-holder{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;max-width:calc(100vw - 32px)}
