.nml-widget{font:inherit;color:#1a2432;max-width:1050px;margin:18px auto;background:#fff;border:1px solid #e4e9f0}.nml-banner{background:#09468f;color:#fff;text-align:center;padding:26px 14px;border-bottom:5px solid #df1f2d}.nml-banner h2{font-size:clamp(23px,4vw,36px);color:#fff;margin:7px 0}.nml-banner p{color:#fff;margin:0}.nml-eyebrow{letter-spacing:2px;font-size:11px;color:#f9dc88}.nml-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px}.nml-panel{border:1px solid #dce4eb;padding:19px;min-width:0}.nml-panel h3{font-size:18px;margin:0 0 20px;color:#09468f}.nml-check-form label{display:block;font-size:13px;font-weight:600;margin:0 0 13px}.nml-check-form input,.nml-check-form select{display:block;box-sizing:border-box;width:100%;min-height:42px;margin-top:6px;border:1px solid #bac5d0;background:white;padding:9px 12px;border-radius:0;font-size:14px}.nml-check-form button{cursor:pointer;width:100%;border:0;border-radius:0;background:#df1f2d;color:#fff;font-weight:700;padding:12px}.nml-check-form button:disabled{opacity:.55;cursor:wait}.nml-response{font-size:13px;line-height:1.6}.nml-success{color:#126b39;font-weight:700}.nml-public-winner{text-align:center}.nml-winner-month{color:#777}.nml-winner-name{font-weight:800;color:#bf8d25;font-size:24px;overflow-wrap:anywhere}.nml-small{color:#626b7a;font-size:12px;margin-top:25px}.nml-admin-machine{background:linear-gradient(#f6faff,#e9f0f9);max-width:620px;text-align:center;padding:18px;margin:16px 0;border:1px solid #cfdce9}.nml-globe{width:260px;height:260px;border-radius:50%;border:12px solid #9cbed5;margin:5px auto 0;position:relative;box-sizing:border-box;overflow:hidden;background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.95),rgba(171,224,250,.22) 40%,rgba(78,139,185,.28) 80%);box-shadow:inset 12px 9px 22px rgba(255,255,255,.92),inset -12px -11px 18px rgba(50,85,129,.28),0 8px 18px #b9c9d5}.nml-ball{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff5d1;box-shadow:1px 3px 9px #b1a99c;font-size:22px}.nml-b1{left:15%;top:54%}.nml-b2{left:43%;top:25%}.nml-b3{left:65%;top:61%}.nml-b4{left:28%;top:70%}.nml-b5{left:67%;top:35%}.nml-neck{height:38px;width:80px;background:linear-gradient(90deg,#638ca9,#d9ecf6,#638ca9);margin:auto}.nml-base{background:#09468f;color:white;letter-spacing:2px;padding:12px;max-width:335px;margin:auto;font-size:11px;font-weight:800}.nml-draw-output{min-height:34px;font-size:19px;font-weight:800;color:#09468f}.nml-spinning .nml-ball{animation:nml-tumble .65s linear infinite alternate}.nml-spinning .nml-b2{animation-delay:-.22s}.nml-spinning .nml-b3{animation-delay:-.45s}.nml-spinning .nml-b4{animation-delay:-.17s}.nml-spinning .nml-b5{animation-delay:-.53s}@keyframes nml-tumble{0%{transform:translate(-38px,-51px) rotate(-110deg)}100%{transform:translate(64px,57px) rotate(160deg)}}@media(max-width:680px){.nml-public-grid{grid-template-columns:1fr;padding:12px;gap:12px}.nml-panel{padding:15px}.nml-globe{width:225px;height:225px}}

/* Public draw countdown: square-corner styling aligned with Nerikkalam. */
.nml-countdown{padding:22px 15px 18px;text-align:center;background:#f3f7fc;border-bottom:1px solid #dce4eb;color:#09468f}
.nml-countdown-title{margin:0 0 7px;font-size:clamp(15px,2.5vw,19px);font-weight:700}
.nml-countdown-big{margin:0 0 15px;display:flex;align-items:baseline;justify-content:center;gap:9px;flex-wrap:wrap;font-weight:800}
.nml-days-large{font-size:clamp(48px,9vw,86px);line-height:1;font-variant-numeric:tabular-nums;color:#df1f2d}
.nml-countdown-big>span:last-child{font-size:clamp(19px,3vw,28px)}
.nml-countdown-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:500px;gap:8px;margin:0 auto}
.nml-countdown-clock>div{background:#fff;border:1px solid #dce4eb;padding:11px 3px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.nml-countdown-clock strong{font-size:clamp(22px,5vw,35px);line-height:1.2;color:#09468f;font-variant-numeric:tabular-nums}
.nml-countdown-clock span{font-size:11px;color:#4c5667}
.nml-countdown-note{font-size:12px;margin:12px 0 0;color:#687587}
@media(max-width:400px){.nml-countdown{padding:16px 9px}.nml-countdown-clock{gap:5px}.nml-countdown-clock>div{padding:8px 2px}.nml-countdown-clock span{font-size:10px}}

.nml-promo{border:1px solid #e4bd37;padding:16px;background:#fffdf7;text-align:center;color:#09468f}.nml-promo h3{font-size:20px;margin:6px 0 12px}.nml-promo .nml-countdown{border:0}.nml-promo-winner{padding:14px 6px}.nml-promo-winner p{margin:0 0 7px}.nml-promo-winner strong{display:block;font-size:clamp(24px,4vw,36px);overflow-wrap:anywhere}.nml-promo-winner b,.nml-prize{display:block;font-size:clamp(28px,5vw,44px);font-weight:900;color:#af7b00;margin:6px 0}.nml-link-button{display:inline-block;text-decoration:none;background:#09468f;color:#fff!important;font-weight:800;padding:12px 15px;margin-top:7px}.nml-spin-cta{text-align:center;margin:12px auto}.nml-prize-form{padding:12px 0}.nml-prize-form input{margin-left:10px}.nml-test-machine{border:2px dashed #b6bdca}.nml-test-machine .nml-base{background:#566b84}
/* v1.1.1: dense tickets / tumbling globe / sealed ticket drop */
.nml-admin-machine{overflow:hidden;position:relative}
.nml-ticket-cloud{position:absolute;inset:0;transform-origin:50% 50%}
.nml-ticket{--angle:calc(var(--i)*137.5deg);position:absolute;left:calc(50% + (var(--i) - 24)*.16%);top:calc(50% + (var(--i) - 24)*.12%);width:26px;height:23px;background:#fff3c7;border:1px solid #e1be74;box-shadow:0 1px 4px #57718a44;display:grid;place-items:center;font-size:13px;transform:rotate(calc(var(--i)*39deg)) translateX(calc((var(--i) - 25)*2.4px)) translateY(calc((var(--i) - 20)*1.1px));border-radius:4px}
.nml-ticket:nth-child(3n){background:#fff}.nml-ticket:nth-child(4n){background:#f6d7aa}
.nml-spinning .nml-ticket-cloud{animation:nml-cloud-spin .55s linear infinite}
.nml-spinning .nml-ticket{animation:nml-ticket-bounce .23s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-37ms)}
@keyframes nml-cloud-spin{to{transform:rotate(360deg)}}
@keyframes nml-ticket-bounce{from{translate:-19px 14px;rotate:-35deg}to{translate:18px -21px;rotate:49deg}}
.nml-ticket-exit{height:0;position:relative;z-index:4;pointer-events:none}
.nml-sealed-ticket{position:absolute;top:-38px;left:50%;margin-left:-58px;width:116px;height:46px;display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(145deg,#ffe9a1,#f5c85e);border:2px solid #9b731d;box-shadow:0 4px 9px #3335;font-weight:800;opacity:0;transform:translateY(-160px) rotate(-130deg)}
.nml-sealed-ticket span{font-size:10px;letter-spacing:1px}
.nml-ticket-fallen .nml-sealed-ticket{opacity:1;transform:translateY(55px) rotate(0);transition:transform 1.35s cubic-bezier(.18,.75,.25,1),opacity .2s}
.nml-ticket-open .nml-sealed-ticket{background:#fff3c9;transform:translateY(55px) rotateY(180deg);opacity:.2;transition:transform .7s,opacity .7s}
.nml-open-ticket{display:block;margin:14px auto 6px!important}.nml-open-ticket[hidden]{display:none!important}
.nml-ticket-fallen .nml-draw-output{margin-top:90px}
.nml-ticket-open .nml-draw-output{color:#996c00;font-size:clamp(18px,3vw,29px)}

/* Monthly PIN result: scoped, no changes to Golden Weekly UI. */
.nml-member-result{border:1px solid #d9e1ea;padding:12px;margin-top:12px;background:#fff;color:#193558}.nml-member-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f5;overflow-wrap:anywhere}.nml-member-status{font-size:clamp(18px,2.4vw,25px);font-weight:800;padding:14px 8px;text-align:center;margin-top:12px}.nml-member-eligible{color:#08743d;background:#e8f7ee}.nml-member-ineligible{color:#b02020;background:#fff0f0}

/* v1.3.0: prominent prize animation and reusable Golden Weekly winner history */
.nml-prize-stage{padding:22px 12px;margin:16px auto;text-align:center;background:linear-gradient(135deg,#fff8dd,#fff,#fdf0c4);border:2px solid #d8ac33;overflow:hidden;max-width:100%;box-sizing:border-box}
.nml-prize-caption{display:block;color:#09468f;font-size:clamp(14px,2vw,20px);font-weight:800}
.nml-prize-roll{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;color:#b88300;font-weight:900;line-height:1.18;font-size:clamp(48px,7vw,100px);font-variant-numeric:tabular-nums;animation:nml-prize-reveal 2.4s cubic-bezier(.18,.78,.21,1) both, nml-prize-glow 3s ease-in-out 2.4s infinite alternate}
@keyframes nml-prize-reveal{0%{transform:translateY(-90px) rotateX(75deg) scale(.4);opacity:0;filter:blur(8px)}65%{transform:translateY(8px) rotateX(-12deg) scale(1.09);opacity:1;filter:blur(0)}100%{transform:translateY(0) rotateX(0deg) scale(1);opacity:1;filter:blur(0)}}
@keyframes nml-prize-glow{from{text-shadow:0 0 0 transparent}to{text-shadow:0 0 18px rgba(218,159,20,.4)}}
.nml-prize-pending{color:#657182;text-align:center}
.nml-standalone-winners{padding:18px;border:1px solid #e4bd37;background:#fffdf8;color:#09468f;text-align:center}
.nml-winner-history{display:grid;gap:8px;margin:12px auto}.nml-winner-history-item{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;padding:12px;background:#fff;border:1px solid #e3e9f0;overflow-wrap:anywhere}.nml-winner-history-item:first-child{background:#fff6da;border-color:#d6af38}.nml-winner-history-item span{font-size:12px;color:#52637a}.nml-winner-history-item strong{color:#09468f;font-size:clamp(17px,2.6vw,28px)}.nml-winner-history-item b{color:#a06a00;font-size:clamp(22px,3vw,37px)}.nml-history-empty{font-size:14px;color:#687587}.nml-public-winner h4{margin:20px 0 7px}.nml-promo-history{margin:15px auto}
@media(prefers-reduced-motion:reduce){.nml-prize-roll{animation:none}}

/* v1.4.0: reusable Golden Weekly pre-payment section, no changes to existing weekly plugin. */
.nml-before-payment{box-sizing:border-box;border:1px solid #d8ac33;background:#fffdf7;color:#09468f;padding:18px;text-align:center;max-width:100%;margin:12px auto}
.nml-before-payment h3{font-size:clamp(19px,3vw,27px);margin:4px 0 15px;color:#09468f}
.nml-before-payment h4{margin:18px 0 9px;font-size:17px;color:#09468f}
.nml-before-payment .nml-promo-winner strong{font-size:clamp(22px,4vw,38px)}
.nml-before-payment .nml-promo-winner b{font-size:clamp(36px,6vw,65px)}
.nml-before-payment .nml-prize-roll{font-size:clamp(48px,7vw,100px)}
@media(max-width:600px){.nml-before-payment{padding:12px}.nml-before-payment .nml-winner-history-item{display:block}.nml-before-payment .nml-winner-history-item>*{display:block;margin:4px auto}}

/* v1.4.1: public monthly entrants and year/month selectors. */
.nml-summary-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:16px;padding:14px;background:#f3f7fc;align-items:stretch}
.nml-summary-grid .nml-countdown{border:0;min-width:0;padding:16px 12px}
.nml-members-total{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid #dce4eb;background:#fff;color:#09468f;padding:18px 10px;min-width:0}
.nml-members-total p{font-weight:800;font-size:clamp(14px,2vw,20px);margin:0 0 12px}
.nml-members-total strong{font-size:clamp(56px,7vw,90px);line-height:1.1;color:#df1f2d;font-variant-numeric:tabular-nums}
.nml-members-total span{font-size:15px;font-weight:700;margin-top:8px}
.nml-date-selection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media(max-width:720px){.nml-summary-grid{grid-template-columns:1fr;gap:8px;padding:9px}.nml-members-total{min-height:150px}.nml-date-selection{gap:8px}}
/* LOCK 05: monthly-admin-only PIN lottery (no global page styles). */
.nml-admin .nml-machine-settings{margin:14px 0;padding:14px;background:#f3f6f9;border:1px solid #dce7ef;border-radius:10px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nml-admin .nml-machine-settings label{font-weight:650}
.nml-admin .nml-machine-settings .description{flex-basis:100%;margin:0}
.nml-admin .nml-pin-lottery{max-width:860px;box-sizing:border-box;background:#102a43;color:#fff;border-radius:18px;padding:clamp(16px,3vw,30px);margin:16px 0 26px;text-align:center}
.nml-admin .nml-pin-lottery h2{color:#fff;font-size:clamp(20px,3vw,29px);line-height:1.4}
.nml-admin .nml-pin-lottery p{color:#dce7ef}
.nml-admin .nml-pin-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(4px,1.2vw,12px);margin:22px auto;max-width:670px}
.nml-admin .nml-pin-slot{display:flex;justify-content:center;align-items:center;min-width:0;aspect-ratio:0.85;background:#fff;color:#102a43;border-radius:11px;font-weight:800;font-variant-numeric:tabular-nums;font-size:clamp(24px,5vw,58px);border:2px solid #dce7ef}
.nml-admin .nml-pin-slot.nml-pin-rolling{background:#f5cd65;color:#102a43;box-shadow:0 0 0 4px rgba(245,205,101,.18)}
.nml-admin .nml-pin-lottery .button{min-height:46px;margin:6px;font-size:15px}
.nml-admin .nml-machine-winner{background:#fff9e8;color:#102a43;border:2px solid #f5cd65;border-radius:14px;padding:20px;margin-top:22px}
.nml-admin .nml-machine-winner h2{color:#102a43}
.nml-admin .nml-machine-winner strong{display:block;font-size:clamp(24px,4vw,38px);overflow-wrap:anywhere}
.nml-admin .nml-machine-winner b{display:block;color:#935300;font-size:clamp(22px,3vw,32px)}
@media(max-width:480px){.nml-admin .nml-pin-lottery{padding:12px}.nml-admin .nml-pin-slots{gap:3px}.nml-admin .nml-pin-slot{border-radius:6px;border-width:1px}}
