:root{color-scheme:light;--ink:#263a33;--muted:#667065;--cream:#faf4e4;--gold:#eac371;--green:#305c46;--line:#d8d3bc;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#192e2c;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#385047 0,transparent 68%),#192e2c;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #b76528;outline-offset:4px}button{border:0}button:disabled{opacity:.53}a{color:inherit}h1,h2,p{margin:0}.rescue-app{max-width:1050px;margin:auto;padding:25px 34px 18px;background:var(--cream);min-height:100svh;box-shadow:0 0 80px #061a2440}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:19px}.wordmark{display:flex;gap:11px;align-items:center;text-decoration:none;font-weight:900;letter-spacing:1.3px;font-size:19px}.wordmark small{display:block;color:var(--muted);font-size:9px;letter-spacing:3px;margin-top:4px}.brand-wolf{display:block;width:45px;height:45px}.brand-wolf svg{width:100%;height:100%}.utilities{display:flex;gap:8px}.icon-button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:40px;height:38px;border:1px solid var(--line);border-radius:50px;background:transparent;font-size:19px;color:var(--ink)}.icon-button span{font-size:11px;padding-right:10px}.icon-button:first-child{padding-left:10px}.icon-button:last-child{padding-left:12px}.journey{display:flex;align-items:center;max-width:420px;margin:23px auto 24px;gap:12px;color:#8a8d7c;font-size:10px;letter-spacing:1px}.journey span{white-space:nowrap}.journey b{font-size:11px;font-weight:600;margin-left:5px}.journey i{height:1px;background:var(--line);flex:1}.journey .current{color:#326248}.journey .complete{color:#326248}.journey .current b{border-bottom:2px solid #ba6f34;padding-bottom:6px}.field-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.7px;color:var(--muted);line-height:1.6}h1{font-family:Georgia,serif;font-size:35px;font-weight:500;letter-spacing:-1px;line-height:1.15;margin-top:4px}.home-count{text-align:right}.home-count strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:400}.home-count span{font-size:10px;color:var(--muted)}.game-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:35px;align-items:start}.story-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#f4edda;margin-top:2px}.landscape{height:200px;background:linear-gradient(#d9cfa7,#f2cf90);position:relative;overflow:hidden}.sun{position:absolute;width:54px;height:54px;top:25px;right:50px;background:#fff0bb;border-radius:50%;box-shadow:0 0 0 13px #fff0bb18}.hill{position:absolute;width:170%;height:170px;border-radius:50%}.hill-back{background:#7d9270;top:93px;left:-40%;transform:rotate(-11deg)}.hill-front{background:#4f7158;top:135px;left:-12%;transform:rotate(7deg)}.barn{position:absolute;width:66px;height:57px;left:80px;top:104px;background:#ab6646;transform:rotate(-3deg);box-shadow:inset 0 -4px #965336;z-index:2}.barn:before{content:'';position:absolute;width:58px;height:58px;top:-27px;left:4px;background:#704b38;transform:rotate(45deg);border-radius:3px;z-index:-1}.barn span{position:absolute;width:25px;height:34px;bottom:0;left:21px;background:#f5d891;border:4px solid #703c31}.tree{position:absolute;z-index:3;width:70px;height:155px;background:#2e5146;clip-path:polygon(50% 0,80% 34%,68% 34%,95% 67%,80% 67%,100% 90%,55% 90%,55% 100%,45% 100%,45% 90%,0 90%,20% 67%,5% 67%,33% 34%,20% 34%)}.tree-one{right:-17px;bottom:-10px}.tree-two{right:22px;bottom:6px;transform:scale(.75);opacity:.65}.path{position:absolute;width:50px;height:90px;background:#c6b78b;bottom:-40px;left:90px;transform:rotate(20deg);border-radius:60%}.story-copy{padding:23px}.story-copy h2{font:27px/1.12 Georgia,serif;margin:9px 0 13px}.story-copy p:not(.eyebrow){font-size:13px;line-height:1.7;color:#5a6257}.story-rule{border-top:1px solid var(--line);margin-top:23px;padding-top:19px;display:flex;flex-direction:column;gap:7px}.story-rule strong{font-size:12px}.story-rule span{font-size:12px;line-height:1.6;color:var(--muted)}.rule-key{display:grid;gap:10px;margin-top:20px;font-size:11px;color:#5a6257}.rule-key b{display:inline-block;width:35px;color:var(--green)}.play-area{min-width:0}.goals{display:flex;gap:8px;min-height:53px;margin-bottom:13px}.goal{flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:7px 10px;background:#fff9ed;position:relative;overflow:hidden}.goal svg{width:34px;height:34px;flex-shrink:0}.goal-copy{display:flex;flex-direction:column;gap:2px;z-index:1}.goal strong{font-size:14px}.goal span{font-size:10px;color:var(--muted)}.goal-progress{position:absolute;bottom:0;left:0;height:3px;background:#688762;transition:width .3s}.goal.done{background:#e7eddc}.wolf-trail{padding:1px 2px 10px}.trail-copy{display:flex;justify-content:space-between;gap:6px;font-size:10px}.trail-copy span:first-child{font-weight:750}.trail-copy span:last-child{color:var(--muted);font-size:9px}.trail-track{display:flex;align-items:center;gap:8px;margin-top:8px;height:26px}.trail-home{font-size:27px;color:#9a5d3c}.trail-woods{font-size:25px;color:#315845}.trail-steps{display:flex;align-items:center;flex:1;justify-content:space-between;position:relative}.trail-steps:before{content:'';position:absolute;height:2px;background:#d2cbb4;width:100%}.trail-step{position:relative;width:8px;height:8px;border-radius:50%;background:#d1cbb7;display:grid;place-items:center}.trail-step svg{position:absolute;width:32px;height:32px;max-width:none;z-index:1}.wolf-trail.danger .trail-copy span:first-child{color:#a23e29}.wolf-trail.danger .trail-step.active{box-shadow:0 0 0 9px #bd5c3022}.board-frame{position:relative;padding:10px;background:#455a40;border:3px solid #748363;box-shadow:0 4px 0 #bdb799,0 8px 20px #31392813;border-radius:12px}.board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;touch-action:manipulation}.board-corner{display:none}.animal{position:relative;aspect-ratio:1;border-radius:8px;background:var(--tile);padding:5px;box-shadow:inset 0 1px 0 #fff8,0 3px 0 #192d333f;transition:transform .12s,filter .12s,opacity .12s;color:#334234}.animal svg{width:100%;height:100%;display:block;pointer-events:none}.animal[data-type="0"]{--tile:#e9e3cb}.animal[data-type="1"]{--tile:#dda899}.animal[data-type="2"]{--tile:#e9ca76}.animal.selected{outline:3px solid #fff0aa;outline-offset:-1px;transform:translateY(-2px);z-index:1;box-shadow:0 3px 0 #c89e3b,0 0 0 2px #c89e3b}.board.has-selection .animal:not(.selected){filter:saturate(.7) brightness(.83)}.animal.rescuing{animation:rescue .25s forwards}.animal.new-arrival{animation:arrive .28s ease-out}.animal.hint:after{content:'•';position:absolute;right:4px;bottom:0;color:#3f694e;font-size:18px}.feedback{font-size:11px;text-align:center;line-height:1.45;min-height:32px;display:flex;align-items:center;justify-content:center;margin:9px 0 4px;color:#455b44}.actions{display:flex;gap:8px}.primary{background:#315d45;border:1px solid #264937;color:#fff7e0;min-height:49px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:700;padding:11px 16px;box-shadow:0 3px 0 #213e30}.primary:not(:disabled):hover{background:#3c6b50}.actions .primary{flex:1;padding:10px}.primary kbd{font:8px ui-sans-serif,system-ui;opacity:.65;border:1px solid #ffffff55;border-radius:3px;padding:3px;margin-left:auto}.whistle-icon{font-size:23px;font-weight:400}.bark{display:flex;align-items:center;justify-content:center;gap:6px;background:#ece2c6;border:1px solid #cabe9d;border-radius:9px;color:#344b38;font-size:12px;padding:8px 10px;box-shadow:0 3px 0 #c7bfa6}.bark>span:first-child{font-size:25px}.bark small{display:block;font-size:8px;margin-top:4px;color:#66705b}.board-foot{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);margin-top:13px}.text-button{padding:8px 0;min-height:32px;background:transparent;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}.page-footer{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#797e70;border-top:1px solid var(--line);padding-top:15px;margin-top:26px}.page-footer a{text-decoration:none}dialog{border:1px solid #c7bfa4;border-radius:18px;background:var(--cream);color:var(--ink);width:min(420px,calc(100% - 32px));padding:26px;text-align:center;box-shadow:0 24px 80px #071c3255;max-height:90svh;overflow:auto}dialog::backdrop{background:#112927ad;backdrop-filter:blur(4px)}dialog h2{font:34px/1.1 Georgia,serif;letter-spacing:-.7px;margin:8px 0 13px}dialog>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#5d685c}dialog .primary{width:100%;margin-top:20px}dialog .text-button{margin-top:10px}dialog .dialog-art{height:66px;margin-bottom:14px;display:flex;justify-content:center;gap:4px}dialog .dialog-art svg{width:65px;height:65px}#dialog-details{font-size:12px;line-height:1.6;margin-top:17px}#dialog-details .instruction{padding:10px 0;border-top:1px solid var(--line);text-align:left}#dialog-details .instruction b{color:var(--green)}.stat-line{display:flex;justify-content:space-around;padding:12px 0;background:#eee7d3;border-radius:9px}.stat-line strong{font:26px Georgia,serif;display:block}.stat-line span{font-size:10px}.chapter-1 .landscape{background:linear-gradient(#ad9c9c,#edbb87)}.chapter-2 .landscape{background:linear-gradient(#263c4b,#66716d)}.chapter-2 .sun{background:#eee8c6;width:36px;height:36px}.chapter-2 .hill-back{background:#536d60}.chapter-2 .hill-front{background:#355447}
@keyframes rescue{to{transform:translateY(-15px) scale(.4);opacity:0}}@keyframes arrive{from{transform:translateY(-8px);opacity:.45}to{transform:none;opacity:1}}

.rescue-app{max-width:490px;padding:14px 17px 12px}.masthead{padding-bottom:12px}.wordmark{font-size:15px;gap:8px}.wordmark small{font-size:7px;letter-spacing:2.4px}.brand-wolf{width:36px;height:36px}.icon-button{height:34px;min-width:34px;padding:0!important}.icon-button span{display:none}.utilities{gap:6px}.journey{margin:15px auto 17px;gap:9px}.journey b{font-size:10px}.field-heading{margin-bottom:12px}h1{font-size:28px}.eyebrow{font-size:8px;letter-spacing:1.3px}.home-count strong{font-size:26px}.home-count span{font-size:8px}.game-layout{display:block}.story-card{display:none}.goals{min-height:45px;margin-bottom:9px}.goal{padding:5px 8px;gap:5px}.goal svg{width:28px;height:28px}.goal strong{font-size:13px}.goal span{font-size:9px}.board-frame{padding:8px;border-width:2px}.board{gap:5px}.animal{padding:4px;border-radius:7px}.trail-copy{font-size:10px}.trail-copy span:last-child{font-size:8px}.wolf-trail{padding-bottom:9px}.feedback{margin-top:8px;font-size:10px;min-height:32px}.primary{min-height:47px}.primary kbd{display:none}.board-foot{margin-top:9px}.page-footer{margin-top:17px;font-size:8px;padding-top:12px}.page-footer>span:first-child{display:none}.bark{padding:8px;font-size:11px}.bark small{font-size:8px}
@media(max-height:720px) and (max-width:700px){.rescue-app{padding-top:8px}.journey{margin:10px auto 12px}.masthead{padding-bottom:8px}.field-heading{margin-bottom:8px}h1{font-size:25px}.goals{min-height:39px;margin-bottom:6px}.goal svg{width:25px;height:25px}.wolf-trail{padding-bottom:6px}.trail-track{margin-top:5px;height:22px}.feedback{margin:6px 0 2px;min-height:29px}.board-foot{margin-top:5px}.page-footer{margin-top:9px}.primary{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.animal[data-type="3"]{--tile:#a6c3b6}
.chapter-2 .goals{gap:5px}.chapter-2 .goal{gap:4px;padding:6px}.chapter-2 .goal svg{width:27px;height:27px}.chapter-2 .goal strong{font-size:12px}.chapter-2 .goal span{font-size:9px}

.chapter-2 .goal{gap:3px;padding:5px}.chapter-2 .goal svg{width:22px;height:22px}.chapter-2 .goal strong{font-size:11px;white-space:nowrap}.chapter-2 .goal span{font-size:8px;white-space:nowrap}
/* Rescue 2: results, score sheet, and a viewport-sized mobile playing surface. */
.home-count small{display:block;font-size:9px;color:var(--green);margin-top:4px;white-space:nowrap}.dialog-tip{margin-top:12px!important;font-size:11px;line-height:1.5}.score-breakdown{margin:13px 0;line-height:1.6;font-size:12px}.biggest-herd{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px}.biggest-herd svg{width:35px;height:35px}.share-preview{display:block;width:100%;height:auto;border-radius:10px;margin:15px 0}.share-preview[hidden]{display:none}.result-actions{display:flex;gap:8px}.result-actions .primary{margin-top:10px;font-size:12px;flex:1;padding:9px}.result-actions+.dialog-tip{min-height:0}#share-options{text-align:left;font-size:11px;margin-top:12px}#share-options summary{cursor:pointer;padding:8px 0}#share-caption{width:100%;min-height:120px;margin-top:10px;border:1px solid var(--line);background:#fff9eb;color:var(--ink);font:12px/1.5 system-ui;padding:8px;resize:vertical}#save-card{display:inline-block;padding:9px 0;color:var(--green)}#save-card[hidden]{display:none}.initials-label{display:block;text-align:left;font-size:12px;font-weight:700}#score-initials{width:100%;margin:7px 0 12px;padding:10px;border:1px solid #b7b49b;background:#fff9eb;border-radius:7px;color:var(--ink);font:700 20px system-ui;letter-spacing:6px;text-align:center;text-transform:uppercase}.badge-picker{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.badge-picker legend{text-align:left;margin-bottom:8px;font-size:11px}.badge-picker label{position:relative;cursor:pointer}.badge-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0}.badge-picker span{display:grid;place-items:center;height:42px;border-radius:8px;background:#eae2ca;border:2px solid transparent;font-size:25px}.badge-picker input:checked+span{border-color:var(--green);background:#e1ebd6}.badge-picker input:focus-visible+span{outline:3px solid #b76528;outline-offset:2px}#score-form .primary{margin-top:12px}#leaderboard-status{font-size:11px;margin:14px 0;line-height:1.5}.leaderboard-list{padding:0;list-style:none;margin:0}.leaderboard-list li{display:grid;grid-template-columns:24px 1fr auto;text-align:left;gap:3px 8px;padding:11px 0;border-bottom:1px solid var(--line);align-items:center;font-size:14px}.leaderboard-list .rank{font-size:11px;color:var(--muted)}.leaderboard-list small{grid-column:2/4;color:var(--muted);font-size:10px}.leaderboard-list strong{letter-spacing:1px}dialog{max-height:calc(var(--visible-height,100dvh) - 24px);overscroll-behavior:contain;touch-action:pan-y}dialog .dialog-art{flex-shrink:0}.dialog-tip:empty{display:none}#test-sound{display:block;font-size:12px;min-height:44px}button[hidden]{display:none}

  html,body{height:var(--visible-height,100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}
  .rescue-app{height:var(--visible-height,100dvh);min-height:0;max-width:490px;display:flex;flex-direction:column;padding:calc(7px + env(safe-area-inset-top,0px)) 14px calc(7px + env(safe-area-inset-bottom,0px));margin:0 auto;border-radius:0}
  .masthead{flex-shrink:0;padding-bottom:6px}.brand-wolf{width:31px;height:31px}.wordmark{font-size:14px;gap:6px}.wordmark small{font-size:6px;letter-spacing:2.2px}.utilities{gap:4px}.icon-button{height:34px;min-width:34px;font-size:17px}
  .journey{flex-shrink:0;width:100%;margin:8px auto 9px}.field-heading{flex-shrink:0;margin-bottom:7px}.field-heading h1{font-size:25px}.home-count strong{font-size:23px}.home-count small{font-size:8px;margin-top:2px}.home-count span{font-size:8px}
  .game-layout{display:flex;flex:1;min-height:0}.play-area{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.goals{flex-shrink:0;min-height:38px;height:38px;margin-bottom:6px}.goal{padding:4px 7px}.goal svg{width:25px;height:25px}.goal strong{font-size:12px}.goal span{font-size:8px}
  .wolf-trail{flex-shrink:0;padding:0 1px 6px}.trail-copy{flex-wrap:wrap;gap:2px 5px}.trail-copy span:first-child{font-size:10px}.trail-copy span:last-child{font-size:8px}.trail-track{margin-top:4px;height:24px}
  .board-frame{flex:none;align-self:center;width:var(--field-size,300px);height:var(--field-size,300px);padding:7px;margin:0 auto;box-shadow:0 3px 0 #bdb799}.board{height:100%;grid-template-rows:repeat(6,minmax(0,1fr));gap:4px}.animal{min-height:0;aspect-ratio:auto;padding:3px}.animal svg{height:100%}
  .feedback{flex-shrink:0;min-height:32px;height:32px;font-size:10px;line-height:1.3;margin:6px 0 4px}.actions{flex-shrink:0;height:48px}.actions .primary{min-height:48px;font-size:12px}.bark{font-size:12px;min-width:132px}.bark small{font-size:8px}.board-foot{flex-shrink:0;height:25px;margin-top:4px}.board-foot .text-button{min-height:25px;padding:4px 0}.page-footer{display:none}
  dialog{padding:20px;max-height:calc(var(--visible-height,100dvh) - 20px)}dialog .dialog-art{height:45px;margin-bottom:8px}dialog .dialog-art svg{width:45px;height:45px}dialog h2{font-size:29px}.chapter-2 .goal{padding:4px;gap:3px}.chapter-2 .goal svg{width:23px;height:23px}.chapter-2 .goal strong{font-size:11px}

@media(max-width:365px){.home-count small{font-size:7px}.field-heading h1{font-size:22px}.wordmark{font-size:12px}.brand-wolf{width:27px;height:27px}.icon-button{min-width:31px;width:31px}.bark{min-width:121px}.board-foot{font-size:8px}}
.game-layout{align-items:stretch}.play-area{align-self:stretch;height:100%}
dialog{position:fixed;inset:auto;left:50%;top:calc(var(--visible-top,0px) + var(--visible-height,100dvh)/2);transform:translate(-50%,-50%);margin:0}

#sound-test-status{display:block;font-size:11px;line-height:1.5;margin-top:6px}

.player-fields{border:0;padding:0;margin:0;min-width:0}.player-fields:disabled{opacity:.8}

/* The programmatically focused heading keeps its announcement without Safari's blue box. */
#dialog-title{position:relative;outline:none}
#dialog-title::before{content:"";position:absolute;inset:-9px -6px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%2070%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%239a967c%22%20stroke-width%3D%221%22%20opacity%3D%22.8%22%3E%3Cpath%20d%3D%22M8%207L392%207L396%2063L4%2063Z%22%2F%3E%3Cpath%20d%3D%22M9%2010L391%2010L393%2060L7%2060Z%22%2F%3E%3Cpath%20d%3D%22M66%204l5%209m-6-1l7-7M143%204l5%209m-6-1l7-7M252%204l5%209m-6-1l7-7M329%204l5%209m-6-1l7-7M62%2057l5%209m-6-1l7-7M140%2057l5%209m-6-1l7-7M255%2057l5%209m-6-1l7-7M335%2057l5%209m-6-1l7-7%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23a98358%22%20stroke%3D%22%23705b40%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M5%202l8%201-1%2012-8-1zM387%203l8-1%201%2012-8%201zM2%2055l8%201-1%2012-8-1zM390%2056l8-1%201%2012-8%201z%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23d3b887%22%20stroke-width%3D%221.4%22%3E%3Cpath%20d%3D%22M7%205l-1%206M390%205l1%206M5%2058l-1%206M393%2058l1%206%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;opacity:.75}
.trail-home,.trail-woods{display:block;flex:0 0 22px;width:22px;height:27px;line-height:0}
.trail-home svg,.trail-woods svg{display:block;width:100%;height:100%}

.voice-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.voice-preview button{background:#eae2ca;color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:8px;min-height:40px;font-size:11px}

.animal.magic-cat{background:#a897c0;border:2px solid #e0d499;padding:2px;box-shadow:inset 0 0 12px #dcd6fa,0 3px 0 #192d333f}.magic-cat svg{filter:drop-shadow(0 1px 2px #080d18)}.cat-life{position:absolute;right:1px;bottom:0;padding:0 3px;border-radius:5px;background:#171b22;color:#f5e798;font:700 9px/14px system-ui}.magic-cat.cat-appearing:after,.magic-cat.cat-vanishing:after{content:'';position:absolute;inset:-7px;border-radius:45%;pointer-events:none;background:radial-gradient(circle at 25% 30%,#ede1ff 0 18%,transparent 35%),radial-gradient(circle at 70% 50%,#b5a0cc 0 25%,transparent 45%),radial-gradient(circle at 40% 75%,#eee3ed 0 25%,transparent 48%);animation:cat-smoke .65s ease-out both;z-index:3}.cat-appearing svg{animation:cat-pop .45s ease-out}.cat-vanishing svg{animation:cat-away .23s ease-in forwards}@keyframes cat-smoke{from{opacity:.95;transform:scale(.45)}to{opacity:0;transform:scale(1.7)}}@keyframes cat-pop{from{opacity:0;transform:scale(.35) rotate(-12deg)}to{opacity:1;transform:scale(1)}}@keyframes cat-away{to{opacity:0;transform:scale(.2) rotate(15deg)}}@media(prefers-reduced-motion:reduce){.magic-cat svg,.magic-cat:after{animation:none!important}}

.cat-warning{font-size:10px;line-height:1.3;color:#854d2d;text-align:center;margin:0 0 5px;font-weight:700}.cat-warning[hidden]{display:none}.animal.blast-warning{outline:2px dashed #af6235;outline-offset:-3px}.cat-bursting:after{content:'✦';position:absolute;inset:-8px;color:#ffe194;font-size:60px;line-height:1;z-index:4;text-shadow:8px 5px #83718f,-8px -4px #b8a4c8;pointer-events:none;animation:cat-smoke .35s ease-out forwards}.cat-bursting svg,.burst-rescued svg{animation:cat-away .23s ease-in forwards}@media(prefers-reduced-motion:reduce){.cat-bursting:after,.burst-rescued svg{animation:none!important}}
/* Expressions and contrasting borders distinguish the visitors without relying on color alone. */
.animal.magic-cat.good-cat{background:#789367;border-color:#d9e6a4;box-shadow:inset 0 0 0 2px #c8da98}.animal.magic-cat.evil-cat{background:#786278;border-color:#ba8b77}.good-cat .cat-life{color:#f6ffd0}
.gift-arrival{animation:gift-glow .65s ease-out}@keyframes gift-glow{from{box-shadow:inset 0 0 0 4px #f3e59b,0 0 14px #e9df8c}to{box-shadow:none}}@media(prefers-reduced-motion:reduce){.gift-arrival{animation:none}}
/* Reserve a counter strip so neither grin nor fangs sit beneath a badge. */
.animal.magic-cat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 3px 3px}.animal.magic-cat svg{width:100%;height:calc(100% - 8px);min-height:0;flex:1}.magic-cat .cat-life{position:static;display:flex;justify-content:center;align-items:center;gap:4px;flex:0 0 6px;width:100%;height:6px;padding:0;background:none;border-radius:0;line-height:1}.cat-life i{display:block;width:5px;height:5px;border:1px solid #e7dfbf;border-radius:50%;background:#28332e}.cat-life i.lit{background:#fff0a9;border-color:#fff0a9}.animal.cat-watched{outline:1px dashed #875a40;outline-offset:-3px}.animal.cat-watched.blast-warning{outline:3px dashed #a45129;outline-offset:-4px}
.animal.magic-cat.dust-devil{background:#e0ce9e;border-color:#b79967;box-shadow:inset 0 0 0 1px #f7edcf}.dust-devil svg{filter:none}.dust-devil .cat-life i{border-color:#826943;background:#e9ddbd}.dust-devil .cat-life i.lit{background:#6c5738;border-color:#6c5738}.animal.wind-neighbor{outline:1px dashed #998250;outline-offset:-3px}.wind-turn svg{animation:wind-settle .45s ease-out}.wind-finished:after{content:'● ● ●';position:absolute;bottom:1px;left:0;right:0;font-size:7px;text-align:center;color:#735935;animation:wind-dots .9s ease-out forwards;pointer-events:none}@keyframes wind-settle{from{transform:rotate(-12deg)}to{transform:rotate(0)}}@keyframes wind-dots{0%,60%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.wind-turn svg,.wind-finished:after{animation:none}}
/* Selection wins over the scatter-area outline. */
.animal.wind-neighbor.selected{outline:3px solid #fff0aa;outline-offset:-1px;box-shadow:0 3px 0 #c89e3b,0 0 0 2px #c89e3b}
.board[aria-busy="true"] .animal:disabled{opacity:1}
#dialog-details .intro-version{margin-top:12px;font:500 9px/1.2 system-ui;letter-spacing:.08em;color:#858574}
.version-corner{position:fixed;right:max(8px,env(safe-area-inset-right));bottom:max(4px,env(safe-area-inset-bottom));font:500 9px/1 system-ui;letter-spacing:.03em;color:#999b86;pointer-events:none;z-index:10}
dialog.leaderboard-view[open]{display:flex;flex-direction:column;padding:16px 20px 18px;overflow:hidden;width:min(420px,calc(100% - 24px));max-height:calc(var(--visible-height,100dvh) - 24px)}.leaderboard-view .dialog-art{display:none}.leaderboard-view #dialog-eyebrow{font-size:8px;margin:0 0 3px}.leaderboard-view #dialog-title{font-size:27px;line-height:1.1;margin:4px 0 10px}.leaderboard-view #dialog-copy{font-size:11px;line-height:1.4;margin:0}.leaderboard-view #dialog-details{margin-top:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:0 1 auto}.leaderboard-view #submit-status{margin:3px 0;font-size:11px;line-height:1.3}.leaderboard-view #leaderboard-status{margin:5px 0;font-size:10px;line-height:1.3}.leaderboard-view .leaderboard-list{height:240px;max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.leaderboard-view .leaderboard-list li{height:48px;padding:6px 0;gap:2px 7px;font-size:13px}.leaderboard-view .leaderboard-list small{font-size:9px}.leaderboard-view #refresh-scores{margin:2px 0;min-height:30px;padding:4px 0}.leaderboard-view #dialog-action{flex-shrink:0;margin-top:8px;min-height:44px}.score-entry summary{cursor:pointer;padding:8px;background:#eae5d1;border-radius:6px;font-size:12px;font-weight:700}.score-entry[open]{padding-bottom:8px}

/* Three barks per game: an empty dot is available; a filled dot is spent. */
.bark .pip-charge{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px}.pip-charge i{display:inline-block;width:6px;height:6px;border:1px solid currentColor;border-radius:50%;flex-shrink:0}.pip-charge i.filled{background:currentColor}

/* Shared portrait layout: reserve message space so explanations cannot resize the board. */

 .masthead{padding-bottom:2px}.journey{margin:4px auto 5px}.field-heading{margin-bottom:3px}
 .board-messages{flex:none;height:48px;margin:6px 0 4px}
 .board-messages .cat-warning{display:block;height:16px;line-height:16px;margin:0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .board-messages .cat-warning[hidden]{display:block;visibility:hidden}
 .board-messages .feedback{height:32px;min-height:32px;margin:0;overflow-y:auto}

/* Submission stays outside the scrolling scores and player fields. */
dialog.leaderboard-view{top:calc(var(--visible-top,0px) + 12px);transform:translateX(-50%)}
#submit-score{flex-shrink:0;width:100%;min-height:44px;margin-top:8px}
.leaderboard-view .score-entry{margin-bottom:8px}.leaderboard-view #player-lock-status{margin-top:5px!important;font-size:10px}.leaderboard-view #toggle-player-lock{margin-top:0;padding:3px 0;min-height:28px}

.board-foot #retry{font-size:13px;font-weight:650;padding:4px 8px;min-height:25px;color:var(--green)}
.board-foot #retry:disabled{color:#a9b5a5;opacity:.7;text-decoration:none}

.leaderboard-view #submit-status{flex-shrink:0;margin:8px 0 0;padding:7px 9px;border-radius:6px;background:#eee7d3;color:var(--ink);font-size:11px;line-height:1.4}.submission-status:empty,.submission-status[hidden]{display:none}

.letter-wheels{display:flex;justify-content:center;gap:18px;margin:4px 0 12px}.letter-wheel{display:grid;justify-items:center;gap:2px}.letter-wheel button{min-width:64px;min-height:36px;border:1px solid #c9c3a8;border-radius:9px;background:#ece5ce;color:#315d45;touch-action:manipulation}.letter-wheel output{font-size:28px;font-weight:800;line-height:34px}.player-fields:disabled .letter-wheel button{opacity:.3}.player-save{flex-shrink:0;margin:4px 0!important;min-height:42px!important;padding:8px!important}.player-save[hidden]{display:none}

/* Keep the primary way forward visible even with Safari's bars or a short viewport. */
dialog[open]{display:flex;flex-direction:column;overflow:hidden}
dialog>h2,dialog>p,dialog>.primary,dialog>.text-button{flex-shrink:0}
#dialog-details{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:0 1 auto}
.letter-wheel button{min-height:44px}
.trail-copy{flex-wrap:nowrap;align-items:center}.trail-copy span{white-space:nowrap}.trail-copy span:last-child{text-align:right}#herd-hint{max-width:calc(100% - 104px);line-height:1.2}




/* Opening-screen notice sits in the existing dialog padding. */
.copyright-notice{position:absolute;left:20px;bottom:6px;font:500 9px/1.2 system-ui;color:var(--muted);text-decoration:none}
.copyright-notice:hover{text-decoration:underline}

/* Phone landscape is a reading pause; the existing game DOM stays intact. */
.landscape-info[hidden]{display:none}
.landscape-info{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));overflow:auto;outline:none;color:var(--ink);background:#192e2c}
.landscape-card{display:flex;align-items:center;gap:24px;width:min(720px,100%);padding:22px 28px;background:var(--cream);border:1px solid #c7bfa4;border-radius:18px;box-shadow:0 12px 40px #071c3240}
.rotate-device{width:112px;flex:0 0 112px}
.landscape-copy h2{font:normal 28px/1.15 Georgia,serif;letter-spacing:-.5px;margin:5px 0 9px}
.landscape-copy>p:not(.eyebrow){font-size:13px;line-height:1.5;color:var(--muted)}
.landscape-copy ol{padding:11px 0 0 17px;margin:12px 0 0;border-top:1px solid var(--line);font-size:12px;line-height:1.5}
.landscape-copy li+li{margin-top:5px}
.phone-landscape body{overflow:hidden;overscroll-behavior:none}
.phone-landscape .rescue-app{visibility:hidden;pointer-events:none}
.phone-landscape #story-dialog{display:none}
@media(max-height:340px){.landscape-card{padding:14px 20px;gap:18px}.rotate-device{width:84px;flex-basis:84px}.landscape-copy h2{font-size:25px}.landscape-copy ol{margin-top:8px;padding-top:8px}}

/* Larger screens keep the phone layout inside a softly framed woodland scene. */
.desktop-backdrop{display:none}
@media(min-width:701px){
  :root{--shell-height:min(860px,calc(var(--visible-height,100dvh) - 24px));--shell-width:clamp(360px,calc((var(--visible-height,100dvh) - 40px)*.6),500px)}
  body{display:grid;place-items:center}
  .desktop-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
  .rescue-app{position:relative;z-index:1;width:var(--shell-width);max-width:calc(100vw - 40px);height:var(--shell-height);margin:0;padding:7px 14px;border:1px solid #c4bca1;border-radius:26px;box-shadow:0 24px 70px #061d2460,0 0 0 6px #101f1c80,0 0 0 7px #94a68a28}
  dialog,dialog.leaderboard-view[open]{width:min(440px,calc(var(--shell-width) - 30px));max-height:calc(var(--shell-height) - 24px)}
  dialog.leaderboard-view{top:calc(var(--visible-top,0px) + var(--visible-height,100dvh)/2);transform:translate(-50%,-50%)}
}

/* Enlarge the chrome only when it leaves enough height for the herd. */
@media(min-width:701px) and (min-height:800px){
  .rescue-app{padding:12px 18px 10px}
  .masthead{padding-bottom:4px}.brand-wolf{width:36px;height:36px}.wordmark{font-size:16px;gap:9px}.wordmark small{font-size:7px;letter-spacing:2.4px}.utilities{gap:6px}.icon-button{width:38px;height:38px}
  .journey{max-width:none;margin:5px 0 7px;font-size:11px}.journey b{font-size:11px}
  .field-heading{margin-bottom:5px}.field-heading h1{font-size:28px}.eyebrow{font-size:9px}.home-count strong{font-size:27px}.home-count span{font-size:9px}.home-count small{font-size:9px}
  .play-area{justify-content:space-between}.goals{height:44px;min-height:44px;margin-bottom:8px}.goal{padding:5px 8px}.goal svg{width:29px;height:29px}.goal strong{font-size:14px}.goal span{font-size:9px}.chapter-2 .goal{padding:5px}.chapter-2 .goal svg{width:25px;height:25px}.chapter-2 .goal strong{font-size:12px}
  .wolf-trail{padding-bottom:6px}.trail-copy span:first-child{font-size:11px}.trail-copy span:last-child{font-size:9px}.trail-track{height:25px;margin-top:4px}
  .board-frame{padding:9px}.board{gap:5px}.animal{padding:4px;border-radius:9px}
  .board-messages{height:48px;margin:6px 0 4px}.board-messages .cat-warning{height:16px;line-height:16px;font-size:10px}.board-messages .feedback{height:32px;min-height:32px;font-size:11px;line-height:1.4}
  .actions{height:50px}.actions .primary{height:50px;min-height:50px;font-size:14px}.bark{min-width:145px;font-size:13px}.bark small{font-size:9px}.board-foot{height:27px;margin-top:4px;font-size:10px}.board-foot #retry{min-height:27px;font-size:14px}
}

/* Daily controls stay inside the existing scrollable panels, never above the board. */
.daily-welcome{background:#ece8d2;border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:left;margin:4px 0 10px;font-size:12px;line-height:1.45}
.daily-welcome p{font-size:11px!important;line-height:1.4!important;margin:5px 0 0!important}.daily-welcome #yesterday-winner{color:var(--green);font-weight:700}
.leaderboard-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 0 6px}.leaderboard-tabs button{min-height:42px;padding:6px 3px;border:1px solid var(--line);border-radius:7px;background:#eee6cf;color:var(--ink);font-size:11px;font-weight:750;line-height:1.15}.leaderboard-tabs button[aria-pressed="true"]{background:var(--green);color:var(--cream);border-color:var(--green)}
#board-description{font-size:11px;line-height:1.4;margin:6px 0 9px;color:var(--muted)}
.letter-wheels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.letter-wheel{min-width:0}.letter-wheel button{width:100%;min-width:0}.badge-picker{min-width:0;grid-template-columns:repeat(5,minmax(0,1fr))}

.trail-copy #wolf-effect.extra-pressure{color:#9b472b;font-weight:750}
.wolf-eye{opacity:0}
.brand-wolf .wolf-eye-large{opacity:1;fill:#ff4434;filter:drop-shadow(0 0 3px #ff3126) drop-shadow(0 0 6px #c91416)}
.brand-wolf .wolf-eye-large circle{transform-box:fill-box;transform-origin:center;animation:brand-eye-pulse 1.8s ease-in-out infinite}
@keyframes brand-eye-pulse{0%,100%{opacity:.45;transform:scale(.75)}45%{opacity:1;transform:scale(1.22)}70%{opacity:.55;transform:scale(.85)}}
.wolf-trail.pressure-one .trail-step.active .wolf-eye-small,
.wolf-trail.pressure-two .trail-step.active .wolf-eye-large{opacity:1;fill:#f63e2b;filter:drop-shadow(0 0 2px #ff3b26) drop-shadow(0 0 5px #d71318)}
.wolf-trail.pressure-two .trail-step.active .wolf-eye-large{fill:#ff3126;filter:drop-shadow(0 0 3px #ff3b26) drop-shadow(0 0 7px #d71318)}

@media(max-width:365px){.leaderboard-tabs button{font-size:9.5px;padding-inline:1px}}

/* Daily mode uses existing header space, so the board keeps its full size. */
.daily-mode .wordmark #game-mode{color:#543b15;background:#ecd597;border-radius:3px;box-shadow:0 0 0 2px #ecd597;font-size:10px;line-height:1;letter-spacing:1.3px;font-weight:850}
.daily-mode .masthead{border-bottom-color:#b18d48}
.daily-mode #chapter-label{color:#78541f;letter-spacing:1px}
.daily-mode .board-frame{border-color:#b6924e;box-shadow:0 4px 0 #c6ae75,0 0 0 2px #d8c18455}

/* One scrolling region per panel; primary actions never scroll out of reach. */
dialog[open],dialog.leaderboard-view[open]{padding:18px;gap:10px;overflow:hidden;top:calc(var(--visible-top,0px) + var(--visible-height,100dvh)/2);transform:translate(-50%,-50%);max-height:calc(var(--visible-height,100dvh) - 24px)}
.dialog-body{flex:0 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;outline:none;padding:3px 6px}
.dialog-body #dialog-details,.leaderboard-view .dialog-body #dialog-details{overflow:visible;min-height:auto;flex:none;margin-top:12px}
.dialog-body #dialog-copy{font-size:12px;line-height:1.5;color:var(--muted)}
#dialog-copy:empty{display:none}
.dialog-footer{display:flex;flex-direction:column;gap:8px;flex:none;min-width:0}
.dialog-footer .primary,.leaderboard-view .dialog-footer #dialog-action,.dialog-footer #submit-score,.dialog-footer .player-save{margin:0!important;min-height:44px;font-size:12px;padding:10px 12px!important}
.dialog-footer .text-button{margin:0;padding:8px;min-height:36px;font-size:12px}
.dialog-footer #dialog-back{border-top:1px solid var(--line);color:var(--green)}
.dialog-tools{display:flex;justify-content:center;gap:20px}
.dialog-tools[hidden],.result-actions[hidden],.dialog-meta[hidden]{display:none}
.dialog-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}
.dialog-meta .copyright-notice,.dialog-meta .version-corner{position:static;line-height:1.2;font-size:9px}
#story-dialog .dialog-scroll-cue{flex:none;color:var(--muted);font-size:10px;line-height:1.2;text-align:center;margin:0}
.dialog-scroll-cue[hidden]{display:none}
#story-dialog .dialog-art{height:34px;margin-bottom:6px}
#story-dialog .dialog-art svg{height:34px;width:34px}
#story-dialog #dialog-title{font-size:28px;margin:8px 0 13px}
#story-dialog[data-view="chooser"] .dialog-art,#story-dialog[data-view="help"] .dialog-art{display:none}
#story-dialog[data-view="intro"] #dialog-secondary,#story-dialog[data-view="chooser"] #dialog-secondary{background:#eee6cf;border:1px solid #c7bfa4;color:var(--green);text-decoration:none;border-radius:8px;min-height:44px;font-weight:700}
.daily-welcome,.free-welcome{padding:11px 12px;margin:0 0 8px;border:1px solid var(--line);border-radius:9px;text-align:left;background:#ece8d2;font-size:13px;line-height:1.4}
.free-welcome{background:#f6f0dd;margin-bottom:0}
.free-welcome p{font-size:12px;line-height:1.4;margin-top:4px}
.daily-welcome p.mode-note{color:var(--muted);font-size:10px!important}
#yesterday-winner[hidden]{display:none}
#story-dialog[data-view="help"] .instruction{padding:10px 0}
.result-actions{margin:0;flex:none}.result-actions .primary{min-width:0;flex:1;font-size:11px}
/* Score rows are the only scroller until the player editor opens. */
.leaderboard-view .dialog-body{display:flex;flex-direction:column;overflow:hidden}
.leaderboard-view .dialog-art{display:none}
.leaderboard-view .dialog-body>#dialog-eyebrow,.leaderboard-view .dialog-body>#dialog-title,.leaderboard-view .dialog-body>#dialog-copy{flex:none}
.leaderboard-view .dialog-body #dialog-details{display:flex;flex-direction:column;overflow:hidden;min-height:0;flex:0 1 auto;margin-top:8px}
.leaderboard-view #dialog-details>*{flex-shrink:0}
.leaderboard-view #dialog-details>.leaderboard-list{flex:0 1 240px;min-height:48px;height:240px;max-height:240px;overflow-y:auto;scrollbar-gutter:stable}
.leaderboard-view #dialog-copy{display:none}
.leaderboard-view .dialog-footer #submit-status{margin:0;font-size:11px;padding:7px 9px;max-height:none;overflow:visible}
.leaderboard-view.player-editing .dialog-body{display:block;overflow-y:auto}
.leaderboard-view.player-editing .dialog-body #dialog-details{display:block;overflow:visible}
.leaderboard-view.player-editing .leaderboard-tabs,.leaderboard-view.player-editing #board-description,.leaderboard-view.player-editing #leaderboard-list,.leaderboard-view.player-editing #leaderboard-status,.leaderboard-view.player-editing #refresh-scores{display:none}
.leaderboard-view .score-entry{margin-bottom:4px}
.player-editing #player-lock-status{margin:6px 0 10px!important}
@media(max-height:600px){dialog[open],dialog.leaderboard-view[open]{padding:12px 15px;gap:7px}#story-dialog .dialog-art{display:none}#story-dialog #dialog-title{font-size:25px;margin:7px 0 11px}.dialog-footer{gap:6px}.daily-welcome,.free-welcome{padding:9px 10px}}
@media(min-width:701px){dialog[open],dialog.leaderboard-view[open]{max-height:calc(var(--shell-height) - 24px)}}

/* Editing and posting are consecutive steps, never competing footer actions. */
.leaderboard-view.player-editing #submit-score,.leaderboard-view.player-editing #submit-status,.leaderboard-view.player-editing #player-summary{display:none}

.leaderboard-view #leaderboard-status[hidden]{display:none}

dialog.leaderboard-view[open]{gap:8px}

/* Consolidated leaderboards: two tabs, full standing kept outside the leader list. */
.leaderboard-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.leaderboard-tabs [role="tab"]{min-height:40px;font:700 12px system-ui}
.leaderboard-tabs [aria-selected="true"]{background:var(--green);color:#fff8e5;border-color:var(--green)}
.leaderboard-tabs [role="tab"]:focus-visible,#board-date-control button:focus-visible{outline:3px solid #b76528;outline-offset:2px}
.leaderboard-view .dialog-body #dialog-details>#board-panel{display:flex;flex-direction:column;min-height:0;flex:0 1 auto;overflow:hidden}
#board-panel>*{flex-shrink:0}
#board-date-control{position:relative;display:flex;align-items:center;gap:5px;margin:8px 0 0;font-size:11px}
#board-date-control[hidden]{display:none}
#board-date-control>button{min-height:35px;border:1px solid #c7bfa4;border-radius:6px;background:#faf5e5;color:var(--ink);font:700 12px system-ui}
#board-date-control>.board-date-arrow{width:37px;flex:none;font-size:22px;line-height:1}
#board-date-control>button:disabled{opacity:.35}
#board-date-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;min-width:0;padding:4px 9px}
#board-date-toggle span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#board-date-menu{position:absolute;top:calc(100% + 4px);left:42px;right:42px;z-index:5;max-height:225px;overflow-y:auto;padding:4px;border:1px solid #9d9a80;border-radius:7px;background:#fff9e8;box-shadow:0 8px 18px #1c282452}
#board-date-menu[hidden]{display:none}
#board-date-menu button{display:block;width:100%;min-height:38px;padding:6px 9px;border:0;border-radius:4px;background:transparent;color:var(--ink);text-align:left;font:600 11px system-ui}
#board-date-menu button[aria-pressed="true"]{background:#dfe9d8;color:var(--green);font-weight:800}
#story-dialog #board-description{font-size:10px;line-height:1.3;margin:8px 0}
#standing-summary{padding:7px 8px;margin:0 0 7px;border-radius:7px;background:#e7ebd6;text-align:left}
#story-dialog #your-rank{font-size:12px;line-height:1.4;margin:0;font-weight:750;color:var(--green)}
#story-dialog #standing-note{font-size:10px;line-height:1.4;margin:2px 0 0;color:var(--muted)}
.leaderboard-view #board-panel>.leaderboard-list{flex:0 1 var(--standings-height,240px);min-height:42px;height:var(--standings-height,240px);max-height:var(--standings-height,240px);overflow-y:auto;scrollbar-gutter:stable}
.leaderboard-view #board-panel>.leaderboard-list.short-list{flex-shrink:0;overflow-y:hidden}
.leaderboard-view .leaderboard-list .standing-row,.leaderboard-view #your-standing .standing-row{display:grid;grid-template-columns:21px 1fr auto;gap:2px 6px;text-align:left;padding:4px 3px;min-height:42px;height:auto;border-bottom:1px solid var(--line);align-items:center;font-size:12px;line-height:1.3}
.standing-row strong{font-size:12px;letter-spacing:.6px;min-width:0}.standing-row small{grid-column:2/4;color:var(--muted);font-size:9px}
.standing-row.is-you{background:#e7ebd6;border-left:3px solid var(--green)}
.winner-badge,.leading-label{display:inline-block;margin-left:5px;vertical-align:middle;letter-spacing:0;font:700 8px/1.5 system-ui;padding:1px 4px;border-radius:4px}
.winner-badge{color:#654914;background:#ecd597;border:1px solid #b6924e}.leading-label{color:var(--green);background:#e1e6ce}
#your-standing{padding-top:6px;text-align:left;font-size:10px;border-top:1px solid #9caa8c}
#your-standing[hidden]{display:none}#your-standing>.standing-row{margin-top:3px}
#story-dialog #board-updated{font-size:9px;line-height:1.3;margin:6px 0 1px;color:var(--muted)}
#story-dialog #board-updated.out-of-date{color:#87532c;font-weight:700}
.leaderboard-view.player-editing #board-date-control,.leaderboard-view.player-editing #standing-summary,.leaderboard-view.player-editing #your-standing,.leaderboard-view.player-editing #board-updated{display:none}
.leaderboard-view.player-editing .dialog-body #dialog-details>#board-panel{display:block;overflow:visible}
#story-dialog.leaderboard-view #dialog-title{font-size:25px;margin:4px 0 8px}
.leaderboard-view #board-date-control{margin-top:4px}
#story-dialog.leaderboard-view #board-description{margin:4px 0}
.leaderboard-view #standing-summary{padding:5px 7px;margin-bottom:5px}
.leaderboard-view #your-standing{padding-top:4px}
.leaderboard-view #your-standing>b{display:block;font:700 9px/12px system-ui}
.board-sync{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}
#story-dialog .board-sync #board-updated{margin:0;text-align:left}
.leaderboard-view .board-sync #refresh-scores{flex:none;margin:0;padding:4px;min-height:32px}
.leaderboard-view.player-editing .board-sync{display:none}
.leaderboard-view:not(.player-editing) #dialog-scroll-cue{display:none}
#image-tools .text-button{margin-left:14px}
