:root{color:#17252a;--asset-back:url(/pics/back1.png);--asset-button:url(/pics/button.png);--asset-popup:url(/pics/popup.png);--asset-play:url(/pics/play_button.png);--asset-rank:url(/pics/rank_button.png);--asset-setting:url(/pics/setting_button.png);--asset-home:url(/pics/home_button.png);--asset-intro-dog:url(/pics/intro_dog.png);--asset-play-dog:url(/pics/play_dog.png);--asset-chocolate:url(/pics/chocolate.png);--asset-bone:url(/pics/bone.png);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#7ecdf2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{min-height:100dvh}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.68}.page-shell{width:100%;height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:linear-gradient(#fff3,#ffffff08),#7ecdf2;place-items:center;display:grid}.phone-frame{aspect-ratio:9/16;isolation:isolate;background:#f7f3df;border:3px solid #21343a;border-radius:8px;flex-direction:column;width:min(100%,430px,56.25dvh - 9px);height:min(100%,100dvh - 16px,760px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 44px #17252a42}.top-bar{z-index:3;background:linear-gradient(#fff8d8fa,#fff8d8d6);border-bottom:0;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:8px 12px;display:flex;box-shadow:0 3px 12px #462a0a2e}.brand-lockup{color:#4b2c12;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:900;line-height:1.05;display:flex}.brand-link{color:#17252a;text-decoration:none}.brand-mark{background:var(--asset-play-dog) center / contain no-repeat;border:0;border-radius:0;flex:none;width:26px;height:26px}.mini-link{color:#17252a;background:#fff;border:2px solid #21343a;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 2px #21343a}.top-actions,.modal-actions{align-items:center;gap:6px;display:flex}.icon-button{color:#4b2c12;background:#fff8d8f0;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:inline-grid;box-shadow:0 3px 10px #462a0a29}.asset-icon{width:42px;height:42px;box-shadow:none;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain}.asset-icon svg{display:none}.asset-rank{background-image:var(--asset-rank)}.asset-home{background-image:var(--asset-home)}.asset-setting{background-image:var(--asset-setting)}.icon-button:active,.modal-close-button:active,.modal-round-button:active,.save-name-button:active{transform:translateY(2px)}.icon-button.solid{color:#fff;background:#2f7d6d}.icon-button.danger{color:#fff;background:#cf4d45}.screen-panel{background:linear-gradient(180deg, #ffffff0a, #ffffff14), var(--asset-back) center / cover no-repeat;flex-direction:column;flex:1;align-items:center;min-height:0;padding:16px 16px 12px;display:flex}.name-screen{justify-content:center;gap:12px}.mascot-preview{width:170px;height:150px;margin-bottom:4px;position:relative}.dog-face,.falling-chocolate,.intro-dog,.intro-choco,.intro-bone{background-position:50%;background-repeat:no-repeat;background-size:contain;border:0;display:block;position:absolute}.dog-face{background-image:var(--asset-intro-dog);border-radius:0;width:92px;height:118px;bottom:0;left:34px}.dog-face:before,.dog-face:after{display:none}.falling-chocolate{background-image:var(--asset-chocolate);border-radius:0;width:38px;height:38px;top:8px;right:18px;transform:rotate(18deg)}.field-label{color:#384d54;width:100%;font-size:13px;font-weight:900;line-height:1.2}.name-screen .field-label{text-align:left;max-width:280px}.name-input,.inline-field input,select{color:#4b2c12;background:#fffcecf5;border:2px solid #9d5d1773;border-radius:16px;outline:none;width:100%;height:52px;padding:0 14px;font-size:18px;font-weight:800}.name-input{text-align:center;max-width:280px}.field-error,.field-help{margin:0;font-size:13px;font-weight:900}.field-error{color:#b7372f}.field-help{color:#2f8876}.primary-button,.secondary-button,.text-button{color:#6f3e11;text-align:center;white-space:nowrap;text-shadow:0 1px #ffffffb8;background:linear-gradient(180deg, #fffef6f2, #ffdc8cd1), var(--asset-button) center / 100% 100% no-repeat;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:min(78%,260px);min-width:206px;min-height:58px;padding:0 32px;font-size:18px;font-weight:950;line-height:1;display:inline-flex;box-shadow:inset 0 1px #fffffff2,inset 0 -4px #a6590e2e,0 3px 8px #462a0a2e}.text-button.danger{color:#a4322c}.primary-button:active,.secondary-button:active,.text-button:active{transform:translateY(3px);box-shadow:inset 0 1px #fffffff2,inset 0 -2px #a6590e29}.intro-screen{justify-content:space-between;gap:10px}.play-circle-button{color:#0000;background:var(--asset-play) center / contain no-repeat;width:112px;min-width:112px;height:112px;min-height:112px;box-shadow:none;text-shadow:none;padding:0}.score-strip,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:12px;width:100%;padding:0 26px;display:grid}.score-strip span,.result-grid span{color:#6f3e11;text-align:center;background:radial-gradient(circle at 50% 12%,#fffffff2,#fff0 36%),linear-gradient(#fffbe7fa,#ffde94f0);border:2px solid #b16716e6;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;min-width:0;min-height:48px;padding:7px 8px 6px;font-size:11px;font-weight:900;line-height:1;display:flex;overflow:hidden;box-shadow:inset 0 2px #ffffffe6,inset 0 -3px #95500e29,0 2px 5px #492c0d2e}.score-strip strong,.result-grid strong{color:#4b2c12;text-align:center;font-size:23px;line-height:.95;display:block}.intro-art{flex:1;width:100%;min-height:320px;position:relative}.intro-dog{background-image:var(--asset-intro-dog);border-radius:0;width:224px;height:264px;bottom:4px;left:50%;transform:translate(-50%)}.intro-dog:before,.intro-dog:after{display:none}.intro-choco{background-image:var(--asset-chocolate);border-radius:0;width:42px;height:42px}.intro-choco.one{top:70px;left:38px;transform:rotate(-16deg)}.intro-choco.two{top:52px;right:56px;transform:rotate(21deg)}.intro-bone{background-image:var(--asset-bone);border-radius:14px;width:52px;height:28px;bottom:154px;left:64%;transform:rotate(-12deg)}.vertical-actions{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.game-stage{background:#9bd9e8;flex:1;min-height:0}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.gameover-screen{justify-content:space-between;gap:12px}.gameover-screen h1{color:#4b2c12;text-align:center;margin:4px 0 0;font-size:34px;line-height:1}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0}.result-grid span{min-height:48px;padding:7px 3px 6px;font-size:9.5px}.result-grid strong{font-size:20px}.rank-message{color:#4b2c12;text-align:center;background:linear-gradient(#fffcecf5,#ffdd93f0);border:3px solid #b16716cc;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:min(88%,330px);min-height:92px;padding:16px 18px;font-weight:900;display:flex;box-shadow:inset 0 2px #ffffffd9,0 4px 12px #462a0a33}.rank-message strong{color:#9d5d17;font-size:20px}.ad-banner{color:#52676f;background:#ffffff8f;border:2px dashed #21343a73;border-radius:8px;place-items:center;width:100%;min-height:64px;margin-top:auto;font-size:12px;font-weight:800;display:grid}.ad-banner-compact{min-height:48px;margin-top:12px}.app-footer{color:#384d54;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;padding:4px 2px;font-size:12px;font-weight:900;line-height:1.25;display:flex}.app-footer a{color:#17252a;text-underline-offset:3px;text-decoration:underline}.document-frame{background:#f7f3df}.document-page{color:#17252a;background:#fffdf0;flex:1;min-height:0;padding:18px 16px 12px;overflow:auto}.document-page h1{margin:0 0 14px;font-size:28px;line-height:1.05}.document-page h2{margin:20px 0 8px;font-size:17px;line-height:1.15}.document-page p{color:#31484f;margin:0 0 11px;font-size:14px;font-weight:650;line-height:1.48}.document-page a{color:#9d2d28;overflow-wrap:anywhere;font-weight:900}.document-frame>.app-footer{background:#fff8d8;border-top:2px solid #21343a2e;flex:none;padding:10px 8px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#15232a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.modal-panel{aspect-ratio:1122/1402;width:min(88%,372px);max-height:calc(100% - 40px);box-shadow:none;filter:drop-shadow(0 18px 32px #101e2257);isolation:isolate;background:0 0;border:0;border-radius:34px;flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-panel:before{content:"";border-radius:inherit;background:var(--asset-popup) center / contain no-repeat;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.modal-panel>*{z-index:1;position:relative}.settings-panel{padding:64px 62px 50px}.ranking-panel{padding:64px 58px 50px}.modal-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.modal-header h2{color:#4b2c12;letter-spacing:0;margin:0;font-size:18px;font-weight:950;line-height:1.05}.ranking-header{margin-bottom:9px}.modal-body{flex-direction:column;gap:9px;min-height:0;font-size:10.5px;display:flex}.settings-body{scrollbar-width:none;flex:1;gap:8px;padding:0 2px;overflow-y:auto}.ranking-body{scrollbar-width:none;flex:1;padding:0 1px 5px;overflow-y:auto}.settings-body::-webkit-scrollbar{display:none}.ranking-body::-webkit-scrollbar{display:none}.modal-close-button,.modal-round-button,.save-name-button{color:#5a3413;background:#fff8daf2;border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid;box-shadow:0 6px 14px #502e0a2e}.modal-close-button,.modal-round-button{width:30px;height:30px}.save-name-button{color:#6f3e11;background:linear-gradient(180deg, #fffef6eb, #ffdc8cc7), var(--asset-button) center / 100% 100% no-repeat;width:40px;height:36px;box-shadow:inset 0 1px #ffffffe6,0 2px 6px #462a0a24}.modal-close-button svg,.modal-round-button svg{width:18px;height:18px}.save-name-button svg{width:19px;height:19px}.settings-group{flex-direction:column;gap:4px;display:flex}.inline-field{align-items:center;gap:6px;display:flex}.inline-field input{flex:1;min-width:0}.reset-group{margin-top:0}.reset-button{width:100%;min-width:0;min-height:34px;padding:0 10px;font-size:10.5px}.confirm-row{color:#17252a;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.confirm-row span{flex:1}.modal-state{color:#384d54;text-align:center;margin:10px 0;font-size:10.5px;font-weight:900}.modal-state.error{color:#b7372f}.ranking-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ranking-list li{color:#17252a;background:#fffcecd1;border:2px solid #21343a2e;border-radius:9px;grid-template-columns:26px minmax(0,1fr) 40px;align-items:center;gap:3px;min-height:28px;padding:0 5px;font-size:10.5px;display:grid}.ranking-list .my-rank-row{background:#fff8d8;border-color:#21343a;font-weight:950}.rank-number,.rank-score{font-weight:900}.rank-score{text-align:right}.rank-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;overflow:hidden}.my-best-rank{background:#ffffffdb;border:2px solid #21343a4d;border-radius:10px;flex-direction:column;gap:3px;margin-top:6px;padding:7px;display:flex}.my-best-rank strong{color:#384d54;font-size:9.5px}.my-best-rank span{color:#17252a;font-size:10.5px;font-weight:900}.modal-panel .field-label{font-size:10px}.modal-panel .field-error,.modal-panel .field-help{font-size:9.5px;line-height:1.2}.modal-panel .inline-field input,.modal-panel select{border-radius:11px;height:36px;padding:0 9px;font-size:11px}.modal-panel .icon-button{width:32px;height:32px}.modal-panel .icon-button svg{width:16px;height:16px}@media (height<=700px){.intro-art{min-height:260px}.intro-dog{width:190px;height:224px}.settings-panel{width:min(86%,346px);padding:58px 54px 44px}.ranking-panel{width:min(86%,346px);padding:58px 52px 44px}}@media (height<=620px){.top-bar{min-height:50px}.asset-icon{width:38px;height:38px}.screen-panel{padding:12px}.intro-art{min-height:180px}.intro-dog{width:158px;height:186px}.ad-banner{min-height:46px}.modal-backdrop{padding:14px}.modal-header h2{font-size:16px}.settings-panel,.ranking-panel{width:min(88%,316px);padding:48px 42px 36px}.modal-close-button,.modal-round-button{width:28px;height:28px}.save-name-button{width:36px;height:32px}.modal-panel .inline-field input,.modal-panel select{height:32px;font-size:10px}.settings-body{gap:6px}.reset-button{min-height:30px;font-size:9.5px}.ranking-list li{min-height:25px;font-size:9.5px}}
