:root{
  --paper:#f4efe1; --ink:#2b3a4a; --accent:#d94a4a; --blue:#2a5fd9; --gold:#f5c518;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;height:100%;overflow:hidden;font-family:'Patrick Hand',cursive;background:#d8cfb8;}
#game-wrap{position:fixed;inset:0;width:100vw;height:100vh;}
#canvas{position:absolute;inset:0;display:block;touch-action:none;}

/* HUD */
#hud{position:absolute;top:8px;left:0;right:0;display:flex;justify-content:center;gap:10px;align-items:center;pointer-events:none;z-index:5;flex-wrap:wrap;padding:0 8px;}
#hud .tag{pointer-events:auto;}
.tag{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:4px 12px;font-size:20px;
  box-shadow:2px 2px 0 rgba(0,0,0,0.2);transform:rotate(-1deg);}
.score-tag{font-weight:bold;font-size:24px;transform:rotate(1deg);}
.time-tag{background:var(--gold);}
.turn-tag{background:var(--gold);}
#pauseBtn{pointer-events:auto;}

/* Toast */
#toast{position:absolute;top:56px;left:50%;transform:translateX(-50%) rotate(-2deg);
  background:var(--accent);color:#fff;padding:8px 22px;border-radius:10px;font-size:26px;
  border:3px solid #fff;box-shadow:3px 3px 0 rgba(0,0,0,0.25);z-index:20;opacity:0;transition:opacity .3s, top .3s;}
#toast.show{opacity:1;top:64px;}
.hidden{display:none !important;}

/* Overlay */
#overlay{position:absolute;inset:0;display:none;z-index:30;overflow-y:auto;
  background:rgba(60,50,30,0.35);backdrop-filter:blur(1px);}
#overlay.active{display:flex;align-items:flex-start;justify-content:center;padding:16px;}

/* Paper card */
.paper-card{background:var(--paper);border:3px solid var(--ink);border-radius:6px;
  padding:22px;max-width:520px;width:100%;margin:auto;
  box-shadow:6px 6px 0 rgba(0,0,0,0.25);position:relative;
  background-image:repeating-linear-gradient(transparent,transparent 27px,rgba(90,120,170,0.12) 28px);}
.paper-card.wide{max-width:760px;}
.paper-card::before{content:'';position:absolute;left:38px;top:0;bottom:0;width:2px;background:rgba(200,80,80,0.3);}
.paper-card h2{font-family:'Caveat';font-size:42px;margin:8px 0 14px;color:var(--ink);}
.paper-card h3{font-family:'Caveat';font-size:28px;margin:6px 0;color:var(--ink);}
.paper-card small{font-size:20px;color:#888;font-family:'Patrick Hand';}
.paper-card .center{text-align:center;}
.center{text-align:center;}
.row{display:flex;align-items:center;gap:10px;font-size:20px;margin:10px 0;flex-wrap:wrap;}
.hint{font-size:16px;color:#7a6a4a;font-style:italic;margin:8px 0;}
.unlock{color:var(--accent);font-size:22px;font-weight:bold;}

/* Buttons - hand drawn */
.paper-btn{font-family:'Patrick Hand',cursive;background:#fff;border:2.5px solid var(--ink);
  border-radius:10px 8px 12px 7px;padding:8px 16px;font-size:20px;cursor:pointer;color:var(--ink);
  box-shadow:3px 3px 0 rgba(0,0,0,0.2);transition:transform .08s;margin:4px;}
.paper-btn:hover{transform:rotate(-1.5deg) scale(1.03);}
.paper-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(0,0,0,0.2);}
.paper-btn.big{font-size:24px;padding:12px 20px;}
.paper-btn.go{background:var(--gold);}
.paper-btn.ghost{background:transparent;box-shadow:none;border-style:dashed;}
.paper-btn.small{font-size:18px;padding:4px 10px;background:#fff;}
.paper-btn.tiny{font-size:18px;padding:2px 12px;}
.paper-btn.active{background:var(--gold);}
.paper-btn.locked,.paper-btn:disabled{opacity:0.4;cursor:not-allowed;}
.paper-select{font-family:'Patrick Hand';font-size:18px;padding:4px 8px;border:2px solid var(--ink);border-radius:6px;background:#fff;}

/* Menu grid */
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;}
.menu-grid .paper-btn{width:100%;text-align:left;}
.mg-grid,.career-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.career-cols{margin:10px 0;}
@media(max-width:560px){.menu-grid,.mg-grid,.career-cols{grid-template-columns:1fr;}}

/* Stepper */
.stepper{display:inline-flex;align-items:center;gap:8px;}
.stepval{font-size:22px;font-weight:bold;min-width:48px;text-align:center;}

/* Title */
.title-scene{margin:auto;position:relative;width:100%;max-width:640px;}
.title-pitch{position:absolute;inset:-20px;background:rgba(120,170,110,0.25);border:3px solid var(--ink);
  border-radius:8px;overflow:hidden;z-index:-1;}
.tp-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--ink);opacity:.5;}
.tp-circle{position:absolute;left:50%;top:50%;width:120px;height:120px;border:2px solid var(--ink);
  border-radius:50%;transform:translate(-50%,-50%);opacity:.4;}
