/*
Theme Name: Price Time Machine
Theme URI: https://example.com/
Author: OpenAI
Description: Retro arcade-style WordPress theme for a historical price guessing game.
Version: 1.10.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: price-time-machine
*/
:root{--navy:#07192e;--navy2:#0d2944;--panel:#102e49;--teal:#25d2c3;--orange:#ffad2f;--cream:#f7f1df;--muted:#b6c9dc;--line:#1b6177}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;background:rgba(5,22,41,.96);border-bottom:1px solid #174e68;backdrop-filter:blur(10px)}.header-inner{max-width:1200px;margin:auto;padding:14px 22px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;font-weight:950;font-style:italic;line-height:.95;letter-spacing:-.04em;font-size:23px}.brand-icon{width:48px;height:48px;border:3px solid var(--teal);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-size:27px;box-shadow:0 0 0 4px #173c54}.brand span em{display:block;color:var(--orange);font-style:italic}.main-nav{display:flex;align-items:center;gap:22px;margin-left:auto;color:var(--muted);font-size:14px;font-weight:700}.main-nav a:hover{color:var(--teal)}.challenge-link,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--orange);color:#10243a;border:0;border-radius:999px;padding:13px 20px;font-weight:900;cursor:pointer;transition:transform .15s,filter .15s}.challenge-link:hover,.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-teal{background:var(--teal)}.btn-outline{background:transparent;color:#fff;border:1px solid #2a7588}.page-wrap{max-width:1200px;margin:auto;padding:28px 22px 60px}.hero{display:grid;grid-template-columns:.85fr 1.4fr;gap:24px;align-items:stretch}.intro,.game-card,.feature-card,.category-card,.stats-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#0d2944,#091f36);box-shadow:0 15px 40px #0002}.intro{padding:30px;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--teal);font-size:13px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.intro h1{font-size:clamp(32px,4vw,50px);line-height:1.02;letter-spacing:-.04em;margin:12px 0}.intro p{color:var(--muted);font-size:16px}.mini-feature{display:flex;gap:13px;align-items:center;background:#123650;border:1px solid #1c6177;border-radius:12px;padding:13px;margin-top:10px}.mini-icon{font-size:25px;color:var(--teal)}.mini-feature strong,.mini-feature small{display:block}.mini-feature small{color:var(--muted)}.game-card{padding:22px;position:relative;overflow:hidden}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pill{display:inline-block;border-radius:999px;padding:6px 10px;background:#143e52;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.06em}.round-label{font-size:12px;color:var(--muted);font-weight:800}.progress{display:flex;gap:5px;margin:12px 0 18px}.progress span{height:5px;border-radius:99px;background:#1c3b56;flex:1}.progress span.active{background:var(--teal)}.product-area{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.product-image{min-height:230px;border-radius:13px;background:var(--cream);display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.product-image img{max-width:100%;max-height:230px;object-fit:contain}.product-placeholder{font-size:92px;filter:drop-shadow(0 12px 9px #142b3b22)}.product-info h2{font-size:27px;line-height:1.1;margin:9px 0}.product-info p{color:var(--muted);font-size:14px}.year-line{font-size:12px;color:#9eb8d1;font-weight:800}.guess-panel{margin-top:20px;background:#f8f4e9;color:#10243a;border-radius:13px;padding:19px}.guess-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.guess-head label{font-size:12px;font-weight:900;color:#5a6d7f;letter-spacing:.06em}.guess-value{font-size:32px;color:#087e7c;font-weight:950;letter-spacing:-.04em}.price-range{width:100%;accent-color:#078d89;cursor:pointer;margin:12px 0 0}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:#607285;font-weight:700}.hint{margin-top:12px;border:1px solid #eadbb8;border-radius:10px;overflow:hidden}.hint summary{padding:10px 12px;cursor:pointer;font-weight:800;color:#4d5d6c}.hint p{padding:0 12px 12px;margin:0;color:#526575;font-size:13px}.guess-panel .btn{width:100%;margin-top:14px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:36px 0 15px}.section-title h2{margin:0;font-size:25px;letter-spacing:-.03em}.section-title p{margin:0;color:var(--muted);font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.category-card{padding:17px 14px;min-height:125px;cursor:pointer;text-align:left;color:#fff;transition:transform .15s,border-color .15s}.category-card:hover,.category-card.selected{transform:translateY(-3px);border-color:var(--teal);background:#12384d}.category-card .emoji{font-size:27px;display:block;margin-bottom:8px}.category-card strong{display:block;font-size:14px}.category-card small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:24px}.feature-card,.stats-card{padding:22px}.feature-card h3,.stats-card h3{margin:8px 0}.feature-card p,.stats-card p{color:var(--muted);font-size:14px}.daily-mark{font-size:34px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.stat{background:#173650;border-radius:10px;padding:13px}.stat small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.stat strong{display:block;font-size:23px;margin-top:4px}.site-footer{border-top:1px solid #174e68;text-align:center;padding:25px 20px 40px;color:var(--muted)}.footer-tag{font-size:23px;font-weight:900;font-style:italic;color:var(--orange)}.footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:12px;margin-top:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(2,10,20,.78);z-index:99;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(5px)}.modal-backdrop.open{display:flex}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:linear-gradient(145deg,#102e49,#061b30);border:2px solid var(--teal);border-radius:20px;box-shadow:0 25px 90px #0009;padding:26px;position:relative}.modal-close{position:absolute;right:15px;top:12px;background:transparent;border:0;color:#fff;font-size:29px;cursor:pointer}.modal-badge{display:flex;justify-content:center;margin-bottom:10px}.modal h2{text-align:center;font-size:clamp(25px,4vw,38px);line-height:1.08;margin:10px 0}.modal-sub{text-align:center;color:var(--muted);margin:0 0 20px}.reveal-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:14px;align-items:stretch}.reveal-product{background:var(--cream);border-radius:13px;display:grid;place-items:center;padding:20px;min-height:220px}.reveal-product .product-placeholder{font-size:95px}.reveal-prices{border:1px solid #1c6177;border-radius:13px;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:8px}.price-label{font-size:12px;color:var(--muted)}.big-price{font-size:clamp(28px,4vw,42px);font-weight:950;line-height:1.05}.big-price.teal{color:var(--teal)}.down-arrow{text-align:center;font-size:28px;color:var(--orange);line-height:1}.inflation-note{margin-top:14px;padding:15px;border:1px solid #8b6429;background:#2d2d2a;border-radius:12px}.inflation-note strong{display:block;color:var(--orange);font-size:19px}.inflation-note p{margin:4px 0 0;color:#d4dfeb;font-size:13px}.source-note{font-size:11px;color:#91a9bf;margin:12px 0}.fun-fact{border-top:1px solid #25465d;margin-top:18px;padding-top:15px;color:var(--muted);font-size:13px}.fun-fact strong{color:var(--orange)}.modal-actions{display:flex;justify-content:center;margin-top:18px}.modal-actions .btn{min-width:260px}.score-result{display:none;margin-top:12px;border:1px solid #1c6177;border-radius:12px;padding:16px;background:#0a243b}.score-result.show{display:block}.score-result h3{margin:0 0 8px;color:var(--teal)}.score-pair{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.score-pair strong{font-size:23px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){.main-nav{gap:12px}.main-nav a:nth-child(n+4){display:none}.hero{grid-template-columns:1fr}.intro{padding:24px}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.header-inner{padding:12px 14px;gap:10px}.brand{font-size:17px}.brand-icon{width:39px;height:39px;font-size:21px}.main-nav{display:none}.challenge-link{margin-left:auto;padding:10px 13px;font-size:12px}.page-wrap{padding:16px 12px 38px}.intro,.game-card{padding:18px}.intro h1{font-size:36px}.product-area{grid-template-columns:1fr}.product-image{min-height:180px}.product-image img{max-height:180px}.product-placeholder{font-size:76px}.category-grid{grid-template-columns:repeat(2,1fr);gap:9px}.category-card{min-height:112px;padding:13px}.lower-grid{grid-template-columns:1fr}.section-title{margin-top:27px}.modal{padding:22px 16px}.reveal-grid{grid-template-columns:1fr}.reveal-product{min-height:150px}.reveal-product .product-placeholder{font-size:70px}.reveal-prices{padding:15px}.modal-actions .btn{width:100%;min-width:0}.stat-row{gap:6px}.stat{padding:10px}.stat strong{font-size:19px}}
.game-summary{display:none;margin:36px 0 0}.game-summary.show{display:block}
.summary-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#0d2944,#091f36);box-shadow:0 15px 40px #0002;padding:30px;text-align:center}
.summary-card h2{font-size:clamp(26px,4vw,38px);margin:10px 0;letter-spacing:-.03em}
.summary-points strong{display:block;font-size:clamp(44px,8vw,72px);color:var(--orange);font-weight:950;line-height:1}
.summary-points small{color:var(--muted);font-size:18px}
.summary-grid{font-size:30px;letter-spacing:6px;margin:14px 0 6px}
.summary-stats{color:var(--muted);font-size:14px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.summary-stats strong{color:#fff}
.summary-text{white-space:pre-line;background:#0a243b;border:1px solid #1c6177;border-radius:12px;padding:14px;color:var(--muted);font-size:14px;margin:18px auto;max-width:520px;text-align:left}
.share-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.share-buttons .btn{min-width:150px}
.share-buttons [hidden]{display:none}
.summary-status{color:var(--teal);font-size:13px;min-height:20px;margin:10px 0}
#play-again{margin-top:10px}
.progress span.done{background:#2f8f86}
[hidden]{display:none!important}
.map-svg{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;cursor:crosshair;touch-action:manipulation;margin:10px 0}
.map-svg:focus-visible{outline:3px solid var(--orange)}
.map-ocean{fill:#0b2a45}.map-grid{fill:none;stroke:#12405a;stroke-width:.25}
.map-land{fill:#1b6577;stroke:#3aa0b3;stroke-width:.2}
.pin-user{fill:var(--teal);stroke:#fff;stroke-width:1.2}.pin-actual{fill:var(--orange);stroke:#fff;stroke-width:1.2}
.pin-line{stroke:#fff;stroke-width:.8;stroke-dasharray:3 2;fill:none}
.map-status{font-size:15px;font-weight:900;color:#087e7c;text-align:right}
.map-result{color:#3b4a56;font-size:15px;margin:8px 0 0}.map-result strong{color:#10243a}
.map-land,.map-grid,.pin-line,.pin-user,.pin-actual{vector-effect:non-scaling-stroke}
.pin-user,.pin-actual{stroke-width:2}.pin-line{stroke-width:1.5}.map-land{stroke-width:.6}.map-grid{stroke-width:.5}
.map-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:2px 0 4px}
.map-hint{color:#526575;font-size:12px;flex:1 1 160px}
.map-buttons{display:flex;gap:8px}
.map-buttons button{min-width:44px;min-height:44px;border-radius:999px;border:2px solid #10243a;background:#fff;color:#10243a;font-weight:900;font-size:20px;line-height:1;cursor:pointer}
.map-buttons .map-reset{font-size:14px;padding:0 14px}
.map-buttons button:disabled{opacity:.4;cursor:default}
.map-buttons button:focus-visible{outline:3px solid #f5a623;outline-offset:2px}


/* Country map (v1.7): every country is its own shape, coloured so neighbours differ. */
.map-c{stroke:#06182b;stroke-width:.7;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:crosshair}
.map-c.k0{fill:#3f9aa5}.map-c.k1{fill:#5d86bd}.map-c.k2{fill:#6aa877}.map-c.k3{fill:#c29a63}.map-c.k4{fill:#9a82c2}.map-c.k5{fill:#c4788a}
@media (hover:hover){.map-c:hover{filter:brightness(1.18)}}
.map-hl{fill:none;vector-effect:non-scaling-stroke;stroke-width:3;stroke-linejoin:round;pointer-events:none}
.hl-user{stroke:#25d2c3}.hl-actual{stroke:#ffad2f}
.map-label{fill:#fff;stroke:#06182b;paint-order:stroke;stroke-linejoin:round;font-weight:800;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;pointer-events:none;user-select:none}
.map-labels,.map-hilite{pointer-events:none}
.map-buttons button[aria-pressed="true"]{background:#10243a;color:#fff}
.map-buttons .map-names{font-size:14px;padding:0 14px}

/* Accounts (v1.8) */
.acct-btn{background:transparent;color:#fff;border:1px solid #2a7588;border-radius:999px;padding:11px 16px;font-weight:800;font-size:13px;cursor:pointer;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit}
.acct-btn:hover{border-color:var(--teal);color:var(--teal)}
.acct-btn.is-in{border-color:var(--teal);color:var(--teal)}
.header-inner .acct-btn{margin-left:0}
.acct-modal{width:min(480px,100%)}
.acct-modal h2{margin-top:4px}
.acct-tabs{display:flex;gap:6px;background:#0a243b;border-radius:999px;padding:4px;margin:0 0 16px}
.acct-tabs button{flex:1;border:0;border-radius:999px;padding:10px 12px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer;font-family:inherit;font-size:14px}
.acct-tabs button[aria-selected="true"]{background:var(--teal);color:#07192e}
.acct-form{display:flex;flex-direction:column;gap:12px}
.acct-form[hidden],#acct-auth[hidden],#acct-member[hidden]{display:none}
.acct-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--muted)}
.acct-form input[type=text],.acct-form input[type=email],.acct-form input[type=password]{background:#0a243b;border:1px solid #1c6177;border-radius:10px;padding:12px;color:#fff;font-size:16px;font-family:inherit}
.acct-form input:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
.acct-form small{font-weight:600;color:#8ba5bb;font-size:12px}
.acct-form label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:600;line-height:1.4}
.acct-form label.check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--teal)}
.acct-form label.check a{color:var(--teal);text-decoration:underline}
.acct-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.acct-error{margin:0;padding:10px 12px;border-radius:10px;background:#3a1a22;border:1px solid #8b3344;color:#ffc9d1;font-size:14px}
.acct-error[hidden]{display:none}
.acct-warn{margin:0;color:#ffd9a0;font-size:14px}
.acct-link{align-self:center;color:var(--teal);font-size:14px;text-decoration:underline}
.acct-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.acct-danger{background:none;border:0;color:#ff9aa8;text-decoration:underline;cursor:pointer;font-size:13px;font-family:inherit;padding:10px 4px}
.acct-delete-confirm{background:#d64560;color:#fff}
.stat-row-4{grid-template-columns:repeat(4,1fr)}
.stat-row-4 .stat strong{font-size:20px}
.history-title{margin:20px 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.history li{display:grid;grid-template-columns:54px 1fr 46px auto;gap:10px;align-items:center;background:#123650;border:1px solid #1c6177;border-radius:10px;padding:9px 12px;font-size:13px}
.history .h-date{color:var(--muted);font-weight:700}
.history .h-cat{color:#dbe8f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.history .h-acc{color:var(--muted);text-align:right}
.history .h-pts{color:var(--orange);font-size:15px;text-align:right;min-width:52px}
.history li.history-empty{display:block;color:var(--muted)}
#member-hello{color:var(--muted);font-size:14px}
.acct-cta{margin-top:16px}
.save-box{max-width:520px;margin:0 auto 16px;border:1px solid #1c6177;background:#0a243b;border-radius:12px;padding:14px 16px}
.save-box[hidden]{display:none}
.save-box p{margin:0 0 10px;color:#dbe8f3;font-size:14px}
.save-box.is-saving p,.save-box.is-saved p{margin:0}
.save-box.is-saved{border-color:#2f8f86}
.save-box.is-failed{border-color:#8b3344}
.save-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.save-actions .btn{padding:11px 18px;min-width:0}
.acct-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#12384d;border:1px solid var(--teal);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:700;z-index:120;max-width:calc(100vw - 28px);text-align:center;transition:opacity .2s,transform .2s}
.acct-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:600px){
  .acct-btn{margin-left:auto;padding:9px 12px;font-size:12px;max-width:110px}
  .header-inner .challenge-link{margin-left:0}
  .history li{grid-template-columns:48px 1fr auto;gap:8px}
  .history .h-acc{display:none}
  .stat-row-4{grid-template-columns:repeat(2,1fr)}
}
.challenge-link .cl-short{display:none}
.acct-btn:not(.is-in){max-width:none}
@media(max-width:600px){
  .challenge-link .cl-long{display:none}.challenge-link .cl-short{display:inline}
  .challenge-link,.acct-btn{white-space:nowrap}
}

/* Google sign-in and leaderboard (v1.9) */
.google-box{margin:0 0 14px;text-align:center}
.google-btn{display:flex;justify-content:center;min-height:44px}
.google-note{margin:10px 0 0;font-size:12px;color:#8ba5bb;line-height:1.4}
.google-note a{color:var(--teal);text-decoration:underline}
.acct-or{display:flex;align-items:center;gap:12px;margin:14px 0 0;color:#8ba5bb;font-size:12px;font-weight:700}
.acct-or::before,.acct-or::after{content:"";flex:1;height:1px;background:#1c6177}
.acct-ok{margin:0;padding:10px 12px;border-radius:10px;background:#12362f;border:1px solid #2f8f86;color:#b8f1e8;font-size:14px}
.board{margin-top:36px}
.board[hidden]{display:none}
.board-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#0d2944,#091f36);box-shadow:0 15px 40px #0002;padding:22px}
.board-tabs{max-width:420px}
.board-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.board-list li{display:grid;grid-template-columns:44px 1fr 52px auto;gap:10px;align-items:center;background:#123650;border:1px solid #1c6177;border-radius:10px;padding:10px 14px;font-size:14px}
.board-list li.is-you{border-color:var(--teal);background:#14455a}
.board-list .b-rank{font-weight:900;color:var(--muted)}
.board-list li:nth-child(-n+3) .b-rank{font-size:20px}
.board-list .b-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board-list .b-acc{color:var(--muted);text-align:right;font-size:13px}
.board-list .b-pts{color:var(--orange);font-weight:900;font-size:16px;text-align:right;min-width:60px}
.board-empty,.board-you{margin:14px 0 0;color:#dbe8f3;font-size:14px}
.board-you{padding:10px 14px;border-radius:10px;background:#0a243b;border:1px solid #1c6177}
.board-cta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.board-cta .btn{padding:11px 18px}
.board-link{background:none;border:0;color:var(--teal);text-decoration:underline;cursor:pointer;font-size:13px;font-family:inherit;padding:8px 4px}
.board-note{margin:12px 0 0;color:#8ba5bb;font-size:12px}
@media(max-width:600px){
  .board-card{padding:16px}
  .board-list li{grid-template-columns:36px 1fr auto;gap:8px;padding:9px 11px}
  .board-list .b-acc{display:none}
}
#categories{margin-bottom:28px}#categories .section-title{margin-top:0}#play{scroll-margin-top:96px}
