:root{--ink:#17231f;--forest:#254e3f;--forest-2:#31634f;--cream:#f5f0e5;--paper:#fffdf8;--gold:#e6a62e;--orange:#df6c38;--sage:#a9bba5;--line:#ded9cc;--muted:#6f766f;--shadow:0 18px 45px rgba(32,48,40,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.wrapper{width:min(1180px,calc(100% - 48px));margin-inline:auto}.topbar{height:82px;display:flex;align-items:center;padding:0 max(28px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(37,78,63,.13);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 23px "Fraunces",serif;letter-spacing:-.5px}.brand>span:last-child span{color:var(--orange)}.brand-mark{width:38px;height:38px;border-radius:50% 50% 46% 44%;display:grid;place-items:center;background:var(--forest);transform:rotate(-3deg)}.brand-mark svg{width:23px;fill:none;stroke:#f8cf68;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.desktop-nav{display:flex;gap:38px;margin:auto}.nav-link{border:0;background:none;font:600 14px inherit;color:#747c75;cursor:pointer;padding:29px 0;position:relative}.nav-link.active{color:var(--forest)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;background:var(--orange);border-radius:3px 3px 0 0}.header-actions{display:flex;align-items:center;gap:16px}.coin-pill{height:38px;padding:0 14px 0 9px;border-radius:20px;background:#eadfc6;display:flex;align-items:center;gap:7px;font-size:14px}.coin{display:grid;place-items:center;background:var(--gold);color:#fff6c9;border:2px solid #cf8f1e;border-radius:50%;width:23px;height:23px;font-size:12px}.avatar-button{width:40px;height:40px;border:0;border-radius:50%;background:#d37045;color:#fff;font:700 11px inherit;position:relative;cursor:pointer}.avatar-button i{position:absolute;width:9px;height:9px;background:#4ca979;border:2px solid var(--cream);border-radius:50%;right:0;bottom:0}.view{display:none}.view.active{display:block}.hero{min-height:540px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:40px;padding-block:48px 35px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;color:var(--forest-2);display:flex;align-items:center;gap:9px;margin:0 0 18px}.eyebrow span{display:inline-block;width:23px;height:2px;background:var(--orange)}h1,h2{font-family:"Fraunces",serif;letter-spacing:-1.7px;margin:0}h1{font-size:clamp(48px,5.4vw,76px);line-height:1.02}h1 em{font-weight:600;color:var(--orange)}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted);max-width:560px;margin:24px 0 30px}.hero-actions{display:flex;gap:26px;align-items:center}.primary-button{border:0;background:var(--forest);color:white;border-radius:4px;padding:15px 20px;font:700 13px inherit;box-shadow:0 8px 20px rgba(37,78,63,.2);cursor:pointer;transition:.2s}.primary-button:hover{background:#193e31;transform:translateY(-2px)}.primary-button span{margin-left:15px;color:#f2c15a}.text-button{border:0;background:none;font:700 13px inherit;color:var(--forest);cursor:pointer}.text-button span{color:var(--orange);font-size:19px;vertical-align:-1px}.hero-art{height:410px;position:relative;overflow:hidden;border-radius:52% 48% 47% 53%/44% 46% 54% 56%;background:#decdad}.sun{position:absolute;width:70px;height:70px;border-radius:50%;background:#e7aa39;right:82px;top:48px;box-shadow:0 0 0 13px rgba(231,170,57,.1)}.cloud{position:absolute;width:75px;height:17px;border-radius:20px;background:rgba(255,255,255,.55)}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:30px;height:30px;left:15px;bottom:0}.cloud:after{width:22px;height:22px;left:40px;bottom:0}.cloud-one{top:92px;left:64px}.cloud-two{top:64px;left:170px;transform:scale(.65)}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-back{background:#78977a;width:520px;height:200px;left:60px;bottom:-45px;transform:rotate(-7deg)}.hill-front{background:#426b54;width:550px;height:150px;left:-70px;bottom:-40px;transform:rotate(3deg)}.house{position:absolute;width:200px;height:180px;left:43%;bottom:82px;transform:translateX(-50%)}.house-body{position:absolute;bottom:0;left:18px;width:165px;height:115px;background:#e7d8b8;border-radius:3px;box-shadow:inset -12px 0 rgba(155,115,75,.08)}.roof{position:absolute;z-index:2;top:25px;left:0;width:200px;height:75px;background:#b85436;clip-path:polygon(50% 0,100% 72%,92% 79%,50% 26%,8% 79%,0 72%)}.chimney{position:absolute;top:28px;right:38px;width:23px;height:46px;background:#7b4935}.door{position:absolute;width:40px;height:70px;bottom:0;left:63px;background:#755340;border-radius:20px 20px 0 0}.door:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#e6a62e;right:7px;top:36px}.window{position:absolute;width:36px;height:36px;background:#efd477;left:16px;top:35px;border:5px solid #46614d;box-shadow:65px 0 #efd477,65px 0 0 5px #46614d}.tree{position:absolute;right:73px;bottom:76px}.trunk{width:16px;height:77px;background:#674d36;margin:auto}.leaves{position:absolute;width:85px;height:105px;border-radius:51% 49% 45% 55%;background:#315d48;bottom:47px;left:-35px}.spark{position:absolute;color:#fff2bf}.s1{top:145px;left:44px}.s2{right:39px;top:168px}.s3{font-size:35px;right:145px;top:20px}.level-card{position:absolute;right:24px;bottom:24px;width:135px;padding:12px 14px;background:rgba(255,253,248,.9);box-shadow:var(--shadow);border-radius:6px;backdrop-filter:blur(5px)}.level-card>span,.level-card small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#74786f}.level-card strong{font:700 23px "Fraunces";float:right;color:var(--orange)}.level-card div{clear:both;height:5px;border-radius:3px;background:#d9d6c9;margin:8px 0 5px}.level-card i{display:block;height:100%;background:var(--orange);border-radius:inherit}.mission-section{padding-block:72px 95px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.inner-view h2{font-size:39px}.round-add{border:1px solid var(--line);background:var(--paper);width:43px;height:43px;border-radius:50%;font-size:25px;color:var(--orange);cursor:pointer;box-shadow:0 6px 20px rgba(32,48,40,.06)}.filter-row{display:flex;gap:8px;margin:30px 0 22px;overflow:auto;padding-bottom:3px}.filter{white-space:nowrap;border:1px solid var(--line);background:transparent;color:#74786f;padding:9px 14px;border-radius:20px;font:600 12px inherit;cursor:pointer}.filter.active{background:var(--forest);border-color:var(--forest);color:white}.filter b{display:inline-grid;place-items:center;background:rgba(255,255,255,.18);min-width:20px;height:20px;border-radius:10px;margin-left:5px}.quest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quest-card{background:var(--paper);border:1px solid rgba(37,78,63,.11);border-radius:7px;padding:22px;min-height:240px;display:flex;flex-direction:column;position:relative;transition:.22s;overflow:hidden}.quest-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}.quest-card.completed{opacity:.58}.quest-card.completed:after{content:"COMPLETATA";position:absolute;right:-29px;top:18px;background:var(--forest);color:white;padding:5px 35px;font-size:8px;letter-spacing:1.4px;transform:rotate(35deg)}.quest-top{display:flex;justify-content:space-between;align-items:center}.quest-icon{width:45px;height:45px;border-radius:50% 45% 50% 44%;display:grid;place-items:center;font-size:22px;background:#e6dbc7}.difficulty{font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--orange)}.quest-card h3{font:700 21px "Fraunces";margin:18px 0 7px;letter-spacing:-.4px}.quest-card p{font-size:12px;color:var(--muted);margin:0}.quest-meta{display:flex;gap:13px;margin-top:auto;font-size:10px;color:#7f847e}.quest-meta span{display:flex;align-items:center;gap:4px}.quest-bottom{border-top:1px solid #e8e3d9;margin-top:16px;padding-top:14px;display:flex;justify-content:space-between;align-items:center}.reward{font:700 13px inherit;color:#9d6b12}.reward span{display:inline-grid;place-items:center;width:19px;height:19px;background:var(--gold);color:#fff5c5;border-radius:50%;margin-right:5px}.claim-button{border:0;background:none;color:var(--forest);font:700 11px inherit;cursor:pointer;padding:5px}.claim-button:hover{color:var(--orange)}.party-strip{background:var(--forest);color:white;overflow:hidden}.party-content{min-height:430px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.eyebrow.light{color:#e8c66f}.party-copy h2{font-size:48px;line-height:1.08}.party-copy>p:last-child{color:#c3d0ca;line-height:1.65;font-size:14px;max-width:485px}.party-copy strong{color:white}.party-goal{display:flex;align-items:center;gap:25px}.goal-orbit{width:255px;height:255px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 57px rgba(255,255,255,.018)}.goal-center{width:145px;height:145px;background:#f1e6ce;border-radius:50%;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-center span,.goal-center small{text-transform:uppercase;letter-spacing:1.6px;font-size:8px}.goal-center strong{font:700 33px "Fraunces";color:var(--orange)}.member{position:absolute;width:46px;height:46px;border:4px solid var(--forest);background:#dca779;border-radius:50%;display:grid;place-items:center;font-size:24px}.m1{top:5px;left:15px}.m2{right:-10px;top:71px}.m3{bottom:-4px;left:59px}.m4{top:54px;left:-18px}.reward-note{background:#315e4d;padding:14px;border-radius:6px;display:flex;align-items:center;gap:10px;min-width:190px}.reward-note>span{font-size:23px}.reward-note small{display:block;color:#aebfb7;font-size:9px;text-transform:uppercase;letter-spacing:1px}.reward-note strong{font:600 13px "Fraunces"}.inner-view{min-height:calc(100vh - 82px);padding-block:80px}.inner-view h1{font-size:62px}.intro{max-width:610px;color:var(--muted);font-size:16px;line-height:1.7;margin:24px 0 45px}.family-grid,.reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.family-card,.reward-card{background:var(--paper);border:1px solid var(--line);padding:25px;border-radius:7px}.family-avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:39px;margin-bottom:20px}.family-card h3,.reward-card h3{font:700 21px "Fraunces";margin:0 0 5px}.family-card p,.reward-card p{font-size:12px;color:var(--muted);line-height:1.5}.stat-line{display:flex;justify-content:space-between;font-size:11px;margin:20px 0 7px}.progress{height:6px;background:#e8e3d7;border-radius:4px}.progress i{display:block;height:100%;border-radius:inherit;background:var(--orange)}.reward-art{height:120px;background:#dde8dc;border-radius:5px;display:grid;place-items:center;font-size:55px;margin-bottom:20px}.reward-price{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.buy-button{border:1px solid var(--forest);background:transparent;color:var(--forest);border-radius:4px;padding:8px 11px;font:700 11px inherit;cursor:pointer}.buy-button:hover{background:var(--forest);color:white}.buy-button:disabled{opacity:.4;cursor:not-allowed}dialog{width:min(540px,calc(100% - 32px));border:0;border-radius:9px;padding:0;background:var(--paper);box-shadow:0 35px 100px rgba(12,26,20,.3)}dialog::backdrop{background:rgba(16,29,24,.68);backdrop-filter:blur(3px)}dialog form{padding:30px}.modal-head{display:flex;justify-content:space-between;margin-bottom:25px}.modal-head h2{font-size:33px}.close-modal{border:0;background:none;font-size:28px;color:#7c817b;cursor:pointer}label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:var(--forest);margin-bottom:17px}input,select{width:100%;border:1px solid var(--line);background:#faf7ef;border-radius:4px;padding:12px;font:500 13px inherit;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--forest)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{width:100%;margin-top:5px}.toast{position:fixed;z-index:30;right:24px;bottom:24px;background:var(--ink);color:white;padding:15px 20px;border-radius:7px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;transform:translateY(120px);opacity:0;transition:.35s}.toast.show{transform:none;opacity:1}.toast>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--gold);color:#fff2bd}.toast strong,.toast small{display:block}.toast strong{font:600 14px "Fraunces"}.toast small{color:#b9c3be;font-size:10px;margin-top:2px}.mobile-nav{display:none}
@media(max-width:900px){.quest-grid{grid-template-columns:repeat(2,1fr)}.family-grid,.reward-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:25px}.hero-art{height:360px}.party-content{grid-template-columns:1fr;padding-block:65px}.party-goal{justify-content:center}.desktop-nav{display:none}}
@media(max-width:600px){.wrapper{width:min(100% - 30px,1180px)}.topbar{height:67px;padding:0 15px;position:sticky;top:0;background:rgba(245,240,229,.93);backdrop-filter:blur(12px)}.brand{font-size:20px}.brand-mark{width:34px;height:34px}.coin-pill{height:34px}.avatar-button{display:none}.hero{padding-top:30px;gap:32px}.hero h1{font-size:47px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-art{height:300px;border-radius:35% 48% 37% 45%}.house{transform:translateX(-50%) scale(.8);bottom:45px}.tree{bottom:42px;right:32px}.level-card{right:10px;bottom:10px}.mission-section{padding-block:58px 80px}.section-heading h2{font-size:31px}.quest-grid{grid-template-columns:1fr}.quest-card{min-height:220px}.party-content{padding-bottom:100px}.party-copy h2{font-size:39px}.party-goal{flex-direction:column}.goal-orbit{width:220px;height:220px}.inner-view{padding-block:55px 100px}.inner-view h1{font-size:44px}.family-grid,.reward-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;z-index:15;left:12px;right:12px;bottom:10px;height:62px;background:rgba(23,35,31,.96);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 15px 40px rgba(0,0,0,.25);justify-content:space-around}.mobile-nav button{border:0;background:none;color:#91a198;font:600 9px inherit;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}.mobile-nav button span{font-size:19px}.mobile-nav button.active{color:#f3c862}.form-row{grid-template-columns:1fr}.toast{left:15px;right:15px;bottom:84px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Profili, permessi e cantastorie AI */
.profile-switcher{position:relative}.profile-menu{position:absolute;right:0;top:50px;width:235px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px;box-shadow:var(--shadow);z-index:25}.profile-menu[hidden]{display:none}.profile-option{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:11px;text-align:left;padding:10px;border-radius:5px;cursor:pointer;color:var(--ink)}.profile-option:hover,.profile-option.active{background:#eee8da}.profile-option>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:20px}.profile-option strong,.profile-option small{display:block}.profile-option strong{font:700 13px "Fraunces"}.profile-option small{font-size:9px;color:var(--muted);margin-top:2px}.profile-option b{margin-left:auto;color:var(--forest);font-size:10px}.adult-only.is-hidden{display:none!important}
.quest-card .quest-description{margin-top:9px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quest-card .quest-meta{padding-top:14px}
dialog{width:min(590px,calc(100% - 32px));max-height:calc(100vh - 30px)}input,select,textarea{width:100%;border:1px solid var(--line);background:#faf7ef;border-radius:4px;padding:12px;font:500 13px inherit;color:var(--ink);outline:none;resize:vertical}textarea{min-height:72px}input:focus,select:focus,textarea:focus{border-color:var(--forest)}.field-hint{color:var(--muted);font-weight:500}.ai-writer{background:#edf1e8;border:1px solid #d4ddce;border-radius:7px;padding:16px;margin-bottom:22px}.ai-title{display:flex;gap:10px;align-items:center;margin-bottom:12px}.ai-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--forest);color:#f4ca64}.ai-title strong,.ai-title small{display:block}.ai-title strong{font:700 14px "Fraunces"}.ai-title small{font-size:10px;color:var(--muted);margin-top:2px}.prompt-box{display:flex;gap:8px}.prompt-box textarea{min-height:52px;background:var(--paper)}.prompt-box button{flex:0 0 135px;border:0;border-radius:4px;background:var(--orange);color:white;font:700 11px inherit;cursor:pointer}.prompt-box button:disabled{opacity:.55;cursor:wait}.prompt-box button span{margin-left:4px;color:#ffe49a}.ai-status{font-size:10px;color:var(--forest);margin:8px 0 0;min-height:14px}.ai-status.error{color:#a7442e}
@media(max-width:600px){.avatar-button{display:block}.profile-menu{position:fixed;top:70px;right:15px}.prompt-box{flex-direction:column}.prompt-box button{flex-basis:auto;padding:12px}}

/* Presa in carico, valutazione e aree personali */
.quest-status{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 8px;border-radius:12px;background:#eee8da;color:var(--forest);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.quest-status.submitted{background:#f7dfb5;color:#8c5711}.quest-status.claimed{background:#dce9df}.quest-party{display:flex;align-items:center;margin-left:auto}.quest-party span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--paper);margin-left:-6px;font-size:14px}.claim-button.primary-action{background:var(--forest);color:white;border-radius:4px;padding:8px 10px}.claim-button.submit-action{color:var(--orange)}.claim-button:disabled{opacity:.5}.review-section{padding-bottom:85px}.review-count{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--orange);color:white;font-weight:700}.review-intro{color:var(--muted);font-size:13px}.review-list{display:grid;gap:12px;margin-top:22px}.review-empty{border:1px dashed var(--line);padding:28px;text-align:center;color:var(--muted);font-size:13px}.review-item{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:18px 20px}.review-item h3{font:700 18px "Fraunces";margin:0 0 5px}.review-item p{font-size:11px;color:var(--muted);margin:0}.review-actions{display:flex;gap:6px}.review-actions button{border:1px solid var(--line);background:#faf7ef;border-radius:4px;padding:8px 10px;color:var(--forest);font:700 10px inherit;cursor:pointer}.review-actions button:hover{background:var(--forest);color:white}.family-card{cursor:pointer;transition:.2s}.family-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.family-card .wallet{display:flex;align-items:center;gap:5px;color:#9d6b12;font-weight:700;margin-top:13px}.profile-dialog{width:min(580px,calc(100% - 32px))}.personal-area{padding:30px}.personal-hero{background:var(--forest);color:white;border-radius:8px;padding:20px;display:flex;align-items:center;gap:17px;margin-bottom:26px}.personal-avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:38px}.personal-hero small,.personal-hero strong{display:block}.personal-hero small{font-size:8px;letter-spacing:1.5px;color:#b9c9c1}.personal-hero strong{font:700 20px "Fraunces";margin-top:5px}.personal-hero .coin{display:inline-grid;width:21px;height:21px;margin-right:5px;font-size:10px}.personal-area>h3{font:700 18px "Fraunces"}.personal-missions{display:grid;gap:8px;max-height:310px;overflow:auto}.personal-mission{display:flex;justify-content:space-between;gap:15px;padding:12px;border:1px solid var(--line);border-radius:5px}.personal-mission strong,.personal-mission small{display:block}.personal-mission strong{font-size:12px}.personal-mission small{font-size:9px;color:var(--muted);margin-top:3px}.personal-mission b{white-space:nowrap;color:#9d6b12;font-size:11px}.personal-empty{color:var(--muted);font-size:12px;padding:18px 0}
@media(max-width:600px){.review-item{grid-template-columns:1fr}.review-actions{flex-wrap:wrap}.review-actions button{flex:1}.review-section{padding-bottom:100px}}
.empty-board{grid-column:1/-1;text-align:center;border:1px dashed #c9c4b8;border-radius:8px;padding:55px 20px;background:rgba(255,253,248,.5)}.empty-board>span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 15px;border-radius:50%;background:var(--forest);color:#f3ca68;font-size:18px}.empty-board h3{font:700 23px "Fraunces";margin:0 0 8px}.empty-board p{color:var(--muted);font-size:13px;margin:0 0 20px}
.exchange-card{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--forest);color:white;border-radius:8px;padding:20px 24px;margin:-15px 0 30px}.exchange-card>div{display:flex;align-items:center;gap:13px;white-space:nowrap}.exchange-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font:700 22px "Fraunces"}.exchange-card small,.exchange-card strong{display:block}.exchange-card small{font-size:8px;letter-spacing:1.4px;color:#b9c8c1}.exchange-card strong{font:700 17px "Fraunces";margin-top:3px}.exchange-card p{max-width:500px;margin:0;color:#c7d3cd;font-size:11px;line-height:1.5}.reward-card{position:relative}.delete-reward{position:absolute;right:10px;top:10px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:#9a4f38;cursor:pointer;font-size:16px}.money-badge{display:inline-block;background:#e7f0e4;color:var(--forest);border-radius:12px;padding:5px 8px;margin-top:9px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}
@media(max-width:600px){.exchange-card{align-items:flex-start;flex-direction:column;gap:14px}.exchange-card>div{white-space:normal}.rewardsView .section-heading{align-items:flex-start}}
.personal-streak{margin-left:auto;padding-left:20px;border-left:1px solid rgba(255,255,255,.18)}.personal-streak strong,.personal-streak em{display:block}.personal-streak em{font-size:9px;color:#f2cb6b;font-style:normal;margin-top:3px}.streak-line{display:flex;align-items:center;gap:6px;color:var(--orange);font-size:10px;font-weight:700;margin-top:9px}.streak-bonus{color:#bc7718!important}.review-item .bonus-note{color:#b16e14;margin-top:5px}.personal-mission .bonus-detail{color:#b16e14;margin-top:3px}
@media(max-width:600px){.personal-hero{flex-wrap:wrap}.personal-streak{width:100%;margin-left:85px;border-left:0;padding-left:0}}
.quest-card{cursor:pointer}.quest-card button{cursor:pointer}.quest-detail-dialog{width:min(620px,calc(100% - 32px))}.quest-detail{padding:30px}.detail-banner{display:flex;align-items:center;gap:14px;background:var(--forest);color:white;padding:16px;border-radius:7px}.detail-banner>span{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:#f3e7ce;font-size:28px}.detail-banner small,.detail-banner strong{display:block}.detail-banner small{font-size:8px;letter-spacing:1.3px;color:#f0ca6e;text-transform:uppercase}.detail-banner strong{font:700 18px "Fraunces";margin-top:4px}.detail-description{font-size:14px;line-height:1.65;color:var(--muted);margin:22px 0}.detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.detail-fact{background:#f3eee3;border-radius:5px;padding:10px}.detail-fact small,.detail-fact strong{display:block}.detail-fact small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.detail-fact strong{font-size:12px;margin-top:3px}.narrator-tips{border:1px solid #dacda9;background:#faf4df;border-radius:7px;padding:17px}.tips-title{display:flex;align-items:center;gap:10px}.tips-title>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:white}.tips-title small,.tips-title strong{display:block}.tips-title small{font-size:8px;letter-spacing:1.2px;color:#9a6b18}.tips-title strong{font:700 15px "Fraunces";margin-top:2px}.narrator-tips ol{margin:14px 0 0;padding-left:21px}.narrator-tips li{font-size:12px;line-height:1.5;color:#5f5d52;padding-left:5px;margin:7px 0}.detail-team{margin-top:20px}.detail-team>small{font-size:8px;letter-spacing:1.2px;color:var(--muted)}.detail-team>div{display:flex;gap:8px;margin-top:8px}.detail-member{display:flex;align-items:center;gap:6px;background:#eee8dc;padding:5px 9px 5px 5px;border-radius:18px;font-size:10px}.detail-member span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:16px}
@media(max-width:600px){.detail-facts{grid-template-columns:repeat(2,1fr)}}
.spontaneous-button{color:var(--orange)}.initiative-note{display:flex;gap:11px;align-items:flex-start;background:#faf4df;border:1px solid #dacda9;border-radius:6px;padding:13px;margin-bottom:20px}.initiative-note>span{color:#b87816}.initiative-note p{font-size:11px;line-height:1.5;color:#676356;margin:0}.spontaneous-rule{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:10px}.initiative-badge{display:inline-flex;align-items:center;gap:4px;background:#f7dfb5;color:#945e13;border-radius:12px;padding:4px 7px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;margin-left:6px}.review-actions .reject-action{color:#9a4f38}.personal-mission.spontaneous-entry{border-left:3px solid var(--gold)}
.regenerate-tips{margin-left:auto;border:1px solid #cda94d;background:transparent;color:#8c6217;border-radius:4px;padding:7px 9px;font:700 9px inherit;cursor:pointer}.regenerate-tips:hover{background:#fff8df}.tips-title>div{flex:1}

/* CASAQUEST — fantasy tabletop art direction */
:root{--ink:#251b12;--forest:#173c32;--forest-2:#285b49;--cream:#d8c6a1;--paper:#f2dfb7;--gold:#c79632;--orange:#9e3929;--sage:#899b7d;--line:#94774d;--muted:#6f5c43;--shadow:0 18px 42px rgba(20,13,7,.25)}
body{background:#201a13;color:var(--ink);font-family:"Libre Baskerville",Georgia,serif;background-image:linear-gradient(rgba(36,26,17,.06) 1px,transparent 1px),radial-gradient(circle at 50% 0,#d9c69d 0,#c5ae80 65%,#aa8c5e 100%);background-size:100% 4px,100% 100%;background-attachment:fixed}.grain{opacity:.11;mix-blend-mode:multiply}.wrapper{width:min(1220px,calc(100% - 48px))}
.topbar{height:78px;background:linear-gradient(180deg,#211a13,#0f0d0a);border-bottom:2px solid #8f6828;color:#efe2bd;box-shadow:0 5px 16px rgba(0,0,0,.45);position:sticky;top:0}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:#3f2d19}.brand{font-family:"Cinzel",serif;color:#e8c36e;font-size:22px;text-shadow:0 2px 2px #000}.brand>span:last-child span{color:#f2d18a}.brand-mark{background:linear-gradient(145deg,#5d4220,#17130d);border:2px solid #b98d3e;box-shadow:inset 0 0 0 2px #302313,0 2px 5px #000}.brand-mark svg{stroke:#e5bd60}.nav-link{font-family:"Cinzel",serif;color:#cdbf9e;text-transform:uppercase;font-size:10px;letter-spacing:.6px}.nav-link.active{color:#efcd78}.nav-link.active:after{background:#c89a3a;box-shadow:0 0 8px #c89a3a}.coin-pill{background:#322719;border:1px solid #85642c;color:#f2d687}.coin{background:radial-gradient(circle at 35% 30%,#f4d370,#b27418);border-color:#e4bd54;box-shadow:inset 0 0 0 2px #a66f18;color:#fff1a5}.profile-menu{background:#ead7ad;border:2px solid #6f522f;box-shadow:0 15px 45px #000}.profile-option:hover,.profile-option.active{background:#d6bc87}
.hero{height:625px;min-height:0;display:flex;position:relative;align-items:center;margin-top:30px;margin-bottom:30px;padding:0 52px;border:3px solid #a47b36;outline:1px solid #302417;outline-offset:-9px;border-radius:5px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.42)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,16,.2),transparent 55%,rgba(0,0,0,.08));pointer-events:none}.hero-copy{width:48%;position:relative;z-index:3;color:#f5e8c8}.hero-copy .eyebrow{color:#e4bd61}.eyebrow{font-family:"Cinzel",serif;color:#70441e;font-size:9px;font-weight:800}.eyebrow span{background:#a63727}.hero h1{font-family:"Cinzel",serif;font-size:clamp(42px,5vw,68px);line-height:1.03;letter-spacing:-2px;text-shadow:0 3px 5px #000}.hero h1 em{font-style:normal;color:#e9b94d}.hero-copy>p:not(.eyebrow){font-family:"Libre Baskerville",serif;color:#dcd2ba;font-size:15px;line-height:1.65;text-shadow:0 2px 3px #000}.hero-art{position:absolute;inset:0;height:auto;border-radius:0;background:url("assets/casaquest-hero-dnd.png") center/cover no-repeat}.hero-art>:not(.level-card){display:none}.level-card{right:28px;bottom:25px;background:rgba(24,20,14,.9);border:1px solid #a07835;color:#f2ddb0;box-shadow:0 7px 24px #000}.level-card>span,.level-card small{color:#c9b886}.level-card div{background:#4b3e2b}.level-card i{background:#bb8732}.primary-button{font-family:"Cinzel",serif;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(#9d3d2b,#681f18);border:1px solid #d4a84d;outline:1px solid #4b1b14;outline-offset:-4px;border-radius:2px;box-shadow:0 4px 0 #351710,0 8px 18px rgba(0,0,0,.35)}.primary-button:hover{background:linear-gradient(#b34b36,#79251c)}.text-button{font-family:"Cinzel",serif;color:#e4c36e;text-shadow:0 2px 2px #000}.spontaneous-button{color:#f1d58f}
h1,h2,.quest-card h3,.family-card h3,.reward-card h3,.modal-head h2,.party-copy h2{font-family:"Cinzel",serif}.mission-section{padding-top:55px}.section-heading h2{font-size:34px;color:#3b2817;text-transform:uppercase}.round-add{background:#2b2117;border:2px solid #b0843e;color:#e6c16c;box-shadow:0 4px 10px rgba(0,0,0,.3)}.filter{font-family:"Cinzel",serif;border:1px solid #94774d;background:rgba(238,217,174,.55);color:#5e442a}.filter.active{background:#263d31;border-color:#bb9149;color:#f1d58c}
.quest-grid{gap:22px}.quest-card{background:linear-gradient(135deg,#f4e3bd,#dfc38d);border:1px solid #80613a;border-radius:2px;box-shadow:inset 0 0 22px rgba(92,57,20,.13),0 7px 14px rgba(43,27,13,.18);clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}.quest-card:before{content:"";position:absolute;inset:7px;border:1px solid rgba(117,78,34,.35);pointer-events:none}.quest-card:hover{transform:translateY(-5px) rotate(-.3deg);box-shadow:0 16px 25px rgba(35,21,10,.28)}.quest-icon{background:#2b3e31;border:2px solid #b9883d;box-shadow:inset 0 0 0 2px #18271f}.difficulty{font-family:"Cinzel",serif;color:#8e2e22}.quest-card h3{font-size:18px;text-transform:uppercase;line-height:1.25}.quest-status{font-family:"Cinzel",serif;background:#cdb27f;border:1px solid #a17d43}.quest-bottom{border-color:#ad8e5c}.claim-button{font-family:"Cinzel",serif}.claim-button.primary-action{background:#233c30;border:1px solid #98733a}.empty-board{background:rgba(239,217,174,.65);border:2px dashed #80633d}
.party-strip{background:linear-gradient(rgba(11,16,13,.95),rgba(18,19,14,.97)),url("assets/casaquest-hero-dnd.png") right 38%/cover;border-top:3px solid #9f7734;border-bottom:3px solid #6d4d22}.party-copy h2{color:#efd28a;text-transform:uppercase}.goal-center{background:radial-gradient(circle,#f3deb0,#cba96d);border:3px solid #b88938}.reward-note{background:#3c2c1d;border:1px solid #947039}.inner-view{background:rgba(223,199,151,.88);min-height:calc(100vh - 78px);padding-inline:35px;box-shadow:0 0 50px rgba(0,0,0,.15)}.inner-view h1{font-family:"Cinzel",serif;color:#3b2817}.inner-view h1 em{color:#8e2e22;font-style:normal}.family-card,.reward-card{background:linear-gradient(145deg,#f2dfb7,#d9bc82);border:1px solid #80613a;border-radius:2px;box-shadow:inset 0 0 15px rgba(87,55,21,.12),0 6px 13px rgba(35,22,10,.18)}.family-avatar{border:3px solid #9d7637;box-shadow:0 3px 8px rgba(0,0,0,.25)}.progress{background:#b89c6c}.reward-art{border:1px solid #9b7a49;background:#d4c49e!important}.exchange-card{background:linear-gradient(135deg,#263d31,#17251e);border:2px solid #9e7634;box-shadow:inset 0 0 0 4px #142019}.money-badge{background:#cbb681;border:1px solid #95723d}
dialog{background:linear-gradient(145deg,#f5e4bf,#ddc18d);border:3px solid #73532e;outline:1px solid #c49a4c;outline-offset:-8px;border-radius:2px}.modal-head{border-bottom:1px solid #ac8b57;padding-bottom:14px}.close-modal,.close-profile,.close-reward,.close-detail,.close-spontaneous{font-family:"Cinzel",serif;color:#76261e}.ai-writer,.narrator-tips,.initiative-note{background:#e8d19e;border-color:#9b763e}.detail-banner,.personal-hero{background:linear-gradient(135deg,#263d31,#17261f);border:2px solid #9b763a}.detail-fact{background:#d6ba82;border:1px solid #b08c50}.review-item{background:linear-gradient(135deg,#f2dfb8,#dec38f);border-color:#80623b}.review-actions button{font-family:"Cinzel",serif;background:#ddc696;border-color:#9b7742}.toast{background:#1e2119;border:2px solid #aa8036}
.mobile-nav{background:#17140f;border:1px solid #a07837}.mobile-nav button{font-family:"Cinzel",serif}.mobile-nav button.active{color:#e5be61}
@media(max-width:900px){.hero{height:610px}.hero-copy{width:58%}.hero-art{background-position:58% center}}
@media(max-width:600px){body{background:#c5ac7e}.topbar{background:rgba(20,17,12,.97)}.hero{height:670px;margin-top:15px;padding:35px 24px;align-items:flex-start}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,16,.9) 0,rgba(11,20,16,.65) 46%,rgba(11,20,16,.05) 75%);z-index:2}.hero-copy{width:100%;padding-top:10px}.hero h1{font-size:40px}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-art{background-position:68% center}.hero-actions{gap:16px}.level-card{display:none}.inner-view{padding-inline:15px}.quest-card{clip-path:none}.party-strip{background-position:65% center}}

/* Watercolor light pass */
:root{--cream:#f2ead9;--paper:#fbf3e2;--line:#bda77e;--muted:#756950;--shadow:0 12px 28px rgba(64,48,29,.14)}
body{background:#eee5d2;background-image:radial-gradient(circle at 50% 0,#fffaf0 0,#eee4d1 68%,#ded0b4 100%)}.grain{opacity:.045}.topbar{background:linear-gradient(180deg,#31594b,#203e34);border-bottom-color:#c5a45f;box-shadow:0 4px 14px rgba(28,45,37,.22)}.topbar:after{background:rgba(255,255,255,.13)}
.hero{border:1px solid #bda779;outline:1px solid rgba(118,92,53,.25);outline-offset:-8px;box-shadow:0 15px 38px rgba(70,55,34,.18);background:#f7eedb}.hero:after{background:linear-gradient(90deg,rgba(255,250,237,.25),rgba(255,250,237,0) 53%)}.hero-art{background-image:url("assets/casaquest-hero-watercolor-v2.png");background-position:center;background-size:cover}.hero-copy{color:#2c342d}.hero-copy .eyebrow{color:#7d3529;text-shadow:none}.hero h1{color:#27382f;text-shadow:none}.hero h1 em{color:#9a3e30}.hero-copy>p:not(.eyebrow){color:#5f5a49;text-shadow:none}.hero .text-button{color:#7e3429;text-shadow:none}.hero .spontaneous-button{color:#31594b}.hero .primary-button{background:linear-gradient(#456f5e,#315648);border-color:#bfa05a;box-shadow:0 3px 0 #243e34,0 7px 15px rgba(41,64,54,.2)}
.level-card{background:rgba(252,246,229,.93);border-color:#b99c60;color:#2d4036;box-shadow:0 6px 18px rgba(62,47,28,.15)}.level-card>span,.level-card small{color:#766a53}.level-card div{background:#d6c9aa}
.mission-section{background:rgba(255,250,239,.22)}.section-heading h2{color:#34473c}.filter{background:rgba(255,250,239,.72);border-color:#bfa97e}.filter.active{background:#456958;border-color:#456958}.quest-card{background:linear-gradient(145deg,#fff8e9,#f0dfbd);border-color:#b9a176;box-shadow:inset 0 0 16px rgba(109,82,43,.06),0 5px 13px rgba(67,50,29,.1)}.quest-card:before{border-color:rgba(132,101,57,.2)}.quest-card:hover{box-shadow:0 12px 23px rgba(61,47,28,.16)}.quest-icon{background:#dce4d3;border-color:#a88b54;box-shadow:inset 0 0 0 2px #f3ead4}.quest-status{background:#e2d4b5;border-color:#bca576}.empty-board{background:rgba(255,249,235,.7);border-color:#ad9870}
.party-strip{background:linear-gradient(135deg,#527364,#36584a);border-top:1px solid #a98e55;border-bottom:1px solid #a98e55}.party-copy h2{color:#fff2ce}.goal-orbit{box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 57px rgba(255,255,255,.02)}.reward-note{background:rgba(35,61,50,.58);border-color:#91aa91}
.inner-view{background:rgba(249,240,220,.76);box-shadow:none}.inner-view h1{color:#34473c}.family-card,.reward-card{background:linear-gradient(145deg,#fff8e9,#eddbb8);border-color:#bca77c;box-shadow:0 5px 13px rgba(62,47,27,.1)}.family-card:hover{box-shadow:0 10px 20px rgba(60,47,29,.14)}.family-avatar{border-color:#b59a62;box-shadow:0 2px 6px rgba(62,46,25,.15)}.reward-art{background:#e8e1cd!important;border-color:#c3ae82}.exchange-card{background:linear-gradient(135deg,#527565,#365749);border:1px solid #a78a52;box-shadow:none}
dialog{background:linear-gradient(145deg,#fff9ec,#eddbb8);border:1px solid #a98e61;outline:1px solid rgba(130,99,54,.28);outline-offset:-7px;box-shadow:0 22px 55px rgba(54,41,25,.25)}.ai-writer,.narrator-tips,.initiative-note{background:#f5e9c9;border-color:#c5aa72}.detail-banner,.personal-hero{background:linear-gradient(135deg,#557667,#3d5e50);border:1px solid #a78f5d}.detail-fact{background:#ead9b4;border-color:#c6ad79}.review-item{background:linear-gradient(135deg,#fff8e8,#eeddbd);border-color:#bca578}.review-actions button{background:#f2e4c7;border-color:#bca578}.toast{background:#365449;border:1px solid #b69a60}
@media(max-width:600px){body{background:#eee5d2}.topbar{background:rgba(42,76,64,.97)}.hero:before{background:linear-gradient(180deg,rgba(255,249,235,.96) 0,rgba(255,249,235,.78) 43%,rgba(255,249,235,.05) 72%)}.hero-art{background-position:68% center}.hero h1{color:#27382f}.hero-copy>p:not(.eyebrow){color:#5a5649}}
.profile-backup{width:100%;border:0;border-top:1px solid rgba(113,82,44,.25);background:transparent;color:#355647;padding:11px 10px 8px;margin-top:5px;text-align:left;font:700 10px "Cinzel",serif;cursor:pointer}.profile-backup:hover{background:#d6bc87}.profile-backup span{color:#9a3e30;margin-right:7px}
.cloud-setup{width:min(540px,calc(100% - 32px))}.cloud-setup::backdrop{background:rgba(27,43,36,.82);backdrop-filter:blur(5px)}.cloud-setup form{padding:32px}.cloud-setup input[type=file]{background:#fff8e9;border:1px dashed #9f8350;cursor:pointer}
.auth-secondary{width:100%;border:0;background:transparent;color:#6d4c2f;font:700 .85rem "DM Sans",sans-serif;padding:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.auth-secondary:disabled{opacity:.5;cursor:wait}
.access-list{display:grid;gap:10px;margin:12px 0 24px}.access-row{display:grid;grid-template-columns:1fr 145px auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);background:rgba(255,248,233,.65)}.access-row strong{font:700 13px "Cinzel",serif}.access-row input{margin:0}.access-row button{border:1px solid var(--forest);background:transparent;color:var(--forest);padding:10px;border-radius:3px;font:700 10px "Cinzel",serif;cursor:pointer}.access-row button:hover{background:var(--forest);color:white}#accessManagerModal h3{font:700 15px "Cinzel",serif;color:var(--forest);margin:18px 0 8px}@media(max-width:600px){.access-row{grid-template-columns:1fr}.access-row button{width:100%}}