.tp-net{position:absolute;top:35%;height:30%;width:26px;border:3px solid #7a4a2b;
  background:repeating-linear-gradient(0deg,transparent,transparent 6px,rgba(0,0,0,.2) 7px),
  repeating-linear-gradient(90deg,transparent,transparent 6px,rgba(0,0,0,.2) 7px);}
.tp-net.left{left:-2px;} .tp-net.right{right:-2px;}
.tp-ball{position:absolute;width:22px;height:22px;border-radius:50%;border:2px solid #222;}
.tp-ball.b1{background:var(--accent);animation:drift1 6s ease-in-out infinite;}
.tp-ball.b2{background:var(--blue);animation:drift2 7s ease-in-out infinite;}
.tp-ball.b3{background:#fbfbf5;animation:drift3 5s ease-in-out infinite;}
@keyframes drift1{0%,100%{left:20%;top:30%}50%{left:70%;top:60%}}
@keyframes drift2{0%,100%{left:75%;top:25%}50%{left:30%;top:70%}}
@keyframes drift3{0%,100%{left:50%;top:20%}50%{left:45%;top:75%}}
.title-inner{background:var(--paper);border:3px solid var(--ink);border-radius:8px;padding:24px;text-align:center;
  box-shadow:6px 6px 0 rgba(0,0,0,.3);}
.game-title{font-family:'Caveat';font-weight:700;font-size:72px;line-height:.85;margin:0;color:var(--ink);
  text-shadow:3px 3px 0 var(--gold);}
.game-title span{color:var(--accent);}
.game-title em{font-size:40px;display:block;}
.subtitle{font-size:22px;color:#7a6a4a;margin:6px 0 4px;font-style:italic;}
.best{font-size:18px;color:#7a6a4a;margin:6px 0;}
.remix{color:var(--blue);font-size:18px;}

/* League table */
.ltable{width:100%;border-collapse:collapse;font-size:16px;}
.ltable th,.ltable td{border:1px solid #cbb;padding:3px 6px;text-align:center;}
.ltable th{background:rgba(0,0,0,.06);}
.ltable td:nth-child(2){text-align:left;}
.ltable tr.you{background:var(--gold);font-weight:bold;}

/* Mailbox */
.mailbox{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;}
.mail-note{background:#fffdf5;border:2px solid #d8c99a;border-radius:4px;padding:8px 10px;
  box-shadow:2px 2px 0 rgba(0,0,0,.12);transform:rotate(-.5deg);}
.mail-note:nth-child(even){transform:rotate(.7deg);}
.mail-note b{font-size:18px;}
.mail-note .from{font-size:14px;color:#a08a5a;margin-left:6px;}
.mail-note p{margin:4px 0 0;font-size:15px;color:#555;}

/* Levels grid */
.lvl-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
@media(max-width:560px){.lvl-grid{grid-template-columns:repeat(5,1fr);}}
.paper-btn.lvl{padding:10px 0;font-size:20px;text-align:center;}

/* Sandbox bar */
.sandbar{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:6;
  background:var(--paper);border:2px solid var(--ink);border-radius:10px;padding:6px;box-shadow:3px 3px 0 rgba(0,0,0,.2);}

/* End card */
.endcard .finalscore{font-family:'Caveat';font-size:64px;font-weight:700;color:var(--accent);margin:6px 0;}

/* Penalty */
.pk-goal{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:14px auto;max-width:340px;}
.pk-zone{height:70px;border:2px dashed var(--ink);border-radius:6px;background:rgba(255,255,255,.5);cursor:pointer;
  transition:background .1s;}
.pk-zone:hover{background:var(--gold);}
.pk-zone.sel{background:var(--accent);}
.pk-timer{font-family:'Caveat';font-size:40px;font-weight:700;color:var(--accent);}
</parameter>
</invoke>