:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:#473a3a;background:#fffdf7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--purple: #f08d8d;--accent: #f08d8d;--accent-soft: #f8c9d8;--surface: #fff;--ink: #473a3a;--muted: #7c7070;--peach: #f5c7ae}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% 5%,#fff 0,#fff7ed 48%,#f9e2d0)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c94b45;outline-offset:3px}.site-header{height:68px;max-width:1120px;padding:0 26px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--accent);text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.01em}.brand-word{font-size:17px;font-weight:1000;letter-spacing:-.08em}.brand-tagline{color:#667384;font-size:10px;font-weight:650;letter-spacing:0}.brand-mark{width:31px;height:31px;display:grid;place-items:center;color:#fff;border-radius:10px;background:linear-gradient(145deg,#e98368,#dc684e);box-shadow:0 4px 9px #dc684e33;font-size:16px}.free-pill{display:flex;align-items:center;gap:7px;color:#667384;background:#fff0e9;padding:7px 11px;border-radius:20px;font-size:9px;font-weight:900;letter-spacing:.13em}.free-pill span{width:6px;height:6px;border-radius:50%;background:#6dc5a8}main{max-width:970px;padding:0 22px;margin:0 auto}.hero{position:relative;padding:28px 0 46px;display:flex;flex-direction:column;align-items:center}.hero-copy{text-align:center;margin-bottom:22px;z-index:1}.eyebrow{margin:0 0 10px;color:#667384;font-size:10px;line-height:1.4;font-weight:900;letter-spacing:.15em}.hero-copy .eyebrow{display:flex;justify-content:center;align-items:center;gap:8px;letter-spacing:.1em}.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f49b79;box-shadow:0 0 0 4px #f49b7920}h1{margin:0;color:#172a3d;font-size:clamp(38px,8vw,56px);font-weight:900;letter-spacing:.02em;line-height:1.08}h1 span{color:var(--purple)}.hero-lead{color:#586678;margin:12px 0 0;font-size:14px;line-height:1.65;font-weight:600}.mobile-break{display:none}.game-shell{width:min(100%,410px);padding:14px;border:1px solid #e9ddd2;border-radius:26px;background:#ffffffe6;box-shadow:0 14px 45px #734c3213,0 2px 7px #734c3208;z-index:1}.game-toolbar{height:56px;display:flex;align-items:center;gap:15px;padding:0 7px 11px}.score-card{min-width:95px;display:flex;flex-direction:column;gap:1px}.score-label{color:#667384;font-size:9px;font-weight:800;letter-spacing:.08em}.score-card strong{color:#172a3d;font-size:21px;font-weight:900;line-height:1.05}.score-card small{margin-left:3px;color:#667384;font-size:10px}.best-card strong{color:#f09a73;font-size:17px}.score-divider{height:28px;width:1px;background:#efedf6}.reset-icon{margin-left:auto;width:36px;height:36px;border:1px solid #eeebf7;border-radius:12px;color:#8f83bd;background:#faf9ff;font-size:22px;line-height:1;transition:transform .2s,background .2s}.reset-icon:hover{transform:rotate(-35deg);background:#fff0e9}.game-board-wrap{position:relative;overflow:hidden;width:100%;aspect-ratio:390 / 540;border-radius:18px;background:#f9e2d0}#game-board{display:block;width:100%;height:100%;touch-action:pan-y}.board-hint{position:absolute;top:34%;left:50%;display:flex;align-items:center;gap:9px;transform:translate(-50%,-50%);color:#667384;font-size:11px;font-weight:800;text-align:left;pointer-events:none;white-space:nowrap;transition:opacity .3s}.board-hint.is-hidden{opacity:0}.hint-arrow{width:31px;height:31px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#df765d;font-size:19px;box-shadow:0 5px 12px #dc684e33}.board-live{position:absolute;left:50%;bottom:16px;transform:translate(-50%);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;text-shadow:0 1px 4px #57458b;pointer-events:none}.drop-form{position:relative;display:flex;gap:9px;margin-top:12px}.drop-form input{min-width:0;flex:1;height:52px;padding:0 58px 0 16px;color:var(--ink);border:1.5px solid #e9e5f5;border-radius:15px;outline:0;background:#fbfaff;font-size:14px;font-weight:700;transition:border-color .2s,box-shadow .2s}.drop-form input::placeholder{color:#b3aec3;font-weight:600}.drop-form input:focus{border-color:#df765d;box-shadow:0 0 0 3px #df765d1e}.drop-form input:disabled{opacity:.58}.input-count{position:absolute;top:18px;right:116px;color:#aaa4bb;font-size:10px;font-weight:800;pointer-events:none}.drop-button{flex:0 0 105px;height:52px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;border:0;border-radius:15px;background:linear-gradient(135deg,#e98368,#c6533b);box-shadow:0 6px 13px #dc684e38;font-size:14px;font-weight:900;transition:transform .15s,box-shadow .15s,opacity .2s}.drop-button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #dc684e4c}.drop-button:active{transform:translateY(1px) scale(.99)}.drop-button:disabled{cursor:wait;opacity:.55}.input-note{color:#9993aa;margin:9px 2px 0;font-size:10px;font-weight:600}.input-note span{margin-left:7px;color:#b0aaba}.hero-decoration{position:absolute;display:grid;place-items:center;width:49px;height:49px;border-radius:17px;font-size:25px;font-weight:900;opacity:.58;transform:rotate(10deg)}.decoration-one{top:250px;left:max(2%,calc(50% - 300px));color:#fff;background:#f1a286;box-shadow:0 10px 22px #f1a28630}.decoration-two{top:330px;right:max(2%,calc(50% - 295px));color:#fff;background:#85cbbb;transform:rotate(-9deg);box-shadow:0 10px 22px #85cbbb30}.result-section{max-width:740px;margin:0 auto 48px;padding:25px 28px 20px;border:1px solid #ece8f7;border-radius:22px;background:#ffffffb8;box-shadow:0 8px 24px #734c3208}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading .eyebrow{margin-bottom:4px}.section-heading h2{margin:0;color:var(--ink);font-size:20px;font-weight:900}.local-badge{padding:6px 10px;color:#667384;border-radius:20px;background:#f1effa;font-size:9px;font-weight:800;white-space:nowrap}.ranking-list{display:flex;flex-direction:column}.ranking-row{min-height:42px;display:flex;align-items:center;gap:12px;border-top:1px solid #f2eff8;color:#536274;font-size:12px;font-weight:700}.rank-number{width:33px;color:#667384;font-weight:900;text-align:center}.rank-number small{margin-left:2px;font-size:8px}.rank-1 .rank-number{font-size:16px}.rank-2 .rank-number,.rank-3 .rank-number{font-size:14px}.rank-title{flex:1}.ranking-row strong{color:#172a3d;font-size:15px;font-weight:900}.ranking-row strong small{margin-left:3px;color:#667384;font-size:9px}.ranking-empty{margin:0;padding:14px 4px 4px;color:#667384;font-size:12px;text-align:center}.ranking-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 8px}.ranking-tab{min-height:38px;padding:0 6px;border:1px solid #e8e0d6;border-radius:9px;background:#fff;color:#536274;font-size:11px;font-weight:750}.ranking-tab[aria-selected=true]{border-color:#dc684e;background:#fff0e9;color:#a7432e}.ranking-period{margin:0 0 10px;color:#667384;font-size:10px}.personal-rank{margin:10px 0;padding:11px 13px;border-radius:10px;background:#fff0e9;color:#803c2c;font-size:12px;font-weight:800}.national-list{margin:0;padding:0;list-style:none}.national-list .ranking-row{min-height:46px}.national-list .rank-1 .rank-number{color:#9b6b10}.national-list .rank-2 .rank-number{color:#64748b}.national-list .rank-3 .rank-number{color:#9b5b38}.rank-social{color:#667384;text-decoration:underline;text-decoration-color:#c6cbd1;font-size:10px}.ranking-status{margin:9px 0;color:#667384;font-size:11px;text-align:center}.ranking-more{display:block;min-height:40px;margin:12px auto 0;padding:0 22px;border:1px solid #e8e0d6;border-radius:9px;background:#fff;color:#536274;font-size:12px;font-weight:750}.ranking-more[hidden]{display:none}.ranking-disclaimer{margin:13px 0 0;color:#667384;font-size:9px}.local-records{max-width:740px;margin:-30px auto 42px;padding:12px 18px;border:1px solid #ece8f7;border-radius:12px;background:#ffffffa8}.local-records summary{color:#667384;font-size:11px;font-weight:750;cursor:pointer}.local-records .ranking-list{margin-top:8px}.national-submit-form{display:grid;gap:7px;margin:12px 0 16px;text-align:left}.national-submit-form h3{margin:0 0 3px;font-size:13px}.national-submit-form label{color:#536274;font-size:10px;font-weight:750}.national-submit-form input:not([type=checkbox]),.national-submit-form select{width:100%;min-height:40px;padding:0 11px;border:1px solid #e8e0d6;border-radius:9px;background:#fffdfa;color:#172a3d;font-size:13px}.national-submit-form small{color:#667384;font-size:9px}.save-profile-label{display:flex;align-items:center;gap:7px;margin:4px 0}.save-profile-label input{width:17px;height:17px;accent-color:#dc684e}.submit-ranking-button{min-height:43px;border:0;border-radius:11px;background:#172a3d;color:#fff;font-size:12px;font-weight:850}.submit-ranking-button:disabled{opacity:.55}.ranking-submit-status{min-height:1.3em;margin:0;color:#a7432e;font-size:10px;text-align:center}.info-grid{max-width:740px;display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin:0 auto 30px}.info-card{position:relative;min-height:222px;padding:25px 25px 22px;overflow:hidden;border:1px solid #ece8f7;border-radius:21px;background:#ffffffc2}.info-card .eyebrow{margin:0 0 4px}.info-card h2{margin:0 0 13px;color:var(--ink);font-size:18px;font-weight:900}.info-icon{position:absolute;top:19px;right:20px;width:32px;height:32px;display:grid;place-items:center;border-radius:11px;font-weight:900}.icon-purple{color:#c6533b;background:#fff0e9}.icon-peach{color:#e9916f;background:#fff0e9}.how-card ol{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;color:#536274;font-size:11px;font-weight:700}.how-card li{display:flex;align-items:center;gap:9px}.how-card li span{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:#c6533b;background:#fff0e9;font-size:10px}.about-card p:last-child,.about-site p:last-child{margin:0;color:#586678;font-size:11px;font-weight:600;line-height:1.9}.about-site{position:relative;max-width:740px;display:flex;align-items:flex-start;gap:17px;margin:0 auto 58px;padding:24px;border-radius:21px;background:#fff0e9}.about-site-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:#fff;background:#dc684e;font-size:19px;font-weight:900}.about-site .eyebrow{margin:0 0 3px}.about-site h2{margin:0 0 6px;font-size:15px;font-weight:900}.version-tag{position:absolute;right:23px;bottom:19px;color:#667384;font-size:8px;font-weight:900;letter-spacing:.1em}.version-tag b{color:#a7432e}footer{min-height:63px;display:flex;justify-content:center;align-items:center;gap:22px;padding:0 20px;border-top:1px solid #ece9f4;color:#667384;font-size:9px;font-weight:700}.footer-brand{color:#a7432e;font-size:11px;font-weight:900;text-decoration:none}.result-modal{position:fixed;width:min(420px,calc(100vw - 30px));max-height:min(88dvh,760px);padding:27px 29px 23px;overflow-y:auto;border:1px solid #f0ebfc;border-radius:27px;color:var(--ink);background:#fff;box-shadow:0 25px 90px #30282035;text-align:center}.result-modal::backdrop{background:#2e26457d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-close{position:absolute;top:13px;right:15px;width:32px;height:32px;border:0;border-radius:10px;color:#9992ae;background:#fff6f1;font-size:22px}.result-sparkle{width:40px;height:40px;display:grid;place-items:center;margin:0 auto 10px;border-radius:14px;color:#f1a17c;background:#fff0e9;font-size:23px}.result-modal .eyebrow{margin:0 0 5px}.result-modal h2{margin:0;font-size:20px;font-weight:900}.result-score{margin-top:3px;color:#dc684e;font-size:60px;font-weight:900;line-height:1.1;letter-spacing:-.04em}.result-score small{margin-left:5px;font-size:17px;letter-spacing:0}.result-best{margin:4px 0 16px;color:#667384;font-size:10px;font-weight:900;letter-spacing:.12em}.result-best strong{color:#f09871}.modal-actions{display:flex;flex-direction:column;gap:8px}.modal-actions .drop-button{flex:none;width:100%;height:48px}.share-button{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #e8e5ef;border-radius:14px;color:#344254;background:#fff;font-size:12px;font-weight:900}.share-button b{font-size:15px}.modal-ranking{margin-top:18px;text-align:left}.modal-ranking .section-heading{margin-bottom:7px}.modal-ranking h3{margin:0;font-size:14px}.compact-ranking .ranking-row{min-height:34px;font-size:10px}.compact-ranking .ranking-row strong{font-size:12px}.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:600px){.site-header{height:58px;padding:0 17px}.brand-tagline{max-width:142px;font-size:8px}main{padding:0 14px}.hero{padding-top:16px;padding-bottom:31px}.hero-copy{margin-bottom:17px}.hero-copy .eyebrow{font-size:9px}h1{font-size:43px}.hero-lead{margin-top:8px;font-size:12px}.mobile-break{display:initial}.game-shell{padding:11px;border-radius:23px}.game-toolbar{height:51px;padding:0 5px 9px}.game-board-wrap{aspect-ratio:390 / 480;border-radius:15px}.drop-form{gap:7px;margin-top:10px}.drop-form input{height:49px;padding-left:13px;border-radius:14px;font-size:13px}.drop-button{flex-basis:96px;height:49px;border-radius:14px}.input-count{top:17px;right:107px}.input-note{font-size:9px}.decoration-one,.decoration-two{width:35px;height:35px;border-radius:12px;font-size:18px;opacity:.35}.decoration-one{left:-2px;top:315px}.decoration-two{right:-1px;top:420px}.result-section{margin-bottom:31px;padding:19px 17px 15px;border-radius:19px}.section-heading h2{font-size:18px}.info-grid{grid-template-columns:1fr;gap:11px;margin-bottom:22px}.info-card{min-height:0;padding:20px;border-radius:18px}.how-card{min-height:193px}.about-card{min-height:174px}.about-site{gap:12px;margin-bottom:36px;padding:19px 17px 36px;border-radius:18px}.about-site-icon{width:36px;height:36px;border-radius:12px;font-size:16px}.about-site h2{font-size:13px}.about-site p:last-child{font-size:10px}footer{min-height:74px;flex-wrap:wrap;gap:5px 15px;align-content:center;font-size:8px}footer span:last-child{width:100%;text-align:center}.result-modal{padding:24px 22px 18px;border-radius:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}html,body{overscroll-behavior-y:contain}button,a{touch-action:manipulation}.game-toolbar{gap:10px}.miss-counter{min-width:57px;margin-left:auto;padding:7px 9px;border:1px solid #f7e4e4;border-radius:12px;color:#de6f84;background:#fff7f8;font-size:12px;font-weight:900;text-align:center;white-space:nowrap}.miss-counter span{color:#e77e90;font-size:14px}.miss-counter b{margin-left:2px;font-size:13px}.reset-icon{margin-left:0;flex:0 0 36px}.game-status-row{height:24px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 7px 7px}.best-flash{color:#ef8c63;font-size:9px;font-weight:1000;letter-spacing:.12em;opacity:0;transform:translateY(3px) scale(.92);transition:opacity .16s,transform .18s}.best-flash.is-visible{opacity:1;transform:translateY(0) scale(1);animation:best-pop .55s ease-out both}.board-message{overflow:hidden;color:#9992ad;font-size:9px;font-weight:700;text-align:right;text-overflow:ellipsis;white-space:nowrap}.board-message.is-visible{color:#7058d4}.game-board-wrap{overscroll-behavior:contain}#game-board{touch-action:none;user-select:none;-webkit-user-select:none}.game-board-wrap.landing-pop{animation:landing-pop .2s ease-out}.game-board-wrap.milestone-pop{animation:milestone-pop .38s ease-out}.game-board-wrap.screen-shake{animation:screen-shake .26s ease-out}.your-record-label{margin:16px 0 0;color:#918ba6;font-size:12px;font-weight:800}.result-score{margin-top:1px;font-size:clamp(54px,14vw,70px)}.result-modal .eyebrow{color:#ef886c}@keyframes best-pop{0%{transform:scale(.65)}65%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes landing-pop{0%{transform:scale(1)}45%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes milestone-pop{0%{box-shadow:0 0 #f2bd5400}35%{box-shadow:inset 0 0 0 6px #f2bd546b}to{box-shadow:inset 0 0 #f2bd5400}}@keyframes screen-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@media(max-width:600px){.game-toolbar{gap:7px}.score-card{min-width:82px}.miss-counter{min-width:52px;margin-left:auto}.game-status-row{padding-inline:3px}.board-message{max-width:64%;font-size:8px}.game-board-wrap{aspect-ratio:390 / 470}.drop-form input{min-height:50px;touch-action:manipulation}.drop-button{min-height:50px}body:has(.drop-form input:focus) .game-board-wrap{aspect-ratio:390 / 240}body:has(.drop-form input:focus) .hero{padding-top:8px;padding-bottom:18px}body:has(.drop-form input:focus) .hero-copy{margin-bottom:9px}body:has(.drop-form input:focus) .hero-copy .eyebrow,body:has(.drop-form input:focus) .hero-lead,body:has(.drop-form input:focus) .site-header,body:has(.drop-form input:focus) .hero-decoration{display:none}}@media(max-width:370px){.game-shell{padding:9px}.game-toolbar{gap:5px}.score-card{min-width:73px}.miss-counter{min-width:47px;padding-inline:6px}.reset-icon{flex-basis:33px;width:33px;height:33px}}
