/* MY WORLD — application Visual Master integration v1
   Visual-only override. Functional IDs, JS flows and data contracts remain untouched. */
:root{
  --mw-bg:#03070c;
  --mw-panel:rgba(7,15,24,.88);
  --mw-panel-2:rgba(12,22,33,.82);
  --mw-panel-3:rgba(16,27,39,.72);
  --mw-gold:#E5BC65;
  --mw-gold-hi:#FFF0BE;
  --mw-gold-mid:#F0CC7A;
  --mw-gold-low:#B78333;
  --mw-gold-dim:#927A4D;
  --mw-text:#F7F2E9;
  --mw-text-2:#D7D9D7;
  --mw-muted:#AEB7BD;
  --mw-blue:#8BC7EA;
  --mw-blue-2:#5F9FC8;
  --mw-line:rgba(229,188,101,.30);
  --mw-line-soft:rgba(255,255,255,.075);
  --mw-radius:18px;
  --mw-radius-sm:12px;
  --mw-shadow:0 22px 60px rgba(0,0,0,.42);
  --mw-font:"Manrope","Segoe UI",Arial,sans-serif;
}
html,body{background:var(--mw-bg)!important;color:var(--mw-text)!important;font-family:var(--mw-font)!important}
body{min-height:100dvh;overflow-x:hidden}
/* Approved gift-flow visual language: rich starfield/nebula background */
.space{
  position:fixed!important;inset:0!important;z-index:-4!important;
  background:
    linear-gradient(180deg,rgba(2,6,10,.12),rgba(2,6,10,.58)),
    url('./assets/space_purchase_style_2048.jpg') center/cover no-repeat!important;
  opacity:1!important;
}
.space:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 68% 28%,rgba(23,71,112,.20),transparent 44%),radial-gradient(ellipse at 18% 88%,rgba(92,55,108,.14),transparent 33%);
}
.space:after{content:none!important}
.starfield-v2{opacity:.38!important;mix-blend-mode:screen;filter:saturate(.9)}
.screen{background:transparent!important}
.hidden{display:none!important}
/* Brand */
.brand-logo{display:block;object-fit:contain;filter:drop-shadow(0 0 12px rgba(229,188,101,.16))}
.brand-logo-topbar{width:190px!important;height:auto!important}
.brand-logo-small{width:190px!important;max-width:55vw!important;height:auto!important}
.brand-logo-hero{width:min(260px,72vw)!important;height:auto!important;margin-inline:auto!important}
.brand-logo-modal{width:150px;height:auto;margin:0 auto 8px;grid-column:1/-1;justify-self:center}
.owner#runtimeModeLabel{display:none!important}
.topbar{align-items:center!important;min-height:66px;padding:10px 2px 8px!important}
.menu-btn,.close,.zoom-controls button{
  border:1px solid rgba(229,188,101,.42)!important;
  background:linear-gradient(180deg,rgba(14,24,34,.88),rgba(5,12,19,.94))!important;
  color:var(--mw-gold)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 8px 26px rgba(0,0,0,.30),0 0 18px rgba(229,188,101,.05)!important;
}
.menu-btn{width:48px!important;height:48px!important;border-radius:50%!important;font-size:22px!important}
/* Type hierarchy */
h1,h2,h3{font-weight:400!important;letter-spacing:-.02em!important;color:var(--mw-text)!important}
.hero{text-align:center;margin-top:6px!important}
.hero h2{font-size:29px!important;line-height:1.15!important;margin:4px 0 7px!important}
.hero p,.reveal p,.setup-lead{font-size:18px!important;line-height:1.45!important;color:var(--mw-muted)!important}
.label,.participant-title,.top-year-title{font-size:17px!important;color:#C7B98F!important;font-weight:500!important}
.helper,.note,.setup-note,.owner-note{font-size:16px!important;line-height:1.42!important;color:var(--mw-muted)!important}
.section-title,.menu-section-label{font-size:16px!important;color:#D7C28B!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-weight:500!important}
/* Main application composition */
.app{width:min(100%,1180px)!important;max-width:1180px!important;padding:10px 16px 30px!important;margin:auto!important}
.stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:10px 0 12px!important}
.stat{
  min-width:0!important;padding:10px 5px!important;border-radius:16px!important;
  background:linear-gradient(180deg,rgba(12,23,34,.80),rgba(5,12,18,.78))!important;
  border:1px solid rgba(229,188,101,.22)!important;box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.16)!important;
}
.stat b{display:block;font-size:23px!important;color:var(--mw-gold)!important;font-weight:600!important;white-space:nowrap}
.stat.wish b{color:#A4CDE4!important}
.stat span{display:block;font-size:13px!important;line-height:1.15!important;color:#C7CDD0!important;min-height:30px!important;overflow-wrap:anywhere}
.stat span br{display:none!important}
.participant-panel,.top-year-filter{
  padding:10px 11px!important;margin:7px 0!important;border:1px solid rgba(229,188,101,.15)!important;border-radius:16px!important;
  background:linear-gradient(180deg,rgba(13,24,35,.65),rgba(6,13,20,.62))!important;backdrop-filter:blur(10px)
}
.participant-filters,.year-chips{gap:7px!important}
.participant-chip,.owner-chip,.year-chip{
  min-height:38px!important;border-radius:999px!important;border:1px solid rgba(229,188,101,.23)!important;background:rgba(11,20,29,.84)!important;color:#DAD9D4!important;padding:0 12px!important;font-size:15px!important;font-weight:550!important
}
.participant-chip.active,.owner-chip.active,.year-chip.active{
  border-color:rgba(245,217,149,.75)!important;background:linear-gradient(180deg,rgba(229,188,101,.20),rgba(229,188,101,.09))!important;color:#FFF2C9!important;box-shadow:0 0 16px rgba(229,188,101,.08)!important
}
/* Globe framing: keep runtime renderer untouched */
.globe-wrap{margin:4px auto 0!important;filter:drop-shadow(0 16px 42px rgba(0,0,0,.42))}
.globe-atmosphere-halo{filter:blur(.4px) saturate(1.1)!important}
.globe-hint{font-size:16px!important;color:#D0D4D5!important;background:rgba(3,8,13,.68)!important;border:1px solid rgba(255,255,255,.09)!important;backdrop-filter:blur(12px)!important}
.zoom-controls button{width:48px!important;height:48px!important;border-radius:50%!important;font-size:25px!important}
/* Filters/actions */
.filters{gap:8px!important;justify-content:center!important;margin:8px auto!important}
.filter{
  min-height:44px!important;border-radius:999px!important;border:1px solid rgba(229,188,101,.22)!important;background:rgba(10,18,27,.86)!important;color:#E1DFD8!important;font-size:16px!important;font-weight:550!important;padding:0 14px!important
}
.filter.active{background:linear-gradient(180deg,#FFF0BE 0%,#E8C36D 55%,#C8933C 100%)!important;color:#16120B!important;border-color:#F8DEA0!important;box-shadow:inset 0 1px rgba(255,255,255,.55),0 8px 24px rgba(185,122,35,.18)!important}
.actions{gap:9px!important;max-width:720px!important;margin:10px auto 0!important}
/* Buttons unified with gift-flow */
.btn{min-height:48px!important;border-radius:999px!important;padding:0 20px!important;font-size:18px!important;font-weight:650!important;letter-spacing:.003em!important}
.btn-gold{
  background:linear-gradient(180deg,#FFF2C9 0%,#F5D996 19%,#E7BD67 60%,#D3A048 100%)!important;
  color:#080808!important;border:1px solid rgba(255,238,184,.84)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.55),inset 0 -2px rgba(117,69,15,.20),0 10px 28px rgba(191,128,36,.23),0 2px 0 #A8752D!important
}
.btn-dark,.btn-soft{
  background:linear-gradient(180deg,rgba(17,29,41,.92),rgba(6,14,22,.94))!important;color:#F2EEE6!important;
  border:1px solid rgba(146,122,77,.78)!important;box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 26px rgba(0,0,0,.20)!important
}
.btn:disabled{filter:saturate(.45) brightness(.68)!important;opacity:.72!important}
.share-btn{border:1px solid rgba(229,188,101,.38)!important;background:rgba(8,16,24,.83)!important;color:#F4D890!important;border-radius:999px!important}
/* Forms/cards */
.input,.setup-name,.mode-select{
  min-height:50px!important;border-radius:12px!important;border:1px solid rgba(229,188,101,.22)!important;
  background:linear-gradient(180deg,rgba(17,29,41,.90),rgba(8,17,26,.92))!important;color:#F7F2E9!important;font-size:18px!important;padding:11px 14px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important
}
.input:focus,.setup-name:focus,.mode-select:focus{outline:none!important;border-color:rgba(245,217,149,.65)!important;box-shadow:0 0 0 3px rgba(229,188,101,.07)!important}
.input::placeholder,.setup-name::placeholder{color:#8F9AA2!important}
.type-btn,.city-btn,.feedback-type,.share-option,.share-dream-choice,.about-link,.setup-card,.upgrade-block,.setup-world-name,.lod-region-card,.lod-choice{
  border-radius:16px!important;border:1px solid rgba(229,188,101,.18)!important;background:linear-gradient(180deg,rgba(17,29,41,.82),rgba(7,16,24,.84))!important;color:#F2EEE6!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important
}
.type-btn.active,.feedback-type.active,.share-option.active,.share-dream-choice.selected{border-color:rgba(245,217,149,.72)!important;background:linear-gradient(180deg,rgba(229,188,101,.16),rgba(229,188,101,.07))!important;color:#FFE7A6!important;box-shadow:0 0 18px rgba(229,188,101,.06)!important}
/* Activation / reveal / family setup */
.activation-screen,.reveal,.setup{position:relative!important;min-height:100dvh!important;padding:28px 16px 36px!important}
.activation-screen:before,.reveal:before,.setup:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(1,5,9,.12),rgba(1,5,9,.62)),url('./assets/space_purchase_style_2048.jpg') center/cover no-repeat}
.activation-card,.reveal-inner,.setup-inner{
  width:min(100%,580px)!important;margin:auto!important;padding:24px 20px!important;border:1px solid rgba(229,188,101,.25)!important;border-radius:28px!important;
  background:linear-gradient(180deg,rgba(8,17,26,.82),rgba(4,10,16,.90))!important;backdrop-filter:blur(18px)!important;box-shadow:var(--mw-shadow),0 0 35px rgba(229,188,101,.05)!important
}
.activation-card h1,.reveal h1,.setup h1{font-size:30px!important;line-height:1.14!important;text-align:center!important;margin:14px 0 10px!important}
.activation-card p,.reveal p,.setup-lead{text-align:center!important}
.license-info{font-size:16px!important;line-height:1.45!important;border-radius:14px!important;border:1px solid rgba(229,188,101,.16)!important;background:rgba(3,10,16,.62)!important;color:#D7C7A0!important;padding:12px 14px!important}
.check-row{font-size:17px!important;line-height:1.38!important;color:#E6E2DA!important;gap:10px!important}
.check-row input,.menu-toggle-row input{accent-color:var(--mw-gold)!important;width:21px!important;height:21px!important}
.inline-link{color:#F1D17C!important;text-underline-offset:3px!important}
#bootStatus{display:none!important}
.setup-top{margin-bottom:4px!important}.setup-back{font-size:18px!important;color:#F1D17C!important;text-decoration:underline!important;text-underline-offset:4px!important}
.setup-lead{margin-bottom:18px!important}
.upgrade-block p{font-size:16px!important;color:var(--mw-muted)!important}
.setup-member-label,.color-title,.member-color-name{font-size:16px!important}
.setup-note{font-size:15px!important}
/* Modal system */
.overlay{background:rgba(0,4,8,.73)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
.sheet,.drawer{
  background:linear-gradient(180deg,rgba(9,19,29,.98),rgba(4,11,17,.99))!important;border:1px solid rgba(229,188,101,.27)!important;
  box-shadow:0 24px 76px rgba(0,0,0,.52),0 0 30px rgba(229,188,101,.055)!important
}
.sheet{border-radius:30px 30px 0 0!important;padding:15px 18px max(28px,env(safe-area-inset-bottom))!important}
.drawer{width:min(92vw,460px)!important;padding:20px!important}
.handle{height:2px!important;width:54px!important;background:linear-gradient(90deg,transparent,#E5BC65,transparent)!important;opacity:.8!important}
.sheet-head{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px 12px!important;margin-bottom:10px!important}
.sheet-head h3{font-size:25px!important;line-height:1.2!important;margin:0!important}
.sheet-head .close{grid-column:2!important;grid-row:1!important;width:44px!important;height:44px!important;border-radius:50%!important;font-size:25px!important}
.brand-logo-modal{grid-row:1!important;grid-column:1!important;justify-self:start!important;width:148px!important;margin:0!important}
.brand-logo-modal + h3{grid-row:2!important;grid-column:1/-1!important;margin-top:4px!important}
.simple-content{font-size:17px!important;line-height:1.55!important;color:#E9E6DF!important}
.simple-content h4{font-size:19px!important;font-weight:500!important;color:#F0D07D!important}
.simple-content .subtle,.tech-note,.license-meta,.menu-member-preview{font-size:15px!important;color:var(--mw-muted)!important}
.menu-section-label{padding-top:17px!important}
.menu-row,.file-label,.menu-toggle-row{min-height:58px!important;font-size:17px!important;color:#EFEAE1!important;border-bottom:1px solid rgba(255,255,255,.065)!important}
.menu-row:hover{color:#FFE5A0!important}
.menu-mode-summary,.world-name-preview{font-size:16px!important;line-height:1.45!important}
/* Place rows */
.place-row{background:linear-gradient(180deg,rgba(16,28,40,.82),rgba(7,16,24,.82))!important;border:1px solid rgba(229,188,101,.16)!important;border-radius:18px!important;padding:12px!important}
.place-icon{background:rgba(229,188,101,.09)!important;border:1px solid rgba(229,188,101,.16)!important}
.place-row b,.place-row small{font-size:17px!important;line-height:1.35!important}.place-row small{color:var(--mw-muted)!important}
/* Share */
.share-preview-wrap{background:linear-gradient(180deg,rgba(4,11,17,.72),rgba(2,7,11,.80))!important;border:1px solid rgba(229,188,101,.20)!important;border-radius:20px!important}
.share-option{font-size:17px!important;min-height:46px!important}
.share-effect{border:1px solid rgba(229,188,101,.18)!important;background:linear-gradient(180deg,rgba(17,29,41,.82),rgba(7,16,24,.84))!important;border-radius:14px!important}
.share-effect span{font-size:16px!important;color:#EFEAE1!important}
.share-privacy{font-size:15px!important;line-height:1.45!important;border:1px solid rgba(96,155,192,.19)!important;background:rgba(20,52,70,.16)!important}
.share-status{font-size:15px!important}
/* LOD */
.lod-sheet .helper{font-size:16px!important}.lod-current-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.lod-choice{padding:12px!important;margin:8px 0!important}.lod-choice b{font-size:17px!important}.lod-choice small{font-size:15px!important;color:var(--mw-muted)!important;line-height:1.35!important}.lod-choice input{accent-color:var(--mw-gold)!important}
/* Responsive */
@media(max-width:767px){
  .app{padding:8px 12px 24px!important}.brand-logo-topbar{width:166px!important}.hero h2{font-size:27px!important}.hero p{font-size:17px!important}
  .stats{gap:5px!important}.stat{padding:8px 3px!important}.stat b{font-size:21px!important}.stat span{font-size:11.5px!important;letter-spacing:-.01em!important}
  .filters{display:grid!important;grid-template-columns:1fr 1fr!important}.filter-break{display:none!important}.filter{width:100%!important;padding:0 9px!important;font-size:15px!important}
  .actions{grid-template-columns:1fr!important}.btn{font-size:18px!important}.sheet{max-height:94dvh!important}.drawer{width:min(94vw,430px)!important}
  .activation-card,.reveal-inner,.setup-inner{padding:22px 16px!important}.activation-card h1,.reveal h1,.setup h1{font-size:28px!important}
  .brand-logo-modal{width:138px!important}.sheet-head h3{font-size:24px!important}
  .share-effects-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:360px){
  .stat b{font-size:19px!important}.stat span{font-size:10.6px!important}.stats{gap:4px!important}.brand-logo-topbar{width:150px!important}
}
@media(min-width:900px){
  .app{padding:18px 28px 38px!important}.topbar{max-width:1080px;margin:auto!important}.hero h2{font-size:34px!important}.hero p{font-size:19px!important}
  .stats{max-width:880px!important;margin:12px auto 14px!important}.stat span{font-size:15px!important}.globe-wrap{width:min(54vw,620px)!important}
  .participant-panel,.top-year-filter{max-width:920px;margin:8px auto!important}.filters{max-width:920px!important;display:flex!important}.actions{grid-template-columns:repeat(3,1fr)!important}
  .sheet{left:50%!important;right:auto!important;width:min(760px,calc(100vw - 56px))!important;transform:translateX(-50%)!important;border-bottom:1px solid rgba(229,188,101,.27)!important;border-radius:28px!important;bottom:20px!important;max-height:calc(100dvh - 40px)!important}
  .drawer{width:min(500px,42vw)!important}
  .activation-card,.reveal-inner,.setup-inner{padding:30px 30px!important}
}
