/* phuphahiw — logo green, ivory and gold in a celestial wishing temple. */
:root{
  --ink:#234638;
  --muted:#8c8b76;
  --paper:#f2eee5;
  --line:#ddd9c9;
  --lime:#e9ce8a;
  --mint:#ebe8da;
  --gold:#af8643;
  --sanctuary-bg:#102a1e;
}
[hidden]{display:none!important}
body{background:radial-gradient(ellipse at 50% 0,#fcf9f0,transparent 65%),var(--paper)}
.site-header{height:110px}
.brand{gap:19px;letter-spacing:0}
.brand>img{width:112px;height:65px;object-fit:contain}
.brand-copy{border-left:1px solid #c8cdbd;padding-left:19px}
.brand-copy strong{font-size:21px;letter-spacing:1.2px;font-weight:700;line-height:1.2;display:block}
.brand-copy small{font-size:9px;letter-spacing:1px;color:#8a8a71;margin-top:7px}
.live-label{color:#9b8a65}
.live-label i,.status-dot{background:#b9934d}
.icon-button:hover{background:#eae5d7}
.eyebrow{color:#9d8659}
.eyebrow>span{background:#b9a273}
h1 span{color:#9d895e}
.page-heading>p{color:#948c7a}
.page-heading>p strong{color:#927842}
.stage{
  background:var(--sanctuary-bg);
  border:1px solid #a18c5a;
  box-shadow:0 18px 45px #243b2d12,inset 0 0 0 1px #e4c78730;
}
.stage:after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 50px #e8bf6b00;transition:box-shadow 1.2s;
}
.stage.wish-lit:after{box-shadow:inset 0 0 95px #e8bf6b66}
.round-chip,.water-chip{
  color:#eedbb0;background:#113423db;border:1px solid #e5c57f30;
}
.round-chip i{background:#d4b870;box-shadow:0 0 8px #d9bd7166}
.water-chip>svg{color:#c9b782}
.water-chip>div>span{color:#c5d2b7}
.current-meter{background:#c2b78466}
.current-meter:after{background:#decb9b66}
.current-meter>div{background:#ebcf83;box-shadow:0 0 8px #e6c47a44}
.scene-caption{color:#d2ba87b0;font-size:7px;letter-spacing:2.2px}
.target-label{background:#fff3d6eb;color:#8c6e37;border-color:#dac28b}
.stage-bottom{
  padding:12px 12px 9px;border:1px solid #d6be7f30;border-radius:23px;
  background:linear-gradient(180deg,#153c29a6,#102a1edf);backdrop-filter:blur(12px);
}
.position-control{margin-bottom:12px;opacity:1}
.position-control svg{color:#d7c391}
.position-control input{background:#ccbc8f60}
.position-control input::-webkit-slider-thumb{background:#dfc68c;border-color:#4d6c50}
.position-control input::-moz-range-thumb{background:#dfc68c;border-color:#4d6c50}
.drop-button{
  background:linear-gradient(135deg,#efdaa3,#cfac65);color:#2c432c;
  box-shadow:0 4px 0 #0b1f194d,0 5px 18px #e8c77a24;
}
.drop-button:hover:enabled{background:linear-gradient(135deg,#ffeac0,#dfba75)}
.drop-button:disabled{background:#61725a;color:#dce5cf}
.button-coin{color:#887035}
.drop-button kbd{border-color:#5e6f3840;color:#5d643f}
.move-button{background:#284f3aab;border-color:#d5c59233;color:#e9d9af}
.move-button:hover{background:#386448}
.control-hint{color:#c5d2b7;letter-spacing:.1px}
.score-card{background:#fffcf5;border-color:#e5ddca;box-shadow:0 8px 20px #544c3410}
.card-eyebrow{color:#9b8b66}
.small-pill{background:#eee5ce;color:#91733e}
.score-heading h2{font-size:15px}
.score-heading svg{color:#b79957;width:25px;height:25px}
.score-display>span{color:#afa58c}
.goal-track>span{background:#f0ebde;border-color:#e6deca;color:#b5a98c}
.goal-track>span.complete{background:#ead59b;color:#6e5a2d;border-color:#d8be7a;box-shadow:0 3px 10px #d9be7530}
.score-divider{background:#ece5d7}
.coins-heading{color:#8a826b}
.coins-heading>strong{color:#48603d}
.coins-heading small,.shot-status{color:#9e9784}
.inventory-coin.used{background:#ece9df;border-color:#e2ddcd;color:#c5c0ae}
.inventory-coin.scored{background:#d9e0bb;border-color:#b6c18c;box-shadow:inset 0 0 0 2px #e9edd5;color:#7a8d56}
.difficulty-card{background:#f7f3e9;border-color:#ded6c2}
.difficulty-options{background:#e9e3d4}
.difficulty-options button{color:#9b9077}
.difficulty-options button.active{background:#fffcf4;color:#476044}
.setting-heading>span,.difficulty-card>p{color:#9f957d}
.tip-icon{background:#e8dfc7;color:#a08448}
.tip-icon svg{color:#a08448;width:21px;height:21px}
.tip-card p,.restart-button{color:#948b73}
.tip-card h3{color:#687551}
footer{color:#a0967e}
footer svg{color:#a78d56}
.loading-screen{background:var(--sanctuary-bg);color:#e3cc92}
.loading-screen p{color:#d7c99e}
.loading-coin{box-shadow:0 0 38px #d1a84e33}
.feedback{background:#faf0d9ed;color:#667142}
.feedback.success{background:#f3dfaa;color:#6a572b}
.modal{
  background:radial-gradient(ellipse at 50% 0,#fff8e1,transparent 45%),#faf6ec;
  border-color:#d4bf8c;box-shadow:0 20px 100px #071c18b0;
}
.modal::backdrop{background:#082619b8;backdrop-filter:blur(7px)}
.modal-icon{background:#eee2c0;color:#a18a52}
.modal-footnote{color:#a0977e}
.help-steps b{color:#b39552}
.help-steps p{color:#8d8874}
.primary-button{background:#244b3c;color:#f3e7c7}
.primary-button:hover{background:#36614b}
.result-modal{padding-top:30px}
.result-modal h2{font-size:26px;margin:14px 0 9px}
.result-modal>p:not(.modal-footnote){color:#8c866e}
.result-emblem{
  width:76px;height:76px;margin-bottom:18px;
  border:1px solid #d5bc7e;background:radial-gradient(circle,#fff2c8,#eee0b6);
  box-shadow:0 0 0 7px #e6d6a326,0 0 35px #c9a95e26;
}
.result-emblem svg{width:45px;height:45px;stroke-width:1.15;color:#a78940}
.result-stats{background:#eee8d7;margin:21px 0;padding:14px 5px}
.result-stats>div{border-color:#ddd2b7}
.result-stats strong{font-size:25px}
.result-stats span{color:#978a68}
.wish-form{text-align:left;margin:22px 0 13px}
.wish-form label{font-size:12px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:600}
.wish-form label>span{font-size:9px;color:#b09760;font-weight:400}
.wish-form input{
  width:100%;min-height:54px;border:1px solid #d9ca9f;border-radius:12px;
  color:#284a38;background:#fffdf6;padding:14px 13px;font:12px var(--font);
  box-shadow:inset 0 2px 5px #a2894e06;
}
.wish-form input::placeholder{color:#aaa18a}
.wish-form input:focus{outline:2px solid #bda260;outline-offset:2px}
.wish-form input[aria-invalid=true]{border-color:#b06e4d}
.wish-meta{display:flex;justify-content:space-between;gap:10px;margin:7px 0 13px;min-height:14px}
#wish-counter{font-size:9px;color:#aca087;white-space:nowrap}
#wish-error{font-size:9px;color:#a46344;line-height:1.6}
.wish-submit{background:linear-gradient(120deg,#c09e54,#dfc287);color:#243b2a;gap:9px}
.wish-submit:hover{background:linear-gradient(120deg,#ceb36e,#ead39c)}
.wish-submit svg{height:23px;width:23px}
.secondary-button{background:transparent;color:#8e886f;font-size:11px;font-weight:400;padding:12px}
.secondary-button:hover{background:#eee7d7;color:#46613c}
.wish-confirmation{
  margin:23px 0 12px;padding:24px 19px 20px;position:relative;overflow:hidden;
  border:1px solid #d4bd82;border-radius:17px;background:linear-gradient(145deg,#f4e8c8,#fbf5e8);
}
.wish-confirmation:before{content:"✦";display:block;color:#b39655;font-size:27px;margin-bottom:13px}
.wish-confirmation-label{font-size:9px;letter-spacing:1.1px;color:#aa925e}
.wish-confirmation blockquote{margin:13px 0 18px;font-size:18px;line-height:1.9;color:#42593b;overflow-wrap:anywhere;font-weight:500}
.wish-confirmation>p{font-size:11px;color:#a58c58;margin:0}
.wish-confirmation>small{font-size:8px;color:#a49b81;display:block;margin-top:9px}
.confetti{
  top:auto;bottom:-10px;width:4px;height:4px;border-radius:50%;box-shadow:0 0 8px currentColor;
  animation:blessing-rise 3s ease-out forwards;
}
@keyframes blessing-rise{0%{opacity:0}20%{opacity:.9}100%{transform:translate(var(--drift),-540px);opacity:0}}
@media(max-width:1100px){.score-heading h2{font-size:13px}}
@media(max-width:800px){
  .brand>img{width:98px;height:56px}.brand-copy{padding-left:15px}.brand-copy strong{font-size:18px}
  .brand{gap:15px}.site-header{height:91px}
  .stage-bottom{padding:10px 8px 8px}.score-heading h2{font-size:12px}
}
@media(max-width:620px){
  .site-header{height:94px}.brand{gap:11px}.brand>img{width:91px;height:53px}
  .brand-copy{padding-left:11px}.brand-copy strong{font-size:16px;letter-spacing:.6px}
  .brand-copy small{font-size:8px;letter-spacing:.2px;margin-top:6px}
  .page-heading{padding-top:19px}h1{font-size:24px}
  .stage-bottom{width:calc(100% - 28px);bottom:12px;padding:12px 9px 9px}
  .round-chip .mobile-score{color:#edd198;border-color:#d7c58b44}
  .scene-caption{font-size:6px;letter-spacing:1.1px}
  .score-heading h2{font-size:12px}.tip-card h3{font-size:10px}
  .result-modal{padding-top:28px}.result-modal h2{font-size:23px}
  .wish-form input{font-size:16px}.wish-form label{font-size:11px}
  .wish-confirmation blockquote{font-size:16px}
  .result-modal .result-emblem{width:63px;height:63px}
}
@media(max-width:380px){
  .brand>img{width:78px;height:45px}.brand-copy strong{font-size:14px}
  .header-actions{gap:5px}.icon-button{width:31px;height:31px}
  h1{font-size:21px}.stage-top{left:12px;right:12px}.current-meter{display:none}
}
@media(prefers-reduced-motion:reduce){.confetti{display:none}.stage:after{transition:none}}
