*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:#f5f7fb;color:#111827;font-family:Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.page{min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid #e5e7eb;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.logo{font-size:24px;font-weight:900;cursor:pointer}.topbar nav{display:flex;gap:10px}.topbar button,.homeHero button,.templeCard button,.adminToolbar button{border:0;background:#111827;color:#fff;border-radius:10px;padding:11px 16px}.homeHero{min-height:560px;background:linear-gradient(#00000073,#0003),radial-gradient(circle at 60% 30%,#fbbf24,transparent 16%),linear-gradient(135deg,#172033,#31503a);color:#fff;display:flex;align-items:center;padding:60px}.homeHero h1{font-size:clamp(42px,6vw,76px);line-height:1.08;margin:12px 0}.homeHero p{font-size:19px;max-width:640px;line-height:1.65;color:#e5e7eb}.eyebrow{color:#facc15;letter-spacing:.18em;font-size:13px}.templeList{padding:42px;max-width:1320px;margin:0 auto}.templeList h2{font-size:34px}.filters{display:grid;grid-template-columns:1fr 220px;gap:14px;margin:20px 0}.filters input,.filters select{border:1px solid #d1d5db;border-radius:12px;padding:14px;background:#fff}.templeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.templeCard{display:grid;grid-template-columns:220px 1fr;gap:18px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:16px;box-shadow:0 10px 30px #0f172a0f}.templeCard h3{font-size:24px;margin:4px 0}.templeCard span{display:inline-block;background:#eef2ff;color:#3152a3;border-radius:999px;padding:5px 10px;font-size:12px}.templeCard p{color:#4b5563}.templeArt{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#b7c5d6,#274438 45%,#17100a);height:440px}.templeArt.mini{height:145px}.templeArt .sky{position:absolute;top:0;right:0;bottom:45%;left:0;background:linear-gradient(180deg,#d8c3a0,#6b7d69)}.mountain{position:absolute;bottom:36%;width:70%;height:28%;background:linear-gradient(180deg,#3f4b33,#1d2419);clip-path:polygon(0 100%,20% 38%,38% 76%,56% 22%,75% 70%,100% 35%,100% 100%)}.mountain.one{left:-12%}.mountain.two{right:-10%;transform:scaleX(-1);opacity:.75}.ground{position:absolute;top:58%;right:0;bottom:0;left:0;background:linear-gradient(180deg,#5b4b34,#17100a)}.roof{position:absolute;left:13%;right:13%;top:25%;height:19%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 18px),linear-gradient(180deg,#54504a,#1e1a15);clip-path:polygon(5% 100%,50% 0,95% 100%);filter:drop-shadow(0 16px 18px rgba(0,0,0,.35))}.deepRoof{position:absolute;left:9%;right:9%;top:39%;height:8%;background:#15110d;clip-path:polygon(0 60%,50% 0,100% 60%,92% 100%,8% 100%)}.body{position:absolute;left:22%;right:22%;top:47%;height:24%;background:linear-gradient(180deg,#7b351b,#3a170b)}.columns{position:absolute;left:19%;right:19%;top:45%;height:30%;display:flex;justify-content:space-between}.columns span{width:10px;background:#8a2d12;border-radius:999px}.sign{position:absolute;left:50%;top:53%;transform:translate(-50%);background:#050505;color:#d7b56e;border:1px solid #d7b56e;padding:6px 14px;border-radius:2px;font-weight:800}.yardPath{position:absolute;left:30%;right:30%;bottom:0;height:35%;background:#dcbe8c33;clip-path:polygon(38% 0,62% 0,100% 100%,0 100%)}.sampleLanterns{position:absolute;left:16%;right:16%;bottom:8%;height:20%;background:radial-gradient(circle,#ffcf5a 0 8px,transparent 10px);background-size:45px 34px;filter:drop-shadow(0 0 10px #f59e0b)}.tone-blue{filter:hue-rotate(22deg)}.tone-gold{filter:saturate(1.2)}.tone-forest{filter:hue-rotate(-18deg)}.tone-snow{filter:saturate(.7) brightness(1.12)}.templeHero{position:relative;height:420px;overflow:hidden}.templeHero .templeArt{height:100%;border-radius:0}.templeHero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(0,0,0,.7),transparent)}.templeHeroText{position:absolute;left:44px;bottom:40px;color:#fff;z-index:1;max-width:620px}.templeHeroText h1{font-size:58px;margin:10px 0}.templeHeroText p{color:#e5e7eb}.backBtn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 14px}.servicePanel,.approvedList{max-width:1240px;margin:28px auto;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px;box-shadow:0 16px 45px #0f172a0f}.serviceTabs{display:flex;gap:10px}.serviceTabs button,.tabs button{border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:10px 16px}.serviceTabs button.on,.tabs button.on{background:#111827;color:#fff}.serviceInfo p{color:#6b7280}.slotScene{position:relative;height:520px;border-radius:22px;overflow:hidden;background:#111827}.slotScene .templeArt{height:100%;border-radius:0}.giwaGrid{position:absolute;left:16%;right:16%;top:17%;height:28%;display:grid;grid-template-columns:repeat(30,1fr);grid-template-rows:repeat(12,1fr);gap:2px;transform:perspective(780px) rotateX(55deg);transform-origin:50% 100%;mix-blend-mode:screen}.giwaSlot{border:1px solid rgba(255,230,160,.15);background:#14100cb8;border-radius:2px 2px 7px 7px;color:#ffd98b}.giwaSlot.filled{background:linear-gradient(180deg,#a86328,#5e3419);box-shadow:0 0 10px #ffbe4666}.lanternGrid{position:absolute;left:17%;right:17%;bottom:8%;height:30%;display:grid;grid-template-columns:repeat(18,1fr);grid-template-rows:repeat(5,1fr);gap:10px 14px;transform:perspective(900px) rotateX(58deg);transform-origin:50% 100%}.lanternSlot{border:0;background:transparent;position:relative}.lanternSlot span{display:block;margin:auto;width:24px;height:32px;border-radius:50% 50% 44% 44%;background:radial-gradient(circle at 35% 30%,#fff8c8,coral 35%,#8b2515 80%);box-shadow:0 0 16px #ff822899}.lanternSlot.filled span{background:radial-gradient(circle at 35% 30%,#fff8c8,#facc15 35%,#e11d48 80%)}.giwaSlot:hover,.lanternSlot:hover{transform:translateY(-5px) scale(1.18)}.approvedList .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.donationCard{border:1px solid #e5e7eb;border-radius:16px;padding:16px}.donationCard b{display:block;color:#1d4ed8}.donationCard strong{font-size:20px}.donationCard p{color:#4b5563}.donationCard span{color:#111827;font-weight:900}.modalBg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:min(520px,100%);background:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 100px #00000059}.code{display:inline-block;background:#eef2ff;color:#1d4ed8;border-radius:999px;padding:5px 10px}.modal label{display:block;margin:14px 0 6px;color:#4b5563}.modal input,.modal textarea,.modal select{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:12px}.modal textarea{min-height:100px}.colorRow{display:flex;gap:8px;margin-top:12px}.colorRow button{width:30px;height:30px;border-radius:50%;border:2px solid transparent}.colorRow .picked{border-color:#111827}.modalActions{display:flex;gap:10px;margin-top:18px}.modalActions button{flex:1;border:1px solid #d1d5db;background:#fff;border-radius:12px;padding:12px}.modalActions .primary{background:#111827;color:#fff}.adminShell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f5f7fb}.adminSide{background:#111827;color:#fff;padding:24px;display:flex;flex-direction:column;gap:8px}.adminSide .brand{font-size:24px;font-weight:900;margin-bottom:20px;cursor:pointer}.adminSide button{background:transparent;border:0;color:#cbd5e1;text-align:left;padding:12px;border-radius:10px}.adminSide button.on,.adminSide button:hover{background:#243244;color:#fff}.adminContent{padding:30px}.dashboardGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dashboardGrid div{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px}.dashboardGrid b{display:block;font-size:28px}.dashboardGrid span{color:#6b7280}.tableCard{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 16px 45px #0f172a0d}.adminToolbar{display:flex;justify-content:space-between;margin-bottom:14px;gap:12px}.adminToolbar input{border:1px solid #d1d5db;border-radius:10px;padding:11px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid #eef2f7}th{color:#6b7280;font-size:13px}.badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px}.badge.승인대기{background:#fef3c7;color:#92400e}.badge.승인완료{background:#dcfce7;color:#166534}.badge.숨김{background:#fee2e2;color:#991b1b}.rowActions{display:flex;gap:6px}.rowActions button{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:7px 9px}@media (max-width:900px){.templeGrid,.templeCard,.filters,.approvedList .cards,.adminShell{grid-template-columns:1fr}.dashboardGrid{grid-template-columns:1fr 1fr}.topbar{padding:0 18px}.homeHero{padding:34px}.slotScene{height:460px}}
