/* Petit Dragon V5.2 — bundled styles. Order is intentional. */

/* ------- app.css ------- */
:root{--ink:#17221d;--muted:#66736d;--paper:#f6f8f5;--card:#fff;--line:#dce4df;--accent:#256d54;--accent2:#dff4e9;--danger:#a33232;--shadow:0 18px 50px rgba(28,55,43,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -10%,#dff3e8 0,transparent 34rem),var(--paper);line-height:1.5}a{color:inherit;text-decoration:none}button,.button{border:0;border-radius:999px;background:var(--accent);color:#fff;padding:.72rem 1.08rem;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.small{padding:.48rem .8rem}.ghost,button.ghost,.button.ghost{background:#fff;color:var(--accent);border:1px solid var(--line)}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:.78rem .9rem;font:inherit}textarea{min-height:110px;resize:vertical}label{display:grid;gap:.38rem;font-weight:650}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.8rem max(1rem,calc((100vw - 1240px)/2));background:rgba(246,248,245,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,228,223,.8)}.brand{display:flex;align-items:center;gap:.55rem;font-size:1.1rem;font-weight:850}.brand:first-letter{display:grid}.brand>span{letter-spacing:-.03em}.topbar nav{display:flex;gap:.35rem;align-items:center}.topbar nav>a{padding:.55rem .65rem;color:var(--muted);font-size:.92rem}.shell{max-width:1240px;margin:0 auto;padding:2rem 1rem 5rem}.card{background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.flash{max-width:760px;margin:0 auto 1rem;padding:.8rem 1rem;border-radius:14px;background:#e6f6ee;border:1px solid #b5dec9}.flash.error{background:#fff0f0;border-color:#efc2c2}.flash.info{overflow-wrap:anywhere}.hero{min-height:66vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw}.hero h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.92;letter-spacing:-.07em;max-width:760px;margin:.7rem 0 1.5rem}.hero p{font-size:1.22rem;color:var(--muted);max-width:600px}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.13em;font-size:.78rem}.actions{display:flex;gap:.75rem;margin-top:2rem}.hero-card{aspect-ratio:1;max-width:420px;justify-self:center;position:relative;border-radius:48% 52% 45% 55%;background:linear-gradient(145deg,#173f32,#2a8060);box-shadow:0 30px 80px rgba(26,85,64,.25);color:#fff;display:grid;place-items:center;overflow:hidden}.hero-card>*{position:absolute;font-style:normal}.hero-card strong{top:22%;left:20%;font-size:2rem}.hero-card span{right:12%;top:45%}.hero-card em{left:25%;bottom:20%}.hero-card small{right:20%;bottom:12%}.orbit{border:1px solid rgba(255,255,255,.35);border-radius:50%;width:75%;height:75%}.orbit.two{width:42%;height:42%}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.features article{padding:1.5rem;border-top:1px solid var(--line)}.features b{color:var(--accent)}.features h2{margin:.5rem 0}.features p{color:var(--muted)}.app-grid{display:grid;grid-template-columns:190px minmax(0,680px) 230px;gap:1rem;align-items:start}.sidebar,.rightbar{position:sticky;top:5.5rem;padding:.8rem;display:grid;gap:.25rem}.sidebar h2,.rightbar h2{padding:0 .5rem}.sidebar a,.sidebar .link-button,.rightbar a{display:block;border-radius:12px;padding:.65rem .7rem;color:var(--muted);text-align:left;background:transparent;width:100%}.sidebar a.active,.sidebar a:hover{background:var(--accent2);color:var(--accent);font-weight:750}.composer{padding:1rem;margin-bottom:1rem}.composer textarea{border:0;font-size:1.05rem;padding:.5rem;outline:0}.composer-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.6rem 0}.file{font-size:.82rem;color:var(--muted);margin:.7rem 0}.file input{padding:.45rem}.post{padding:1rem;margin-bottom:1rem}.post header{display:flex;gap:.75rem;align-items:center}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--accent2);color:var(--accent);font-weight:850;flex:0 0 auto}.avatar.large{width:76px;height:76px;font-size:1.7rem;border:5px solid #fff}.post header>div{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.post header span,.post time{color:var(--muted);font-size:.85rem}.author{font-weight:800}.community-tag{background:var(--accent2);color:var(--accent);padding:.12rem .45rem;border-radius:999px;font-size:.82rem}.post-text{white-space:normal;overflow-wrap:anywhere;font-size:1.02rem}.link-preview{display:block;padding:.8rem;background:#f3f6f4;border-radius:14px;color:var(--accent);overflow-wrap:anywhere}.post-image{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:16px;margin-top:.75rem}.why{font-size:.8rem;color:var(--muted);margin:.7rem 0}.why p{margin:.2rem 0}.reactions{display:flex;gap:.35rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:.75rem}.reactions form{margin:0}.reactions button{background:#f3f6f4;color:var(--muted);padding:.42rem .65rem;font-size:.8rem}.reactions button.selected{background:var(--accent2);color:var(--accent)}.comments{margin-top:.8rem;display:grid;gap:.55rem}.comments>div{background:#f6f8f6;padding:.55rem .75rem;border-radius:12px}.comments a{font-weight:750;font-size:.85rem}.comments p{margin:.2rem 0}.comment-form{display:flex;gap:.45rem}.comment-form button{padding:.55rem .75rem}.danger-link{background:transparent;color:var(--danger);padding:0;font-size:.8rem}.moderate{margin-top:.5rem;color:var(--muted)}.inline-report{display:flex;gap:.4rem;margin:.4rem 0}.inline-report button{padding:.5rem}.profile-head{overflow:hidden;padding:0 1.3rem 1.3rem;max-width:780px;margin:0 auto 1rem}.profile-banner{height:170px;background:linear-gradient(120deg,#1e5f49,#9ed8bf,#e8f5ee);margin:0 -1.3rem 0}.profile-row{display:flex;align-items:center;gap:.8rem;margin-top:-35px}.profile-row h1{margin:2.3rem 0 0}.profile-row>form:first-of-type{margin-left:auto}.stats{display:flex;gap:1rem;color:var(--muted);flex-wrap:wrap}.stream{max-width:780px;margin:0 auto}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem;align-items:start}.two-col>aside,.two-col>section.card{padding:1.2rem}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.community-card{padding:1.2rem;display:block}.community-card>span,.community-hero>span{font-size:2rem;color:var(--accent)}.community-card h2{margin:.2rem 0}.community-card p{color:var(--muted)}.community-hero{max-width:780px;margin:0 auto 1rem;padding:1.4rem;display:flex;gap:1rem;align-items:center}.community-hero form{margin-left:auto}.stack{display:grid;gap:.85rem}.narrow{max-width:500px;margin:5vh auto;padding:1.4rem}.narrow-wide{max-width:760px;margin:0 auto}.center{text-align:center}.section-title{display:flex;justify-content:space-between;align-items:center}.notification{padding:1rem;margin:.6rem 0;display:grid;grid-template-columns:1fr 2fr auto;gap:.5rem}.notification.unread{border-left:4px solid var(--accent)}.notification time{font-size:.82rem;color:var(--muted)}.searchbar{display:flex;gap:.5rem;max-width:700px}.search-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.result{display:grid;padding:.8rem;margin:.5rem 0}.result span{color:var(--muted);font-size:.85rem}.preference-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.preference-list span{padding:.4rem .65rem;background:var(--accent2);border-radius:999px}.danger-zone{border-color:#efd1d1}.danger{background:var(--danger)}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem}.stat-grid article{padding:1rem;display:grid}.stat-grid b{font-size:1.8rem}.stat-grid span{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.table-wrap{padding:1rem;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem;border-bottom:1px solid var(--line);vertical-align:top}.legal{max-width:760px;margin:0 auto;padding:2rem}.legal h2{margin-top:2rem}.empty{padding:2rem;text-align:center;color:var(--muted)}.pager{display:flex;justify-content:center;gap:1rem}.check{grid-template-columns:auto 1fr;align-items:start;font-weight:400}.check input{width:auto;margin-top:.3rem}.inline{display:inline-flex;gap:.2rem}.inline button,footer button{padding:.2rem .4rem;background:transparent;color:var(--muted)}footer{max-width:1240px;margin:0 auto;padding:2rem 1rem;display:flex;gap:1rem;color:var(--muted);font-size:.86rem}footer form{margin-left:auto}
@media(max-width:980px){.app-grid{grid-template-columns:160px minmax(0,1fr)}.rightbar{display:none}.stat-grid{grid-template-columns:repeat(3,1fr)}.admin-grid{grid-template-columns:1fr}.topbar nav a:nth-child(-n+2){display:none}.hero{grid-template-columns:1fr}.hero-card{display:none}.hero{min-height:62vh}.search-results{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.shell{padding:1rem .65rem 5rem}.topbar{padding:.7rem}.brand span{display:none}.topbar nav{overflow:auto}.topbar nav>a{font-size:.78rem;padding:.45rem}.app-grid{display:block}.sidebar{position:static;display:flex;overflow:auto;margin-bottom:.7rem;box-shadow:none}.sidebar h2,.sidebar form{display:none}.sidebar a{white-space:nowrap}.features,.two-col,.community-grid,.search-results{grid-template-columns:1fr}.composer-row{grid-template-columns:1fr}.hero h1{font-size:3.3rem}.profile-row{flex-wrap:wrap}.profile-row>form:first-of-type{margin-left:0}.notification{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.reactions{display:grid;grid-template-columns:1fr 1fr}.reactions button{width:100%}.comment-form{display:grid}.community-hero{align-items:flex-start;flex-wrap:wrap}.community-hero form{margin-left:0}.topbar{position:static}}
@media(min-width:1100px){:root{font-size:17px}.topbar{padding:.95rem max(1.25rem,calc((100vw - 1480px)/2))}.brand{font-size:1.22rem}.topbar nav{gap:.5rem}.topbar nav>a{font-size:.98rem;padding:.66rem .82rem}.shell{max-width:1480px;padding:2.4rem 1.25rem 6rem}.app-grid{grid-template-columns:230px minmax(0,840px) 270px;gap:1.25rem}.sidebar,.rightbar{padding:1rem}.sidebar a,.sidebar .link-button,.rightbar a{padding:.78rem .85rem}.composer,.post{padding:1.25rem}.composer textarea{font-size:1.12rem}.post-text{font-size:1.07rem}.avatar{width:48px;height:48px}.stream{max-width:920px}.community-hero{max-width:920px}.narrow-wide{max-width:900px}button,.button{padding:.78rem 1.18rem}input,textarea,select{padding:.84rem 1rem}footer{max-width:1480px}}
@media(min-width:1400px){.app-grid{grid-template-columns:240px minmax(0,880px) 280px;gap:1.4rem}}

/* Centralized visual identity tokens: edit these values for the future brand. */
:root{--color-primary:#4F46E5;--color-secondary:#7C3AED;--color-accent:#38BDF8;--color-background:#F8FAFC;--color-text:#0F172A;--color-muted:#64748B;--color-line:#E2E8F0;--color-soft:#EEF2FF;--color-soft-cyan:#E0F2FE;--color-surface:#FFFFFF;--ink:var(--color-text);--muted:var(--color-muted);--paper:var(--color-background);--card:var(--color-surface);--line:var(--color-line);--accent:var(--color-primary);--accent2:var(--color-soft);--shadow:0 18px 50px rgba(79,70,229,.09)}
body{background:radial-gradient(circle at 82% -12%,rgba(56,189,248,.16) 0,transparent 32rem),radial-gradient(circle at 15% 10%,rgba(124,58,237,.07) 0,transparent 28rem),var(--paper)}
.topbar{background:rgba(248,250,252,.92);border-bottom-color:rgba(226,232,240,.88)}.brand{color:var(--color-primary)}.brand>span{color:var(--color-text)}.topbar nav>a:hover,.topbar nav>a:focus-visible{color:var(--color-primary);background:var(--color-soft)}
button,.button{background:var(--color-primary)}button:hover,.button:hover{background:var(--color-secondary)}.ghost:hover,button.ghost:hover,.button.ghost:hover{background:var(--color-soft);color:var(--color-secondary)}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(56,189,248,.38);outline-offset:2px}.flash{background:var(--color-soft);border-color:#C7D2FE}.flash.info{background:var(--color-soft-cyan);border-color:#BAE6FD}
.hero-card{background:linear-gradient(145deg,var(--color-primary),var(--color-secondary) 68%,var(--color-accent));box-shadow:0 30px 80px rgba(79,70,229,.24)}.sidebar a.active,.sidebar a:hover{background:var(--color-soft);color:var(--color-primary)}.community-tag,.preference-list span{background:var(--color-soft);color:var(--color-primary)}
.link-preview,.reactions button,.comments>div{background:#F1F5F9}.reactions button.selected{background:var(--color-soft);color:var(--color-primary);box-shadow:inset 0 0 0 1px #C7D2FE}.notification.unread{border-left-color:var(--color-primary);background:linear-gradient(90deg,var(--color-soft),var(--color-surface) 32%)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.captcha-box{padding:.85rem;border:1px solid var(--color-line);border-radius:14px;background:#F8FAFC}.local-captcha label{font-weight:700}.verify-banner{padding:1.15rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:4px solid var(--color-accent)}.verify-banner p{margin:.2rem 0 0;color:var(--muted)}
@media(max-width:700px){.verify-banner{align-items:flex-start;flex-direction:column}}
.moderation-excerpt{max-width:46rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text);margin:.35rem 0}.moderation-image{display:block;max-width:260px;max-height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--color-line);margin-top:.5rem}.admin-actions form{display:flex;flex-wrap:wrap;gap:.4rem}.admin-actions button,.table-wrap form button{white-space:nowrap}.table-wrap button.danger{background:var(--danger)}
.youtube-embeds{display:grid;gap:.75rem;margin:.75rem 0}.youtube-player{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#0F172A;box-shadow:0 8px 24px rgba(15,23,42,.14)}.youtube-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.comments .youtube-embeds{margin:.55rem 0}.comments .youtube-player{max-width:640px;border-radius:12px}
.post-editor{margin:.8rem 0;border:1px solid var(--color-line);border-radius:14px;background:#F8FAFC}.post-editor>summary{cursor:pointer;padding:.65rem .85rem;color:var(--color-primary);font-weight:750}.post-editor>form{padding:.2rem .85rem .85rem}.post-editor textarea{min-height:120px}.post-editor button{justify-self:start}

/* Social Night — mobile-first youth experience, October 2026 */
:root{--night:#050b1c;--night-2:#08132d;--panel:#0c1b3f;--panel-2:#102650;--panel-hover:#142f62;--stroke:rgba(139,173,255,.16);--text:#f4f7ff;--text-soft:#a8b8db;--blue:#4f7cff;--cyan:#43d8ff;--violet:#8b5cf6;--pink:#ff5ea8;--green:#36df9c;--danger:#ff6174;--shadow:0 22px 70px rgba(0,4,18,.42);color-scheme:dark;--ink:var(--text);--muted:var(--text-soft);--paper:var(--night);--card:var(--panel);--line:var(--stroke);--accent:var(--blue);--accent2:rgba(79,124,255,.16);--color-primary:var(--blue);--color-secondary:var(--violet);--color-accent:var(--cyan);--color-background:var(--night);--color-text:var(--text);--color-muted:var(--text-soft);--color-line:var(--stroke);--color-soft:rgba(79,124,255,.14);--color-soft-cyan:rgba(67,216,255,.12);--color-surface:var(--panel)}
html{background:var(--night);scroll-behavior:smooth}body{position:relative;overflow-x:hidden;background:radial-gradient(circle at 50% -15%,rgba(48,91,205,.22),transparent 33rem),linear-gradient(160deg,#050b1c 0%,#071126 55%,#050a18 100%);color:var(--text);letter-spacing:-.006em}.ambient{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.14}.ambient-one{width:380px;height:380px;background:var(--violet);left:-190px;top:24vh}.ambient-two{width:420px;height:420px;background:var(--cyan);right:-260px;top:52vh}.card{background:linear-gradient(145deg,rgba(15,34,76,.97),rgba(9,24,57,.98));border:1px solid var(--stroke);box-shadow:var(--shadow)}
.topbar{height:72px;padding:.7rem max(1rem,calc((100vw - 1460px)/2));background:rgba(5,11,28,.82);border-bottom:1px solid var(--stroke);backdrop-filter:blur(22px);box-shadow:0 8px 32px rgba(0,0,0,.2)}.brand{gap:.7rem;color:#fff;font-size:1.18rem}.brand b{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--violet) 60%,var(--pink));box-shadow:0 8px 28px rgba(79,124,255,.4);font-size:1.2rem}.brand>span{color:#fff;letter-spacing:-.04em}.topbar nav{gap:.15rem}.topbar nav>a{display:flex;align-items:center;gap:.45rem;color:var(--text-soft);font-weight:650;padding:.58rem .72rem;border-radius:12px}.topbar nav>a[data-icon]::before{content:attr(data-icon);font-size:1.05rem;color:#cbd7f4}.topbar nav>a:hover,.topbar nav>a:focus-visible{color:#fff;background:rgba(79,124,255,.14)}.nav-profile{margin-left:.35rem!important;padding:.3rem .65rem .3rem .35rem!important;background:rgba(255,255,255,.05)}.nav-profile img{width:32px;height:32px;object-fit:cover;border-radius:50%;border:2px solid rgba(97,164,255,.6)}
.shell{max-width:1460px;padding:1.55rem 1.25rem 6rem}.app-grid{grid-template-columns:230px minmax(0,730px) 290px;gap:1.35rem;justify-content:center}.sidebar,.rightbar{top:5.5rem;border-radius:22px}.sidebar{padding:.7rem}.side-profile{display:flex!important;align-items:center;gap:.7rem!important;padding:.7rem!important;margin-bottom:.35rem;background:linear-gradient(135deg,rgba(79,124,255,.18),rgba(139,92,246,.12))!important}.side-profile img{width:44px;height:44px;object-fit:cover;border-radius:14px}.side-profile span{min-width:0}.side-profile b,.side-profile small{display:block;overflow:hidden;text-overflow:ellipsis}.side-profile b{color:#fff}.side-profile small{color:var(--text-soft);font-size:.75rem}.side-label{margin:1rem .7rem .35rem;color:#687ba6;font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.sidebar a,.sidebar .link-button{display:flex;align-items:center;gap:.72rem;border-radius:13px;padding:.7rem .75rem;color:var(--text-soft);font-size:.9rem}.sidebar i,.link-button i{display:grid;place-items:center;width:25px;height:25px;color:#b9c8e8;font-style:normal;font-size:1rem}.sidebar a.active,.sidebar a:hover{background:linear-gradient(90deg,rgba(79,124,255,.25),rgba(79,124,255,.07));color:#fff;box-shadow:inset 3px 0 0 var(--cyan)}.sidebar a.active i{color:var(--cyan)}.sidebar form{margin:0}.link-button:hover{background:rgba(255,97,116,.1);color:#ff8795}
.feed-column{min-width:0}.feed-heading{display:flex;justify-content:space-between;align-items:end;margin:.15rem .15rem 1rem}.feed-heading h1{font-size:1.65rem;line-height:1;margin:.25rem 0 0;letter-spacing:-.045em}.eyebrow{color:var(--cyan);font-size:.65rem}.online-pill{display:flex;align-items:center;gap:.4rem;color:var(--text-soft);font-size:.78rem;padding:.4rem .65rem;border:1px solid var(--stroke);border-radius:999px;background:rgba(255,255,255,.025)}.online-pill i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
.composer{padding:.9rem;margin-bottom:1.15rem;border-radius:22px;background:linear-gradient(135deg,rgba(17,43,94,.98),rgba(11,28,67,.98))}.composer-main{display:flex;gap:.8rem;align-items:flex-start;padding:.25rem .25rem .75rem}.composer-main>img{width:45px;height:45px;object-fit:cover;border-radius:14px;border:2px solid rgba(67,216,255,.35)}.composer textarea{min-height:48px;max-height:150px;padding:.65rem .75rem;border:0;border-radius:13px;background:rgba(4,12,31,.42);color:#fff;font-size:1rem;resize:vertical}.composer textarea::placeholder{color:#8295bd}.composer-options{display:flex;align-items:center;gap:.35rem;padding-top:.7rem;border-top:1px solid var(--stroke)}.composer-tool{position:relative;display:flex;align-items:center;gap:.38rem;padding:.48rem .62rem;border-radius:11px;color:var(--text-soft);font-size:.78rem;cursor:pointer}.composer-tool:hover{background:rgba(255,255,255,.05);color:#fff}.composer-tool span{color:var(--cyan);font-size:1rem}.composer-tool:nth-child(2) span{color:var(--pink)}.composer-tool:nth-child(3) span{color:#a78bfa}.composer-tool input,.composer-tool select{position:absolute;inset:0;opacity:0;cursor:pointer}.publish-button{margin-left:auto;border-radius:12px;padding:.6rem .85rem;background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 8px 22px rgba(79,124,255,.27)}.publish-button:hover{background:linear-gradient(135deg,#618cff,#9b6dff);transform:translateY(-1px)}
.post{position:relative;padding:1rem;margin-bottom:1.15rem;border-radius:22px;overflow:hidden}.post::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(67,216,255,.38),transparent)}.post header{position:relative}.post header>div{display:block}.post .avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--violet));padding:2px}.post .avatar img{border-radius:12px}.author-line{display:flex!important;align-items:center!important;gap:.35rem!important}.author{font-size:.95rem;color:#fff}.verified-dot{display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:.65rem;font-weight:900}.community-tag{margin-left:.25rem;background:rgba(139,92,246,.14);border:1px solid rgba(167,139,250,.2);color:#c8b5ff}.post-menu{margin-left:auto;color:#7487af;font-weight:900;letter-spacing:.12em}.post-text{font-size:1rem;line-height:1.55;margin:.9rem .1rem}.post-image{max-height:720px;margin:.8rem -1rem 0;width:calc(100% + 2rem);border-radius:0;object-fit:cover}.youtube-player{border-radius:15px;border:1px solid var(--stroke)}.link-preview{background:rgba(4,12,31,.45);border:1px solid var(--stroke);color:var(--cyan)}.why{margin:.55rem 0;color:#7385aa;font-size:.74rem}.why>summary{width:max-content}.reactions{gap:.45rem;padding:.7rem 0 0}.reactions form{flex:1}.reactions button{width:100%;gap:.25rem;background:rgba(255,255,255,.035);border:1px solid transparent;color:#9fb0d1;padding:.55rem;border-radius:11px}.reactions form:nth-child(1) button::before{content:"♥";color:var(--pink)}.reactions form:nth-child(2) button::before{content:"✦";color:#a78bfa}.reactions form:nth-child(3) button::before{content:"✓";color:var(--green)}.reactions form:nth-child(4) button::before{content:"☻";color:#ffd166}.reactions button:hover,.reactions button.selected{background:rgba(79,124,255,.14);border-color:rgba(79,124,255,.22);color:#fff}.comments>div{background:rgba(4,12,31,.4);border:1px solid rgba(139,173,255,.09)}.comment-form input{background:rgba(4,12,31,.42);border-color:var(--stroke)}.comment-form button{border-radius:11px;background:rgba(79,124,255,.18);color:#dbe5ff}.moderate{font-size:.78rem;color:#7183a8}
.right-column{position:sticky;top:5.5rem;display:grid;gap:1rem}.rightbar{position:static;padding:.85rem}.side-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .45rem .7rem}.side-title span{font-weight:800}.rightbar .side-title a{padding:0;color:var(--cyan);font-size:.72rem;white-space:nowrap}.community-link{display:grid!important;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:.65rem;align-items:center;padding:.55rem!important}.community-orb{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:900}.orb-1{background:linear-gradient(135deg,#ff5ea8,#ff8a65)}.orb-2{background:linear-gradient(135deg,#8b5cf6,#4f7cff)}.orb-3{background:linear-gradient(135deg,#22c55e,#43d8ff)}.community-link b{font-size:.84rem;color:#eff4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-link small{color:#7183a8;font-size:.68rem}.safe-card{display:flex;gap:.7rem;padding:1rem;border-color:rgba(54,223,156,.18);background:linear-gradient(135deg,rgba(12,52,59,.96),rgba(9,29,55,.98))}.safe-card>span{font-size:1.45rem}.safe-card b{font-size:.86rem}.safe-card p{margin:.25rem 0 0;color:#94b9bb;font-size:.72rem;line-height:1.45}
.profile-head{border-radius:26px}.profile-banner{background:linear-gradient(135deg,#142f62,#47318a)}.profile-row .avatar.large{border-color:var(--panel);box-shadow:0 12px 32px rgba(0,0,0,.35)}.profile-name h1{color:#fff}.profile-sidebar{border-radius:20px}.stats b{color:#fff}.settings-card,.settings-danger,.community-card,.community-hero,.narrow,.legal,.result,.notification{border-radius:22px}.community-card:hover,.result:hover{border-color:rgba(67,216,255,.32);transform:translateY(-2px)}
input,textarea,select{background:rgba(4,12,31,.55);border-color:var(--stroke);color:var(--text)}input::placeholder,textarea::placeholder{color:#7688ae}select option{background:var(--panel)}button,.button{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff}.ghost,button.ghost,.button.ghost{background:rgba(255,255,255,.04);border-color:var(--stroke);color:#dce6ff}.post-editor{background:rgba(4,12,31,.45);border-color:var(--stroke)}.post-editor>summary{color:#9ebaff}.post-editor textarea{background:rgba(3,9,25,.58)}footer{color:#65779d;border-top:1px solid rgba(139,173,255,.08)}footer button{color:#8294ba}.mobile-dock{display:none}
@media(min-width:1100px){:root{font-size:16px}.shell{max-width:1460px;padding:1.55rem 1.25rem 6rem}.app-grid{grid-template-columns:230px minmax(0,730px) 290px;gap:1.35rem}.post,.composer{padding:1rem}.post-image{margin-left:-1rem;width:calc(100% + 2rem)}}
@media(max-width:1080px){.app-grid{grid-template-columns:200px minmax(0,690px)}.right-column{display:none}.topbar nav>a{font-size:.82rem}}
@media(max-width:760px){body.app-session{padding-bottom:82px}.topbar{height:60px;position:sticky;padding:.55rem .85rem}.brand b{width:34px;height:34px;border-radius:11px}.brand>span{display:block}.topbar nav>a:not(.nav-profile){display:none}.nav-profile{margin:0!important;background:transparent!important}.nav-profile span{display:none}.nav-profile img{width:36px;height:36px}.shell{padding:.75rem .65rem 2rem}.app-grid{display:block}.sidebar{display:none}.feed-heading{margin:.4rem .35rem .85rem}.feed-heading h1{font-size:1.4rem}.composer{border-radius:19px;padding:.75rem}.composer-main>img{width:41px;height:41px}.composer-main textarea{font-size:.93rem}.composer-options{display:grid;grid-template-columns:repeat(3,1fr) auto}.composer-tool{justify-content:center;padding:.55rem .3rem}.composer-tool b{display:none}.publish-button{margin-left:0;width:42px;height:38px;padding:0}.post{border-radius:19px;padding:.85rem}.post-image{margin-left:-.85rem;width:calc(100% + 1.7rem)}.post-text{font-size:.96rem}.reactions{display:flex;flex-wrap:nowrap;overflow:auto}.reactions form{min-width:max-content}.reactions button{padding:.5rem .65rem}.right-column{display:none}.mobile-dock{position:fixed;z-index:50;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;width:min(calc(100% - 20px),520px);height:66px;padding:.35rem .55rem;border:1px solid rgba(139,173,255,.22);border-radius:22px;background:rgba(7,18,43,.92);box-shadow:0 20px 55px rgba(0,0,0,.5);backdrop-filter:blur(24px)}.mobile-dock a{display:grid;place-items:center;gap:0;color:#8497bd}.mobile-dock span{font-size:1.25rem;line-height:1}.mobile-dock small{font-size:.59rem}.mobile-dock img{width:25px;height:25px;object-fit:cover;border-radius:50%;border:1px solid #7899ef}.mobile-dock .dock-create{align-self:start;width:52px;height:52px;margin:-15px auto 0;border-radius:17px;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 9px 28px rgba(79,124,255,.45);transform:rotate(45deg)}.mobile-dock .dock-create span{font-size:1.6rem;transform:rotate(-45deg)}footer{display:none}.profile-head{border-radius:19px}.profile-page{padding-top:.1rem}.profile-banner{aspect-ratio:16/7}.profile-content{padding:0 .9rem 1rem}}
@media(max-width:420px){.online-pill{display:none}.composer-options{grid-template-columns:repeat(3,1fr) auto}.post header span:not(.verified-dot):not(.post-menu){font-size:.72rem}.community-tag{display:none}.reactions button{font-size:.72rem}.mobile-dock{width:calc(100% - 14px);bottom:7px}}

/* App-only shell: every member-facing route keeps the mobile experience. */
.install-app{padding:.45rem .7rem;border-radius:10px;font-size:.72rem;background:linear-gradient(135deg,var(--blue),var(--violet))}.install-app[hidden]{display:none!important}
.mobile-only{padding-bottom:84px}.mobile-only .topbar{width:min(100%,480px);height:60px;margin:0 auto;padding:.55rem .85rem;border-left:1px solid var(--stroke);border-right:1px solid var(--stroke)}.mobile-only .brand b{width:34px;height:34px;border-radius:11px}.mobile-only .brand>span{display:block}.mobile-only .topbar nav>a:not(.nav-profile){display:none}.mobile-only .topbar nav{margin-left:auto}.mobile-only .nav-profile{margin:0!important;background:transparent!important}.mobile-only .nav-profile span{display:none}.mobile-only .nav-profile img{width:36px;height:36px}.mobile-only .shell{width:min(100%,480px);padding:.75rem .65rem 2rem;min-height:calc(100vh - 60px);border-left:1px solid rgba(139,173,255,.07);border-right:1px solid rgba(139,173,255,.07);box-shadow:0 0 90px rgba(0,0,0,.28)}.mobile-only .app-grid{display:block}.mobile-only .sidebar,.mobile-only .right-column{display:none}.mobile-only .feed-heading{margin:.4rem .35rem .85rem}.mobile-only .feed-heading h1{font-size:1.4rem}.mobile-only .composer{border-radius:19px;padding:.75rem}.mobile-only .composer-main>img{width:41px;height:41px}.mobile-only .composer-main textarea{font-size:.93rem}.mobile-only .composer-options{display:grid;grid-template-columns:repeat(3,1fr) auto}.mobile-only .composer-tool{justify-content:center;padding:.55rem .3rem}.mobile-only .composer-tool b{display:none}.mobile-only .publish-button{margin-left:0;width:42px;height:38px;padding:0}.mobile-only .post{border-radius:19px;padding:.85rem}.mobile-only .post-image{margin-left:-.85rem;width:calc(100% + 1.7rem)}.mobile-only .post-text{font-size:.96rem}.mobile-only .reactions{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.mobile-only .reactions::-webkit-scrollbar{display:none}.mobile-only .reactions form{min-width:max-content}.mobile-only .reactions button{padding:.5rem .65rem}.mobile-only .mobile-dock{position:fixed;z-index:50;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;width:min(calc(100% - 20px),460px);height:66px;padding:.35rem .55rem;border:1px solid rgba(139,173,255,.22);border-radius:22px;background:rgba(7,18,43,.94);box-shadow:0 20px 55px rgba(0,0,0,.5);backdrop-filter:blur(24px)}.mobile-only .mobile-dock a{display:grid;place-items:center;gap:0;color:#8497bd}.mobile-only .mobile-dock span{font-size:1.25rem;line-height:1}.mobile-only .mobile-dock small{font-size:.59rem}.mobile-only .mobile-dock img{width:25px;height:25px;object-fit:cover;border-radius:50%;border:1px solid #7899ef}.mobile-only .mobile-dock .dock-create{align-self:start;width:52px;height:52px;margin:-15px auto 0;border-radius:17px;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 9px 28px rgba(79,124,255,.45);transform:rotate(45deg)}.mobile-only .mobile-dock .dock-create span{font-size:1.6rem;transform:rotate(-45deg)}.mobile-only footer{display:none}.mobile-only .profile-page{width:100%;padding-top:.1rem}.mobile-only .profile-head{border-radius:19px}.mobile-only .profile-banner{aspect-ratio:16/7}.mobile-only .profile-content{padding:0 .9rem 1rem}.mobile-only .profile-layout,.mobile-only .two-col,.mobile-only .community-grid,.mobile-only .search-results,.mobile-only .settings-layout{grid-template-columns:1fr}.mobile-only .profile-sidebar,.mobile-only .settings-danger{position:static}.mobile-only .profile-row{margin-top:-40px;align-items:flex-end;flex-wrap:wrap}.mobile-only .profile-row .avatar.large{width:84px;height:84px;border-width:4px}.mobile-only .profile-name{min-width:calc(100% - 100px)}.mobile-only .profile-name h1{font-size:1.45rem}.mobile-only .profile-actions{margin-left:0;width:100%;padding:0}.mobile-only .profile-actions form{flex:1}.mobile-only .profile-actions button{width:100%}.mobile-only .notification{grid-template-columns:1fr}.mobile-only .search-results{display:grid}.mobile-only .hero{display:block;min-height:auto;padding:3rem .35rem}.mobile-only .hero h1{font-size:clamp(3rem,14vw,4.3rem)}.mobile-only .hero-card{display:none}.mobile-only .features{grid-template-columns:1fr}.mobile-only .narrow{margin:4vh auto}.mobile-only .legal{padding:1.15rem}.mobile-only .stat-grid{grid-template-columns:repeat(2,1fr)}
@media(min-width:761px){body.mobile-only{background:radial-gradient(circle at 50% 0,rgba(79,124,255,.14),transparent 34rem),#030817}.mobile-only .topbar,.mobile-only .shell{background-color:rgba(5,11,28,.4)}}

/* Complete mobile application navigation. */
.menu-trigger{display:flex;align-items:center;gap:.45rem;padding:.25rem .45rem;border:1px solid var(--stroke);border-radius:13px;background:rgba(255,255,255,.05)}.menu-trigger:hover{background:rgba(79,124,255,.14)}.menu-trigger img{width:34px;height:34px;object-fit:cover;border-radius:10px}.menu-trigger span{font-size:1rem}.menu-backdrop{position:fixed;z-index:79;inset:0;background:rgba(0,4,15,.68);backdrop-filter:blur(4px)}.app-menu{position:fixed;z-index:80;top:0;right:max(0px,calc((100vw - 480px)/2));width:min(88vw,390px);height:100dvh;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem;background:linear-gradient(165deg,#0c1d43,#071126 68%);border-left:1px solid rgba(139,173,255,.22);box-shadow:-25px 0 70px rgba(0,0,0,.5);transform:translateX(105%);visibility:hidden;transition:transform .22s ease,visibility .22s}.app-menu.open{transform:translateX(0);visibility:visible}.menu-open{overflow:hidden}.app-menu header{display:flex;align-items:center;gap:.7rem;padding-bottom:.85rem;border-bottom:1px solid var(--stroke)}.menu-identity{display:flex;align-items:center;gap:.7rem;min-width:0;flex:1}.menu-identity img{width:48px;height:48px;object-fit:cover;border-radius:15px;border:2px solid rgba(67,216,255,.35)}.menu-identity b,.menu-identity small{display:block}.menu-identity small{color:var(--text-soft)}.menu-close{width:38px;height:38px;padding:0;border-radius:12px;background:rgba(255,255,255,.06);font-size:1.5rem}.app-menu>nav{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.app-menu>nav>a,.app-menu>nav>button{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;min-height:50px;padding:.7rem;border:1px solid rgba(139,173,255,.1);border-radius:14px;background:rgba(255,255,255,.035);color:#dce6ff;text-align:left;font-size:.86rem;font-weight:700}.app-menu>nav>a:hover,.app-menu>nav>button:hover{background:rgba(79,124,255,.16);border-color:rgba(79,124,255,.3)}.app-menu i{display:grid;place-items:center;width:26px;height:26px;color:var(--cyan);font-style:normal;font-size:1.05rem}.menu-meta{display:flex;align-items:center;gap:.8rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--stroke);color:var(--text-soft);font-size:.75rem}.menu-meta form{display:flex;margin-left:auto}.menu-meta button{padding:.25rem .4rem;background:transparent;color:var(--text-soft)}.menu-logout button{width:100%;justify-content:flex-start;gap:.65rem;border-radius:14px;background:rgba(255,97,116,.1);border:1px solid rgba(255,97,116,.18);color:#ff9ca8}.invite-status{min-height:1.2em;margin:0;color:var(--cyan);font-size:.75rem}.dock-menu{display:grid;place-items:center;gap:0;padding:0;background:transparent;color:#8497bd}.dock-menu:hover{background:transparent;color:#fff}.dock-menu span{font-size:1.25rem;line-height:1}.dock-menu small{font-size:.59rem}.public-session.mobile-only .topbar nav>a{display:flex}.public-session.mobile-only .topbar nav a:first-child{display:none}.public-session.mobile-only .topbar nav{gap:.25rem}.public-session.mobile-only .topbar nav>a{font-size:.75rem;padding:.45rem}.public-session.mobile-only .topbar .button.small{background:linear-gradient(135deg,var(--blue),var(--violet))}
@media(max-width:380px){.app-menu>nav{grid-template-columns:1fr}.public-session.mobile-only .brand>span{display:none}}

/* Photo stories: mobile-first camera and 24-hour viewer. */
.stories-rail{display:flex;gap:.7rem;margin-bottom:1rem;padding:.75rem;overflow-x:auto;scrollbar-width:none}.stories-rail::-webkit-scrollbar{display:none}.story-add,.story-item{flex:0 0 68px;display:grid;justify-items:center;gap:.35rem;padding:0;background:transparent;color:var(--text-soft);font-size:.7rem}.story-add:hover,.story-item:hover{background:transparent;color:#fff}.story-add:disabled{opacity:.45;cursor:not-allowed}.story-ring{position:relative;display:grid;place-items:center;width:62px;height:62px;padding:3px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue),var(--violet),var(--pink));box-shadow:0 7px 22px rgba(79,124,255,.24)}.story-ring img{width:100%;height:100%;object-fit:cover;border:3px solid var(--panel);border-radius:50%}.story-ring i{position:absolute;right:-1px;bottom:-1px;display:grid;place-items:center;width:23px;height:23px;border:3px solid var(--panel);border-radius:50%;background:var(--blue);color:#fff;font-style:normal;font-size:.9rem}.story-add small,.story-item small{width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-dialog{width:min(100% - 18px,460px);max-height:calc(100dvh - 18px);padding:.8rem;border:1px solid rgba(139,173,255,.24);border-radius:24px;background:linear-gradient(165deg,#0c1d43,#071126);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.68)}.story-dialog::backdrop{background:rgba(0,4,15,.82);backdrop-filter:blur(8px)}.story-dialog-close{position:absolute;z-index:3;top:1rem;right:1rem}.story-dialog-close button{width:40px;height:40px;padding:0;border-radius:50%;background:rgba(0,0,0,.45);font-size:1.5rem}.story-camera-form h2{margin:.25rem .35rem .75rem}.story-stage{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:9/14;overflow:hidden;border-radius:19px;background:#020611}.story-stage video,.story-stage img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.story-camera-message{position:absolute;max-width:75%;padding:.8rem;border-radius:13px;background:rgba(0,0,0,.58);text-align:center}.story-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.story-caption{margin:.75rem 0}.story-camera-actions{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;gap:.65rem}.story-camera-actions>button{border-radius:14px}.story-shutter{justify-self:center;width:62px;height:62px;padding:0;border:6px solid #fff;border-radius:50%!important;background:transparent!important;box-shadow:0 0 0 3px rgba(255,255,255,.25)}.story-camera-actions [data-story-publish]:disabled{opacity:.45;cursor:not-allowed}.story-camera-form>p{color:var(--text-soft);font-size:.72rem;text-align:center}.story-viewer{padding:.6rem}.story-viewer>[data-story-image]{display:block;width:100%;max-height:78dvh;aspect-ratio:9/16;object-fit:cover;border-radius:19px}.story-view-head{position:absolute;z-index:2;top:1.15rem;left:1.15rem;right:4rem;padding:.55rem .7rem;border-radius:13px;background:rgba(0,0,0,.38);backdrop-filter:blur(8px)}.story-view-head b,.story-view-head small{display:block}.story-view-head small{color:#d0daf1;font-size:.7rem}.story-viewer>[data-story-caption]{position:absolute;left:1.2rem;right:1.2rem;bottom:5.2rem;margin:0;padding:.65rem .8rem;border-radius:13px;background:rgba(0,0,0,.48);font-weight:700;text-align:center}.story-view-actions{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.7rem .2rem .15rem}.story-view-actions form{margin:0}.story-view-actions details{color:var(--text-soft)}.story-view-actions details form{position:absolute;left:.8rem;right:.8rem;bottom:4.5rem;display:grid;gap:.5rem;padding:.8rem;border:1px solid var(--stroke);border-radius:15px;background:#071126}.story-view-actions summary{cursor:pointer}.story-view-actions button{border-radius:12px}
@media(max-width:480px){.story-dialog{height:100dvh;max-height:none;width:100%;margin:0;border:0;border-radius:0}.story-stage{max-height:68dvh}.story-viewer>[data-story-image]{max-height:84dvh}}
.login-memory{margin:.1rem 0;color:var(--text-soft);font-size:.78rem;line-height:1.45}
.story-modes{display:flex;gap:.5rem;margin:0 3rem .7rem 0}.story-modes button{flex:1;padding:.5rem;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text-soft)}.story-modes button.active{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff}.story-stage output{position:absolute;z-index:3;top:1rem;left:1rem;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e83962;color:#fff;font-weight:900}.story-video-preview,.story-viewer>[data-story-video]{width:100%;max-height:78dvh;aspect-ratio:9/16;object-fit:cover;border-radius:19px;transform:none!important}.story-video-preview[hidden],.story-viewer>[data-story-video][hidden]{display:none}.messages-page,.conversation-page{width:min(100%,700px);margin:auto}.message-list{display:grid;gap:.65rem}.message-contact{display:flex;align-items:center;gap:.8rem;padding:.8rem}.message-contact img,.conversation-head img{width:48px;height:48px;object-fit:cover;border-radius:15px}.message-contact span{min-width:0;flex:1}.message-contact b,.message-contact small,.conversation-head b,.conversation-head small{display:block}.message-contact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft)}.message-contact i{display:grid;place-items:center;min-width:25px;height:25px;padding:0 .35rem;border-radius:99px;background:var(--pink);font-style:normal}.conversation-head{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.7rem}.conversation{display:flex;flex-direction:column;gap:.55rem;min-height:45dvh;padding:.8rem}.message-bubble{max-width:82%;padding:.7rem .8rem;border-radius:17px;background:#142b59}.message-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,#275de0,#734de5)}.message-bubble.theirs{align-self:flex-start}.message-bubble p{margin:0}.message-bubble time{font-size:.65rem;color:#bdcae7}.message-bubble form{display:inline;margin-left:.4rem}.message-bubble button{padding:.1rem;background:transparent;color:#d7e1f7;font-size:.65rem}.message-compose{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;gap:.5rem;margin-top:.7rem;padding:.65rem}.message-compose input{flex:1}.moderation-image:is(video){background:#000}

/* Flash messages must remain readable on the dark application theme. */
.flash{color:#172554;background:#e0e7ff;border-color:#a5b4fc;font-weight:700;line-height:1.55}
.flash.error{color:#7f1d1d;background:#fee2e2;border-color:#fca5a5}
.flash.success{color:#14532d;background:#dcfce7;border-color:#86efac}
.flash.info{color:#164e63;background:#cffafe;border-color:#67e8f9}


/* ------- profile-media.css ------- */
.avatar{overflow:hidden;padding:0}.avatar-img,.avatar.large{object-fit:cover;display:block}.avatar-img{width:100%;height:100%}
.profile-page{width:min(100%,1180px);margin:0 auto}.profile-head{padding:0;max-width:none;margin:0 0 1.25rem}.profile-banner{height:auto;aspect-ratio:8/3;margin:0;overflow:hidden;background:#dff4e9}.profile-banner img{display:block;width:100%;height:100%;object-fit:cover}.profile-content{padding:0 1.75rem 1.45rem}.profile-row{margin-top:-58px;align-items:flex-end}.profile-row .avatar.large{width:120px;height:120px;border:6px solid #fff;box-shadow:0 8px 28px rgba(18,49,38,.16)}.profile-name{padding-bottom:.45rem}.profile-name h1{margin:0;font-size:2rem;line-height:1.1}.profile-name span{color:var(--muted)}.profile-actions{margin-left:auto;display:flex;gap:.55rem;padding-bottom:.45rem}.profile-content>.stats{margin-top:1rem}.profile-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1.25rem;align-items:start}.profile-layout-single{grid-template-columns:1fr}.profile-layout-single .profile-stream{max-width:820px;justify-self:center;width:100%}.profile-sidebar{padding:1.25rem;position:sticky;top:5.75rem;min-width:0}.profile-bio{margin:0;overflow-wrap:anywhere}.profile-website{display:block;margin-top:1rem;color:var(--accent);overflow-wrap:anywhere}.profile-stream{max-width:none;margin:0;min-width:0}
.settings-layout{display:grid;grid-template-columns:minmax(0,900px) 330px;gap:1.25rem;align-items:start;max-width:1250px;margin:0 auto}.settings-card{padding:1.5rem}.settings-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.3rem}.settings-heading h1{margin:.2rem 0 0}.settings-heading p{max-width:420px;color:var(--muted);margin:0}.settings-card>form[id^="delete-"]{display:none}.media-editor{position:relative;margin-bottom:3.8rem}.cover-preview{aspect-ratio:8/3;border-radius:18px;overflow:hidden;background:var(--accent2);border:1px solid var(--line)}.cover-preview img,.avatar-preview img{width:100%;height:100%;display:block;object-fit:cover}.avatar-preview{position:absolute;left:1.5rem;bottom:-3.4rem;width:112px;height:112px;border-radius:50%;overflow:hidden;border:6px solid #fff;background:var(--accent2);box-shadow:0 8px 28px rgba(18,49,38,.16)}.media-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem 1rem;align-items:end}.media-field small{color:var(--muted);font-weight:400}.media-field input{padding:.62rem}.danger-text{color:var(--danger)!important}.upload-note{margin:.1rem 0 .8rem;padding:.75rem .9rem;border-radius:12px;background:#f1f7f3;color:var(--muted);font-size:.88rem}.settings-danger{padding:1.25rem;position:sticky;top:5.5rem}
@media(max-width:1023px){.settings-layout{grid-template-columns:1fr}.settings-danger{position:static}.profile-page{max-width:820px}.profile-layout{grid-template-columns:1fr}.profile-layout-single .profile-stream{max-width:none}.profile-sidebar{position:static}}
@media(max-width:700px){.profile-content{padding:0 1rem 1.2rem}.profile-row{margin-top:-40px;align-items:flex-end}.profile-row .avatar.large{width:84px;height:84px;border-width:4px}.profile-name{min-width:calc(100% - 100px)}.profile-name h1{font-size:1.45rem}.profile-actions{margin-left:0;width:100%;padding:0}.profile-actions form{flex:1}.profile-actions button{width:100%}.settings-card{padding:1rem}.settings-heading{display:block}.settings-heading p{margin-top:.7rem}.media-editor{margin-bottom:3rem}.avatar-preview{width:86px;height:86px;left:1rem;bottom:-2.7rem;border-width:4px}.media-controls{grid-template-columns:1fr}.media-controls button{justify-self:start}.settings-danger{padding:1rem}}
.profile-banner,.cover-preview,.avatar-preview{background:var(--color-soft)}.profile-row .avatar.large,.avatar-preview{box-shadow:0 8px 28px rgba(79,70,229,.16)}.upload-note{background:var(--color-soft);border:1px solid #C7D2FE}


/* ------- dragon-theme.css ------- */
:root{--dragon-deep:#081230;--dragon-night:#050b20;--dragon-cyan:#43d8ff;--dragon-violet:#8c63ff;--dragon-coral:#ff7396}
.dragon-theme{background:radial-gradient(circle at 20% -10%,rgba(67,216,255,.09),transparent 34%),radial-gradient(circle at 85% 18%,rgba(140,99,255,.1),transparent 30%),var(--dragon-night)}
.dragon-brand{display:flex;align-items:center;gap:.55rem}.dragon-brand img{width:39px;height:39px;object-fit:cover;border-radius:13px;box-shadow:0 0 24px rgba(67,216,255,.32)}.dragon-brand span{font-weight:900;letter-spacing:-.035em;background:linear-gradient(90deg,#fff,#8be9ff 58%,#c7adff);-webkit-background-clip:text;background-clip:text;color:transparent}
.dragon-theme .topbar{background:rgba(5,11,32,.86);border-bottom-color:rgba(82,184,255,.18)}.dragon-theme .card{border-color:rgba(87,159,255,.19);box-shadow:0 18px 50px rgba(0,4,20,.22)}.dragon-theme button,.dragon-theme .button{background:linear-gradient(135deg,#2577e8,#7957e8)}
.dragon-hero{position:relative;align-items:center;min-height:72vh;overflow:hidden}.dragon-hero:before{content:"";position:absolute;inset:8% 37% 8% 0;border-radius:50%;background:radial-gradient(circle,rgba(67,216,255,.1),transparent 65%);filter:blur(8px)}.dragon-hero-copy{position:relative;z-index:2}.dragon-hero h1{max-width:760px;font-size:clamp(2.8rem,8vw,6.2rem);line-height:.94;letter-spacing:-.065em}.dragon-hero p{max-width:620px;font-size:clamp(1rem,2vw,1.25rem);color:#b8c8e9}.dragon-promise{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem}.dragon-promise span{padding:.48rem .75rem;border:1px solid rgba(114,186,255,.18);border-radius:999px;background:rgba(19,40,83,.55);color:#d9e7ff;font-size:.78rem}.dragon-mascot{position:relative;display:grid;place-items:center;isolation:isolate}.dragon-mascot img{position:relative;z-index:1;width:min(540px,92vw);filter:drop-shadow(0 35px 65px rgba(0,0,0,.45))}.dragon-mascot small{position:relative;z-index:2;margin-top:-1.5rem;padding:.55rem .9rem;border:1px solid rgba(87,199,255,.22);border-radius:999px;background:rgba(8,18,48,.82);color:#dff7ff;font-weight:800}.dragon-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(68,215,255,.32),rgba(123,82,235,.12) 45%,transparent 70%);filter:blur(16px)}
.dragon-hero .animated-brand-title{width:max-content;max-width:100%;padding:.08em .04em .14em;background:linear-gradient(105deg,#f7fbff 8%,#62ddff 36%,#a77bff 62%,#ff6fcf 86%,#f7fbff 100%);background-size:220% auto;color:transparent;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 .12em .28em rgba(82,178,255,.24));animation:dragon-title-float 3.6s ease-in-out infinite,dragon-title-shine 6s linear infinite;transform-origin:50% 70%}@keyframes dragon-title-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-.09em) rotate(1deg)}}@keyframes dragon-title-shine{to{background-position:220% center}}
.dragon-features article{background:linear-gradient(155deg,rgba(16,39,84,.9),rgba(8,20,49,.9));border-color:rgba(91,175,255,.18)}.dragon-features article:nth-child(2){background:linear-gradient(155deg,rgba(42,31,93,.92),rgba(10,20,51,.92))}.dragon-features b{color:var(--dragon-cyan)}
.menu-dragon{display:flex;align-items:center;gap:.65rem;padding:.65rem;border:1px solid rgba(67,216,255,.14);border-radius:16px;background:rgba(67,216,255,.055);color:#bedaf7;font-size:.72rem}.menu-dragon img{width:44px;height:44px;border-radius:13px;object-fit:cover}.dragon-create{overflow:hidden;padding:0!important;border:3px solid #5ee4ff!important;background:#081230!important;box-shadow:0 0 0 4px rgba(91,120,255,.25),0 9px 26px rgba(0,0,0,.4)!important}.dragon-create img{width:100%;height:100%;object-fit:cover}.story-ring{background:linear-gradient(135deg,var(--dragon-cyan),#3679ef,var(--dragon-violet),var(--dragon-coral))}
@media(max-width:760px){.dragon-brand span{font-size:.93rem}.dragon-hero{min-height:auto;padding-top:2.5rem;text-align:center}.dragon-hero-copy{display:grid;justify-items:center}.dragon-hero h1{font-size:clamp(2.55rem,13vw,4.2rem)}.dragon-mascot img{width:min(390px,94vw)}.dragon-promise{justify-content:center}.dragon-features{gap:.75rem}}
.minor-fields{display:grid;gap:.75rem;margin:.2rem 0;padding:1rem;border:1px solid rgba(67,216,255,.2);border-radius:18px;background:rgba(67,216,255,.045)}.minor-fields legend{padding:0 .45rem;color:#8eeaff;font-size:.82rem;font-weight:900}.minor-fields label small{display:block;margin-top:.35rem;color:#91a5cc;font-size:.7rem;line-height:1.4}.parent-consent{text-align:left}.parent-consent>img{display:block;width:86px;height:86px;margin:0 auto 1rem;border-radius:24px;box-shadow:0 14px 45px rgba(67,216,255,.25)}.parent-consent>h1,.parent-consent>.eyebrow{text-align:center}.parent-consent dl{display:grid;gap:.55rem;margin:1rem 0}.parent-consent dl div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem;border-radius:13px;background:rgba(255,255,255,.045)}.parent-consent dt{color:#8fa5ce}.parent-consent dd{margin:0;font-weight:800}.privacy-note{padding:.8rem;border-left:3px solid var(--dragon-cyan);background:rgba(67,216,255,.06);color:#bdcdec;font-size:.82rem}
.voice-record{flex:0 0 44px;width:44px;height:44px;padding:0;border-radius:50%;font-size:1.1rem}.voice-record.recording{background:#e83e68;box-shadow:0 0 0 5px rgba(232,62,104,.18);animation:voice-pulse 1s infinite}.voice-status:empty{display:none}.voice-status{display:flex;align-items:center;max-width:210px;color:#b9c9e9;font-size:.72rem}.voice-status audio,.voice-player{width:min(260px,68vw);height:38px}.message-bubble .voice-player{display:block;margin:.15rem 0 .35rem}.message-compose:has(.voice-status:not(:empty)) input[name="content"]{min-width:80px}@keyframes voice-pulse{50%{transform:scale(.92);opacity:.82}}@media(max-width:480px){.message-compose{flex-wrap:wrap}.message-compose input[name="content"]{min-width:0}.voice-status{order:5;width:100%;max-width:none}.voice-status audio{width:100%}}
.admin-user-actions{display:grid;gap:.6rem;min-width:230px}.admin-user-actions form{margin:0}.purge-account-form{display:grid!important;gap:.4rem;padding:.6rem;border:1px solid rgba(232,62,104,.25);border-radius:12px;background:rgba(232,62,104,.06)}.purge-account-form label{display:grid;gap:.25rem}.purge-account-form input{padding:.45rem .55rem}.purge-account-form .danger{background:#b42342;color:#fff}
.admin-directory>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-directory>header h2{margin:0}.admin-search{display:flex;align-items:center;gap:.45rem;flex:1;max-width:620px}.admin-search input{flex:1}.admin-search .button{padding:.68rem .85rem}.admin-directory .purge-account-form{padding:0;border:0;background:none}.admin-directory .purge-account-form .danger{width:100%}@media(max-width:760px){.admin-directory>header,.admin-search{align-items:stretch;flex-direction:column;max-width:none}.admin-user-actions{min-width:170px}}
.post-owner-actions{display:flex;align-items:flex-start;gap:.55rem;margin:.8rem 0}.post-owner-actions .post-editor{flex:1;margin:0}.post-owner-actions>form{margin:0}.post-delete{padding:.65rem .85rem;border:1px solid rgba(255,97,116,.32);border-radius:13px;background:rgba(255,97,116,.12)!important;color:#ff8797!important}.post-delete:hover{background:#b42342!important;color:#fff!important}


/* ------- v2.css ------- */
/* Petit Dragon — mobile-first UI 2026, complements app.css and dragon-theme.css */
.pd-v2{--pd-cyan:#52e4f0;--pd-purple:#ad83ff;--pd-pink:#ff8eab;--pd-text:#ecf4ff;--pd-muted:#a8b9d6;--pd-border:rgba(145,172,239,.18);font-family:Inter,"Segoe UI",system-ui,sans-serif;letter-spacing:0}
.pd-v2 .shell{padding-top:1.65rem}.pd-v2 .card{border:1px solid var(--pd-border);box-shadow:0 18px 44px rgba(1,5,30,.18)}
.pd-v2 .topbar{min-height:75px;border-bottom:1px solid var(--pd-border);background:rgba(8,17,43,.86)!important;backdrop-filter:blur(24px)}
.pd-v2 .topbar nav a{border-radius:14px;font-weight:720;transition:background .2s,color .2s}
.pd-v2 .topbar nav a:hover,.pd-v2 .topbar nav a.is-current{background:rgba(91,217,251,.12);color:#b8fbff}
.pd-v2 :is(a,button,input,select,textarea):focus-visible{outline:3px solid #6ee8fa;outline-offset:3px}
.pd-v2 button,.pd-v2 .button{transition:transform .17s,filter .17s,background .17s}.pd-v2 button:hover,.pd-v2 .button:hover{filter:brightness(1.08)}.pd-v2 button:active,.pd-v2 .button:active{transform:scale(.97)}
.pd-v2 .eyebrow{color:#83ebfe;font-weight:900}.pd-v2 .feed-heading{margin-bottom:1.2rem;display:flex;align-items:center;gap:.7rem;justify-content:space-between}.pd-v2 .feed-heading h1{font-weight:900;line-height:1.1;letter-spacing:-.045em;margin:.25rem 0}
.pd-v2 .feed-subtitle{margin:.3rem 0;color:var(--pd-muted);font-size:.88rem}.pd-v2 .feed-school-link{display:flex;align-items:center;gap:.45rem;border:1px solid rgba(112,217,249,.28);border-radius:16px;padding:.65rem .88rem;background:linear-gradient(130deg,rgba(66,117,231,.19),rgba(129,68,214,.15));font-weight:820;white-space:nowrap}.pd-v2 .feed-school-link b{color:#76e8fa}
.pd-v2 .sidebar>a.is-current,.pd-v2 .sidebar>a.active{background:rgba(106,210,250,.14);color:#c3faff}
.pd-v2 .school-promo{display:flex;align-items:flex-start;gap:.9rem;color:inherit;text-decoration:none;padding:1.2rem;margin-top:1rem;background:linear-gradient(135deg,rgba(40,73,148,.8),rgba(54,34,105,.85))}.pd-v2 .school-promo>span{font-size:2rem}.pd-v2 .school-promo b{font-size:1.1rem}.pd-v2 .school-promo p{font-size:.88rem;color:var(--pd-muted)}.pd-v2 .school-promo strong{font-size:.8rem;color:#75e9fc}
.pd-v2 .school-page{--ink:var(--pd-text);--muted:var(--pd-muted);max-width:1160px;margin:0 auto}.pd-v2 .school-hero{background:radial-gradient(circle at 85% 25%,rgba(98,221,240,.18),transparent 36%),linear-gradient(130deg,#172c62,#26205c 63%,#192248);border:1px solid rgba(132,169,249,.22);border-radius:28px;display:grid;grid-template-columns:1fr 240px;overflow:hidden;min-height:235px;padding:2.5rem 2.5rem 2rem;gap:1rem;position:relative;margin-bottom:2rem}
.pd-v2 .school-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:950;line-height:1.04;letter-spacing:-.06em;margin:.45rem 0 .7rem}.pd-v2 .school-hero .accent-dot{color:#76f1fa}.pd-v2 .school-hero p{max-width:560px;color:#c0cbee;font-size:1rem;margin:0}.pd-v2 .school-hero-metrics{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem}.pd-v2 .school-hero-metrics span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.45rem .7rem;color:#d0dcf5;font-size:.83rem}.pd-v2 .school-hero-metrics b{font-size:1.05rem;color:#fff}
.pd-v2 .school-hero-art{position:relative;display:grid;place-items:center}.pd-v2 .book-emoji{font-size:7rem;transform:rotate(-12deg);filter:drop-shadow(0 20px 15px rgba(0,0,0,.32));animation:schoolFloat 5s ease-in-out infinite}.pd-v2 .note{position:absolute;padding:.7rem;border-radius:13px;background:#fff;color:#594baa;font-size:.88rem;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.18)}.pd-v2 .note.one{top:6%;left:4%;transform:rotate(-12deg)}.pd-v2 .note.two{bottom:14%;right:0;transform:rotate(10deg)}@keyframes schoolFloat{50%{transform:translateY(-9px) rotate(-8deg)}}
.pd-v2 .school-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.2rem;align-items:start}.pd-v2 .school-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.pd-v2 .school-toolbar h2{margin:.15rem 0 0;font-size:1.7rem;letter-spacing:-.045em}.pd-v2 .school-upload-trigger{border-radius:15px;padding:.82rem 1.1rem;white-space:nowrap;background:linear-gradient(125deg,#517bff,#9361fa);box-shadow:0 7px 22px rgba(77,102,245,.22)}
.pd-v2 .school-filters{display:flex;align-items:center;gap:.5rem;padding:.3rem;border:1px solid var(--pd-border);background:rgba(13,30,65,.76);border-radius:16px;width:fit-content;margin-bottom:1rem}.pd-v2 .school-filters button{border-radius:12px;background:transparent;color:#a9bad8;font-size:.85rem;padding:.65rem .85rem}.pd-v2 .school-filters button.active{background:rgba(76,135,248,.28);color:#f2f7ff;box-shadow:inset 0 0 0 1px rgba(124,173,255,.18)}.pd-v2 .school-filters b{background:rgba(255,255,255,.09);padding:.17rem .43rem;border-radius:999px;margin-left:.25rem}
.pd-v2 .school-search{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;border:1px solid var(--pd-border);background:rgba(16,31,69,.64);border-radius:15px;padding:0 .95rem}.pd-v2 .school-search span{font-size:1.8rem;color:#75e7fa}.pd-v2 .school-search input{border:0;box-shadow:none;outline:0!important;padding:.9rem 0;background:transparent;color:#f2f7ff}.pd-v2 .school-documents{display:grid;gap:.7rem}.pd-v2 .school-documents[hidden]{display:none}.pd-v2 .school-file{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:1rem;background:linear-gradient(130deg,rgba(22,38,84,.95),rgba(16,28,62,.96));border-radius:17px}.pd-v2 .school-file[hidden]{display:none}.pd-v2 .file-type{height:52px;width:52px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(140deg,rgba(85,213,241,.2),rgba(161,106,255,.2));color:#9bf2fa;font-size:.76rem;font-weight:950;letter-spacing:.04em}.pd-v2 .school-file-copy{min-width:0;display:grid;gap:.16rem}.pd-v2 .school-file-copy b{overflow-wrap:anywhere;font-weight:880}.pd-v2 .school-file-copy small{font-size:.75rem;color:#aebdd8}.pd-v2 .school-file-copy p{margin:.2rem 0;color:#aebbd7;font-size:.79rem;overflow-wrap:anywhere}.pd-v2 .school-file-copy .school-share-count{color:#77d9f8}.pd-v2 .school-file-actions{display:flex;align-items:center;gap:.55rem}.pd-v2 .school-file-actions .button{font-size:.75rem;padding:.6rem .75rem;white-space:nowrap}.pd-v2 .file-preview{color:#a8eafd;font-size:.78rem;font-weight:760}.pd-v2 .school-delete{padding:.48rem .56rem;border:1px solid rgba(241,120,156,.26);background:rgba(234,79,126,.13);color:#ffb2c9;font-size:.75rem}
.pd-v2 .school-aside{display:grid;gap:1rem;padding-top:3.1rem}.pd-v2 .school-tip{padding:1.35rem;background:linear-gradient(145deg,rgba(61,72,148,.5),rgba(29,41,88,.95))}.pd-v2 .school-tip>span{font-size:2.1rem;color:#74e2fd}.pd-v2 .school-tip h3{margin:.65rem 0 .5rem;font-size:1.08rem}.pd-v2 .school-tip p{font-size:.85rem;color:#b7c5df;margin:.5rem 0 0}.pd-v2 .school-tip.secondary{background:rgba(19,36,78,.82)}.pd-v2 .tip-chips{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:1rem}.pd-v2 .tip-chips span{font-size:.7rem;border:1px solid rgba(119,192,245,.2);border-radius:8px;padding:.3rem .45rem;color:#bfefff}
.pd-v2 .school-empty{padding:3rem 1.5rem;display:grid;justify-items:center;text-align:center;border:1px dashed rgba(128,175,246,.28);border-radius:22px;background:rgba(14,31,69,.5)}.pd-v2 .school-empty-icon{font-size:2.8rem}.pd-v2 .school-empty h3{margin:.7rem 0 .2rem;font-size:1.22rem}.pd-v2 .school-empty p{color:#aabbd9;max-width:350px;font-size:.89rem}.pd-v2 .school-zero{text-align:center;color:#aabbd9}.pd-v2 .school-prompt{padding:1rem;margin-bottom:1rem}
.pd-v2 .school-dialog{width:min(690px,calc(100vw - 22px));max-height:min(90vh,870px);overflow:auto;border:1px solid rgba(139,183,255,.34);border-radius:25px;padding:1.35rem;color:#f1f4ff;background:#101c40;box-shadow:0 30px 90px rgba(0,0,0,.57)}.pd-v2 .school-dialog::backdrop{background:rgba(1,6,20,.78);backdrop-filter:blur(5px)}.pd-v2 .school-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.pd-v2 .school-dialog h2{margin:.3rem 0 1.1rem;font-size:1.6rem}.pd-v2 .dialog-x{width:35px;height:35px;padding:0;border-radius:10px;background:rgba(255,255,255,.08)}.pd-v2 .school-upload-form{display:grid;gap:1.05rem}.pd-v2 .school-upload-form label{color:#dce7ff;gap:.4rem;font-size:.88rem}.pd-v2 .school-upload-form input,.pd-v2 .school-upload-form select{background:#172752;color:#f2f7ff;border-color:rgba(149,179,245,.25)}.pd-v2 .dropzone{border:1.5px dashed rgba(108,215,248,.45);border-radius:18px;background:rgba(84,147,242,.06);padding:1.15rem;text-align:center;display:grid;justify-items:center;gap:.5rem}.pd-v2 .dropzone-icon{font-size:2rem}.pd-v2 .dropzone b{font-size:1.04rem}.pd-v2 .dropzone small{color:#b0c3e3}.pd-v2 .dropzone output{font-size:.8rem;color:#90e9fa;overflow-wrap:anywhere}.pd-v2 .dropzone input{width:min(100%,280px);padding:.5rem;font-size:.75rem}.pd-v2 .school-form-two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.pd-v2 .school-friends{border:1px solid rgba(139,183,255,.2);border-radius:15px;padding:.8rem 1rem}.pd-v2 .school-friends legend{padding:0 .25rem;font-weight:780}.pd-v2 .school-friends legend small{font-weight:450;color:#b6c3df}.pd-v2 .school-friends p{font-size:.82rem;color:#b6c3df}.pd-v2 .friends-grid{display:grid;grid-template-columns:1fr 1fr;max-height:180px;overflow:auto;gap:.5rem}.pd-v2 .friend-check{display:flex!important;gap:.65rem!important;align-items:center;padding:.55rem;border:1px solid rgba(132,166,235,.15);border-radius:12px;cursor:pointer}.pd-v2 .friend-check:has(input:checked){background:rgba(86,198,245,.13);border-color:rgba(83,207,247,.4)}.pd-v2 .friend-check input{width:17px;height:17px;accent-color:#78dbf0}.pd-v2 .friend-check span{display:grid;font-size:.83rem}.pd-v2 .friend-check small{font-size:.7rem;color:#a8b9d8}.pd-v2 .school-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.pd-v2 .school-dialog-actions button{border-radius:12px}.pd-v2 .conversation-document-link{padding:.45rem 1rem;font-size:.8rem;text-align:center}.pd-v2 .conversation-document-link a{color:#8eeffd;font-weight:800}
.pd-v2 .messages-page .section-title{margin-bottom:1rem}.pd-v2 .messages-page .section-title h1{margin:.2rem 0}.pd-v2 .messages-page .section-title p{margin:0;color:var(--pd-muted);font-size:.85rem}
.pd-v2 .mobile-dock a.is-current{color:#8ef0ff}
@media(max-width:1100px){.pd-v2 .school-layout{grid-template-columns:minmax(0,1fr) 235px}.pd-v2 .school-hero{grid-template-columns:1fr 200px}}
@media(max-width:820px){.pd-v2 .school-layout{grid-template-columns:1fr}.pd-v2 .school-aside{display:none}.pd-v2 .school-hero{grid-template-columns:1fr 155px;padding:2rem 1.35rem}.pd-v2 .book-emoji{font-size:5rem}.pd-v2 .feed-school-link{font-size:.78rem}}
@media(max-width:700px){.pd-v2 .shell{padding-top:.85rem}.pd-v2 .topbar{position:sticky!important;padding:.45rem .85rem;min-height:64px}.pd-v2 .school-hero{padding:1.55rem 1.1rem;min-height:210px;border-radius:20px;margin-bottom:1.35rem}.pd-v2 .school-hero h1{font-size:2.55rem}.pd-v2 .school-hero p{font-size:.86rem}.pd-v2 .school-hero-art{display:none}.pd-v2 .school-toolbar h2{font-size:1.4rem}.pd-v2 .school-upload-trigger{font-size:.82rem;padding:.8rem .7rem}.pd-v2 .school-file{grid-template-columns:43px minmax(0,1fr);gap:.65rem;padding:.85rem}.pd-v2 .file-type{height:42px;width:42px;font-size:.65rem}.pd-v2 .school-file-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.pd-v2 .school-filters{width:100%}.pd-v2 .school-filters button{flex:1;padding:.65rem .35rem;font-size:.76rem}.pd-v2 .school-form-two{grid-template-columns:1fr}.pd-v2 .friends-grid{grid-template-columns:1fr}.pd-v2 .school-dialog{padding:1rem}.pd-v2 .feed-heading{margin:.35rem 0 1rem}.pd-v2 .feed-heading h1{font-size:1.65rem}.pd-v2 .feed-subtitle{display:none}.pd-v2 .feed-school-link{padding:.55rem .6rem}.pd-v2 .feed-school-link span{display:none}.pd-v2 .mobile-dock a{min-width:0}.pd-v2 .brand.dragon-brand img{max-height:40px}}
@media(prefers-reduced-motion:reduce){.pd-v2 *, .pd-v2 *::before,.pd-v2 *::after{animation:none!important;transition:none!important}}


/* ------- v3-mobile.css ------- */
/* Petit Dragon V3 — correctifs mobiles, chargés en dernier.
   Chaque composant reste dans le viewport, même à 320px et en mode clavier. */
html { min-width:0; max-width:100%; overflow-x:clip; }
.pd-v3 { width:100%; min-width:0; max-width:100%; overflow-x:clip; }
.pd-v3 :is(.shell,.card,.app-grid,.feed-column,.profile-page,.profile-layout,.profile-stream,
  .school-page,.school-layout,.school-main,.school-file-copy,.messages-page,.conversation-page,
  .conversation,.settings-layout,.settings-card,.admin-directory,.table-wrap,.legal,.narrow) { min-width:0; max-width:100%; }
.pd-v3 :is(input,select,textarea,button,.button) { max-width:100%; }
.pd-v3 img, .pd-v3 video, .pd-v3 iframe { max-width:100%; }
.pd-v3 :is(.post-text,.message-bubble,.comment-form,.card,.menu-identity,.school-file-copy,.conversation-head,
  .notification,.settings-heading,.community-hero,.school-dialog-head) { overflow-wrap:anywhere; }
.pd-v3 .post-image { display:block; width:calc(100% + 2rem); max-width:calc(100% + 2rem); height:auto; max-height:min(72dvh,780px); object-fit:contain; background:rgba(0,4,18,.5); cursor:zoom-in; }
.pd-v3 .post-image[hidden] { display:none!important; }
.pd-v3 .post-media-unavailable { margin:.65rem 0; padding:.9rem 1rem; border-radius:14px; border:1px dashed rgba(140,171,239,.3); color:#c3cee7; background:rgba(19,34,74,.7); font-size:.85rem; }
.pd-v3 .profile-banner img,.pd-v3 .cover-preview img { max-width:none; }
.pd-v3 .menu-backdrop[hidden],.pd-v3 [hidden] { display:none!important; }
.pd-v3 .menu-identity span, .pd-v3 .menu-identity b, .pd-v3 .menu-identity small { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pd-v3 .app-menu { overflow-y:auto; overscroll-behavior:contain; right:0; width:min(100%,390px); max-width:100vw; }
.pd-v3 .menu-identity img { flex:none; }
.pd-v3 .app-menu>nav { min-width:0; }
.pd-v3 .app-menu>nav a,.pd-v3 .app-menu>nav button { min-width:0; overflow-wrap:anywhere; }
.pd-v3 .topbar .menu-trigger img { width:34px; height:34px; max-width:34px; }
/* Stories : le mode création doit laisser voir les commandes, même en paysage. */
.pd-v3 .story-dialog, .pd-v3 .school-dialog, .pd-v3 .media-dialog {
  box-sizing:border-box; width:min(100% - 20px,580px); max-width:calc(100vw - 20px);
  max-height:calc(100dvh - 20px); height:auto; margin:auto; padding:1rem;
  overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border-radius:20px;
}

/* Appels audio et vidéo privés entre amis réciproques. */
.video-call-start{margin-left:auto;display:flex;align-items:center;gap:.35rem;padding:.55rem .75rem;border-radius:13px;background:linear-gradient(135deg,#247bea,#754de5);white-space:nowrap}
.video-call-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#02050d;color:#fff;box-shadow:none;overflow:hidden}
.video-call-dialog::backdrop{background:rgba(0,3,12,.9);backdrop-filter:blur(8px)}
.video-call-stage{position:absolute;inset:0;width:100%;height:100%;background:#02050d;overflow:hidden}
.video-call-stage [data-call-remote]{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.video-call-stage [data-call-local]{position:absolute;z-index:4;right:max(1rem,env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));width:min(27vw,170px);min-width:92px;aspect-ratio:3/4;object-fit:cover;border:2px solid rgba(255,255,255,.75);border-radius:17px;background:#10182d;transform:scaleX(-1);box-shadow:0 10px 35px rgba(0,0,0,.45)}
.video-call-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:5rem;color:#5d719b}
.video-call-copy{position:absolute;z-index:3;left:1rem;top:1rem;display:grid;gap:.2rem;padding:.65rem .8rem;border-radius:14px;background:rgba(2,7,18,.65);backdrop-filter:blur(8px)}
.video-call-copy b{font-size:1.05rem}.video-call-copy span{color:#cfdaef;font-size:.78rem}
.video-call-actions{position:absolute;z-index:5;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;gap:.7rem;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(2,5,13,.92) 35%)}
.video-call-actions button{min-height:48px;border-radius:999px}.video-call-actions .call-accept{background:#20a567}.video-call-actions .call-end{background:#df3f5d}.video-call-actions .call-control{width:48px;padding:0;background:#243759}.video-call-actions .call-control.off{background:#852e42;opacity:.75}
@media(max-width:540px){.video-call-start span{display:none}.video-call-stage [data-call-local]{width:29vw;right:.75rem}.video-call-actions button span{display:none}}
.pd-v3 .story-dialog .story-stage { width:100%; aspect-ratio:9/11; height:auto; max-height:min(48dvh,480px); }
.pd-v3 .story-dialog .story-camera-form { display:flex; flex-direction:column; min-width:0; }
.pd-v3 .story-camera-actions { grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); gap:.4rem; }
.pd-v3 .story-camera-actions>button { min-width:0; padding:.55rem .3rem; font-size:.78rem; }
.pd-v3 .story-shutter { width:48px; height:48px; }
.pd-v3 .story-dialog .story-caption input { min-width:0; }
.pd-v3 .story-viewer>[data-story-image],.pd-v3 .story-viewer>[data-story-video] {
  width:100%; height:auto; aspect-ratio:auto; max-height:min(68dvh,650px); object-fit:contain; background:#020611;
}
.pd-v3 .story-viewer>[data-story-caption] { position:static; margin:.5rem 0; }
.pd-v3 .story-view-actions { flex-wrap:wrap; }
/* Le PDF n'ouvre plus un onglet gigantesque par défaut : aperçu intégré. */
.pd-v3 .media-dialog { width:min(100% - 16px,900px); max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); height:min(760px,calc(100dvh - 16px)); padding:0; border:1px solid rgba(139,183,255,.34); background:#071329; color:#fff; overflow:hidden; }
.pd-v3 .media-dialog-head { display:flex; align-items:center; gap:.6rem; padding:.65rem .8rem; border-bottom:1px solid rgba(139,183,255,.2); }
.pd-v3 .media-dialog-head b { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; }
.pd-v3 .media-dialog-head button { padding:.42rem .65rem; border-radius:10px; }
.pd-v3 .media-dialog-head a { font-size:.75rem; padding:.4rem .5rem; border-radius:10px; background:rgba(89,151,245,.2); }
.pd-v3 .media-dialog-frame { display:block; height:calc(100% - 58px); width:100%; border:0; background:#fff; }
.pd-v3 .media-dialog-image { width:100%; height:calc(100% - 58px); object-fit:contain; }
.pd-v3 .media-dialog-frame[hidden],.pd-v3 .media-dialog-image[hidden] { display:none!important; }
.pd-v3 .school-file-actions { min-width:0; flex-wrap:wrap; }
.pd-v3 .school-file-actions a { overflow-wrap:anywhere; }
.pd-v3 .school-filters { width:100%; overflow-x:auto; max-width:100%; }
.pd-v3 .school-filters button { flex:1; min-width:0; white-space:normal; }
.pd-v3 .school-friends { min-width:0; }
.pd-v3 .friends-grid { min-width:0; }
.pd-v3 .friend-check { min-width:0; }
.pd-v3 .friend-check span { min-width:0; overflow-wrap:anywhere; }
.pd-v3 .school-dialog .school-upload-form { min-width:0; }
.pd-v3 .school-dialog-actions { flex-wrap:wrap; }
.pd-v3 .school-dialog input[type=file] { font-size:.77rem; }
.pd-v3 .message-bubble { max-width:min(85%,560px); min-width:0; }
.pd-v3 .message-bubble .voice-player { max-width:100%; }
.pd-v3 .conversation-head>div,.pd-v3 .message-contact>span { min-width:0; }
.pd-v3 .comment-form input,.pd-v3 .message-compose input { min-width:0; }
.pd-v3 .post-owner-actions { flex-wrap:wrap; }
.pd-v3 .inline-report { flex-wrap:wrap; }
.pd-v3 .admin-grid, .pd-v3 .stat-grid { min-width:0; }
.pd-v3 .table-wrap { overflow-x:auto; overscroll-behavior-x:contain; }
@media(max-width:760px) {
  .pd-v3 .shell,.pd-v3.mobile-only .shell { box-sizing:border-box; width:100%; max-width:480px; padding: .8rem .7rem calc(108px + env(safe-area-inset-bottom)); }
  .pd-v3 .topbar,.pd-v3.mobile-only .topbar { box-sizing:border-box; width:100%; max-width:480px; }
  .pd-v3 .feed-column,.pd-v3 .post,.pd-v3 .composer { width:100%; min-width:0; }
  .pd-v3 .post-image { width:calc(100% + 1.7rem); max-width:calc(100% + 1.7rem); margin-left:-.85rem; }
  .pd-v3 .reactions { display:flex; flex-wrap:wrap; }
  .pd-v3 .reactions form { flex:1 1 40%; min-width:0; }
  .pd-v3 .reactions button { white-space:normal; min-height:40px; }
  .pd-v3 .post header>div { min-width:0; overflow-wrap:anywhere; }
  .pd-v3 .composer-options { flex-wrap:wrap; min-width:0; }
  .pd-v3 .composer-tool { min-width:0; max-width:100%; }
  .pd-v3 .composer-tool input[type=url], .pd-v3 .composer-tool select { min-width:0; }
  .pd-v3 .profile-row .avatar.large { flex:none; }
  .pd-v3 .profile-name { min-width:0; flex:1 1 150px; }
  .pd-v3 .profile-actions { flex-wrap:wrap; }
  .pd-v3 .profile-actions a,.pd-v3 .profile-actions form { flex:1 1 80px; }
  .pd-v3 .profile-actions button { white-space:normal; }
  .pd-v3 .school-hero { min-height:0; }
  .pd-v3 .school-toolbar { flex-wrap:wrap; }
  .pd-v3 .school-toolbar>div { min-width:0; }
  .pd-v3 .school-upload-trigger { flex:0 1 auto; white-space:normal; }
  .pd-v3 .school-file { grid-template-columns:42px minmax(0,1fr); }
  .pd-v3 .school-file-actions { grid-column:1/-1; justify-content:flex-start; }
  .pd-v3 .school-file-actions form { max-width:100%; }
  .pd-v3 .school-file-actions :is(a,button) { min-height:36px; }
  .pd-v3 .school-dialog,.pd-v3 .story-dialog { width:calc(100% - 12px); max-width:calc(100vw - 12px); max-height:calc(100dvh - 12px); height:auto; padding:.8rem; border-radius:18px; }
  .pd-v3 .school-dialog h2 { font-size:1.2rem; }
  .pd-v3 .school-dialog-actions button { flex:1; white-space:normal; }
  .pd-v3 .story-dialog .story-stage { max-height:40dvh; aspect-ratio:4/3; }
  .pd-v3 .story-camera-form>p { margin:.4rem 0; }
  .pd-v3 .story-viewer>[data-story-image],.pd-v3 .story-viewer>[data-story-video] { max-height:62dvh; }
  .pd-v3 .message-compose { max-width:100%; bottom:calc(82px + env(safe-area-inset-bottom)); }
  .pd-v3 .comment-form { flex-wrap:wrap; }
  .pd-v3 .comment-form button { flex:0 0 auto; }
  .pd-v3 .mobile-dock { max-width:calc(100vw - 14px); box-sizing:border-box; }
  .pd-v3 .mobile-dock :is(a,button) { min-width:0; }
  .pd-v3 .mobile-dock small { font-size:clamp(.52rem,2.35vw,.64rem); }
  .pd-v3 footer { display:none; }
  .pd-v3 .app-menu { width:min(100vw,390px); max-height:100dvh; }
}
@media(max-width:360px) {
  .pd-v3 .app-menu>nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pd-v3 .app-menu>nav a,.pd-v3 .app-menu>nav button { font-size:.76rem; gap:.3rem; padding:.5rem .4rem; min-height:43px; }
  .pd-v3 .app-menu i { width:20px; }
  .pd-v3 .menu-meta { flex-wrap:wrap; }
  .pd-v3 .school-toolbar h2 { font-size:1.3rem; }
  .pd-v3 .school-filters button { font-size:.7rem; }
  .pd-v3 .school-hero h1 { font-size:2.1rem; }
  .pd-v3 .post .author-line { gap:.2rem; }
}
@media(max-height:520px) and (orientation:landscape) {
  .pd-v3 .story-dialog .story-stage { max-height:32dvh; aspect-ratio:16/9; }
  .pd-v3 .story-viewer>[data-story-image],.pd-v3 .story-viewer>[data-story-video] { max-height:48dvh; }
}

/* Inscription / connexion : Turnstile visible et utilisable sur petit écran. */
.pd-v3 .captcha-turnstile {
  box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.6rem;
  min-width:0;width:100%;padding:.9rem .65rem;text-align:center;
}
.pd-v3 .captcha-turnstile > strong {font-size:.9rem;line-height:1.3;color:inherit}
.pd-v3 .captcha-turnstile .cf-turnstile {max-width:100%;margin-inline:auto}
.pd-v3 .captcha-turnstile .captcha-status {font-size:.78rem;line-height:1.4;margin:0;color:var(--muted)}
.pd-v3 .captcha-turnstile .captcha-status[data-state="success"] {color:#15803d}
.pd-v3 .captcha-turnstile .captcha-status[data-state="error"] {color:#b91c1c;font-weight:700}


/* ------- avatar-picker.css ------- */
.card-soft{padding:1rem;border-radius:22px;background:rgba(255,255,255,.58);border:1px solid rgba(199,210,254,.65)}
.avatar-picker{display:grid;gap:1rem;margin-bottom:1rem}
.avatar-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.avatar-picker-head h2{margin:.15rem 0 0;font-size:1.05rem}
.avatar-tabs{display:flex;gap:.55rem;overflow:auto;padding-bottom:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.avatar-tabs::-webkit-scrollbar{display:none}
.avatar-tabs button{border:1px solid rgba(99,102,241,.18);background:#fff;border-radius:999px;padding:.7rem 1rem;font-weight:700;color:#24304f;white-space:nowrap;box-shadow:0 6px 18px rgba(79,70,229,.08)}
.avatar-tabs button.active,.avatar-tabs button[aria-pressed="true"]{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-color:transparent}
.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.7rem}
.avatar-option{aspect-ratio:1/1;border:2px solid transparent;border-radius:20px;padding:.2rem;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(240,244,255,.92));box-shadow:0 8px 18px rgba(8,18,48,.12);overflow:hidden;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.avatar-option img{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px}
.avatar-option.selected{border-color:#4f46e5;box-shadow:0 12px 26px rgba(79,70,229,.22)}
.avatar-option.selected::after{content:"✓";position:absolute;right:.35rem;bottom:.35rem;width:1.45rem;height:1.45rem;border-radius:999px;background:#4f46e5;color:#fff;font-size:.82rem;display:grid;place-items:center;box-shadow:0 6px 15px rgba(79,70,229,.35)}
.avatar-option:hover{transform:translateY(-1px)}
@media (max-width: 700px){
  .avatar-picker{padding:.9rem}
  .avatar-picker-head{display:block}
  .avatar-picker-head .ghost.small{width:100%;margin-top:.7rem}
  .avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
  .avatar-tabs button{padding:.62rem .9rem;font-size:.92rem}
}
@media (max-width: 430px){
  .avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* ------- v5-modern.css ------- */
/* Petit Dragon V5 - Mobile-first 2026 UI system. Loaded after all legacy styles. */
:root{--pd-bg:#080f24;--pd-surface:#111e38;--pd-raised:#142444;--pd-stroke:rgba(152,176,224,.16);--pd-text:#f6f8ff;--pd-subtle:#a7b7d6;--pd-blue:#5d8bff;--pd-cyan:#67e2f3;--pd-pink:#ee86df;--pd-glow:0 20px 56px rgba(0,0,0,.17);--accent:#598aff;--accent2:#1d3565;--ink:#f6f8ff;--muted:#adbdd9;--card:#111e38;--line:rgba(152,176,224,.16);--paper:#080f24;--shadow:0 12px 30px rgba(0,0,0,.16);color-scheme:dark}
html{width:100%;overflow-x:clip;scroll-behavior:smooth}
body.pd-v5{background:radial-gradient(ellipse 900px 560px at 50% -340px,rgba(72,114,255,.23),transparent 85%),#080f24!important;color:var(--pd-text);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5;letter-spacing:-.008em;-webkit-font-smoothing:antialiased;overflow-x:clip}
.pd-v5 *{min-width:0}
.pd-v5 ::selection{background:#4d5fe8;color:#fff}
.pd-v5 .ambient{pointer-events:none;opacity:.12;filter:blur(90px)}
.pd-v5 a{color:inherit;text-decoration:none}
.pd-v5 .card{background:linear-gradient(158deg,rgba(22,37,70,.97),rgba(15,26,51,.96));border:1px solid var(--pd-stroke);box-shadow:var(--pd-glow);border-radius:23px}
.pd-v5 h1,.pd-v5 h2,.pd-v5 h3,.pd-v5 h4{color:#f9fbff;letter-spacing:-.045em;line-height:1.18}
.pd-v5 .eyebrow{font-size:.68rem;letter-spacing:.15em;color:#84dfff;font-weight:800;text-transform:uppercase}
.pd-v5 p,.pd-v5 small{color:var(--pd-subtle)}
.pd-v5 button,.pd-v5 .button{border:0;border-radius:13px;background:linear-gradient(125deg,#377bff,#8364ef);color:#fff;font-size:.89rem;font-weight:800;white-space:normal;line-height:1.2;min-height:42px;max-width:100%;cursor:pointer;transition:background-color .18s,transform .18s,box-shadow .18s;padding:.72rem 1rem;letter-spacing:0}
.pd-v5 button:hover,.pd-v5 .button:hover{box-shadow:0 8px 20px rgba(77,106,245,.2)}
.pd-v5 :is(button,.button,a,input,textarea,select):focus-visible{outline:2px solid #88eeff;outline-offset:3px}
.pd-v5 .ghost,.pd-v5 button.ghost,.pd-v5 .button.ghost{background:rgba(103,133,210,.12);border:1px solid rgba(152,179,246,.2);color:#e4eeff}
.pd-v5 button.danger{background:#b43d60;color:white}
.pd-v5 :is(input,textarea,select){background:#0c1832;color:#f8faff;border:1px solid rgba(144,170,230,.2);border-radius:14px;outline:none;box-sizing:border-box;max-width:100%;font-size:16px;padding:.8rem .9rem;min-height:45px}
.pd-v5 :is(input,textarea)::placeholder{color:#8296bd;opacity:1}
.pd-v5 select{color-scheme:dark}
.pd-v5 textarea{resize:vertical}
.pd-v5 .flash{background:rgba(62,175,140,.14);border:1px solid rgba(83,205,163,.4);color:#d1fff0;box-shadow:none;border-radius:16px;line-height:1.5;overflow-wrap:anywhere;font-size:.87rem}
.pd-v5 .flash.error{background:#3f1928!important;border-color:#a94c67!important;color:#ffe4ed!important}
.pd-v5 .flash.info{background:#142d52;color:#d2ecff;border-color:#2c628e}
.pd-v5 .topbar{z-index:50;height:68px;min-height:68px;background:rgba(9,17,36,.93)!important;border-bottom:1px solid rgba(170,196,255,.1);padding:0 max(18px,calc((100vw - 1320px)/2))!important;backdrop-filter:blur(18px)}
.pd-v5 .topbar .brand{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;font-size:1rem;font-weight:900;letter-spacing:-.045em}
.pd-v5 .topbar .brand img{width:37px;height:37px;object-fit:cover;border-radius:12px}
.pd-v5 .topbar nav{gap:.25rem}
.pd-v5 .topbar nav>a{font-size:.83rem;font-weight:700;padding:.65rem .75rem;white-space:nowrap;color:#b9c7e5;border-radius:12px}
.pd-v5 .topbar nav>a:hover,.pd-v5 .topbar nav>a.is-current{background:rgba(117,144,229,.13);color:#fff}
.pd-v5 .topbar nav button.menu-trigger{background:rgba(96,137,228,.11);border:1px solid rgba(134,169,243,.2);padding:.23rem;min-height:40px;min-width:54px;border-radius:15px}
.pd-v5 .topbar nav button.menu-trigger img{width:32px;height:32px;border-radius:11px;object-fit:cover}
.pd-v5 #install-app{background:rgba(101,117,237,.2);box-shadow:none;border:1px solid rgba(125,149,249,.25);font-size:.74rem;min-height:32px;padding:.35rem .6rem}
.pd-v5 .shell{padding:1.35rem 1rem 7rem;max-width:1320px;width:100%}
.pd-v5 .app-grid{display:grid;grid-template-columns:minmax(185px,230px) minmax(0,1fr) minmax(195px,250px);gap:20px;align-items:start;max-width:1220px;margin:0 auto}
.pd-v5 .sidebar,.pd-v5 .rightbar{top:88px;padding:.8rem;border-radius:22px}
.pd-v5 .sidebar a{color:#c8d5ee;font-size:.89rem;border-radius:14px;min-height:44px}
.pd-v5 .sidebar .side-profile{display:flex;align-items:center;gap:.65rem;background:rgba(100,132,209,.1);border:1px solid rgba(147,183,255,.14)}
.pd-v5 .sidebar .side-profile img{height:40px;width:40px;object-fit:cover;border-radius:13px}
.pd-v5 .right-column .safe-card{border-radius:20px}
.pd-v5 .feed-column,.pd-v5 .profile-page,.pd-v5 .messages-page,.pd-v5 .conversation-page,.pd-v5 .settings-layout,.pd-v5 .school-page,.pd-v5 .friends-page{min-width:0;max-width:100%}
.pd-v5 .feed-heading{margin:.15rem 0 1rem;display:flex;align-items:end;justify-content:space-between;gap:.65rem}
.pd-v5 .feed-heading h1{margin:.15rem 0 .2rem;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.08}
.pd-v5 .feed-subtitle{margin:.2rem 0;font-size:.87rem}
.pd-v5 .feed-school-link{display:inline-flex!important;align-items:center;gap:.5rem;background:#1b3054!important;border:1px solid rgba(139,169,246,.22)!important;min-height:40px!important;padding:.5rem .85rem!important;border-radius:13px!important;box-shadow:none!important;font-size:.82rem;font-weight:800;color:#dfecff!important;white-space:nowrap}
/* Stories */
.pd-v5 .stories-rail{display:flex;gap:1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:1rem;margin:0 0 1rem}
.pd-v5 .stories-rail::-webkit-scrollbar{display:none}
.pd-v5 .story-add,.pd-v5 .story-item{display:flex;flex-direction:column;align-items:center;flex:none;gap:.36rem;background:none!important;box-shadow:none!important;border:0!important;border-radius:13px;min-width:66px;width:72px;padding:.25rem;scroll-snap-align:start;font-size:.75rem}
.pd-v5 .story-ring{height:58px;width:58px;padding:3px;border-radius:20px!important;background:linear-gradient(135deg,#73ddf8,#4e72ff,#e981cb);box-shadow:0 7px 20px rgba(57,106,239,.14)}
.pd-v5 .story-ring img{width:100%;height:100%;border-radius:16px!important;object-fit:cover}
.pd-v5 .story-add small,.pd-v5 .story-item small{color:#d4e2ff;max-width:74px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
/* Composer - explicit fixes for inherited 42px button constraint */
.pd-v5 .pd-composer{padding:1.15rem!important;overflow:visible;display:grid;gap:.8rem;margin-bottom:1.05rem}
.pd-v5 .pd-composer .composer-intro{display:flex;align-items:center;gap:.75rem}
.pd-v5 .pd-composer .composer-avatar{height:44px;width:44px;border-radius:16px;object-fit:cover;flex:none;border:2px solid rgba(123,154,246,.28)}
.pd-v5 .pd-composer .composer-copy{display:grid;gap:.1rem;min-width:0}
.pd-v5 .pd-composer .composer-copy strong{color:#f7f9ff;font-size:.94rem;letter-spacing:-.02em}
.pd-v5 .pd-composer .composer-copy small{font-size:.76rem;color:#9cb4dd}
.pd-v5 .pd-composer textarea{display:block;border:1px solid rgba(133,168,245,.13)!important;background:#0a1731!important;border-radius:17px!important;padding:1rem!important;min-height:96px!important;width:100%;font-size:1rem;line-height:1.5;color:#fff;box-shadow:none}
.pd-v5 .pd-composer .pd-composer-options{display:flex!important;align-items:center;gap:.55rem;border:0!important;padding:0!important;flex-wrap:wrap;min-height:46px}
.pd-v5 .pd-composer .composer-tool{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;flex:0 0 auto;min-width:104px!important;width:auto!important;max-width:100%!important;min-height:42px;border-radius:12px;padding:.65rem .85rem;border:1px solid rgba(139,170,239,.18);background:rgba(98,136,231,.1);color:#dde9ff;font-weight:750;font-size:.82rem;overflow:hidden;cursor:pointer}
.pd-v5 .pd-composer .composer-tool b{display:inline!important;font-weight:800!important;visibility:visible!important;color:inherit!important;font-size:.83rem}
.pd-v5 .pd-composer .composer-tool-icon{display:inline-flex;font-size:1.12rem;line-height:1;color:#7dddfb}
.pd-v5 .pd-composer .composer-tool input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.pd-v5 .pd-composer .composer-advanced{position:relative;min-width:0}
.pd-v5 .pd-composer .composer-advanced summary{display:inline-flex;align-items:center;gap:.55rem;min-height:42px;border:1px solid rgba(139,170,239,.18);padding:.65rem .8rem;border-radius:12px;cursor:pointer;color:#deebff;font-size:.84rem;font-weight:800;background:rgba(98,136,231,.1);list-style:none}
.pd-v5 .pd-composer .composer-advanced summary::-webkit-details-marker{display:none}
.pd-v5 .pd-composer .composer-advanced-fields{display:grid;gap:.75rem;background:rgba(9,18,40,.88);border:1px solid rgba(150,181,250,.2);padding:.85rem;border-radius:15px;margin-top:.55rem;width:min(100%,480px);min-width:min(300px,calc(100vw - 75px))}
.pd-v5 .pd-composer .composer-advanced-fields label{font-size:.8rem;min-width:0;color:#d2e2fd;display:grid;gap:.25rem}
.pd-v5 .pd-composer .composer-advanced-fields input,.pd-v5 .pd-composer .composer-advanced-fields select{max-width:100%}
.pd-v5 .pd-composer .composer-media-preview{display:flex;align-items:center;gap:.7rem;padding:.55rem;background:#0a1731;border:1px solid rgba(135,160,224,.13);border-radius:12px}
.pd-v5 .pd-composer .composer-media-preview[hidden]{display:none!important}
.pd-v5 .pd-composer .composer-media-preview img{max-width:80px;width:80px;max-height:64px;object-fit:cover;border-radius:10px}
.pd-v5 .pd-composer .composer-media-preview>div{display:grid;gap:.35rem;overflow:hidden;font-size:.76rem}
.pd-v5 .pd-composer [data-post-remove]{background:transparent!important;color:#96dcf6;text-align:left;box-shadow:none!important;border:0;padding:0;min-height:0}
.pd-v5 .pd-composer .composer-footer{display:flex;align-items:center;justify-content:space-between;gap:.65rem;border-top:1px solid rgba(144,180,246,.12);padding-top:.82rem}
.pd-v5 .pd-composer .composer-footer small{font-size:.7rem;color:#8fadd6}
.pd-v5 .pd-composer .pd-publish-button{position:static!important;display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;flex:0 0 auto!important;min-width:138px!important;width:auto!important;max-width:none!important;min-height:46px!important;padding:.72rem 1.2rem!important;margin:0!important;border-radius:13px!important;white-space:nowrap!important;line-height:1.2!important;font-size:.9rem!important;letter-spacing:0!important;background:linear-gradient(115deg,#3688ff,#685ff5)!important;box-shadow:0 6px 20px rgba(78,113,247,.23)!important}
.pd-v5 .pd-composer .pd-publish-button b{font-size:.9rem!important;display:inline!important;font-weight:850!important;color:white!important;white-space:nowrap!important}
.pd-v5 .pd-composer .pd-publish-button span{font-size:1rem!important;display:inline!important;color:white!important}
.pd-v5 .pd-composer .pd-publish-button:disabled{opacity:.55;cursor:default}
.pd-v5 .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Profile, posts, messaging */
.pd-v5 .post{padding:1.05rem!important;border-radius:22px;overflow:hidden;margin-bottom:1rem}
.pd-v5 .post header{gap:.65rem}
.pd-v5 .post .avatar-img{height:44px;width:44px;border-radius:14px;object-fit:cover}
.pd-v5 .post .post-menu{font-size:.9rem;letter-spacing:.15em}
.pd-v5 .post .author{font-size:.92rem;font-weight:850;color:#f6f9ff}
.pd-v5 .post header>div>span,.pd-v5 .post time{color:#93a8ce;font-size:.72rem}
.pd-v5 .post .post-text{font-size:.92rem;line-height:1.6;color:#e6edff;margin:.95rem 0}
.pd-v5 .post .post-image{object-fit:contain;background:#091327}
.pd-v5 .post .reactions{display:flex;flex-wrap:wrap;gap:.3rem;border-top:1px solid rgba(132,158,228,.13);padding-top:.75rem}
.pd-v5 .post .reactions form{flex:1 1 auto;max-width:none}
.pd-v5 .post .reactions button{background:rgba(104,131,210,.1)!important;min-height:35px;padding:.44rem .6rem;color:#bdd3f5;box-shadow:none;font-size:.72rem}
.pd-v5 .post .reactions button.selected{color:#d6f5ff!important;background:rgba(61,139,243,.28)!important}
.pd-v5 .comments{min-width:0}
.pd-v5 .comments :is(input,button){font-size:.86rem}
.pd-v5 .message-contact{display:flex;gap:.8rem;align-items:center;min-height:72px;padding:.8rem 1rem}
.pd-v5 .message-contact img,.pd-v5 .conversation-head img{height:48px;width:48px;border-radius:15px;object-fit:cover}
.pd-v5 .message-contact span{overflow:hidden;display:grid;gap:.18rem}
.pd-v5 .message-contact span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-v5 .conversation-head,.pd-v5 .message-compose{background:#142544;border-radius:17px}
.pd-v5 .message-bubble{border-radius:18px;font-size:.89rem}
.pd-v5 .message-compose{display:flex;align-items:center;gap:.35rem}
.pd-v5 .message-compose button{flex:none}
.pd-v5 .profile-head,.pd-v5 .settings-card{overflow:hidden}
.pd-v5 .profile-row .avatar.large{object-fit:cover}
.pd-v5 .settings-card{padding:1rem}
.pd-v5 .avatar-picker{background:rgba(80,111,192,.08);border:1px solid rgba(147,168,230,.16)}
.pd-v5 .avatar-option{background:#101b35;border:2px solid transparent;border-radius:17px}
.pd-v5 .avatar-option.selected{border-color:#78dbf8}
.pd-v5 .avatar-tabs button{border-color:rgba(132,165,236,.19);background:rgba(91,114,197,.18);color:#eef2ff;white-space:nowrap}
.pd-v5 .avatar-tabs button.active{background:linear-gradient(130deg,#367fe9,#7b58de)}
/* File sharing */
.pd-v5 .school-hero{background:linear-gradient(125deg,#1a2a56,#172e50 65%,#174060)!important;border-radius:23px;box-shadow:none;min-height:175px}
.pd-v5 .school-hero h1{font-size:clamp(2rem,6vw,3.5rem)}
.pd-v5 .school-hero p{color:#c9d8f1}
.pd-v5 .school-tip{border-color:var(--pd-stroke)}
.pd-v5 .school-file{border-radius:19px;padding:1rem}
.pd-v5 .school-file-copy>b{color:#f2f6ff}
.pd-v5 .school-file-copy>small{color:#aabde2}
.pd-v5 .school-upload-trigger{background:linear-gradient(120deg,#2779ed,#695bf1);min-height:42px}
.pd-v5 .school-dialog,.pd-v5 .story-dialog{border:1px solid rgba(157,187,255,.2);border-radius:22px;background:#101b35;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.pd-v5 dialog::backdrop{background:rgba(3,7,20,.82);backdrop-filter:blur(8px)}
.pd-v5 .school-dialog-head{gap:.6rem}
.pd-v5 .school-dialog .school-upload-form{min-width:0;max-width:100%}
/* Friends directory */
.pd-v5 .friends-page{width:min(100%,880px);margin:0 auto}
.pd-v5 .friends-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:175px;background:linear-gradient(115deg,#193a74,#24235e 65%,#532e76);border:1px solid rgba(129,156,245,.24);border-radius:24px;padding:1.4rem 1.55rem;margin:0 0 1rem;overflow:hidden}
.pd-v5 .friends-hero:before{content:"";position:absolute;width:190px;height:190px;right:-80px;top:-75px;border-radius:50%;background:rgba(118,220,255,.18);filter:blur(15px)}
.pd-v5 .friends-hero h1{font-size:clamp(1.85rem,5vw,2.7rem);margin:.45rem 0}
.pd-v5 .friends-hero p{font-size:.89rem;line-height:1.45;max-width:470px;color:#c9dafa;margin:0}
.pd-v5 .friends-hero-icon{display:grid;place-items:center;flex:0 0 95px;height:95px;font-size:3rem;border-radius:28px;background:linear-gradient(135deg,rgba(114,202,255,.33),rgba(200,132,255,.22));transform:rotate(12deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.pd-v5 .friends-search{display:flex;gap:.6rem;align-items:center;padding:.55rem;border-radius:19px;border:1px solid rgba(143,172,239,.2);background:#111e3a;margin-bottom:.9rem}
.pd-v5 .friends-search>span{padding-left:.6rem;color:#84ddff;font-size:1.25rem}
.pd-v5 .friends-search input{flex:1;background:transparent;border:0!important;min-height:42px;padding:.5rem .2rem;color:#fff;outline:none}
.pd-v5 .friends-search button{min-height:42px;flex:none;white-space:nowrap}
.pd-v5 .friends-filters{display:flex;align-items:center;gap:.5rem;overflow-x:auto;scrollbar-width:none;margin:.65rem 0}
.pd-v5 .friends-filters a{white-space:nowrap;padding:.58rem .8rem;border:1px solid rgba(137,167,234,.2);border-radius:12px;background:#101d3b;color:#b8cbe9;font-size:.8rem;font-weight:750}
.pd-v5 .friends-filters a.selected{background:#284e9b;color:#fff;border-color:#638bde}
.pd-v5 .friends-result-line{font-size:.77rem;color:#98afd5;margin:.85rem 0}
.pd-v5 .friends-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.pd-v5 .friend-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:.75rem;padding:.82rem!important;align-items:center;border-radius:18px;box-shadow:none}
.pd-v5 .friend-portrait{width:58px;height:58px;display:block}
.pd-v5 .friend-portrait img{width:100%;height:100%;display:block;border-radius:18px;object-fit:cover}
.pd-v5 .friend-information{display:grid;align-content:center;gap:.08rem;min-width:0}
.pd-v5 .friend-name{font-weight:850;font-size:.91rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-v5 .friend-information small{color:#9fb7dd;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-v5 .friend-information p{margin:.2rem 0 0;color:#9eb3d6;font-size:.76rem;max-height:2.5em;overflow:hidden}
.pd-v5 .friend-card-actions{grid-column:1/-1;display:flex;gap:.45rem;flex-wrap:wrap;width:100%}.pd-v5 .friend-card-actions>a,.pd-v5 .friend-card-actions form{flex:1;margin:0}.pd-v5 .friend-follow-form{grid-column:1/-1;width:100%;margin:0}
.pd-v5 .friend-action{width:100%;min-height:39px!important;border-radius:12px;background:linear-gradient(120deg,#3879ec,#795ded);padding:.58rem .8rem}
.pd-v5 .friend-action-active{background:rgba(84,132,196,.17)!important;border:1px solid rgba(140,176,245,.2);color:#deebff}
.pd-v5 .friends-empty{display:grid;justify-items:center;text-align:center;padding:2rem}
.pd-v5 .friends-empty span{font-size:2rem;color:#9ed9fa}
.pd-v5 .friends-pages{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.4rem auto}
.pd-v5 .friends-pages a{border-radius:12px;padding:.7rem 1rem;border:1px solid rgba(134,168,244,.22);background:#182949}
.pd-v5 .friends-pages span,.pd-v5 .friends-help{color:#9db5dc;font-size:.77rem;text-align:center}
.pd-v5 .discover-friends{padding:.95rem 1rem;margin:0 0 1rem;overflow:hidden}
.pd-v5 .discover-friends-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}
.pd-v5 .discover-friends-heading h2{font-size:1.06rem;margin:.18rem 0}
.pd-v5 .discover-friends-heading>a{font-size:.77rem;font-weight:850;color:#83d8ff}
.pd-v5 .discover-friends-rail{display:flex;gap:.85rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.pd-v5 .discover-friend{display:grid;justify-items:center;align-content:start;gap:.25rem;min-width:66px;max-width:81px;flex:none;text-align:center}
.pd-v5 .discover-friend img{height:57px;width:57px;border-radius:17px;object-fit:cover;border:2px solid rgba(126,176,254,.25)}
.pd-v5 .discover-friend span{font-size:.75rem;font-weight:800;color:#eaf2ff;max-width:80px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.pd-v5 .discover-friend small{font-size:.62rem;color:#90a8d3}
.pd-v5 .feed-empty{text-align:center;padding:2rem 1rem;display:grid;justify-items:center;gap:.4rem}
.pd-v5 .feed-empty h2{margin:.15rem 0;font-size:1.2rem}
.pd-v5 .feed-empty p{margin:.15rem 0 .7rem;font-size:.84rem}
.pd-v5 .feed-empty-art{font-size:2rem;color:#98aefe}
.pd-v5 .feed-empty-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.pd-v5 .search-page .searchbar{max-width:100%;display:flex;gap:.5rem}
/* Navigation & scrolling */
.pd-v5 .mobile-dock{border:1px solid rgba(158,181,240,.22);box-shadow:0 16px 38px rgba(0,0,0,.36);background:rgba(15,26,54,.96);backdrop-filter:blur(15px);border-radius:22px;min-height:68px}
.pd-v5 .mobile-dock :is(a,button){display:grid;align-content:center;justify-items:center;gap:.12rem;min-height:54px;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;padding:.35rem .12rem!important;color:#aabde0}
.pd-v5 .mobile-dock :is(a,button).is-current{color:#8ce8fa!important}
.pd-v5 .mobile-dock :is(a,button) span{font-size:1.35rem;line-height:1.1;color:inherit}
.pd-v5 .mobile-dock :is(a,button) small{font-weight:720;font-size:.66rem;color:inherit}
.pd-v5 .mobile-dock .dock-create{position:relative;display:grid!important;min-width:57px;width:57px;height:57px;border:2px solid rgba(133,234,250,.63)!important;border-radius:19px;transform:translateY(-12px);padding:4px!important;overflow:hidden;box-shadow:0 10px 24px rgba(57,112,226,.25)!important;background:linear-gradient(130deg,#1f74e8,#7e53de)!important}
.pd-v5 .mobile-dock .dock-create img{width:40px;height:40px;border-radius:12px;object-fit:cover}
.pd-v5 .app-menu{z-index:75;background:#0d1935;border-left:1px solid rgba(126,160,233,.24);box-shadow:-18px 0 60px rgba(0,0,0,.4)}
.pd-v5 .app-menu>nav a,.pd-v5 .app-menu>nav button{background:rgba(101,135,224,.09);border:1px solid rgba(135,172,239,.1);border-radius:14px;color:#e0e9fb}
.pd-v5 .menu-backdrop{z-index:70}
/* Prevent inherited desktop-as-phone viewport from shrinking action controls */
@media(min-width:761px){
 .pd-v5.mobile-only .topbar,.pd-v5.mobile-only .shell{max-width:1320px!important;width:100%!important}
 .pd-v5.mobile-only .app-grid{max-width:1220px!important;grid-template-columns:minmax(185px,230px) minmax(0,1fr) minmax(195px,250px)!important}
 .pd-v5 .mobile-dock{display:none}
}

@media(max-width:760px){
 .pd-v5.mobile-only .shell,.pd-v5 .shell{max-width:560px!important;width:100%!important;padding:.8rem .75rem calc(112px + env(safe-area-inset-bottom))!important;margin:auto}
 .pd-v5.mobile-only .topbar,.pd-v5 .topbar{max-width:100%!important;width:100%!important;min-height:62px!important;height:62px!important;padding:0 14px!important}
 .pd-v5 .topbar nav>a{display:none!important}
 .pd-v5 .topbar .brand{font-size:.97rem;letter-spacing:-.04em}
 .pd-v5 .topbar .brand img{width:36px;height:36px}
 .pd-v5 .topbar nav .menu-trigger{display:inline-flex}
 .pd-v5 .app-grid,.pd-v5.mobile-only .app-grid{display:block!important;max-width:100%!important}
 .pd-v5 .sidebar,.pd-v5 .right-column{display:none!important}
 .pd-v5 .feed-heading{gap:.5rem;margin:.25rem .1rem 1rem}
 .pd-v5 .feed-heading h1{font-size:1.72rem}
 .pd-v5 .feed-subtitle{display:block!important;font-size:.8rem}
 .pd-v5 .feed-school-link{font-size:.76rem;min-height:38px!important;padding:.5rem .6rem!important}
 .pd-v5 .feed-school-link span{display:inline!important}
 .pd-v5 .card{border-radius:20px}
 .pd-v5 .pd-composer{padding:1rem!important}
 .pd-v5 .pd-composer .pd-composer-options{gap:.5rem}
 .pd-v5 .pd-composer .pd-publish-button{min-width:132px!important;min-height:46px!important;flex-shrink:0!important}
 .pd-v5 .post{padding:.9rem!important}
 .pd-v5 .mobile-dock{display:flex!important;position:fixed;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100vw - 20px),520px);max-width:calc(100vw - 20px)!important;justify-content:space-around;align-items:center;padding:.2rem .3rem!important;z-index:60}
 .pd-v5 .mobile-dock>*{flex:1 1 0!important;max-width:80px!important}
 .pd-v5 .mobile-dock>.dock-create{flex:0 0 56px!important}
 .pd-v5 .school-dialog,.pd-v5 .story-dialog{width:calc(100% - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;overflow-y:auto!important}
 .pd-v5 .school-hero{padding:1.4rem 1.2rem!important;min-height:150px}
 .pd-v5 .school-hero p{font-size:.84rem}
 .pd-v5 .school-form-two,.pd-v5 .friends-grid{grid-template-columns:1fr}
 .pd-v5 .friends-hero{padding:1.1rem;min-height:165px}
 .pd-v5 .friends-hero-icon{flex:0 0 60px;height:60px;font-size:2rem;border-radius:18px}
 .pd-v5 .friend-card{grid-template-columns:54px minmax(0,1fr) auto;gap:.65rem}
 .pd-v5 .friend-portrait{width:54px;height:54px}
 .pd-v5 .friend-follow-form{grid-column:auto;width:auto}
 .pd-v5 .friend-action{width:auto;white-space:nowrap;font-size:.77rem;padding:.5rem .65rem;min-height:38px!important}
 .pd-v5 .friend-information p{display:none}
 .pd-v5 .friend-name{font-size:.87rem}
 .pd-v5 .friends-search button{padding:.7rem .75rem}
 .pd-v5 .app-menu{max-height:100dvh;overflow-y:auto}
 .pd-v5 footer{display:none}
}
@media(max-width:390px){
 .pd-v5 .shell{padding-left:.55rem!important;padding-right:.55rem!important}
 .pd-v5 .feed-heading h1{font-size:1.55rem}
 .pd-v5 .pd-composer .pd-publish-button{min-width:117px!important;padding:.65rem .85rem!important}
 .pd-v5 .pd-composer .composer-tool{min-width:92px!important}
 .pd-v5 .friend-card{grid-template-columns:46px minmax(0,1fr);gap:.55rem}
 .pd-v5 .friend-portrait{height:46px;width:46px}
 .pd-v5 .friend-follow-form{grid-column:1/-1}
 .pd-v5 .friend-action{width:100%}
}
@media(prefers-reduced-motion:reduce){.pd-v5 *,.pd-v5 *::before,.pd-v5 *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ------- v5-fresh.css ------- */
/* Petit Dragon — V5.2 Fresh UI. Final responsive presentation layer. */
:root{
  color-scheme:light;
  --pd-bg:#f4f6fc;--pd-surface:#ffffff;--pd-raised:#f5f7ff;--pd-stroke:#e8eaf4;
  --pd-text:#17203b;--pd-subtle:#65718c;--pd-blue:#6248eb;--pd-cyan:#00acd0;
  --pd-pink:#e84eac;--pd-glow:0 8px 30px rgba(27,38,78,.055);
  --accent:#684bed;--accent2:#d4eeff;--ink:#17203b;--muted:#67748e;
  --card:#fff;--line:#e8eaf4;--paper:#f4f6fc;--shadow:0 12px 32px rgba(24,32,74,.065);
}
html{background:#f4f6fc}
body.pd-v5{background:radial-gradient(ellipse at 65% -120px,#e6e5ff 0,transparent 540px),#f4f6fc!important;color:#17203b;line-height:1.52;font-size:15px}
.pd-v5 .ambient{display:none}
.pd-v5,.pd-v5 :is(main,article,section,div,aside,form,fieldset){box-sizing:border-box}
.pd-v5 .card{background:#fff!important;border:1px solid #e8eaf4!important;box-shadow:0 8px 30px rgba(27,38,78,.055)!important;border-radius:22px}
.pd-v5 h1,.pd-v5 h2,.pd-v5 h3,.pd-v5 h4{color:#17203b;letter-spacing:-.035em}
.pd-v5 p,.pd-v5 small{color:#67748e}
.pd-v5 .eyebrow{color:#6952c7;font-weight:850;letter-spacing:.11em}
.pd-v5 .button,.pd-v5 button:not(.menu-trigger):not(.dock-menu):not(.dock-create):not(.invite-button):not(.menu-close){background:#6347ed;color:#fff;border-radius:14px;box-shadow:none;font-weight:750}
.pd-v5 button:hover,.pd-v5 .button:hover{filter:brightness(1.03)}
.pd-v5 button.ghost,.pd-v5 .button.ghost,.pd-v5 .ghost{background:#f1efff!important;border:1px solid #e3dfff!important;color:#5240b2!important;box-shadow:none!important}
.pd-v5 button.danger,.pd-v5 .danger{background:#d44861!important;color:#fff!important}
.pd-v5 :is(input,textarea,select){background:#fff!important;border:1px solid #dfe4f0!important;color:#18243c!important;box-shadow:none!important;border-radius:14px}
.pd-v5 :is(input,textarea,select):focus{border-color:#8a78ee!important;box-shadow:0 0 0 3px rgba(101,74,236,.12)!important}
.pd-v5 :is(input,textarea)::placeholder{color:#8a96ab;opacity:1}
.pd-v5 input[type=checkbox],.pd-v5 input[type=radio]{min-height:0;min-width:18px;width:18px;height:18px;accent-color:#644bed;box-shadow:none}
.pd-v5 select{color-scheme:light}
.pd-v5 .flash{background:#e9f9ee!important;border:1px solid #b7eaca!important;color:#246648!important;font-weight:650}
.pd-v5 .flash.error{background:#fff1f1!important;border-color:#f0c4c9!important;color:#973d49!important}
.pd-v5 .flash.info{background:#eef2ff!important;border-color:#d5ddff!important;color:#4546a3!important}
.pd-v5 .topbar{background:rgba(255,255,255,.95)!important;border-bottom:1px solid #e8ebf3!important;box-shadow:0 2px 18px rgba(20,26,61,.045);backdrop-filter:blur(18px)}
.pd-v5 .topbar .brand{color:#19244a;letter-spacing:-.045em;font-weight:900}
.pd-v5 .topbar nav>a{color:#58647a}
.pd-v5 .topbar nav>a:hover,.pd-v5 .topbar nav>a.is-current{background:#f0efff;color:#644bed}
.pd-v5 .topbar nav button.menu-trigger{background:#f2f4fb!important;border:1px solid #e4e8f3!important;color:#1c2c4b}
.pd-v5 #install-app{background:#eeebff!important;border:1px solid #e2dfff!important;color:#6149c8!important}
.pd-v5 .sidebar{position:sticky;background:#fff!important}
.pd-v5 .sidebar a,.pd-v5 .sidebar button{color:#38465e!important;border-radius:13px}
.pd-v5 .sidebar a:hover,.pd-v5 .sidebar a.active{background:#f1efff!important;color:#5a40cf!important}
.pd-v5 .sidebar .side-profile{background:#f7f7ff!important;border:1px solid #edecf8!important}
.pd-v5 .sidebar .side-profile img{border-radius:15px}
.pd-v5 .right-column .side-title a,.pd-v5 .right-column .community-link{color:#38465e}
.pd-v5 .right-column .safe-card{background:#f1eaff!important}
.pd-v5 .feed-heading h1{font-size:clamp(1.7rem,3.3vw,2.55rem);color:#192345}
.pd-v5 .feed-heading .feed-subtitle{color:#68748b}
.pd-v5 .feed-school-link{color:#5943c0!important;background:#eeeaff!important;border:1px solid #e1dafd!important;box-shadow:none!important}
.pd-v5 .stories-rail{background:#fff!important;box-shadow:0 6px 22px rgba(32,35,85,.05)!important}
.pd-v5 .story-add small,.pd-v5 .story-item small{color:#515f78}
.pd-v5 .story-ring{background:linear-gradient(140deg,#00bce3,#8158fe,#ff73bd);box-shadow:0 4px 13px rgba(84,73,185,.16)}
/* Compose: actual button size and understandable labels */
.pd-v5 .pd-composer{gap:.8rem;padding:1.1rem!important;background:#fff!important}
.pd-v5 .pd-composer .composer-copy strong{color:#15223f;font-size:1rem}
.pd-v5 .pd-composer .composer-copy small{color:#71809a}
.pd-v5 .pd-composer textarea{background:#f7f8fc!important;border:1px solid #e7e9f3!important;color:#192543!important;min-height:106px!important}
.pd-v5 .pd-composer .composer-tool{background:#f3f5ff!important;border:1px solid #e6eafb!important;color:#46537e!important}
.pd-v5 .pd-composer .composer-tool-icon{color:#664ee2}
.pd-v5 .pd-composer .composer-advanced summary{background:#f3f5ff;color:#46537e;border:1px solid #e6eafb}
.pd-v5 .pd-composer .composer-advanced-fields{background:#fff;border:1px solid #e5e6f0;box-shadow:0 8px 24px rgba(26,35,75,.085)}
.pd-v5 .pd-composer .composer-advanced-fields label{color:#293752}
.pd-v5 .pd-composer .composer-media-preview{background:#f7f8fc;border:1px solid #e4e7ef}
.pd-v5 .pd-composer [data-post-remove]{background:transparent!important;color:#7047d5!important}
.pd-v5 .pd-composer .composer-footer{border-top:1px solid #eceefa}
.pd-v5 .pd-composer .composer-footer small{color:#7b879c}
.pd-v5 .pd-composer .pd-publish-button{background:#6347ed!important;color:#fff!important;min-width:140px!important;width:auto!important;height:auto!important;max-width:100%!important;min-height:48px!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;white-space:nowrap!important;word-break:normal!important;border-radius:14px!important;box-shadow:0 6px 13px rgba(99,71,237,.18)!important;font-size:.95rem!important;line-height:1.1!important;padding:.75rem 1.15rem!important}
.pd-v5 .pd-composer .pd-publish-button>b{display:inline!important;white-space:nowrap!important;font-size:inherit!important;color:inherit!important}
.pd-v5 .pd-composer .pd-publish-button:disabled{background:#c6bcf3!important;box-shadow:none!important;color:#fff!important;cursor:not-allowed}
.pd-v5 .pd-composer .composer-advanced-fields :is(input,select){background:#fff!important}
/* Feed and activities */
.pd-v5 .post{background:#fff!important;box-shadow:0 6px 25px rgba(20,40,85,.04)!important}
.pd-v5 .post .author{color:#162141}
.pd-v5 .post .post-text{color:#28364d}
.pd-v5 .post header>div>span,.pd-v5 .post time{color:#8592a8}
.pd-v5 .post .post-image{background:#f3f6fd}
.pd-v5 .post .reactions{border-color:#e9edf7}
.pd-v5 .post .reactions button{background:#f4f5fc!important;color:#4d5d7a!important}
.pd-v5 .post .reactions button.selected{background:#eeeaff!important;color:#5d46c5!important}
.pd-v5 .post .post-menu{color:#6e7796}
.pd-v5 .pager{color:#596a86}
.pd-v5 .feed-empty h2{color:#1a2345}
.pd-v5 .feed-empty-art{color:#6849ea}
.pd-v5 .discover-friends-heading>a{color:#6150c4}
.pd-v5 .discover-friend span{color:#22304c}
.pd-v5 .discover-friend small{color:#7a8aa4}
.pd-v5 .discover-friend img{border-color:#e8e4fa}
/* friends directory, inspired by practical contact lists: dense, clear, inviting */
.pd-v5 .friends-hero{background:linear-gradient(135deg,#e9e6ff,#f1f6ff 72%,#e6faff)!important;border:1px solid #e1def9;color:#22314c}
.pd-v5 .friends-hero::before{background:rgba(143,125,238,.1)}
.pd-v5 .friends-hero p{color:#69748d}
.pd-v5 .friends-hero-icon{background:#fff;border:1px solid #ede9ff;color:#644cea;box-shadow:none}
.pd-v5 .friends-search{background:#fff;border:1px solid #e3e7f2;box-shadow:0 5px 15px rgba(23,43,85,.035)}
.pd-v5 .friends-search>span{color:#6951dd}
.pd-v5 .friends-search input{background:transparent!important;color:#28374f!important}
.pd-v5 .friends-filters a{background:#fff;border:1px solid #e3e7f0;color:#63728d}
.pd-v5 .friends-filters a.selected{background:#eeeaff;color:#5c43c7;border-color:#d6ccfa}
.pd-v5 .friends-result-line,.pd-v5 .friends-pages span,.pd-v5 .friends-help{color:#70819c}
.pd-v5 .friend-card{border-radius:19px!important}
.pd-v5 .friend-name{color:#192742}
.pd-v5 .friend-information small{color:#7b88a3}
.pd-v5 .friend-information p{color:#7685a2}
.pd-v5 .friend-action{background:#e9fd56!important;color:#1e2739!important;font-weight:900}
.pd-v5 .friend-action-active{background:#f2f4fb!important;color:#53617d!important;border:1px solid #e0e5ef}
.pd-v5 .friend-card .friend-action:hover{filter:brightness(.98)}
.pd-v5 .friends-pages a{background:#fff;border:1px solid #e3e8f1;color:#4b5870}
/* Messages */
.pd-v5 .section-title h1{color:#172344}
.pd-v5 .message-contact{background:#fff!important;border:1px solid #e5e8f1!important;box-shadow:none!important;border-radius:19px}
.pd-v5 .message-contact b,.pd-v5 .conversation-head b{color:#23344e}
.pd-v5 .message-contact small,.pd-v5 .conversation-head small{color:#7b8aa2}
.pd-v5 .conversation-head,.pd-v5 .message-compose{background:#fff!important;border:1px solid #e4eaf2!important}
.pd-v5 .conversation{background:#fff!important}
.pd-v5 .message-bubble{background:#f2f4fc;color:#24334f}
.pd-v5 .message-bubble.mine{background:#e9e5ff;color:#37286b}
.pd-v5 .message-compose input{background:#f7f8fc!important}
.pd-v5 .conversation-document-link{background:#eeeaff;color:#6049c2;border-radius:16px}
/* Profile, settings and avatars */
.pd-v5 .profile-head,.pd-v5 .settings-card,.pd-v5 .settings-danger{background:#fff!important}
.pd-v5 .profile-name h1{color:#182346}
.pd-v5 .profile-name span,.pd-v5 .stats{color:#60748c}
.pd-v5 .profile-banner,.pd-v5 .media-editor{background:#edf0ff}
.pd-v5 .profile-bio{color:#42516b}
.pd-v5 .media-field small{color:#7384a0}
.pd-v5 .media-field input{background:#f6f8ff!important}
.pd-v5 .upload-note{background:#f4f6ff!important;color:#65728b;border-color:#e2e6fb}
.pd-v5 .avatar-picker{background:#f7f7ff!important;border:1px solid #ebebfa}
.pd-v5 .avatar-picker .avatar-tabs button{background:#fff!important;color:#455573;border:1px solid #e2e4f1}
.pd-v5 .avatar-picker .avatar-tabs button.active{background:#684bec!important;color:#fff!important;border-color:#684bec}
.pd-v5 .avatar-option{background:#fff!important;box-shadow:0 5px 15px rgba(25,35,70,.09)!important;padding:.17rem!important}
.pd-v5 .avatar-option.selected{border-color:#7154f3!important}
.pd-v5 .settings-danger{position:static}
/* File-sharing workspace */
.pd-v5 .school-hero{background:linear-gradient(128deg,#dfddff,#e6f5ff 75%,#f1edff)!important;border:1px solid #e5e4f5!important;box-shadow:none!important}
.pd-v5 .school-hero h1,.pd-v5 .school-hero h2{color:#1d2850}
.pd-v5 .school-hero p{color:#596987}
.pd-v5 .school-hero .note{background:#fff;color:#6450af;border:1px solid #e1ddfd}
.pd-v5 .school-hero .school-hero-metrics{color:#4e6190}
.pd-v5 .school-upload-trigger{background:#6349ea!important;color:#fff!important}
.pd-v5 .school-file{background:#fff!important}
.pd-v5 .school-file-copy>b{color:#21304e}
.pd-v5 .school-file-copy>small{color:#71829b}
.pd-v5 .school-tip,.pd-v5 .school-empty{background:#fff!important;border:1px solid #e8eaf4}
.pd-v5 .school-tip h3{color:#1c2a49}
.pd-v5 .school-filters button{background:#fff!important;color:#61728a!important;border:1px solid #e5e7f1!important}
.pd-v5 .school-filters button.active{background:#ece9ff!important;color:#5c46c2!important;border-color:#dcd4ff!important}
.pd-v5 .school-search{background:#fff;border-color:#e5e9f3}
.pd-v5 .school-search input{background:transparent!important}
.pd-v5 .school-dialog,.pd-v5 .story-dialog{background:#fff!important;color:#1f2c45!important;border:1px solid #e5e8f1!important;box-shadow:0 18px 70px rgba(16,32,60,.2)}
.pd-v5 .school-dialog h2,.pd-v5 .story-dialog h2{color:#1a2649}
.pd-v5 .school-dialog p,.pd-v5 .story-dialog p{color:#6c7c96}
.pd-v5 .school-dialog .dropzone{background:#f4f5ff;border-color:#d5d7f3}
.pd-v5 .school-dialog .dropzone b{color:#30405c}
.pd-v5 .school-dialog .school-friends{background:#f8f8ff;border-color:#e9e7f7}
.pd-v5 .friend-check{background:#fff;border:1px solid #e9eaf3}
.pd-v5 .friend-check span{color:#34435f}
/* Forms & supporting screens */
.pd-v5 .narrow,.pd-v5 .legal,.pd-v5 .preferences-page,.pd-v5 .communities-page,.pd-v5 .notifications-page{background:#fff!important}
.pd-v5 .narrow label,.pd-v5 .settings-card label{color:#33445f}
.pd-v5 .local-captcha,.pd-v5 .captcha-box{background:#f7f8fc;border:1px solid #e4e8f1;color:#29344b}
.pd-v5 .check{color:#35435d}
.pd-v5 .community-link,.pd-v5 .community-card,.pd-v5 .notification-item{background:#fff!important;color:#273c56}
.pd-v5 .community-link small{color:#7a8caa}
.pd-v5 .search-page{max-width:100%}
.pd-v5 .searchbar,.pd-v5 .searchbar input{max-width:100%}
/* Floating mobile dock: useful, readable labels */
.pd-v5 .mobile-dock{background:rgba(255,255,255,.98)!important;border:1px solid #e7eafa!important;box-shadow:0 9px 33px rgba(24,32,68,.15)!important;backdrop-filter:blur(14px)}
.pd-v5 .mobile-dock :is(a,button){color:#69748b!important}
.pd-v5 .mobile-dock :is(a,button).is-current{color:#6148d5!important}
.pd-v5 .mobile-dock .dock-create{background:#644bed!important;border:2px solid #f1ecff!important;box-shadow:0 6px 19px rgba(91,72,228,.19)!important}
.pd-v5 .app-menu{background:#fff!important;color:#192948!important;border-left:1px solid #e8ebf1!important;box-shadow:-20px 0 55px rgba(27,33,65,.15)}
.pd-v5 .app-menu header{background:#fafbff}
.pd-v5 .app-menu>nav a,.pd-v5 .app-menu>nav button{background:#f5f6fc!important;color:#29374f!important;border:1px solid #e7e9f3!important;border-radius:15px}
.pd-v5 .menu-identity b,.pd-v5 .menu-identity small{color:#202e4a}
.pd-v5 .menu-close{color:#2c3851!important}
.pd-v5 .menu-dragon{background:#eef0ff;color:#3b4d70;border-color:#e1e5fa}
.pd-v5 .menu-meta a,.pd-v5 .menu-meta button{color:#667991}
.pd-v5 .menu-logout button{background:#f4f5fc!important;color:#4e5d78!important}
.pd-v5 .media-dialog{background:#fff!important;color:#17233f;border:1px solid #e3e6f0;border-radius:18px}
.pd-v5 .media-dialog-head{color:#21314a}
.pd-v5 .post-photo-dialog .media-dialog-image{max-width:100%;height:auto;object-fit:contain}
/* Width contracts for all pages and breakpoints */
.pd-v5 img,.pd-v5 video,.pd-v5 iframe{max-width:100%}
.pd-v5 .shell{margin:0 auto;min-width:0}
.pd-v5 .app-grid,.pd-v5 .app-grid>*{min-width:0}
.pd-v5 :is(.card,.school-page,.friends-page,.profile-page,.messages-page,.conversation-page,.settings-layout){max-width:100%}
.pd-v5 .school-dialog,.pd-v5 .story-dialog,.pd-v5 .media-dialog{box-sizing:border-box;overscroll-behavior:contain}
@media(max-width:760px){
  .pd-v5 .topbar{height:62px!important;min-height:62px!important;padding:0 15px!important}
  .pd-v5.mobile-only .topbar,.pd-v5 .topbar{width:100%!important;max-width:100%!important}
  .pd-v5.mobile-only .shell,.pd-v5 .shell{padding:.9rem .85rem calc(110px + env(safe-area-inset-bottom))!important;max-width:560px!important;margin:0 auto!important}
  .pd-v5 .feed-heading{align-items:center}
  .pd-v5 .feed-heading h1{font-size:1.8rem}
  .pd-v5 .stories-rail{gap:.55rem;padding:.75rem .65rem}
  .pd-v5 .pd-composer{padding:1rem!important}
  .pd-v5 .pd-composer .pd-composer-options{display:flex!important;gap:.5rem!important;flex-wrap:wrap}
  .pd-v5 .pd-composer .composer-tool,.pd-v5 .pd-composer .composer-advanced summary{min-height:42px}
  .pd-v5 .pd-composer .composer-footer{display:flex!important;justify-content:space-between!important;gap:.8rem!important;align-items:center!important}
  .pd-v5 .pd-composer .pd-publish-button{min-width:132px!important;flex:0 0 auto!important}
  .pd-v5 .friends-hero{padding:1.15rem;min-height:145px}
  .pd-v5 .friends-grid{grid-template-columns:1fr!important}
  .pd-v5 .friend-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:.7rem;min-width:0}
  .pd-v5 .friend-follow-form{grid-column:auto;max-width:130px}
  .pd-v5 .friend-action{white-space:nowrap;padding:.6rem .75rem!important;font-size:.8rem}
  .pd-v5 .school-layout{display:block}
  .pd-v5 .school-aside{display:none}
  .pd-v5 .school-file-actions{display:flex;flex-wrap:wrap;gap:.5rem}
  .pd-v5 .school-dialog,.pd-v5 .story-dialog,.pd-v5 .media-dialog{max-width:calc(100vw - 18px)!important;width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px)!important;overflow-y:auto!important}
  .pd-v5 .school-upload-form,.pd-v5 .story-camera-form{max-width:100%;overflow-x:hidden}
  .pd-v5 .school-hero-art{opacity:.72}
  .pd-v5 .app-menu{max-width:min(92vw,390px)}
}
@media(max-width:390px){
  .pd-v5.mobile-only .shell,.pd-v5 .shell{padding-inline:.55rem!important}
  .pd-v5 .feed-heading h1{font-size:1.6rem}
  .pd-v5 .friend-card{grid-template-columns:46px minmax(0,1fr);gap:.6rem}
  .pd-v5 .friend-follow-form{grid-column:1/-1;max-width:100%}
  .pd-v5 .friend-action{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Final desktop layout fixes: remove inherited phone-frame rules */
@media(min-width:761px){
 body.pd-v5.mobile-only{background:#f4f6fc!important}
 .pd-v5.mobile-only .shell{background:transparent!important;border:0!important;box-shadow:none!important;max-width:1320px!important;width:100%!important;min-height:calc(100dvh - 68px)}
 .pd-v5.mobile-only .topbar{border-left:0!important;border-right:0!important;box-shadow:0 2px 20px rgba(30,43,90,.055)!important;max-width:100%!important;width:100%!important}
 .pd-v5.mobile-only .app-grid{display:grid!important;width:100%!important;grid-template-columns:220px minmax(0,1fr) 250px!important;gap:20px}
 .pd-v5.mobile-only .sidebar{display:grid!important;grid-column:1!important}
 .pd-v5.mobile-only .feed-column{grid-column:2!important;grid-row:1!important;max-width:100%;min-width:0}
 .pd-v5.mobile-only .right-column{display:grid!important;grid-column:3!important;grid-row:1!important}
 .pd-v5.mobile-only .mobile-dock{display:none!important}
 .pd-v5.mobile-only .topbar nav>a{display:inline-flex!important}
 .pd-v5.mobile-only .topbar nav{gap:.1rem}
}

@media(max-width:760px){
 .pd-v5.mobile-only .shell{background:transparent!important;border:0!important;box-shadow:none!important}
}
.pd-v5 .topbar .brand span{color:#1a2650!important;-webkit-text-fill-color:#1a2650!important;background:none!important;filter:none!important}
.pd-v5 .post .comments>div{background:#f5f6fc!important;border:1px solid #ebeef5!important;border-radius:12px;color:#24334e!important;padding:.65rem .85rem!important}
.pd-v5 .post .comments>div a{color:#5644b7!important;font-weight:850}
.pd-v5 .post .comments>div p{color:#56617b!important}
.pd-v5 .post .comment-form button{min-height:42px!important}
.pd-v5 .app-menu{right:0!important}
/* The directory must not inherit the 180px picker used for file recipients. */
.pd-v5 .friends-page .friends-grid{max-height:none!important;overflow:visible!important;width:100%}
/* Accessible tappable filters/inputs without squeezing content */
.pd-v5 .friends-page .friend-card{overflow:hidden}
.pd-v5 .school-dialog .friends-grid{max-height:min(36dvh,280px)}
/* Last-mile contrast and spacing for source components. */
.pd-v5 .sidebar .side-profile b,.pd-v5 .rightbar .community-link b,.pd-v5 .school-promo b{color:#263550!important}
.pd-v5 .sidebar .side-profile small,.pd-v5 .rightbar .community-link small,.pd-v5 .school-promo p{color:#7887a0!important}
.pd-v5 .school-promo strong,.pd-v5 .rightbar .side-title a{color:#6445d5!important}
.pd-v5 .sidebar .link-button,.pd-v5 .sidebar .link-button i{background:#f7f6ff!important;color:#694cc8!important;border:1px solid #e6e0ff!important;box-shadow:none!important}
.pd-v5 .sidebar .side-label{color:#78859d!important}
.pd-v5 .rightbar .side-title{color:#25354f!important}
.pd-v5 .school-hero-metrics{display:flex;gap:.55rem;flex-wrap:wrap}
.pd-v5 .school-hero-metrics span{display:inline-flex!important;align-items:center;gap:.3rem;color:#42577c!important;background:#ffffff99!important;border:1px solid #e4e2f6!important;padding:.45rem .7rem!important;border-radius:12px!important}
.pd-v5 .school-hero-metrics span b{color:#332c78!important}
.pd-v5 .school-filters{background:#fff!important;border:1px solid #e9eaf4!important;border-radius:16px!important;padding:.32rem!important;gap:.3rem!important}
.pd-v5 .school-filters button{border:0!important;background:transparent!important;color:#62728f!important;border-radius:12px!important;box-shadow:none!important}
.pd-v5 .school-filters button.active{background:#efebff!important;color:#5e4cc9!important}
.pd-v5 .school-filters button b{background:#e7e4f7!important;color:#5c4bab!important;border-radius:999px!important}
.pd-v5 .school-search{background:#fff!important;border:1px solid #e6e9f2!important;box-shadow:none!important;border-radius:15px!important}
.pd-v5 .school-search input{border:0!important;background:transparent!important;box-shadow:none!important}
.pd-v5 .school-empty h3{color:#25354f!important}
.pd-v5 .school-empty p{color:#71829c!important}
.pd-v5 .school-file .file-type{color:#6249bd!important;background:#eeebfc!important;border-radius:14px}
.pd-v5 .school-file-actions .file-preview{background:#f2efff!important;color:#6444c2!important;border:1px solid #e3defb!important;border-radius:12px!important}
.pd-v5 .school-dialog .school-dialog-head{color:#26344f}
.pd-v5 .school-dialog :is(legend,label,small){color:#495b78}
.pd-v5 .story-camera-actions :is(button,.story-shutter){min-height:42px}
.pd-v5 .post .comments .comment-form{background:#fff!important}
.pd-v5 .settings-heading h1{color:#1e2c46}
@media(min-width:761px){
 .pd-v5.mobile-only .topbar .brand{margin-right:1.2rem}
 .pd-v5.mobile-only .topbar nav>a{font-size:.78rem}
 .pd-v5.mobile-only .topbar nav>a[data-icon]::before{color:#694dcf}
 .pd-v5 .profile-layout:not(.profile-layout-single){grid-template-columns:minmax(210px,300px) minmax(0,1fr)!important}
}



/* ===============================================================
   Petit Dragon V5.3 — APP MOBILE SUR TOUS LES ECRANS
   UNE seule interface : plein ecran mobile, centree sur ordinateur.
   Cette section remplace les anciens layouts "site desktop".
   =============================================================== */
:root{--app-width:480px}
html{min-width:0;overflow-x:clip}
body.pd-v5.mobile-only{
  width:100%; min-width:0; min-height:100dvh; overflow-x:clip;
  background:#f4f6fc!important;
  -webkit-text-size-adjust:100%;
}
body.pd-v5.mobile-only .ambient{pointer-events:none}
body.pd-v5.mobile-only .topbar{
  position:sticky!important;top:0!important;left:auto!important;right:auto!important;
  width:100%!important;max-width:var(--app-width)!important;
  height:64px!important;min-height:64px!important;
  margin-inline:auto!important;padding:0 16px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  z-index:60!important;border-inline:0!important;
  background:rgba(255,255,255,.98)!important;
}
body.pd-v5.mobile-only .topbar .brand{
  display:inline-flex!important;min-width:0;flex:0 1 auto;align-items:center;
  font-size:1rem!important;white-space:nowrap;
}
body.pd-v5.mobile-only .topbar .brand img{width:38px;height:38px;flex:none;border-radius:13px;object-fit:cover}
body.pd-v5.mobile-only .topbar .brand span{display:inline!important;font-size:1rem;white-space:nowrap}
body.pd-v5.mobile-only .topbar nav{display:flex!important;align-items:center;min-width:auto!important;flex:0 0 auto;overflow:visible!important;gap:.35rem}
body.pd-v5.mobile-only .topbar nav>a{display:none!important}
body.pd-v5.mobile-only .topbar nav .menu-trigger{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-width:52px;min-height:42px;margin:0;padding:.22rem!important;
}
body.pd-v5.mobile-only #install-app{font-size:.68rem!important;padding:.4rem .55rem!important;white-space:nowrap;max-width:110px}
body.pd-v5.mobile-only .shell{
  width:100%!important;max-width:var(--app-width)!important;
  min-width:0!important;min-height:calc(100dvh - 64px)!important;
  margin:0 auto!important;
  padding:14px 14px calc(112px + env(safe-area-inset-bottom))!important;
  border:0!important;box-shadow:none!important;
}
body.pd-v5.mobile-only .shell :is(section,article,aside,form,header,main,div){min-width:0}
body.pd-v5.mobile-only .app-grid,
body.pd-v5.mobile-only.mobile-only .app-grid{
  display:block!important;grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;max-width:100%!important;gap:0!important;
}
body.pd-v5.mobile-only .feed-column{display:block!important;grid-column:auto!important;grid-row:auto!important;width:100%;min-width:0!important}
body.pd-v5.mobile-only .sidebar,body.pd-v5.mobile-only .right-column,body.pd-v5.mobile-only .school-aside{display:none!important}
body.pd-v5.mobile-only .school-layout,body.pd-v5.mobile-only .profile-layout,
body.pd-v5.mobile-only .settings-layout,body.pd-v5.mobile-only .two-col,
body.pd-v5.mobile-only .admin-grid{display:block!important;width:100%!important;min-width:0!important}
body.pd-v5.mobile-only .profile-sidebar{margin-bottom:12px}
body.pd-v5.mobile-only .settings-danger{margin-top:15px}
body.pd-v5.mobile-only .stat-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem}
body.pd-v5.mobile-only .stat-grid article{padding:.7rem!important}
body.pd-v5.mobile-only .stat-grid b{font-size:1.35rem!important}
body.pd-v5.mobile-only .community-grid,body.pd-v5.mobile-only .search-results,body.pd-v5.mobile-only .features{grid-template-columns:minmax(0,1fr)!important}
body.pd-v5.mobile-only .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
body.pd-v5.mobile-only table{min-width:580px}
body.pd-v5.mobile-only .narrow,body.pd-v5.mobile-only .legal{max-width:100%;margin:0 auto 1rem}
body.pd-v5.mobile-only .hero{display:block;min-height:auto}
body.pd-v5.mobile-only .hero-card{display:none}
body.pd-v5.mobile-only .feed-heading{gap:.5rem;align-items:center}
body.pd-v5.mobile-only .feed-heading h1{font-size:1.75rem!important}
body.pd-v5.mobile-only .feed-school-link{padding:.55rem!important;font-size:.77rem!important}
body.pd-v5.mobile-only .stories-rail{overflow-x:auto;min-width:0;max-width:100%;padding:.75rem!important}
body.pd-v5.mobile-only .pd-composer{padding:1rem!important}
body.pd-v5.mobile-only .pd-composer .pd-composer-options{display:flex!important;flex-wrap:wrap;gap:.5rem!important}
body.pd-v5.mobile-only .pd-composer .composer-tool{min-width:0!important;flex:0 1 auto;font-size:.82rem}
body.pd-v5.mobile-only .pd-composer .pd-publish-button{
  width:auto!important;min-width:124px!important;max-width:100%!important;
  min-height:46px!important;white-space:nowrap!important;
}
body.pd-v5.mobile-only .pd-composer .composer-footer{flex-wrap:wrap}
body.pd-v5.mobile-only .friend-card{min-width:0}
body.pd-v5.mobile-only .friends-page .friends-grid{width:100%;max-height:none!important;overflow:visible!important}
body.pd-v5.mobile-only .friends-hero{min-height:150px;padding:1.1rem}
body.pd-v5.mobile-only .friends-hero-icon{flex:0 0 58px;height:58px;font-size:1.9rem}
body.pd-v5.mobile-only .friend-information{min-width:0}
body.pd-v5.mobile-only .friend-name,body.pd-v5.mobile-only .friend-information small{overflow-wrap:anywhere}
body.pd-v5.mobile-only .friend-action{min-height:42px;white-space:normal}
body.pd-v5.mobile-only .school-layout{display:block!important}
body.pd-v5.mobile-only .school-hero{min-height:155px;padding:1.1rem!important}
body.pd-v5.mobile-only .school-hero-art{transform:scale(.72);transform-origin:right center;max-width:120px}
body.pd-v5.mobile-only .school-toolbar{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
body.pd-v5.mobile-only .school-upload-trigger{min-height:42px}
body.pd-v5.mobile-only .school-file{max-width:100%;min-width:0;overflow:hidden}
body.pd-v5.mobile-only .school-file-copy{overflow-wrap:anywhere}
body.pd-v5.mobile-only .school-filters{display:flex;gap:.3rem;min-width:0}
body.pd-v5.mobile-only .school-filters>button{min-width:0;flex:1 1 0;font-size:.82rem;padding:.65rem .35rem}
body.pd-v5.mobile-only .school-form-two{display:block!important}
body.pd-v5.mobile-only .school-form-two>*{margin-bottom:.75rem}
body.pd-v5.mobile-only .settings-card{max-width:100%}
body.pd-v5.mobile-only .avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
body.pd-v5.mobile-only .avatar-picker{padding:.85rem}
body.pd-v5.mobile-only .avatar-option{aspect-ratio:1}
body.pd-v5.mobile-only .message-compose{max-width:100%;min-width:0}
body.pd-v5.mobile-only .message-compose input{min-width:0;flex:1 1 auto}
body.pd-v5.mobile-only .conversation{max-width:100%;overflow-wrap:anywhere}
body.pd-v5.mobile-only .post-image,body.pd-v5.mobile-only img,body.pd-v5.mobile-only video{max-width:100%;height:auto}
body.pd-v5.mobile-only .post-image{width:100%;object-fit:contain}
body.pd-v5.mobile-only .mobile-dock{
  display:flex!important;position:fixed!important;
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
  left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  width:min(calc(100vw - 16px),calc(var(--app-width) - 16px))!important;
  max-width:calc(100vw - 16px)!important;
  min-width:0!important;justify-content:space-around!important;align-items:center!important;
  padding:4px 6px!important;z-index:80!important;
}
body.pd-v5.mobile-only .mobile-dock>*{min-width:0;flex:1 1 0!important;max-width:none!important}
body.pd-v5.mobile-only .mobile-dock>.dock-create{flex:0 0 54px!important;max-width:54px!important;width:54px!important;min-width:54px!important}
body.pd-v5.mobile-only .mobile-dock small{white-space:nowrap;font-size:.66rem}
body.pd-v5.mobile-only .app-menu{
  right:max(0px,calc((100vw - var(--app-width))/2))!important;
  width:min(390px,100vw - 12px)!important;
  max-width:min(390px,100vw - 12px)!important;
  height:100dvh;max-height:100dvh;overflow-y:auto;z-index:100;
}
body.pd-v5.mobile-only .menu-backdrop{z-index:90}
body.pd-v5.mobile-only .school-dialog,body.pd-v5.mobile-only .story-dialog,body.pd-v5.mobile-only .media-dialog{
  position:fixed!important;
  width:min(calc(100vw - 20px),460px)!important;
  max-width:min(calc(100vw - 20px),460px)!important;
  max-height:calc(100dvh - 20px)!important;
  overflow:auto!important;
  margin:auto!important;
  box-sizing:border-box;
}
body.pd-v5.mobile-only .story-stage{max-width:100%;max-height:min(56dvh,580px)}
body.pd-v5.mobile-only .story-stage>video,body.pd-v5.mobile-only .story-stage>img{object-fit:contain}
body.pd-v5.mobile-only .school-dialog .friends-grid{max-height:min(35dvh,250px)!important;overflow:auto!important}
body.pd-v5.mobile-only footer{display:none!important}
@media(min-width:481px){
  body.pd-v5.mobile-only{
    background:radial-gradient(ellipse at 16% 18%,#1c2f61 0,transparent 32%),
      radial-gradient(ellipse at 87% 89%,#372d62 0,transparent 30%),#080f23!important;
  }
  body.pd-v5.mobile-only .topbar,body.pd-v5.mobile-only .shell{border-left:1px solid #dfe3f4!important;border-right:1px solid #dfe3f4!important}
  body.pd-v5.mobile-only .shell{background:#f5f6fc!important;box-shadow:0 28px 90px rgba(0,0,0,.25)!important}
}
@media(max-width:480px){
  body.pd-v5.mobile-only .shell{padding-inline:12px!important}
  body.pd-v5.mobile-only .topbar{padding-inline:12px!important}
  body.pd-v5.mobile-only .school-hero-art{display:none}
}
@media(max-width:360px){
  body.pd-v5.mobile-only .shell{padding-inline:9px!important}
  body.pd-v5.mobile-only .topbar .brand span{font-size:.88rem!important}
  body.pd-v5.mobile-only #install-app{font-size:.64rem!important;max-width:90px}
  body.pd-v5.mobile-only .friend-card{grid-template-columns:46px minmax(0,1fr)!important;gap:.55rem}
  body.pd-v5.mobile-only .friend-follow-form{grid-column:1/-1!important;width:100%}
  body.pd-v5.mobile-only .friend-action{width:100%}
  body.pd-v5.mobile-only .avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.pd-v5.mobile-only .pd-composer .pd-publish-button{min-width:116px!important;padding:.7rem .9rem!important}
}

/* Page Partage : l'illustration de desktop ne doit jamais reduire le texte. */
body.pd-v5.mobile-only .school-hero{display:block!important;grid-template-columns:minmax(0,1fr)!important}
body.pd-v5.mobile-only .school-hero-art{display:none!important}
body.pd-v5.mobile-only .school-hero-copy{display:block!important;width:100%!important;min-width:0!important}
body.pd-v5.mobile-only .school-hero p{max-width:100%;font-size:.88rem;line-height:1.55}
body.pd-v5.mobile-only .school-hero-metrics{display:flex!important;gap:.5rem;flex-wrap:wrap}
body.pd-v5.mobile-only .school-hero-metrics span{margin:0}
/* Page Amis : ligne de contact compacte des 370px (avatar, pseudo, bouton). */
@media(min-width:370px){
  body.pd-v5.mobile-only .friend-card{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:.55rem!important;align-items:center!important}
  body.pd-v5.mobile-only .friend-portrait{width:52px;height:52px}
  body.pd-v5.mobile-only .friend-follow-form{grid-column:auto!important;width:auto!important;max-width:124px!important;justify-self:end!important}
  body.pd-v5.mobile-only .friend-action{min-width:90px!important;max-width:124px!important;width:auto!important;font-size:.74rem!important;padding:.55rem .62rem!important;line-height:1.2!important}
}
