/* Home art and hierarchy, v108. All purchase/unlock rules stay in existing modules. */
#t-home{padding-bottom:calc(var(--game-dock-height,76px) + 30px);isolation:isolate}
#t-home:focus{outline:none}
#t-home .gori-hero{min-height:300px;padding:36px 40px;border-radius:22px;background:linear-gradient(90deg,#07131de8,#08151e66 45%,#09132105 70%),var(--gh-hero,url('/assets/gori-home/sanctuary-v108.webp')) 65% 12%/cover!important;box-shadow:inset 0 0 70px #07101b66}
#t-home .gori-orbit{display:none}
#t-home .gori-hero{background-size:auto,auto 170%!important;background-position:center,right 12%!important;background-repeat:no-repeat!important;background-color:#07131d!important}
#t-home .gori-intro>small{font-size:11px;letter-spacing:.18em;color:#c5d9da}
#t-home .gori-intro h2{margin:16px 0 10px!important;line-height:1}
#t-home .gori-intro h2 :is(img,svg){display:block;width:142px;height:auto;filter:drop-shadow(0 3px 8px #0009)}
#t-home .gori-intro p{font-size:14px;line-height:1.7;color:#d7e3e6;text-shadow:0 2px 6px #000}
#t-home .gori-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 22px;align-items:center;padding:16px 20px;margin:12px 0 24px;background:#12232c;border:1px solid #7aa7aa30;border-radius:14px}
#t-home .gori-status #gori-wallet,#t-home .gori-status #gori-vouchers{display:block;overflow-wrap:anywhere}
#t-home .gori-status #gori-wallet{font-size:18px;color:#b4efed}
#t-home .gori-status #gori-vouchers{font-size:12px;color:#a8c1cb}
#t-home .gori-status button{margin:0;width:auto!important;min-height:44px;padding:8px 14px;background:#203640;border:1px solid #8da6a740;border-radius:10px;color:#deebeb}
#t-home .gori-section-title{margin:22px 0 12px;gap:6px}
#t-home .gori-section-title h2{font-size:20px;margin:0}
#t-home .gori-section-title p{margin:0;max-width:580px}
#t-home .gori-portals{gap:12px}
#t-home .gori-portal{position:relative;border-radius:16px;border-color:color-mix(in srgb,var(--gate) 30%,transparent)!important}
#t-home .portal-window{height:145px;background:linear-gradient(0deg,#101d29,transparent 70%),url('/assets/act1-battle-v41/castle-gate-v51.png') center/cover}
#t-home .portal-window:before{width:58px;height:80px;top:32px;border-width:2px;background:#09131b55;border-radius:40px 40px 0 0}
#t-home .portal-window i{font-size:24px;text-shadow:0 0 12px var(--gate)}
#t-home .blue .portal-window{background:linear-gradient(0deg,#101d29,transparent),repeating-linear-gradient(90deg,transparent 0 23px,#6c98bc55 24px 25px),repeating-linear-gradient(0deg,#162b3c 0 17px,#35536c 18px 20px);background-size:auto,100% 65%,100% 65%;background-position:center,bottom,bottom;background-repeat:no-repeat}
#t-home .blue .portal-window:after{content:'';position:absolute;inset:16% 8% 0;background:repeating-linear-gradient(0deg,transparent 0 10px,#85badf44 11px 12px),repeating-linear-gradient(90deg,#183c53 0 13px,#142b42 14px 17px);clip-path:polygon(0 100%,0 58%,12% 58%,12% 30%,26% 30%,26% 48%,42% 48%,42% 0,58% 0,58% 42%,75% 42%,75% 18%,90% 18%,90% 65%,100% 65%,100% 100%);opacity:.7}
#t-home .portal-window:before{z-index:1}#t-home .portal-window i{z-index:2}
#t-home .violet .portal-window:after{content:'';position:absolute;width:8px;height:8px;left:23%;top:32%;background:#c0acff;box-shadow:16px 0 #8e7fd6,16px 16px #8e7fd6,0 16px #ded4ff,105px 45px #87dbea,121px 45px #77aacb,105px 61px #ded4ff;opacity:.7}
#t-home .jade .portal-window{background:linear-gradient(0deg,#101d29,transparent 80%),url('/assets/act3-play-v1/map/background.png') center/cover}
#t-home .violet .portal-window{background:radial-gradient(ellipse at 50% 60%,#8c6df466,transparent 65%),repeating-linear-gradient(0deg,transparent 0 15px,#ab98ff30 16px 17px),repeating-linear-gradient(90deg,#151329 0 15px,#ab98ff30 16px 17px)}
#t-home .portal-copy{padding:14px 16px;gap:5px}
#t-home .portal-copy strong{font-size:22px}
#t-home .portal-state{display:block;border-top:1px solid #ffffff12;padding-top:10px;margin-top:6px;line-height:1.5}
#t-home .gori-portal.locked{opacity:.76}
#t-home .gori-portal.locked .portal-state{color:#b2bec9}
#t-home .gori-board{position:relative;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:30px 0 20px;padding-top:34px}
#t-home .gori-board:before{content:'고리에 남는 힘';position:absolute;top:0;left:0;color:#d9c89f;font-size:14px;font-weight:700}
#t-home .gori-board .gb,#t-home .gori-board .gb:first-child{grid-column:auto;min-height:90px!important;border-radius:12px;padding:12px!important;background:#15232d!important}
#t-home .gori-board .gb b{font-size:17px;overflow-wrap:anywhere}
#t-home .gori-board .gb small{font-size:12px;color:#d3ddd9;letter-spacing:0}
#t-home .gori-board .gb.on{background:#20363d!important;border-color:#8dc8cb!important}
#t-home .gori-upgrades article.gori-sp{border-radius:14px}
#t-home .gori-basin{background:linear-gradient(90deg,#0d1c2fe0,#0d1c2f80),var(--gh-hero) 65% 65%/cover;height:172px}
#t-home .gori-draw{border-radius:16px;background:radial-gradient(ellipse at 95% 10%,#c7a45d22,transparent 65%),#14232d}
#t-home .gori-draw button{white-space:normal;overflow-wrap:anywhere}
body.gori-home #gori-dock{gap:4px}body.gori-home #gori-dock button{min-height:48px}
@media(max-width:700px){
 #t-home .gori-hero{min-height:214px;padding:24px;background-position:center,65% 45%!important;background-size:auto,cover!important}
 #t-home .gori-intro h2 :is(img,svg){width:100px}#t-home .gori-intro h2{margin:10px 0!important}
 #t-home .gori-intro p{font-size:12px;margin:8px 0 0}
 #t-home .gori-status{grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:4px 8px;margin-bottom:20px}
 #t-home .gori-status #gori-wallet{font-size:16px}#t-home .gori-status #gori-vouchers{grid-column:1;grid-row:2;font-size:11px}
 #t-home .gori-status button{grid-column:2;grid-row:1/3;font-size:12px;padding:8px}
 #t-home .gori-portals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #t-home .portal-window{height:95px}#t-home .portal-window:before{top:15px;height:65px;width:46px}
 #t-home .portal-copy{padding:12px;gap:4px}#t-home .portal-copy strong{font-size:18px}
 #t-home .portal-copy>span{font-size:11px}#t-home .portal-state{font-size:11px}
 #t-home .gori-board{grid-template-columns:repeat(3,minmax(0,1fr))}
 #t-home .gori-board .gb{min-height:86px!important;padding:10px!important}
 #t-home .gori-board .gb span{font-size:10px}#t-home .gori-board .gb b{font-size:15px}
 #t-home .gori-section-title h2{font-size:18px}#t-home .gori-section-title p{font-size:11px;line-height:1.6}
 #t-home .gori-draw{padding:18px;gap:12px}
}
@media(prefers-reduced-motion:reduce){#t-home [data-sec],#t-home .gori-portal{animation:none;transition:none}}
