@font-face{font-family:Quicksand;src:url('assets/fonts/Quicksand.ttf') format('truetype');font-weight:300 700;font-display:swap}
body,button,input,select,textarea{font-family:Quicksand,ui-rounded,system-ui,sans-serif}h1,h2,h3,strong,summary,.btn,.fff43-tile strong{font-weight:500;letter-spacing:0}h1{font-size:clamp(1.6rem,6vw,2.05rem);line-height:1.3}h2{font-size:1.35rem;color:var(--gold)}h3{color:var(--gold);font-size:1.15rem}.release-page{max-width:650px;margin:auto;padding:22px 22px 32px}.release-page label{font-weight:500}.release-page p{max-width:60ch}.release-page .help{font-size:.85rem;color:var(--muted);margin:8px 0 18px}.release-page .slogan{font-size:clamp(.75rem,3.1vw,1rem);white-space:nowrap;text-align:center;font-weight:400}.release-page .beta{font-size:.75rem;color:var(--muted);text-align:center;margin-top:10px}.release-page .btn{min-height:50px;width:100%;display:flex;align-items:center;justify-content:center;margin:14px 0}.release-page .btn-primary{background:var(--button);color:var(--btnink);border:1px solid var(--button);border-radius:28px}.release-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.release-page textarea,.release-page select{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--teal);border-radius:10px;padding:13px;min-height:48px}.release-page textarea{resize:none;height:110px;overflow:auto}.release-page input[type=checkbox]{width:22px;height:22px;accent-color:var(--teal);flex-shrink:0}.release-page .check{display:flex;align-items:center;gap:10px;margin:12px 0;font-weight:400}.release-page .check input{margin:0}.counter{text-align:right;font-size:.8rem;color:var(--muted);margin:4px 0 16px}.release-header{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;margin-bottom:32px;gap:10px}.release-header>a:last-child{text-align:right}.release-header>a,.release-header button{color:var(--ink);background:none;border:0;text-decoration:none;padding:8px 0;min-height:44px;font-size:1rem}.release-header .brand{width:90px}.brand{width:190px;aspect-ratio:1.04;display:block;position:relative;overflow:hidden;margin:0 auto;color:var(--ink)}.brand img{position:absolute;top:0;left:0;width:254%;max-width:none;height:auto}.brand .tm{position:absolute;right:0;top:10%;font-size:.6rem;color:#fff7e8;background:#062d32;border-radius:3px;padding:1px}.brand-large{width:min(68%,270px);margin-bottom:22px}.divider{display:flex;align-items:center;gap:14px;margin:30px auto;max-width:90%;color:var(--gold)}.divider::before,.divider::after{content:'';height:1px;background:var(--gold);flex:1}.divider svg{width:38px;height:48px;overflow:visible}.release-footer{margin-top:26px}.welcome{text-align:center}.welcome .public-actions{margin:28px 0}.welcome .policy-demo{text-align:left;font-size:.9rem;margin-top:26px}.welcome .policy-demo p{font-size:.8rem}.welcome a{color:var(--teal)}.public-story{display:inline-block;margin:10px 0 20px}.form-group{margin:24px 0}.dropdown{margin-top:10px;border:1px solid var(--teal);border-radius:10px;overflow:hidden}.dropdown>summary{padding:13px;cursor:pointer;min-height:48px;font-size:1rem;list-style:none}.dropdown>summary::after{content:'⌄';float:right;color:var(--teal)}.dropdown[open]>summary::after{content:'⌃'}.dropdown-body{padding:10px 14px;border-top:1px solid var(--line)}.dropdown-list{max-height:270px;overflow:auto;overscroll-behavior:contain}.dropdown .check{min-height:38px}.dropdown .help{margin:0 0 10px}.filter-row{display:grid;grid-template-columns:1fr 100px;gap:10px;margin:10px 0}.filter-row select{font-size:.8rem;padding:7px!important}.dropdown-body input[type=search]{margin-bottom:12px}.req{color:var(--gold)}.error:not(:empty){padding:12px;border:1px solid #e5a2a2;border-radius:8px;margin:14px 0}.link-button{border:0;background:none;color:var(--teal);padding:10px 0;min-height:44px;text-decoration:underline;cursor:pointer}.release-page .action-links{display:flex;flex-wrap:wrap;gap:14px}.notice{padding:16px;border:1px solid var(--line);border-radius:12px}.release-page .chip{display:inline-block;border:1px solid var(--teal);border-radius:24px;padding:8px 14px;margin:4px;color:var(--teal)}.photo-row{display:grid;grid-template-columns:84px 1fr;gap:16px;border:1px solid var(--line);border-radius:14px;padding:16px;margin:18px 0}.photo-add{background:var(--paper);color:var(--teal);border:1px solid var(--teal);border-radius:10px;min-height:84px;width:84px;padding:8px}.photo-row h2{font-size:1.15rem}.photo-row p{font-size:.9rem}.photo-row .help{font-size:.8rem;margin:6px 0}.photo-row textarea{height:72px!important;font-size:.9rem}.edit-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:10px;background:transparent;color:var(--teal);flex-shrink:0;text-decoration:none}.edit-button svg{width:21px;height:21px}.profile-identity{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0}.profile-identity h2{color:var(--ink);font-size:1.45rem}.profile-section{margin:28px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{margin:0}.preview-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:20px;align-items:start;border-bottom:1px solid var(--teal);padding:16px 0}.preview-row>details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;color:var(--gold);font-size:1.15rem}.preview-row>details>summary::after{content:'⌄';color:var(--teal);font-size:1.6rem}.preview-row>details[open]>summary::after{content:'⌃'}.preview-row .expanded{padding:18px 0;grid-column:1/-1}.profile-preview>.btn{margin-top:30px}.gallery{max-width:320px;margin:14px auto;text-align:center}.gallery-square{aspect-ratio:1;overflow:hidden;background:var(--surface2);border:1px solid var(--gold);border-radius:12px;display:flex;align-items:center;justify-content:center;width:100%;position:relative;color:var(--ink)}.gallery-square img{width:100%;height:100%;object-fit:cover}.gallery-controls{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:8px}.gallery-controls button{min-width:44px;min-height:44px;border:0;background:none;color:var(--teal);font-size:1.3rem}.gallery-dots button{border:0;background:none;color:var(--muted);min-width:40px;min-height:44px}.gallery-dots button[aria-pressed=true]{color:var(--teal)}.release-dialog{width:min(92vw,520px);max-height:90dvh;overflow:auto;background:var(--paper);color:var(--ink);padding:24px;border:1px solid var(--teal);border-radius:16px}.release-dialog::backdrop{background:#000b}.release-dialog .close{float:right;min-width:44px;min-height:44px;background:none;border:0;color:var(--teal);font-size:1.6rem}.release-dialog h2{margin:14px 0}.release-dialog input,.release-dialog textarea{width:100%;font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--teal);border-radius:8px;padding:12px}.release-dialog .btn{display:block;width:100%;margin-top:18px;text-align:center}.crop-window{aspect-ratio:1;overflow:hidden;position:relative;background:var(--surface2);touch-action:none;cursor:move;border:1px solid var(--gold);border-radius:8px}.crop-window img{width:100%;height:100%;object-fit:cover;pointer-events:none}.crop-window::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 33%,#fff5 33%,#fff5 33.3%,transparent 33.3%,transparent 66%,#fff5 66%,#fff5 66.3%,transparent 66.3%),linear-gradient(transparent 33%,#fff5 33%,#fff5 33.3%,transparent 33.3%,transparent 66%,#fff5 66%,#fff5 66.3%,transparent 66.3%)}.zoom-row{display:grid;grid-template-columns:44px 1fr 44px;gap:12px;align-items:center;margin:14px 0}.zoom-row button{background:none;border:1px solid var(--teal);color:var(--teal);border-radius:50%;height:44px}.full-photo{max-width:100%;max-height:65dvh;object-fit:contain}.complete{text-align:center;padding-top:30px}.butterfly-art{width:110px;height:110px;margin:24px auto;color:var(--gold)}.complete h1{margin:24px 0}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-tile{display:flex;align-items:center;gap:13px;border:1px solid var(--teal);border-radius:18px;padding:20px 14px;text-decoration:none;color:var(--ink);min-height:140px}.home-tile .icon-ring{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);flex-shrink:0}.home-tile svg{width:29px;height:29px}.home-tile h2{font-size:1.08rem;margin:0 0 7px}.home-tile p{font-size:.85rem;line-height:1.45;margin:0}.app-greeting{margin:30px 0 0;color:var(--gold);font-size:1.7rem}.app-home .brand-large{width:210px}.app-home .divider{max-width:100%;margin:16px 0 24px}.fff43-tabbar a,.fff43-tabbar a[aria-current=page]{color:var(--ink);font-weight:400;position:relative}.fff43-tabbar a[aria-current=page] svg{color:var(--gold)}.fff43-tabbar a[aria-current=page]::after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:3px;border-radius:3px;background:var(--gold)}.founder-intro{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;margin:25px 0}.founder-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.founder-name{font-family:cursive;font-style:italic;font-size:2.5rem;font-weight:400;margin:0}.founder-section{display:grid;grid-template-columns:42px 1fr;gap:20px;margin:26px 0}.founder-section .story-icon{color:var(--teal);width:36px}.founder-section h2{font-size:1.25rem}.story-expander>summary{list-style:none;color:var(--teal);text-align:center;padding:16px;cursor:pointer}.swoosh{display:block;width:150px;height:9px;border-bottom:2px solid var(--gold);border-radius:50%;margin:0 auto}.founder-title{font-size:1.45rem}.feedback-choice{border:0}.rating-row{display:flex;gap:14px;flex-wrap:wrap}.feedback-more{margin:22px 0}.hub-links{display:grid;gap:14px}.hub-links a{padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none}.release-page [hidden],.release-dialog [hidden]{display:none!important}
@media(max-width:420px){.home-tile{flex-direction:column;align-items:flex-start;min-height:160px;padding:16px 12px}.home-tile .icon-ring{width:42px;height:42px}.home-tile h2{font-size:1rem}.founder-intro{grid-template-columns:90px 1fr;gap:14px}.founder-photo{width:90px;height:90px}.founder-name{font-size:2rem}.release-page{padding:18px}.photo-row{grid-template-columns:65px 1fr;gap:12px}.photo-add{width:65px;min-height:75px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Mobile review: reflow instead of clipping; controls remain comfortable on touch. */
.release-page,.release-page *{min-width:0}
.release-page .slogan{white-space:normal;text-wrap:balance}
.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-tile>div{min-width:0}
.filter-row{grid-template-columns:minmax(0,1fr) 100px}
.filter-row select,.photo-row textarea,.release-page input,.release-page select,.release-page textarea,.release-dialog input,.release-dialog textarea{font-size:1rem}
.release-page .check,.dropdown .check{min-height:44px}
.release-dialog{box-sizing:border-box;max-width:calc(100vw - 24px)}
.release-dialog input[type=range]{padding:0}
.preview-row>details>summary::-webkit-details-marker,.dropdown>summary::-webkit-details-marker,.story-expander>summary::-webkit-details-marker{display:none}
.gallery-square>span>svg{width:68px;height:68px;display:block;margin:0 auto 12px}
.photo-row{grid-template-columns:84px minmax(0,1fr)}
@media(max-width:420px){.photo-row{grid-template-columns:65px minmax(0,1fr)}}
@media(max-width:350px){.filter-row{grid-template-columns:1fr}.founder-intro{grid-template-columns:1fr}.founder-photo{margin:auto}.home-tile h2{overflow-wrap:anywhere}}
/* iPhone review fixes: approved rounded icon, compact type, consistent proportions. */
.release-page{font-size:.875rem;line-height:1.45;padding:18px 18px 26px}
.release-page p{line-height:1.45;margin-bottom:10px}
.release-page h1{font-size:1.4rem;line-height:1.3;margin-bottom:12px}
.release-page h2{font-size:1.125rem;line-height:1.3}
.release-page h3{font-size:1.05rem}
.release-page .help{font-size:.78rem;line-height:1.45;margin:6px 0 12px}
.release-header{grid-template-columns:1fr 74px 1fr;margin-bottom:22px;gap:10px}
.release-header>a,.release-header button{font-size:.875rem}
.brand,.release-header .brand{width:74px;aspect-ratio:auto;overflow:visible;padding:0;position:relative;margin:0 auto;display:block}
.brand .brand-artwork{position:relative;display:block;width:100%;aspect-ratio:1.05;overflow:hidden;border-radius:24%}
.brand .brand-artwork>img{position:absolute;width:267%;height:auto;max-width:none;left:-5.3%;top:-4.3%}
.brand .tm{position:absolute;top:11%;right:-13px;padding:0;background:none;border:0;border-radius:0;color:var(--gold);font:500 .55rem/1 Quicksand,sans-serif}
.brand-large,.app-home .brand-large{width:190px;margin:4px auto 20px}
.release-page .slogan{font-size:.78rem}
.divider{margin:20px auto;gap:12px}
.divider svg{width:30px;height:40px}
.release-page .form-group{margin:18px 0}
.release-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.release-page select,.release-page textarea{padding:10px 12px;min-height:44px}
.release-page textarea{height:90px}
.release-page .check{margin:6px 0;min-height:44px}
.release-page .dropdown .check{margin:2px 0;min-height:40px}
.dropdown>summary{padding:10px 12px;min-height:44px;font-size:.9rem}
.dropdown-body{padding:8px 12px}
.dropdown-list{max-height:240px}
.counter{font-size:.75rem;margin:4px 0 10px}
.release-page .btn{min-height:46px;font-size:.95rem;margin:12px 0}
.release-footer{margin-top:20px}
.release-page .beta{font-size:.7rem}
.founder-intro{grid-template-columns:86px minmax(0,1fr);gap:16px;margin:14px 0 18px;align-items:center}
.founder-photo{width:86px;height:86px;object-fit:cover;background:var(--paper);object-position:50% 12%}
.release-page .founder-name{font-size:1.85rem;margin-bottom:4px}
.founder-intro p{font-size:.9rem;margin:0 0 7px}
.founder-intro .chip{font-size:.7rem;padding:5px 9px;margin:2px}
.release-page .founder-title{font-size:1.2rem;margin:18px 0}
.founder-section{grid-template-columns:26px minmax(0,1fr);gap:14px;margin:20px 0}
.founder-section .story-icon{width:26px}
.founder-section .story-icon svg{width:26px;height:34px}
.release-page .founder-section h2{font-size:1.05rem;margin-bottom:8px}
.release-page .founder-section p{font-size:.875rem;line-height:1.45;margin:0 0 10px}
.story-expander>summary{font-size:.9rem;padding:12px}
.photo-row{align-items:start;margin:14px 0;padding:14px;grid-template-columns:72px minmax(0,1fr);gap:14px}
.photo-add{align-self:start;justify-self:start;display:flex;align-items:center;justify-content:center;width:72px;height:78px;min-height:0;overflow:hidden;font-size:.75rem;padding:5px}
.photo-add img{display:block;width:100%;height:100%;object-fit:contain}
.photo-row h2{font-size:1rem;margin-bottom:8px}
.photo-row p{font-size:.85rem}
.photo-row .help{font-size:.72rem;line-height:1.4}
.photo-row .action-links{gap:10px}
.photo-row .action-links button{font-size:.78rem;padding:6px 0}
.crop-window{width:min(100%,300px);max-height:42dvh;margin:0 auto;background:var(--surface2)}
.crop-window img,.gallery-square img{object-fit:contain}
.release-dialog{padding:16px;font-size:.875rem;max-height:88dvh}
.release-dialog h2{font-size:1.2rem;margin:6px 44px 12px 0}
.release-dialog .close{display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:none;width:36px;height:36px;min-width:36px;min-height:36px;font-size:1.5rem}
.release-dialog p{line-height:1.4;margin-bottom:12px}
.release-dialog .help{font-size:.75rem}
.zoom-row{margin:10px 0}
#reset-crop{padding:4px 0;min-height:36px}
#save-crop{min-height:46px}
.profile-identity{margin:18px 0}
.profile-identity h2{font-size:1.2rem}
.profile-section{margin:20px 0}
@media(max-width:350px){.founder-intro{grid-template-columns:72px minmax(0,1fr);gap:12px}.founder-photo{width:72px;height:72px}.founder-intro p{font-size:.78rem}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.release-page input[type=date]{display:block;max-width:100%;min-width:0;box-sizing:border-box}
.release-page input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}
@font-face{font-family:Allura;src:url('assets/fonts/Allura-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
/* Final founder and public-home emphasis from iPhone review. */
.brand .tm{top:13%;right:8%;font-size:.45rem;z-index:2;color:#fff7e8}
.welcome .public-actions .btn{font-size:1.05rem;font-weight:600}
.welcome .public-story{font-size:1.05rem;font-weight:600;padding:10px 8px;min-height:44px}
.release-page .founder-name{font-family:Allura,cursive;font-style:normal;font-weight:400;font-size:2.3rem;line-height:1.05;letter-spacing:0}

/* Home refinements from the mobile review. */
.home-tile .icon-ring svg{color:var(--ink)}
.release-page.app-home .slogan,.release-page.welcome .slogan{font-size:1rem;font-weight:500;line-height:1.5}
.story-link-row{text-align:center;margin:20px 0 4px}
.story-link-row a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:600;color:var(--teal)}

/* Slightly larger navigation and brand phrase across the beta. */
.release-header>a:not(.brand),.release-header button,.fff-routebar>a,.fff-routebar button{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
.release-page .slogan,.release-page.app-home .slogan,.release-page.welcome .slogan{font-size:1.0625rem;font-weight:500;line-height:1.5}

/* One shared Back / centered brand / Home header on every screen. */
.release-header{grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:center}
.release-header>button,.release-header>a:not(.brand){font-family:Quicksand,ui-rounded,system-ui,sans-serif;font-size:1rem;font-weight:500;line-height:1.3;min-height:44px;padding:8px 0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center}
.release-header>button{justify-content:flex-start;justify-self:start}
.release-header>a:last-child{justify-content:flex-end;justify-self:end;text-align:right}
.release-header>.brand{justify-self:center;margin:0;width:74px}
.legacy-header{width:100%;max-width:650px;box-sizing:border-box;margin:0 auto;padding:22px 22px 0;background:transparent;border:0}
@media(max-width:420px){.legacy-header{padding:18px 18px 0}}

/* Matching large outlined navigation buttons, as preferred. */
.release-header>button,.release-header>a:not(.brand){justify-content:center;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:1rem;white-space:nowrap}
.release-header>a:last-child{justify-content:center}
@media(max-width:350px){.release-header>button,.release-header>a:not(.brand){padding:10px}}
