*{box-sizing:border-box}html,body{margin:0;padding:0}button,input,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
html { scroll-behavior: smooth; }
body { background: #fffbf5; color: #26221e; font-family: Arial, "Noto Sans Devanagari", sans-serif; }
a { text-decoration: none; }
.wrap { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.site-header { background: #fff; border-bottom: 1px solid #f0e5da; }
.header-inner { height: 88px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: #202020; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,#ff762c,#d63b05); color: #fff; font-family: Georgia,serif; font-size: 28px; font-weight: 800; box-shadow: 0 5px 14px #e64b0b33; }
.brand strong { display:block; font-size: 22px; line-height: 1; letter-spacing: .075em; font-weight: 900; }
.brand small { display:block; margin-top: 5px; font-size: 10px; font-weight: 700; color: #b25b34; letter-spacing: .13em; white-space: nowrap; }
nav { display:flex; align-items:center; gap: 30px; font-size: 14px; font-weight: 700; }
nav a { color: #514944; } nav a:hover, .back-link:hover { color: #dc470a; }
nav .admin-link { padding: 10px 16px; border: 1px solid #ead7c8; border-radius: 9px; }
.main-content { padding-top: 32px; padding-bottom: 70px; }
.topline { display:flex; justify-content:space-between; gap: 12px; color: #81746c; font-size: 13px; border-bottom: 1px solid #eaded3; padding-bottom: 14px; }
.section-kicker { color:#c44710; font-size: 13px; letter-spacing: .06em; font-weight: 800; }
.intro { display:flex; align-items:center; justify-content:space-between; padding: 35px 0 37px; }
.intro h1 { font-size: clamp(38px,5.6vw,70px); line-height: 1.16; letter-spacing:-.055em; font-weight: 900; }
.intro em { font-style:normal; color:#e64b0b; }
.intro p { color:#6f625a; font-size: 17px; margin-top: 11px; }
.intro .affiliation-note { display:inline-block; max-width:600px; color:#7b4f35; font-size:14px; line-height:1.5; background:#fff0e5; border-left:3px solid #e64b0b; padding:9px 12px; margin-top:17px; }
.intro-symbol { font-size: 95px; line-height: 1; color:#ed8651; transform: rotate(14deg); font-family:Georgia,serif; padding-right: 30px; }
.check-card { display:grid; grid-template-columns: minmax(0,1fr) minmax(390px,1.05fr); gap: 40px; align-items:center; padding: 34px 38px; border-radius: 20px; color:#fff; background: radial-gradient(circle at 91% 0%,#8d3e1c 0%,transparent 37%),linear-gradient(115deg,#371e17,#522617 65%,#673015); box-shadow:0 17px 36px #5b321524; }
.check-eyebrow { color:#ffc7a6; font-size:13px; font-weight:800; margin-bottom:9px; }
.check-card h2 { font-size: clamp(23px,2.5vw,31px); font-weight:800; line-height:1.28; }
.check-card p { color:#eedbd0; font-size:14px; margin-top:12px; }
.check-form { display:flex; gap:10px; background:#fff; border-radius:11px; padding:6px; }
.check-form input { flex:1; border:0; box-shadow:none; font-size:16px; height:42px; min-width:0; font-family:ui-monospace,monospace; color:#242424; }
.check-form button { height:42px; flex-shrink:0; font-weight:700; }
.check-feedback:empty { display:none; }
.check-feedback { font-size:14px; line-height:1.6; }
.check-feedback p { margin-top:11px; color:#fff2e9; }
.check-feedback .feedback-error { color:#ffd5ca; }
.feedback-win { margin-top:14px; color:#fff; }
.feedback-win strong { color:#ffd8a8; }
.results-section { padding-top: 64px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; }
.section-heading h2 { font-size: clamp(27px,3.6vw,42px); letter-spacing:-.035em; line-height:1.2; margin-top:9px; font-weight:850; }
.date-pill { color:#a74b20; background:#fff0e4; border:1px solid #f9d3bd; padding:9px 13px; border-radius:100px; font-size:14px; font-weight:700; white-space:nowrap; }
.draw-meta { display:flex; gap: 12px; color:#7d6e66; margin:18px 0 14px; font-size:14px; }
.draw-meta span+span:before { content:"·"; margin-right:12px; }
.winner-list { background:white; border:1px solid #ede2d8; border-radius:17px; overflow:hidden; box-shadow:0 12px 36px #6540180c; }
.winner-row { min-height:86px; display:grid; grid-template-columns:minmax(160px,1fr) minmax(190px,1.2fr) minmax(160px,1fr); align-items:center; gap:20px; padding:18px 26px; border-bottom:1px solid #f1e9e2; }
.winner-row:last-child { border-bottom:0; }
.winner-row.first-winner { background:linear-gradient(90deg,#fff3e5,#fffaf4); }
.winner-rank { color:#b95020; font-weight:800; font-size:16px; }
.ticket-number { font-family: ui-monospace,SFMono-Regular,monospace; font-size:21px; letter-spacing:.015em; overflow-wrap:anywhere; }
.prize-label { justify-self:end; font-size:17px; font-weight:800; text-align:right; }
.archive { margin-top:46px; }
.archive h3 { font-size:24px; font-weight:800; margin-bottom:14px; }
.archive-list { border:1px solid #e9dbd0; border-radius:14px; overflow:hidden; background:white; }
.archive-list a { display:grid; grid-template-columns:1fr auto 20px; align-items:center; gap:18px; padding:18px 22px; border-bottom:1px solid #f3e9e0; color:#26221e; font-size:16px; font-weight:700; }
.archive-list a:last-child { border-bottom:0; }.archive-list a:hover { background:#fff5ed; }
.archive-list small { display:block; color:#88776b; font-size:13px; font-weight:400; margin-top:3px; }.archive-list time { color:#84756c; font-size:14px; font-weight:400; }
.empty-state { text-align:center; margin-top:18px; padding:64px 24px; border:1px dashed #e5cdb9; border-radius:17px; background:white; color:#6b5d53; }
.empty-state strong { display:block; font-size:23px; color:#29221d; }.empty-state p { margin-top:7px; font-size:15px; }.empty-icon { display:block; font-size:51px; line-height:1; color:#e87030; margin-bottom:14px; }
.gallery-section { padding-top: 66px; }
.gallery-intro { margin: 13px 0 22px; color: #74665d; font-size: 15px; line-height: 1.6; }
.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.gallery-photo { overflow: hidden; border: 1px solid #eaded4; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px #6540180b; }
.gallery-photo.wide { grid-column: span 2; }
.gallery-photo img { display: block; width: 100%; aspect-ratio: 1.7; height: auto; object-fit: cover; }
.gallery-photo.wide img { aspect-ratio: 2.75; }
.gallery-photo.banner-photo img { aspect-ratio: 3.22; object-fit: contain; background: #241623; }
.gallery-photo figcaption { padding: 12px 15px; color: #554840; font-size: 14px; font-weight: 700; }
.gallery-note { color: #76685e; font-size: 13px; line-height: 1.6; margin-top: 15px; }
.footnote { margin-top:35px; color:#776b64; font-size:14px; line-height:1.7; }
footer { background:#271c17; color:#cbb9ae; }.footer-inner { min-height:80px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:13px; }
.admin-shell { width:min(1000px,calc(100% - 40px)); margin:0 auto; padding-bottom:80px; }.admin-header { display:flex; align-items:center; justify-content:space-between; padding:27px 0 30px; border-bottom:1px solid #e9dbd0; }.admin-header p { margin:8px 0 0 54px; font-size:13px; color:#76685e; }.back-link { color:#55483f; font-size:14px; font-weight:700; }
.admin-intro { padding:36px 0 24px; }.admin-intro h1,.setup-card h1 { font-size:clamp(29px,4vw,42px); font-weight:850; margin:7px 0; }.admin-intro p,.setup-card p { color:#76685e; font-size:15px; }.admin-card { background:#fff; border:1px solid #ebddd1; border-radius:17px; padding:28px; margin:19px 0; box-shadow:0 8px 28px #6540180b; }.admin-card h2 { font-size:23px; font-weight:800; margin-bottom:22px; }.setup-card { max-width:600px; margin:45px auto; }.setup-card form { display:grid; gap:12px; margin-top:25px; }.setup-card button { justify-self:start; }
.draw-form { display:grid; gap:22px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.draw-form label,.setup-card label { display:block; margin-bottom:8px; font-size:14px; font-weight:700; }.draw-form input,.setup-card input { height:44px; font-size:16px; }.draw-form textarea { font-size:15px; line-height:1.7; font-family:inherit; }.field-help { margin-top:8px; color:#81766f; font-size:13px; line-height:1.5; }.form-actions,.row-actions { display:flex; flex-wrap:wrap; gap:9px; }.form-error,.form-success { border-radius:9px; padding:12px 14px; font-size:14px; margin:12px 0; }.form-error { background:#fff0ed; color:#a12f12; }.form-success { background:#eaf7ee; color:#206c37; }
.admin-row { display:flex; align-items:center; gap:16px; padding:17px 0; border-bottom:1px solid #eee3da; }.admin-row:last-child { border-bottom:0; }.admin-row>div:first-child { min-width:0; flex:1; }.admin-row strong { display:block; font-size:16px; }.admin-row small { display:block; margin-top:5px; color:#85776d; font-size:13px; }.status { padding:6px 10px; border-radius:100px; font-size:12px; font-weight:800; }.status.published { color:#167039; background:#e9f8ef; }.status.draft { color:#9a5424; background:#fff1e0; }
@media (max-width:760px) { .wrap { width:min(100% - 32px,1120px); }.header-inner { height:74px; }.brand strong { font-size:18px; }.brand small { font-size:8px; }.brand-mark { width:36px; height:36px; font-size:23px; } nav { gap:12px; font-size:13px; }nav a:first-child, nav a[href="#gallery"] { display:none; }nav .admin-link { padding:8px; }.topline { font-size:12px; }.intro { padding:30px 0; }.intro p { font-size:15px; }.intro-symbol { font-size:55px; padding:0; }.check-card { grid-template-columns:1fr; gap:20px; padding:27px 20px; }.results-section { padding-top:45px; }.winner-row { grid-template-columns:1fr auto; gap:7px 14px; padding:18px; }.winner-rank { grid-column:1; }.ticket-number { grid-column:1; font-size:19px; }.prize-label { grid-column:2; grid-row:1 / span 2; font-size:15px; }.gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.gallery-section { padding-top:50px; }.admin-row { flex-wrap:wrap; }.row-actions { width:100%; }.form-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .intro-symbol { display:none; }.check-form { flex-direction:column; }.check-form button { width:100%; }.section-heading { display:block; }.date-pill { display:inline-block; margin-top:15px; }.archive-list a { grid-template-columns:1fr 20px; }.archive-list time { grid-column:1; grid-row:2; }.archive-list a>span:last-child { grid-column:2; grid-row:1 / span 2; }.gallery-grid { display:block; }.gallery-photo { margin-bottom:14px; }.gallery-photo img,.gallery-photo.wide img { aspect-ratio:1.75; }.gallery-photo.banner-photo img { aspect-ratio:3.22; }.admin-header { align-items:start; flex-direction:column; gap:18px; } }

input,textarea{width:100%;border:1px solid #ddcfc3;border-radius:8px;padding:10px 12px;background:#fff;color:#222}button,.btn{border:0;border-radius:8px;padding:10px 16px;background:#df4b0b;color:white;font-weight:700;display:inline-block}.btn-outline{background:white;color:#5b463a;border:1px solid #ddcfc3}.admin-link{display:inline-block}.notice{padding:12px 14px;border-radius:9px;background:#fff4e9;color:#78421f;margin:14px 0}.danger{background:#a72d19}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.inline{display:inline}.check-box{min-width:0}
