@charset "UTF-8";
:root{--paper:#f7f5ec;--ink:#374936;--muted:#7b8573;--line:#d9ddce;--leaf:#4c6547;--pale:#edf0e5;--gold:#b89a51;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;color:var(--ink);background:var(--pale);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(#acb79824 .7px,transparent .7px) 0 0/7px 7px;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.32;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b38f3e;outline-offset:4px}button{touch-action:manipulation}button svg{pointer-events:none}button:hover:not(:disabled){filter:brightness(1.035)}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}.app{max-width:1140px;margin:auto;padding:0 36px}.header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cfd5c5;margin-bottom:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:15px;letter-spacing:.08em;font-weight:700}.brand canvas{image-rendering:auto;width:52px;height:44px}.brand small{display:block;font:8px/2.2 "Courier New",monospace;letter-spacing:.14em;color:#7d8871}.header-actions{display:flex;gap:10px}.icon-button{width:44px;height:44px;flex-shrink:0;border:1px solid #c9d1bf;background:#f7f8ef;display:grid;place-items:center;border-radius:5px;font-size:19px;font-weight:500;box-shadow:0 2px 0 #d2d7c8}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}.sound-waves{display:none}.sound-on .sound-waves{display:block}.sound-on .sound-off{display:none}.layout{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:44px;align-items:start}.game-column{min-width:0}.stage{position:relative;width:100%;height:min(704px,calc(100svh - 310px));min-height:420px;overflow:hidden;background:#9bac84;border:5px solid #fafaf0;outline:1px solid #bbc6ad;box-shadow:0 12px 30px #40533312,0 3px 0 #c8d1bc;isolation:isolate}.stage:before,.stage:after{content:"";position:absolute;width:13px;height:13px;background:#d0d8c3;z-index:15;pointer-events:none}.stage:before{top:-5px;left:-5px}.stage:after{bottom:-5px;right:-5px}#world{display:block;width:100%;height:100%;image-rendering:auto;touch-action:none;outline:none}.stage-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px #435a3410;z-index:1}.hud{position:absolute;top:20px;left:21px;right:20px;display:flex;align-items:flex-start;justify-content:space-between;z-index:3;pointer-events:none}.score-box{padding:10px 14px 8px;background:#f9f7e9ed;border:1px solid #e1e4ce;box-shadow:3px 3px 0 #485e3c24;min-width:82px}.eyebrow{display:block;font:9px/1.8 "Courier New",monospace;letter-spacing:.15em;color:#7a876c}.score-box .eyebrow{font-family:inherit;letter-spacing:.2em;font-size:9px}.score-box strong{font:700 35px/1.15 "Courier New",monospace}.score-box .unit{font-size:11px;margin-left:5px}.snack-box{display:flex;align-items:center;gap:7px;background:#f9f7e9ed;padding:7px 12px;border:1px solid #e1e4ce;box-shadow:3px 3px 0 #485e3c24}.snack-box strong{font:700 23px "Courier New",monospace}.snack-box span{font-size:10px}.zone-tag{position:absolute;top:111px;left:23px;display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.09em;z-index:3;background:#f4f5e7dd;padding:5px 7px}.little-square{width:4px;height:4px;background:#6e8151}.toast{position:absolute;z-index:8;top:25%;left:50%;transform:translate(-50%,-5px);background:#faf7e9f0;border:1px solid #d6dabf;padding:9px 17px;box-shadow:3px 3px #4c633d26;white-space:nowrap;font-size:12px;letter-spacing:.08em;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%,0)}.intro{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:space-between;pointer-events:none;background:linear-gradient(#f7f4e5a8 0%,#f1f2df09 48%,#e9edda2e 70%,#e4e9d3bb 100%)}.title-plate{text-align:center;margin-top:38px;color:#344a32;text-shadow:0 1px 0 #f5f4e2}.intro-kicker{font-size:11px;letter-spacing:.3em}.title-plate h1{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-weight:600;font-size:46px;line-height:1.23;letter-spacing:.15em;margin:15px 0 17px;padding-left:.15em}.title-plate h1 span{font-size:59px;letter-spacing:.17em}.title-plate p{font-size:11px;letter-spacing:.11em}.start-panel{width:320px;max-width:calc(100% - 40px);margin-bottom:25px;pointer-events:auto;text-align:center}.coat-picker{display:flex;gap:10px;justify-content:center;margin:0 auto 17px}.coat{background:#f8f8e8d9;border:1px solid #d4dcc5;box-shadow:0 3px 0 #5d754426;border-radius:4px;padding:0 4px 7px;min-width:80px;min-height:80px;transition:background .15s}.coat canvas{width:72px;height:54px;display:block;image-rendering:auto}.coat span{font-size:9px;letter-spacing:.06em;display:block}.coat.active{background:#fffbdf;border-color:#8d9b63;box-shadow:0 3px 0 #70844a}.primary-button{border:1px solid #425a38;border-bottom:3px solid #334a2b;background:#536c43;color:#fffbe8;border-radius:3px;width:100%;min-height:60px;padding:14px 19px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:16px;font-weight:600;letter-spacing:.075em;box-shadow:0 3px 0 #38502d25}.primary-button span{font-size:22px;line-height:.6;font-weight:400}.intro-hint{font-size:10px;letter-spacing:.06em;color:#526444;margin:12px 0 0}.control-strip{display:grid;gap:6px;padding:9px 0 3px}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}.control-caption{display:flex;gap:7px;align-items:center;min-width:0;font-size:11px;letter-spacing:.035em;color:#718163}.control-caption i{display:block;width:5px;height:5px;background:#8c9a74;box-shadow:3px -3px #bac5a3}.direction-pad{display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr;gap:8px;align-items:end;width:100%}.direction-pad button{border:1px solid #c3ceb3;background:#f8f8ee;border-bottom:4px solid #b4c1a1;min-width:0;width:100%;height:70px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1;color:#5a6b4b;box-shadow:0 3px 0 #425b3020;user-select:none;-webkit-user-select:none}.key-arrow{font:30px/1 "Courier New",monospace}.key-label{font-size:11px;letter-spacing:.09em}.direction-pad button.forward-key{height:80px;background:#5b7349;border-color:#4d653d;border-bottom-color:#3b552f;color:#fffbe8;box-shadow:0 3px 0 #344c2a30}.forward-key .key-arrow{font-size:34px}.forward-key .key-label{font-weight:600;font-size:12px}.guide-button{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:8px 11px;border:1px solid #ccd5be;background:#f5f6ea;border-radius:4px;font-size:11px;letter-spacing:.03em}.guide-button span{font-size:16px}.sidebar{padding-top:17px}.side-intro h2{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;letter-spacing:.11em;font-size:31px;font-weight:500;line-height:1.7;margin:18px 0 18px}.side-intro h2 em{font-style:normal;color:#6d8056}.side-intro p{font-size:11px;line-height:2.25;letter-spacing:.035em;color:#758167}.record{display:flex;align-items:center;justify-content:space-between;margin:28px 0;padding:16px 19px;background:#f5f5e9;border:1px solid #d5dcc8}.record span{font-size:10px;letter-spacing:.06em;color:#718163}.record p{margin:5px 0 0}.record strong{font:700 33px "Courier New",monospace;letter-spacing:-.06em}.record small{font-size:10px;margin-left:7px}.record-grass{font-size:29px;color:#a9b086;margin-right:2px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ced5c2;padding-bottom:11px}.section-heading h3{font-size:11px;letter-spacing:.035em;font-weight:500;margin:0}.section-heading>span{font:10px "Courier New",monospace;color:#8e9a7d}.species-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 4px;margin:11px -7px 0}.species-item{display:flex;flex-direction:column;align-items:center}.species-item canvas{width:60px;height:48px;image-rendering:auto}.species-item span{font-size:8px;white-space:normal;text-align:center;overflow-wrap:anywhere;letter-spacing:-.02em;color:#78836d}.side-how{border-top:1px solid #ced5c2;padding-top:19px;margin-top:24px}.side-how>div{display:flex;gap:3px;align-items:center}.side-how kbd{width:20px;height:21px;border:1px solid #cbd3bd;box-shadow:0 1px #bdc8ab;background:#f8f8ee;display:grid;place-items:center;font:11px "Courier New",monospace;border-radius:2px}.side-how span{font-size:9px;margin-left:6px;color:#77866b}.side-how p{font-size:10px;line-height:2;color:#7c8873;margin:11px 0}.side-footnote{font-size:8px;letter-spacing:.02em;color:#969e8d;margin-top:24px}.game-caption{display:flex;justify-content:space-between;color:#97a088;font:8px "Courier New",monospace;letter-spacing:.14em;padding:23px 0 18px}.game-caption span:last-child{font-family:inherit;letter-spacing:.04em;font-size:8px}.dialog-layer{position:absolute;inset:0;z-index:10;background:#344b375e;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(2px)}.paper-card{background:#f9f6e9;border:2px solid #e0decb;box-shadow:6px 6px 0 #3447333d;padding:29px 27px 20px;max-width:340px;width:100%;text-align:center;position:relative;max-height:100%;overflow-y:auto}.paper-card:before{content:"";position:absolute;inset:6px;border:1px solid #e5e1cd;pointer-events:none}.paper-card h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:21px;letter-spacing:.06em;font-weight:600;margin:7px 0 12px}.paper-card p{font-size:11px;line-height:1.8;color:#7f886f;margin:0 auto 16px}.result-card>canvas{display:block;margin:2px auto -10px;width:150px;height:91px;image-rendering:auto}.result-stats{display:grid;grid-template-columns:1fr 1fr;margin:19px 0 22px}.result-stats>div+div{border-left:1px solid #d9dcc9}.result-stats strong{display:block;font:700 37px/1.2 "Courier New",monospace}.result-stats span{display:block;font-size:9px;letter-spacing:.05em;margin-top:5px}.paper-card #new-best{font-size:11px;color:#a3823a;font-weight:600;margin:-8px 0 17px}.text-button{background:none;border:0;min-height:44px;padding:12px 9px;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#7b876b}.pause-card{padding-top:35px;padding-bottom:25px}.pause-card h2{margin:24px 0 14px;font-size:20px}.pause-card .primary-button{margin-top:26px}.play-hint{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;background:#f5f7e4de;color:#526647;font-size:10px;padding:8px 10px;z-index:4;pointer-events:none;box-shadow:2px 2px #49623a1f}.help-dialog{max-width:420px;max-height:85svh;overflow-y:auto;width:calc(100% - 32px);border:1px solid #c6cfb8;background:#f8f6eb;color:var(--ink);padding:33px 29px 27px;box-shadow:6px 6px #2f4a2c2e}.help-dialog::backdrop{background:#283a2c70;backdrop-filter:blur(3px)}.close-dialog{position:absolute;right:11px;top:10px;border:0;box-shadow:none;background:transparent;font-size:25px;width:44px;height:44px}.help-dialog h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:22px;letter-spacing:.035em;margin:17px 0 28px}.help-row{display:flex;gap:16px;margin-bottom:22px}.help-row>span{font:14px "Courier New",monospace;color:#a2ac8d;padding-top:1px}.help-row h3{font-size:13px;margin:0 0 7px;font-weight:600;letter-spacing:.02em}.help-row p{font-size:11px;color:#7b876e;line-height:1.9;margin:0}.help-keyboard{font-size:10px;line-height:1.8;color:#859078;border-top:1px solid #dbe0d0;padding-top:15px;margin:8px 0 20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sidebar .species-item{min-width:0}.sidebar .species-item span{width:100%;max-width:58px;white-space:normal;text-align:center;overflow-wrap:anywhere;font-size:8px;line-height:1.45}
.mobile-record{display:none;font:9px "Courier New",monospace;letter-spacing:.05em;color:#72815d;margin:9px 0 0}.mobile-record strong{font-weight:600}
.sr-only{top:0;left:0;margin:0}
@media(min-width:1200px) and (min-height:950px){.app{padding-top:15px}.stage{height:min(730px,calc(100svh - 325px))}.sidebar{padding-top:39px}}
@media(max-width:960px){.app{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 210px;gap:26px}.sidebar{padding-top:10px}.side-intro h2{font-size:27px}.species-grid{grid-template-columns:repeat(4,1fr);margin-left:-9px;margin-right:-9px}.species-item canvas{width:53px;height:43px}.species-item span{font-size:7px}.side-how{margin-top:18px}.record{margin:22px 0}.title-plate h1{font-size:41px}.title-plate h1 span{font-size:55px}}
@media(max-width:740px){
  body{background:#edf0e5}
  .app{padding:0 12px env(safe-area-inset-bottom,0px);max-width:510px;height:100svh;min-height:580px;display:flex;flex-direction:column}
  .header{height:72px;min-height:72px;flex-shrink:0;margin-bottom:12px}
  .brand{font-size:12px;gap:3px;letter-spacing:.04em;min-width:0}
  .brand canvas{width:40px;height:34px;flex-shrink:0}
  .brand small{font-size:6px;letter-spacing:.06em}
  .header-actions{gap:6px}
  .icon-button{width:44px;height:44px;font-size:20px}
  .icon-button svg{width:20px;height:20px}
  .layout{display:block;flex:1;min-height:0}
  .game-column{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 136px}
  .sidebar{display:none}
  .stage{height:100%;min-height:0;max-height:none;border-width:4px}
  .title-plate{margin-top:22px}
  .title-plate h1{font-size:36px;margin:10px 0 9px}
  .title-plate h1 span{font-size:48px}
  .intro-kicker{font-size:10px}
  .title-plate p{font-size:10px;margin:10px 0}
  .start-panel{margin-bottom:18px;width:304px;max-width:calc(100% - 32px)}
  .coat-picker{gap:10px;margin-bottom:12px}
  .coat{min-width:82px;min-height:80px;padding-bottom:8px}
  .coat canvas{width:72px;height:54px}
  .coat span{font-size:10px}
  .primary-button{min-height:60px;font-size:16px;letter-spacing:.035em;gap:15px;padding-left:13px;padding-right:13px}
  .intro-hint{font-size:10px;margin-top:9px;line-height:1.5}
  .mobile-record{display:block;margin-top:7px}
  .control-strip{padding:7px 0 3px;gap:6px}
  .control-heading{min-height:44px}
  .control-caption{font-size:9px;line-height:1.7;letter-spacing:0}
  .guide-button{font-size:11px;min-height:44px;padding:7px 10px}
  .direction-pad{gap:8px}
  .direction-pad button{height:70px}
  .direction-pad button.forward-key{height:80px}
  .hud{top:14px;left:13px;right:13px}
  .zone-tag{left:15px;top:102px}
  .score-box strong{font-size:31px}
  .score-box{padding:9px 11px 7px;min-width:70px}
  .snack-box{padding:5px 10px;gap:5px}
  .snack-box strong{font-size:22px}
  .game-caption{min-height:24px;flex-shrink:0;align-items:center;padding:5px 1px 7px;font-size:7px}
  .game-caption span:last-child{font-size:7px}
  .play-hint{font-size:9px;bottom:14px;left:13px;right:13px}
  .dialog-layer{position:fixed;padding:18px;z-index:30}
  .paper-card{padding:24px 23px 18px;max-height:calc(100svh - 36px)}
  .paper-card h2{font-size:19px}
  .result-card>canvas{height:79px;width:130px}
  .result-stats{margin:14px 0 19px}
  .result-stats strong{font-size:33px}
}
@media(max-width:740px) and (max-height:720px){
  .header{height:66px;min-height:66px;margin-bottom:10px}
  .title-plate{margin-top:13px}
  .title-plate h1{font-size:29px;margin:7px 0 5px;line-height:1.15}
  .title-plate h1 span{font-size:38px}
  .intro-kicker{font-size:9px}
  .title-plate p{font-size:9px;margin:7px 0}
  .start-panel{margin-bottom:12px}
  .coat-picker{margin-bottom:9px}
  .intro-hint{font-size:9px;margin-top:7px}
  .mobile-record{margin-top:4px}
  .control-caption{font-size:8px}
}
@media(max-width:370px){
  .app{padding-left:8px;padding-right:8px}
  .brand small{display:none}
  .brand{font-size:11px}
  .brand canvas{width:34px;height:29px}
  .header-actions{gap:5px}
  .control-caption{font-size:8px}
  .control-heading{gap:6px}
  .guide-button{padding-left:8px;padding-right:8px;font-size:10px}
  .coat-picker{gap:8px}
  .coat{min-width:80px}
}

.guide-dialog{width:calc(100% - 32px);max-width:600px;max-height:85svh;overflow-y:auto;overscroll-behavior:contain;border:1px solid #c6cfb8;background:#f8f6eb;color:var(--ink);padding:33px 26px 24px;box-shadow:6px 6px #2f4a2c2e}
.guide-dialog::backdrop{background:#283a2c70;backdrop-filter:blur(3px)}
.guide-dialog h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:25px;font-weight:600;letter-spacing:.045em;margin:16px 0 10px}
.guide-intro{color:#78856b;font-size:12px;line-height:1.8;margin:0 0 20px}
.guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}
.guide-grid .species-item{padding:9px 5px 11px;background:#eeefdf;border:1px solid #dce0ca;min-height:115px;justify-content:center}
.guide-grid .species-item canvas{width:100%;max-width:104px;height:auto;aspect-ratio:9/7;image-rendering:auto}
.guide-grid .species-item span{font-size:11px;line-height:1.5;margin-top:3px;color:#536449;white-space:normal;overflow-wrap:anywhere}
@media(max-width:480px){.guide-dialog{padding:31px 18px 20px}.guide-dialog h2{font-size:22px}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.guide-grid .species-item{min-height:106px}.guide-grid .species-item span{font-size:10px}.help-dialog{padding:33px 24px 24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.dialog-layer{backdrop-filter:none}}

/* Character collection and shared footprints retain the original paper palette. */
.title-plate h1{font-size:46px;line-height:1.15}.title-plate h1 span{font-size:47px;letter-spacing:.12em}
.selected-character{pointer-events:auto;width:100%;display:flex;align-items:center;text-align:left;gap:15px;padding:8px 15px;margin-bottom:12px;background:#faf8e9f2;border:1px solid #d1d9bc;border-bottom:4px solid #8a9d6c;border-radius:4px;min-height:91px}
.selected-character canvas{width:100px;height:75px;object-fit:contain;image-rendering:auto;flex-shrink:0}.selected-character small{display:block;font-size:10px;color:#637357;margin-bottom:4px}.selected-character strong{display:block;font-size:13px;line-height:1.5}.choose-label{display:block;font-size:11px;color:#4b6440;margin-top:5px}.choose-label span{margin-left:5px}
.control-heading{gap:10px}.control-heading .control-caption{margin-right:auto}.control-heading .guide-button{flex-shrink:0}.control-caption{max-width:220px}.sidebar .species-grid{grid-template-columns:repeat(5,1fr);gap:8px 1px}.sidebar .species-item canvas{width:48px;height:40px}.side-intro h2{font-size:31px}.side-intro p{font-size:12px}
.collection-dialog{width:calc(100% - 24px);max-width:720px;max-height:90svh;overflow-y:auto;overscroll-behavior:contain;padding:32px 28px 24px;border:1px solid #c6cfb8;background:#f8f6eb;color:var(--ink);box-shadow:6px 6px #2f4a2c2e}.collection-dialog::backdrop{background:#283a2c8c;backdrop-filter:blur(3px)}.collection-dialog h2{font-family:"Yu Mincho",serif;font-size:26px;margin:14px 0 8px}.dialog-description{font-size:12px;line-height:1.8;color:#66765c;margin:0 0 14px}.collection-dialog .primary-button{margin-top:20px}
.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.character-choice{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:9px 5px 12px;gap:6px;background:#eff0e2;border:1px solid #d3dac3;min-height:138px;border-radius:3px}.character-choice canvas{width:100%;max-width:128px;height:auto;aspect-ratio:40/29;image-rendering:auto}.character-choice>span{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.character-choice[aria-pressed=true]{background:#e0e8cb;border:2px solid #526f44;padding:8px 4px 11px;box-shadow:0 3px #7d935c}.character-choice[aria-pressed=true]:before{content:'✓';position:absolute;right:5px;top:3px;font-size:16px;font-weight:700;color:#42603a}
.character-filters{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 16px;position:sticky;top:-32px;z-index:2;background:#f8f6eb;padding:8px 0}.character-filters button,.ranking-filters button{border:1px solid #ccd4bb;background:#eeefe2;min-height:44px;padding:7px 10px;font-size:12px;border-radius:3px}.character-filters button[aria-pressed=true],.ranking-filters button[aria-pressed=true]{background:#4c6547;color:#fffbed;border-color:#4c6547}
.ranking-dialog{max-width:570px}.ranking-filters{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.ranking-filters>div{display:flex;gap:5px}.ranking-filters select{font:inherit;max-width:170px;width:100%;font-size:12px;min-height:44px;padding:6px;border:1px solid #c5cfb6;background:#fffdf2;color:#374936;border-radius:3px}.ranking-note{font-size:11px;line-height:1.8;color:#64715b;margin:14px 0}.ranking-list{list-style:none;margin:0;padding:0;border-top:1px solid #d5dcc7}.ranking-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #d5dcc7}.rank{font:700 21px "Courier New",monospace;min-width:26px;text-align:center;color:#7a875d}.ranking-row:first-child .rank{color:#947235}.ranking-row canvas{image-rendering:auto;width:60px;height:46px;flex-shrink:0}.rank-person{flex:1;min-width:0}.rank-person strong{display:block;font-size:13px;overflow-wrap:anywhere}.rank-person small,.rank-score small{display:block;font-size:9px;line-height:1.6;color:#64725b;margin-top:3px}.rank-score{text-align:right;flex-shrink:0}.rank-score strong{font-size:16px}.ranking-dialog #ranking-status{font-size:13px;line-height:1.8;padding:14px 0}.ranking-dialog #ranking-status:empty{display:none}.ranking-dialog #reload-ranking{display:block;margin:auto}
.paper-card{max-width:370px}.result-card .result-stats{margin:10px 0 14px}.score-form{position:relative;text-align:left;border-top:1px solid #d7ddc7;padding-top:13px;margin:5px 0 14px}.score-form label{font-size:11px;display:block;font-weight:600;margin-bottom:7px}.score-input-row{display:flex;gap:6px}.score-input-row input{font:inherit;font-size:16px;min-width:0;flex:1;background:#fffef6;border:1px solid #c4ceb4;padding:8px;color:#374936;border-radius:3px;min-height:44px}.score-input-row button{font-size:12px;min-height:44px;padding:8px;background:#e7ecd8;border:1px solid #a6b993;white-space:nowrap;border-radius:3px}.score-form small{display:block;font-size:9px;line-height:1.6;color:#67735e;margin-top:7px}.paper-card .submit-status{font-size:11px;margin:10px 0;color:#49663e}.paper-card .submit-status:empty{display:none}.paper-card .submit-status.error{color:#984a36}.result-card #retry-button{min-height:54px;font-size:14px}.result-card>canvas{height:70px;width:115px}
input:focus-visible,select:focus-visible{outline:3px solid #b38f3e;outline-offset:2px}.side-footnote{font-size:10px;line-height:1.8;color:#69765c}.eyebrow{font-family:inherit;letter-spacing:.12em}.brand small{font-family:inherit;font-size:8px;letter-spacing:.07em}.guide-intro,.help-row p{color:#627158}
@media(max-width:960px){.control-heading .control-caption{display:none}.control-heading .guide-button{flex:1}.sidebar .species-grid{grid-template-columns:repeat(4,1fr)}.side-intro h2{font-size:27px}}
@media(max-width:740px){
 .title-plate h1{font-size:34px}.title-plate h1 span{font-size:37px;letter-spacing:.1em}.selected-character{gap:12px;padding:4px 12px;min-height:85px}.selected-character canvas{width:88px;height:66px}.selected-character strong{font-size:12px}.start-panel{width:310px;max-width:calc(100% - 24px)}.header{height:64px;min-height:64px;margin-bottom:10px}.header-actions{gap:5px}.brand{font-size:12px;letter-spacing:0}.brand small{font-size:7px}.game-column{grid-template-rows:minmax(0,1fr) 136px}.app{min-height:570px}
 .collection-dialog{padding:30px 18px 20px}.collection-dialog h2{font-size:23px}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.character-choice{min-height:125px}.character-choice>span{font-size:10px}.character-filters{top:-30px}.character-filters button{font-size:11px;padding:7px 9px}.paper-card{max-height:calc(100svh - 24px)}.result-card{padding:18px 22px 12px}.result-card h2{margin-top:2px}.result-card .result-stats strong{font-size:29px}.result-card #result-reason{margin-bottom:10px}.result-card>canvas{width:106px;height:65px}.result-card .text-button{min-height:40px}.ranking-filters{align-items:stretch;flex-direction:column}.ranking-filters select{max-width:none}.ranking-filters>div button{flex:1}.rank-person strong{font-size:12px}.ranking-row{gap:5px}.ranking-row canvas{width:49px;height:38px}.rank-score strong{font-size:14px}
}
@media(max-width:740px) and (max-height:720px){.title-plate{margin-top:13px}.title-plate h1{font-size:28px;margin:7px 0 5px}.title-plate h1 span{font-size:31px}.title-plate p{font-size:9px}.selected-character{min-height:72px;margin-bottom:8px}.selected-character canvas{width:80px;height:60px}.selected-character small{font-size:9px;margin-bottom:2px}.start-panel{margin-bottom:10px}.intro-hint{margin:6px 0 0}.primary-button{min-height:55px}.mobile-record{font-size:9px}.paper-card{max-height:calc(100svh - 18px)}}
@media(max-width:370px){.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:10px}.brand canvas{width:27px;height:24px}.header-actions{gap:4px}.collection-dialog{padding:30px 14px 18px}.character-filters button{padding:7px;font-size:10px}.selected-character strong{font-size:11px}}
.points-box{background:#fcf8e4f2;border:1px solid #e1e4ce;box-shadow:3px 3px #485e3c24;padding:10px 14px 8px;position:relative;margin:0 8px}.points-box strong{font:700 35px/1.15 "Courier New",monospace}.points-box .unit{font-size:11px;margin-left:4px}.combo-counter{position:absolute;top:100%;left:0;right:0;text-align:center;background:#a17d38;color:#fffdeb;font-weight:700;font-size:11px;padding:5px;white-space:nowrap;box-shadow:3px 3px #485e3c24}.result-points{margin:10px 0 12px;color:#415b39}.result-points>span{display:block;font-size:10px;letter-spacing:.1em;margin-bottom:3px}.result-points strong{font:700 40px/1.2 "Courier New",monospace}.result-points small{font-size:12px;margin-left:5px}.result-card .result-combos{font-size:11px;color:#647746;margin:0 0 11px}.result-card .result-stats strong{font-size:25px}.result-card .result-stats{margin-bottom:9px}.hud{gap:0}.result-card>canvas{height:53px;width:87px;margin-bottom:-6px}
@media(max-width:740px){.points-box{padding:9px 10px 7px}.points-box strong{font-size:29px}.points-box .eyebrow{font-size:9px}.hud .score-box{min-width:66px;padding:9px}.score-box strong{font-size:27px}.snack-box{gap:4px;padding:7px}.snack-box strong{font-size:20px}.snack-box canvas{width:18px;height:25px}.result-card .result-points{margin:8px 0}.result-card .result-points strong{font-size:33px}.result-card .result-stats strong{font-size:23px}.result-card .result-stats span{font-size:9px}.result-card .result-combos{font-size:10px}.result-card>canvas{height:51px;width:83px}.combo-counter{font-size:10px}.result-card .score-form{margin-bottom:8px;padding-top:10px}.result-card .paper-card p{margin-bottom:10px}}
#character-dialog{height:min(90svh,900px);overflow:hidden}#character-dialog[open]{display:flex;flex-direction:column}#character-dialog .character-grid{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding:3px 4px 7px}#character-dialog .character-filters{position:static;flex-shrink:0;margin-bottom:8px}#character-dialog>.primary-button{flex-shrink:0;min-height:54px;margin-top:12px}#character-dialog>.eyebrow,#character-dialog>h2,#character-dialog>.dialog-description{flex-shrink:0}
#character-dialog .character-choice{min-height:164px}#character-dialog .character-choice>span{flex-shrink:0}

.creator-footer{max-width:1140px;margin:0 auto;padding:8px 36px calc(20px + env(safe-area-inset-bottom,0px))}.creator-links{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;border-top:1px solid #cfd5c5;padding-top:10px}.creator-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;color:#526647;font-size:12px;letter-spacing:.03em;text-decoration:underline;text-underline-offset:4px}.creator-links a:hover{color:#344a32}
@media(max-width:740px){.creator-footer{max-width:510px;padding-left:12px;padding-right:12px}}
