:root{--bg:#00241d;--bg2:#002c22;--bg3:#06392b;--card:#082f27;--stroke:rgba(214,171,91,.30);--line:rgba(222,188,120,.15);--gold:#e5ba71;--mutedgold:#bc9257;--cream:#fbf1d8;--text:#eee8d9;--muted:#a2b6aa;--danger:#e56f65;--font-title:'Iowan Old Style',Baskerville,Georgia,'Times New Roman',serif;--font-ui:-apple-system,BlinkMacSystemFont,'Avenir Next','Segoe UI',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{height:100%;background:#001810}body{margin:0;min-height:100%;background:radial-gradient(ellipse at 50% -10%,#0c3c2c,#001b16 55%,#001710);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--gold)}.hidden{display:none!important}.app-shell{position:relative;min-height:100dvh;max-width:520px;margin:0 auto;background:linear-gradient(165deg,#00251e 0%,#00271f 57%,#001b17 100%);overflow:hidden;box-shadow:0 0 120px #0005} @media (min-width:700px){.app-shell{margin:32px auto;min-height:min(880px,calc(100dvh - 64px));height:min(880px,calc(100dvh - 64px));border:1px solid #896b41;border-radius:32px;box-shadow:0 18px 90px #0009}.welcome,.experience{height:100%!important;min-height:unset!important}.content-view{height:calc(100% - 202px)!important}.bottom-nav{position:absolute!important}.fab{position:absolute!important}.modal-backdrop{align-items:center!important}.modal-sheet{border-radius:22px!important;max-height:80vh!important}.welcome-top{padding-top:24px!important}}
/* Welcome */.welcome{min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 32%,#154d37 0%,#002b22 50%,#001b16 100%)}.welcome-glow{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#001f19ad 65%,#001d18 100%);z-index:1}.welcome-top{position:relative;z-index:2;text-align:center;padding:calc(env(safe-area-inset-top, 0px) + 34px) 10px 0}.royal-crest{width:58px;height:65px;display:flex;align-items:center;justify-content:center;margin:0 auto 4px;color:var(--gold);font-size:25px;position:relative}.royal-crest:before{content:' ';position:absolute;border:2px solid var(--gold);border-radius:7px 7px 24px 24px;inset:16px 8px 3px;transform:rotate(-1deg)}.royal-crest strong{font-family:var(--font-title);font-size:37px;margin-top:14px}.royal-crest{font-size:0}.royal-crest:after{content:'♛';position:absolute;font-size:27px;top:-2px;left:18px}.welcome h1{margin:0;font-family:var(--font-title);font-size:clamp(47px,12vw,70px);font-weight:600;line-height:.97;letter-spacing:1px;color:#f0ce92;text-shadow:0 3px 25px #0008}.tracking-gold{font-family:var(--font-title);color:var(--gold);font-size:19px;font-weight:600;letter-spacing:4px;margin-top:6px}.founded{font-family:var(--font-title);font-size:16px;letter-spacing:1px;color:var(--cream);margin-top:9px}.hero-art{position:absolute;top:25%;left:0;width:100%;height:52%;background-image:linear-gradient(180deg,#00251e 0%,transparent 21%,transparent 56%,#001d18 98%),url('assets/brickman-hero.webp');background-position:center,center 29%;background-size:cover;filter:saturate(.86) contrast(1.11)}.welcome-bottom{position:relative;z-index:3;padding:0 26px calc(env(safe-area-inset-bottom,0px) + 24px);margin-top:auto;text-align:center}.motto{font-family:var(--font-title);font-size:clamp(22px,5vw,27px);font-weight:600;margin:0 0 8px;text-shadow:0 4px 10px #000}.divider-brick{height:25px;position:relative;margin:0 auto 14px;width:210px;display:flex;align-items:center;justify-content:center;color:#9e5432}.divider-brick:before,.divider-brick:after{content:'';height:1px;background:linear-gradient(90deg,transparent,var(--gold));flex:1}.divider-brick:after{transform:scaleX(-1)}.divider-brick span{margin:0 12px;font-size:20px}.button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:11px;background:none;border:1px solid var(--gold);color:var(--gold);font-weight:700;letter-spacing:.2px}.button-gold{background:linear-gradient(125deg,#f5d28f 0%,#d39d49 95%);color:#162017;border:1px solid #f6d49a;box-shadow:0 6px 20px #0005}.button-big{height:56px;font-family:var(--font-title);font-size:24px;margin-bottom:11px}.button-outline{min-height:49px}.welcome-note{font-family:var(--font-title);font-size:15px;margin:18px 0 6px;color:#e7c783}.demo-label{font-size:9px;letter-spacing:1.5px;color:#8eaa97;margin:4px 0 0}
/* Main app */.experience{min-height:100dvh;display:flex;flex-direction:column}.app-header{height:84px;flex:none;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 7px) 18px 5px;border-bottom:1px solid var(--line);background:linear-gradient(#00281f,#00241d)}.header-brand{display:flex;gap:11px;align-items:center}.mini-crest{width:43px;height:47px;border:2px solid #b98a46;display:grid;place-items:center;border-radius:13px 13px 17px 17px;font:700 30px var(--font-title);color:#e3bd7b;background:radial-gradient(#164533,#00241d)}.brand-name{font:600 34px/.9 var(--font-title);letter-spacing:1px;color:#f4cc89;display:block}.brand-subtitle{font:600 11px var(--font-title);letter-spacing:2.4px;color:var(--gold);display:block;text-align:center;padding-top:5px}.header-actions{display:flex;gap:6px;align-items:center}.icon-button{border:none;background:none;color:var(--gold);font-size:23px;display:grid;place-items:center;width:36px;height:38px}.avatar-initial{border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;width:30px;height:30px;border-radius:100%;font:600 19px var(--font-title)}.demo-banner{height:26px;flex:none;border-bottom:1px solid #a7854529;display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:1.15px;color:#e9d19f;background:#1c3025}.live-dot{width:6px;height:6px;border-radius:50%;background:#eac06e;box-shadow:0 0 7px #eac06e}.banner-sep{color:#768c7e}.screen-heading{flex:none;min-height:74px;padding:13px 20px 11px;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line)}.heading-eyebrow{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--mutedgold);font-weight:700}.heading-title{margin:1px 0 0;font:600 32px/.96 var(--font-title);color:#f3d6a1}.heading-icon{color:#d7ac66;border:1px solid var(--stroke);border-radius:100%;font-size:16px;width:36px;height:36px;display:grid;place-items:center}.content-view{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:14px 15px calc(95px + env(safe-area-inset-bottom,0px));scrollbar-width:none}.content-view::-webkit-scrollbar{display:none}.bottom-nav{position:fixed;bottom:0;z-index:5;left:50%;transform:translateX(-50%);width:min(100%,520px);height:calc(72px + env(safe-area-inset-bottom,0px));padding:5px 5px calc(8px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(0deg,#00231c,#002b22);border-top:1px solid #866c4480;box-shadow:0 -10px 40px #001b16bf}.nav-item{border:0;color:#bdad8d;background:transparent;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;border-radius:9px;padding:3px 1px}.nav-item .nav-icon{font-size:21px;line-height:24px;height:24px}.nav-item .nav-label{font-size:9px;font-weight:600;line-height:11px}.nav-item.active{color:#ffe2a7;background:linear-gradient(#34442b,#15382c);box-shadow:inset 0 0 0 1px #b68b4e80}.fab{position:fixed;bottom:calc(86px + env(safe-area-inset-bottom,0px));right:max(calc((100vw - 500px)/2 + 18px),20px);z-index:6;border:1px solid #f2ce8e;border-radius:50%;width:59px;height:59px;background:linear-gradient(145deg,#f5d08c,#c78c3d);box-shadow:0 6px 30px #0009;color:#09251c;font-size:36px;font-weight:400}.separator{height:1px;background:var(--line);margin:16px 0}.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6;margin:18px 0}.muted{color:var(--muted)}.tiny{font-size:11px}.pill{display:inline-flex;align-items:center;border:1px solid var(--stroke);border-radius:20px;padding:5px 9px;color:var(--gold);background:#14382b;font-size:10px;font-weight:700;letter-spacing:.6px}.stack{display:flex;flex-direction:column;gap:13px}.panel{padding:14px;background:linear-gradient(145deg,#0c352a,#062a22);border:1px solid var(--line);border-radius:15px}.panel-top{display:flex;gap:11px;align-items:center}.user-avatar{width:43px;height:43px;flex:none;display:grid;place-items:center;border-radius:50%;border:2px solid #bda06b;background:#244539;color:#fbdfad;font:700 20px var(--font-title);object-fit:cover}.user-avatar.large{width:72px;height:72px;font-size:31px}.user-avatar.mini{width:30px;height:30px;font-size:14px;border-width:1px}.user-name{font-size:13px;font-weight:700;color:#f5ebd8}.user-role{font-size:11px;color:var(--mutedgold);margin-top:3px}.panel-more{margin-left:auto;color:#eac17d;background:transparent;border:0;line-height:1;font-size:22px;padding:2px 6px}.post-body{margin:13px 0 11px;font-size:14px;line-height:1.5;white-space:pre-wrap}.post-image{display:block;width:100%;height:240px;object-fit:cover;border-radius:9px;border:1px solid #c49a5940}.post-img-wrap{margin:0 -4px}.post-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0}.reaction-btn{white-space:nowrap;border-radius:10px;background:#06251e;border:1px solid #9b7c44;color:#e2d0ac;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:7px 8px;font-size:11px;min-height:35px}.reaction-btn.chosen{background:#3f492d;color:#f7e2b2;border-color:#ffda8f;box-shadow:0 0 0 1px #bb955266}.reaction-btn .reaction-emoji{font-size:14px}.post-comments{background:transparent;border:0;color:#bdc6b9;font-size:12px;padding:1px 0;margin-bottom:4px}.comment-preview{display:flex;gap:8px;align-items:start;border-top:1px solid var(--line);padding:10px 0 0;margin-top:8px;font-size:12px;line-height:1.45}.comment-preview b{color:var(--gold)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-subhead{font:600 23px var(--font-title);color:#f0cd91;margin:15px 0 9px}.short-card{display:flex;gap:11px;align-items:center}.short-card strong{font-size:13px}.short-card span{display:block;margin-top:4px;color:#bac5b6;font-size:11px}.short-card .arrow{margin-left:auto;color:var(--gold);font-size:23px}.empty{border:1px dashed #92734877;text-align:center;padding:28px 20px;border-radius:14px;color:#c8bb9e;font-size:13px}.section-label{color:var(--gold);text-transform:uppercase;font-size:10px;letter-spacing:1.5px;font-weight:700;display:block;margin:6px 0 12px}.person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.person-card{text-align:center;border:1px solid var(--line);background:linear-gradient(130deg,#113a2c,#08291f);padding:15px 8px;border-radius:13px;min-height:151px;color:var(--text)}.person-card .user-avatar{margin:0 auto 9px}.person-card b{font-size:13px;display:block}.person-card small{display:block;color:var(--mutedgold);font-size:10px;margin-top:4px}.person-detail{text-align:center}.person-detail .user-avatar{margin:0 auto 13px}.person-detail h2{font:600 38px/.97 var(--font-title);color:#f8d99f;margin:0}.person-detail p{font-size:13px;color:#d6c29f;margin:6px 0}.person-detail .quote{font:italic 21px var(--font-title);margin:16px auto 22px;color:#ead9b6}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);padding:12px 0}.stat strong{display:block;color:white;font-size:20px}.stat span{color:#c2c8b7;font-size:10px}.badge-row{display:flex;gap:9px;overflow-x:auto;padding:5px 0 10px;scrollbar-width:none}.badge-card{text-align:center;min-width:78px;flex:none;font-size:10px;color:#f0e0c1}.badge-icon{border:1px solid var(--gold);margin:0 auto 6px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#0b291e;font-size:24px}.event-hero{height:145px;position:relative;border-radius:10px;background:linear-gradient(0deg,#002820cc,#00282017),url('assets/gathering.webp') center/cover;margin:-3px -3px 12px}.event-tag{background:#eac284;color:#172519;display:inline-block;border-radius:5px;padding:5px 9px;font-size:10px;font-weight:700;letter-spacing:.8px}.event-title{font:600 27px/.95 var(--font-title);color:#f9d59b;margin:8px 0}.event-meta{font-size:12px;color:#c6bda6;margin:8px 0}.event-footer{display:flex;gap:8px;margin-top:15px}.event-footer button{flex:1;font-size:12px}.event-footer .button{min-height:41px}.button-small{width:auto;padding:8px 13px;min-height:38px;font-size:12px;border-radius:9px}.button-muted{border:1px solid #7d8c72;color:#d5ddcb;background:#123529}.prophecy-card{position:relative;overflow:hidden}.prophecy-no{font-size:10px;color:var(--mutedgold);letter-spacing:1.6px;font-weight:700}.prophecy-quote{font:italic 24px/1.17 var(--font-title);color:#f6dbab;margin:12px 0 8px}.prophecy-attribution{font-size:11px;color:#a8b8a9}.prophecy-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.predicted{display:inline-flex;gap:5px;color:#e2c47c;font-size:10px;font-weight:700}.told-btn{border:1px solid var(--gold);background:#223c25;color:#f0d79e;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:700}.told-btn.chosen{background:#9c7039;color:white}.honor{text-align:center;padding:22px 10px}.honor-icon{font-size:49px;display:block;margin-bottom:11px}.honor h3{font:600 29px var(--font-title);color:#f4d3a0;margin:0 0 7px}.honor p{line-height:1.5;margin:0 0 12px;font-size:12px;color:#bbc3ad}.honor .year{font-size:10px;color:var(--gold);font-weight:700;letter-spacing:1px}.form-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:#dcbb7c;margin:15px 0 8px}.form-control{background:#06291f;color:#fff6e1;border:1px solid #ac895b;border-radius:10px;width:100%;min-height:45px;padding:11px 12px;font-size:14px}.form-control:focus{outline:1px solid #efc584}.textarea{min-height:112px;resize:vertical}.form-help{font-size:11px;line-height:1.5;color:#b0bba9}.field-row{display:flex;gap:8px}.field-row > *{flex:1;min-width:0}.upload-control{border:1px dashed #b39765;border-radius:13px;padding:18px;text-align:center;display:block;color:#d6c4a2;background:#173a2c;font-size:13px;cursor:pointer}.upload-control input{position:absolute;width:1px;height:1px;opacity:0}.image-preview{max-height:170px;width:100%;object-fit:cover;border-radius:10px;margin-top:11px}.modal-backdrop{position:fixed;z-index:40;inset:0;background:#00150ee8;display:flex;align-items:flex-end;justify-content:center;padding:0}.modal-sheet{background:linear-gradient(145deg,#0d372b,#00271f);border:1px solid #ad8e5a;box-shadow:0 -15px 80px #000b;border-radius:20px 20px 0 0;width:min(100%,520px);max-height:93dvh;overflow-y:auto;padding:8px 20px calc(26px + env(safe-area-inset-bottom,0px))}.modal-grabber{height:4px;background:#af9870;width:42px;border-radius:10px;margin:2px auto 15px}.modal-title{font:600 32px/.98 var(--font-title);color:#f4d59a;margin:0 0 8px}.modal-caption{font-size:12px;color:#bfc6b8;line-height:1.5}.modal-close{float:right;background:none;border:0;color:#c7bb9e;font-size:27px;margin-top:-6px}.modal-action{margin-top:19px}.comment-list{display:flex;flex-direction:column;gap:13px;margin:13px 0;max-height:38vh;overflow-y:auto}.comment-row{display:flex;gap:9px;align-items:start}.comment-text{background:#133c2f;border:1px solid var(--line);padding:8px 11px;border-radius:12px;flex:1;font-size:12px;line-height:1.45}.comment-text b{color:#edc987;display:block;font-size:11px;margin-bottom:4px}.comment-input-area{display:flex;align-items:center;gap:7px;margin:14px 0 0}.comment-input-area input{flex:1}.comment-input-area button{flex:none}.toast{position:fixed;z-index:60;bottom:calc(87px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);max-width:min(400px,90vw);background:#eed39c;color:#05271d;padding:12px 16px;box-shadow:0 10px 40px #0009;border-radius:10px;font-size:12px;font-weight:700;line-height:1.4;text-align:center}.alert-box{margin:14px 0;padding:11px 13px;border-radius:10px;background:#344125;border:1px solid #b49e62;color:#efd7a0;font-size:12px;line-height:1.5}.search-input{width:100%;margin:0 0 12px}.intro-callout{border-left:2px solid var(--gold);color:#d4d4b7;font:italic 19px var(--font-title);padding:7px 0 7px 13px;margin:0 0 14px}.small-link{background:none;border:0;color:var(--gold);font-size:12px;text-decoration:underline;padding:5px 0}.kicker{color:#caa263;letter-spacing:1.2px;font-size:10px;font-weight:700;text-transform:uppercase}.profile-cover{height:110px;background:linear-gradient(#00282022,#001e18f0),radial-gradient(circle at 50% 50%,#b37e4788,transparent 60%),repeating-linear-gradient(35deg,#5e3d30 0px,#583b2d 18px,#163728 18px,#163728 41px);border-radius:12px 12px 0 0;margin-bottom:-36px}.profile-cover + .person-detail{position:relative}.welcome .button:active,.reaction-btn:active,.nav-item:active,.fab:active{transform:scale(.97)}
@media(max-height:710px){.welcome-top{padding-top:calc(env(safe-area-inset-top,0px) + 10px)}.welcome h1{font-size:53px}.hero-art{top:24%;height:52%}.welcome-bottom{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.welcome-note{margin-top:8px}.divider-brick{margin-bottom:7px}}
@media(prefers-reduced-motion:no-preference){.panel{animation:rise .25s ease-out both}@keyframes rise{from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}}
/* v0.2 — acceso real */
.auth-crest{font-family:var(--font-title);font-size:35px;color:var(--gold);text-align:center;margin-bottom:5px}
.auth-note{line-height:1.55;color:var(--muted);font-size:12px;margin-top:13px}
.auth-hint{background:#254032;border:1px solid #987744;padding:11px;border-radius:9px;color:#e6d2a7;font-size:12px;line-height:1.5;margin:12px 0}
.inline-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px}
.inline-row .small-link{font-size:12px}
.loading-state{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:13px;min-height:220px;color:#d4c7a8}
.loading-state .mini-crest{width:56px;height:56px;font-size:32px}
.post-actions .reaction-btn{cursor:pointer}
.banner-sep{opacity:.5}
.empty-action{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.badge-live{border:1px solid var(--gold);background:#092f25;border-radius:25px;color:var(--gold);font-size:10px;padding:5px 9px;display:inline-block}
#open-login{max-width:340px;margin-left:auto;margin-right:auto}
@media(min-width:650px){.welcome,.experience{max-width:480px;margin:0 auto;box-shadow:0 0 120px #0008}.app-shell{min-height:100dvh}.modal-sheet{border-radius:20px;margin-bottom:min(8vh,50px)}}
