:root { color-scheme: light; font-family: "Trebuchet MS","Segoe UI",Arial,sans-serif; color:#293d39; background:#f6f0df; font-synthesis:none; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; background:radial-gradient(circle at 14% 0,#fff9ea 0 17%,transparent 44%),#f6f0df; } button { font:inherit; } button:focus-visible { outline:4px solid #efb64c; outline-offset:3px; }
.app { width:min(100% - 32px,1120px); margin:0 auto; padding:22px 0 46px; }.topbar { min-height:66px; margin-bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.brand { border:0; padding:0; display:inline-flex; align-items:center; gap:12px; color:inherit; background:transparent; text-align:left; cursor:pointer; }.brand-mark { width:54px; height:52px; display:flex; align-items:center; justify-content:center; gap:1px; border-radius:17px; color:white; background:#439172; box-shadow:0 6px 0 #306e56; transform:rotate(-2deg); }.brand-mark::before { content:""; width:35px; height:12px; position:absolute; margin-top:-61px; border-radius:50% 50% 4px 4px; background:#df735d; }.brand-mark b,.brand-mark i,.brand-mark em { font-size:15px; font-style:normal; }.brand strong,.brand small { display:block; }.brand strong { font-size:18px; }.brand small { margin-top:2px; color:#6e7b75; font-size:12px; }.top-actions { display:flex; gap:10px; }.sound-button,.quiet-button,.hint-button { min-height:44px; padding:0 16px; border:1px solid #ded3bb; border-radius:14px; color:#53655f; background:rgba(255,255,255,.72); font-weight:800; cursor:pointer; }.sound-button { display:flex; align-items:center; gap:8px; }.sound-button:hover,.quiet-button:hover,.hint-button:hover { background:white; transform:translateY(-1px); }
.hero { min-height:407px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border:1px solid #ded2b8; border-radius:34px; background:#fffaf0; box-shadow:0 18px 60px rgba(73,65,44,.11); }.hero-copy { z-index:2; padding:58px 30px 54px 58px; }.eyebrow { margin:0 0 12px; color:#c35f4c; font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; } h1,h2,p { margin-top:0; }.hero h1 { max-width:530px; margin-bottom:18px; color:#2d4942; font-family:Georgia,"Times New Roman",serif; font-size:clamp(43px,5.1vw,67px); line-height:.98; letter-spacing:-.035em; }.hero-copy>p:not(.eyebrow) { max-width:505px; color:#65766f; font-size:18px; line-height:1.58; }.primary-button { min-height:54px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:16px; color:white; background:#df735d; box-shadow:0 6px 0 #b65444; font-weight:900; cursor:pointer; transition:.15s ease; }.primary-button:hover { transform:translateY(-2px); box-shadow:0 8px 0 #b65444; }.primary-button:active { transform:translateY(4px); box-shadow:0 2px 0 #b65444; }
.hero-scene { min-height:407px; position:relative; overflow:hidden; background:linear-gradient(#bfe5dd 0 61%,#94c98d 61%); }.hero-sun,.sun { width:58px; height:58px; position:absolute; right:35px; top:30px; display:grid; place-items:center; border-radius:50%; color:#e99738; background:#ffd578; font-size:23px; }.hero-cloud,.cloud { width:86px; height:23px; position:absolute; top:49px; left:34px; border-radius:20px; background:rgba(255,255,255,.78); }.hero-cloud::before,.hero-cloud::after,.cloud::before,.cloud::after { content:""; position:absolute; bottom:0; border-radius:50%; background:inherit; }.hero-cloud::before,.cloud::before { width:37px; height:37px; left:13px; }.hero-cloud::after,.cloud::after { width:28px; height:28px; right:9px; }.hill { width:380px; height:240px; position:absolute; bottom:-120px; border-radius:50% 50% 0 0; background:#6eaf75; transform:rotate(-8deg); }.hill.back { left:-100px; opacity:.65; }.hill.front { right:-130px; bottom:-100px; background:#4b9567; transform:rotate(10deg); }.hero-stones { position:absolute; z-index:3; left:50%; bottom:70px; width:92%; display:flex; align-items:center; justify-content:space-around; transform:translateX(-50%) rotate(-4deg); }.hero-stones span { width:72px; height:60px; display:grid; place-items:center; border:5px solid #fff4d7; border-radius:50% 46% 44% 48%; color:#314b44; background:#dec08a; box-shadow:0 7px 0 rgba(65,77,56,.2); font-size:28px; font-weight:900; transform:rotate(4deg); }.hero-stones span:nth-child(even) { transform:translateY(-24px) rotate(4deg); }.hero-stones .missing { color:#d86e59; border-style:dashed; background:#fff8e5; }.hero-flag { width:58px; height:53px; position:absolute; z-index:4; right:24px; bottom:150px; display:grid; place-items:center; color:white; background:#df735d; font-size:24px; }.hero-flag::after { content:""; width:7px; height:110px; position:absolute; top:0; right:52px; background:#6b725b; }
.how { padding:58px 18px 32px; text-align:center; }.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.how-grid article { padding:24px 20px; border-radius:22px; background:rgba(255,255,255,.55); }.how-grid span { min-width:48px; height:44px; padding:0 8px; margin:0 auto 12px; display:inline-grid; place-items:center; border-radius:22px; color:#694e2c; background:#f0c173; font-size:19px; font-weight:900; }.how-grid strong { display:block; font-size:17px; }.how-grid p { margin:7px 0 0; color:#708078; font-size:14px; line-height:1.45; }
.levels { padding:44px; border-radius:30px; background:#e9eee4; }.section-heading { margin-bottom:24px; display:flex; align-items:end; justify-content:space-between; gap:30px; }.section-heading h2 { margin-bottom:0; color:#304b44; font-family:Georgia,serif; font-size:36px; }.section-heading>p { max-width:370px; margin-bottom:3px; color:#697a73; line-height:1.5; }.level-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.level-card { min-width:0; min-height:340px; padding:20px; position:relative; display:flex; flex-direction:column; align-items:stretch; overflow:hidden; border:1px solid #d7d7c5; border-radius:24px; color:#314741; background:#fffdf8; text-align:left; cursor:pointer; transition:.18s ease; }.level-card:hover { transform:translateY(-5px); box-shadow:0 14px 28px rgba(49,71,65,.13); }.level-number { width:34px; height:34px; position:absolute; top:16px; left:16px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--accent); font-weight:900; }.level-preview { min-height:126px; padding:38px 0 12px; display:flex; align-items:center; justify-content:center; gap:4px; }.level-preview i { width:42px; height:38px; display:grid; place-items:center; border:4px solid white; border-radius:48% 48% 43% 45%; color:#314a43; background:color-mix(in srgb,var(--accent) 20%,#fff4d7); box-shadow:0 5px 0 #d7d0bc; font-style:normal; font-weight:900; }.level-preview i:nth-child(even) { transform:translateY(-8px); }.level-preview i.gap { color:var(--accent); border-style:dashed; background:#fff; }.level-copy small,.level-copy strong,.level-copy em { display:block; }.level-copy small { color:var(--accent); font-weight:900; }.level-copy strong { margin-top:7px; font-family:Georgia,serif; font-size:25px; line-height:1.05; }.level-copy em { margin-top:10px; color:#74817c; font-size:14px; font-style:normal; line-height:1.45; }.level-status { margin-top:auto; padding-top:18px; display:flex; align-items:center; justify-content:space-between; color:#718078; font-size:13px; font-weight:800; }.level-status b { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--accent); font-size:19px; }.mini-stars { color:#e5a73a; letter-spacing:2px; }.adult-note { margin-top:24px; padding:22px 28px; display:flex; align-items:center; gap:16px; border:1px dashed #bdc9af; border-radius:20px; color:#607269; background:rgba(246,250,237,.7); }.adult-note>span { font-size:30px; }.adult-note p { margin:0; line-height:1.5; }.adult-note strong { display:block; color:#395249; }
.game-shell { padding:34px 40px 40px; border:1px solid #ded3bc; border-radius:30px; background:#fffaf0; box-shadow:0 18px 55px rgba(75,67,45,.1); }.game-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }.game-head h1 { margin:0; color:#2e4a43; font-family:Georgia,serif; font-size:clamp(30px,4vw,46px); line-height:1.05; }.round-count { min-width:80px; display:flex; align-items:baseline; justify-content:flex-end; color:#728079; }.round-count strong { color:var(--level-accent); font-size:34px; }.round-count span { font-weight:800; }.progress-track { margin:24px 0 28px; display:grid; grid-template-columns:repeat(10,1fr); gap:7px; }.progress-track i { height:7px; border-radius:10px; background:#e6dfcd; }.progress-track i.done { background:#69a386; }.progress-track i.current { background:var(--level-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--level-accent) 20%,transparent); }
.path-stage { min-height:390px; padding:123px 50px 72px; position:relative; overflow:hidden; border:6px solid white; border-radius:26px; background:linear-gradient(#c5e8df 0 62%,#98cb8e 62% 83%,#d9bd7e 83%); box-shadow:inset 0 0 0 1px #b6d7cf,0 8px 20px rgba(66,87,76,.1); }.stage-sky { position:absolute; inset:0; pointer-events:none; }.sun { width:50px; height:50px; right:28px; top:23px; font-size:20px; }.cloud { top:31px; left:39px; }.stage-hills i { width:430px; height:200px; position:absolute; bottom:16px; border-radius:50%; background:#79b57d; }.stage-hills i:first-child { left:-170px; }.stage-hills i:last-child { right:-170px; background:#5fa26f; }.start-sign { position:absolute; z-index:3; left:22px; bottom:51px; padding:6px 9px; border-radius:8px; color:#fff; background:#60756d; font-size:10px; font-weight:900; transform:rotate(-4deg); }.finish-flag { width:56px; height:48px; position:absolute; z-index:3; right:22px; top:74px; display:grid; place-items:center; color:white; background:#df735d; font-size:20px; }.finish-flag::before { content:""; width:6px; height:112px; position:absolute; top:0; left:-6px; background:#6a735f; }.finish-flag small { position:absolute; top:52px; color:#53645e; font-size:9px; font-weight:900; }.number-path { position:relative; z-index:4; display:grid; grid-template-columns:repeat(6,1fr); align-items:center; gap:12px; }.number-path.five { grid-template-columns:repeat(5,1fr); padding:0 45px; }.path-stone { min-width:0; height:112px; display:grid; place-items:center; position:relative; border:7px solid #fff4d8; border-radius:50% 47% 45% 49%; color:#304a43; background:#d9bc87; box-shadow:0 9px 0 rgba(72,77,57,.2); transform:rotate(-2deg); }.path-stone:nth-child(even) { transform:translateY(-40px) rotate(2deg); }.path-stone span { font-family:Georgia,serif; font-size:47px; font-weight:900; font-variant-numeric:tabular-nums; }.path-stone.gap { border-style:dashed; color:#a9a28f; background:rgba(255,252,239,.88); }.path-stone.active { color:var(--level-accent); border-color:#fff; animation:stone-pulse 1.8s infinite; }.path-stone.filled { color:#357b63; border-style:solid; background:#eef5dc; }.path-stone em { position:absolute; top:-31px; left:50%; padding:5px 11px; border-radius:13px; color:var(--level-accent); background:white; box-shadow:0 3px 10px rgba(0,0,0,.1); font-size:11px; font-weight:900; font-style:normal; transform:translateX(-50%); }.direction-note { position:absolute; z-index:3; left:50%; bottom:21px; color:#fffbe6; font-size:11px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; transform:translateX(-50%); white-space:nowrap; }
.answer-panel { margin:23px auto 0; text-align:center; }.answer-panel>p { margin-bottom:13px; color:#566a63; font-weight:900; }.answers { display:grid; grid-template-columns:repeat(4,minmax(0,112px)); justify-content:center; gap:12px; }.answer-button { min-height:86px; position:relative; border:2px solid #dfd6c4; border-radius:20px; color:#314a43; background:white; box-shadow:0 5px 0 #d7cfbd; cursor:pointer; transition:.12s ease; }.answer-button:hover:not(:disabled) { transform:translateY(-3px); border-color:var(--level-accent); box-shadow:0 8px 0 #d7cfbd; }.answer-button span { font-size:40px; line-height:1; font-weight:900; font-variant-numeric:tabular-nums; }.answer-button small { width:21px; height:21px; position:absolute; right:8px; bottom:6px; display:grid; place-items:center; border-radius:7px; color:#8b8c83; background:#f2eee4; font-size:11px; }.answer-button.wrong { border-color:#db7867; color:#b6584a; background:#fff0eb; }.answer-button.used { opacity:.46; }.answer-button.hint-target { border-color:#e7af44; background:#fff8da; animation:hint-glow 1.15s infinite; }.answer-button:disabled { cursor:default; }.game-tools { margin-top:18px; display:flex; justify-content:center; }.hint-button:disabled { opacity:.5; cursor:default; }.feedback-card { min-height:88px; margin-top:22px; padding:15px 16px 15px 19px; display:flex; align-items:center; gap:14px; border:1px solid #d6e4d2; border-radius:20px; background:#eef5ec; }.feedback-icon { width:49px; height:49px; flex:0 0 auto; display:grid; place-items:center; border-radius:16px; background:white; font-size:24px; }.feedback-card p { margin:0; }.feedback-card strong,.feedback-card small { display:block; }.feedback-card small { margin-top:4px; color:#6b7b74; }.feedback-card.correct { border-color:#b7dbc5; background:#e3f3e9; }.feedback-card.wrong { border-color:#edc9bb; background:#fff0e9; }.feedback-card.hint { border-color:#ead491; background:#fff7d9; }.feedback-card .compact { min-height:48px; margin-left:auto; }
.result-wrap { min-height:620px; padding:30px; display:grid; place-items:center; border-radius:30px; background:linear-gradient(160deg,#c7e8df,#f9e7b8); box-shadow:0 18px 55px rgba(75,67,45,.1); }.result-card { width:min(100%,650px); padding:42px; border-radius:28px; background:rgba(255,253,246,.94); text-align:center; box-shadow:0 18px 45px rgba(66,81,72,.14); }.result-scene { display:flex; align-items:center; justify-content:center; gap:7px; }.result-scene span { width:61px; height:54px; display:grid; place-items:center; border:5px solid #fff0d1; border-radius:50%; color:#2d4942; background:#d9bc87; box-shadow:0 6px 0 #9c8963; font-family:Georgia,serif; font-size:31px; font-weight:900; }.result-scene span:nth-child(2) { transform:translateY(-12px); }.result-scene i { margin-left:8px; color:#df735d; font-size:45px; font-style:normal; }.result-card h1 { margin-bottom:12px; color:#2e4a43; font-family:Georgia,serif; font-size:47px; }.result-card>p:not(.eyebrow) { color:#687a72; }.result-stars { margin:16px 0; color:#e9a936; font-size:48px; letter-spacing:8px; text-shadow:0 3px 0 #c58624; }.result-stats { margin:24px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.result-stats span { padding:15px 8px; border-radius:17px; background:#f1eee3; }.result-stats strong,.result-stats small { display:block; }.result-stats strong { color:#3f826a; font-size:28px; }.result-stats small { color:#78847e; }.result-actions { display:flex; justify-content:center; gap:12px; }.quiet-button.large { min-height:54px; }
@keyframes stone-pulse { 50% { transform:scale(1.04) rotate(-2deg); } } @keyframes hint-glow { 50% { box-shadow:0 0 0 7px rgba(234,181,62,.22),0 5px 0 #d7cfbd; } }
@media (max-width:900px) { .app { width:min(100% - 24px,1120px); }.hero { grid-template-columns:1fr; }.hero-copy { padding:45px 42px; }.hero-scene { min-height:345px; }.level-grid { grid-template-columns:1fr; }.level-card { min-height:225px; display:grid; grid-template-columns:190px 1fr; grid-template-rows:1fr auto; column-gap:18px; }.level-preview { grid-row:1/3; }.level-copy { align-self:center; }.level-status { align-self:end; }.section-heading { align-items:start; }.path-stage { padding-left:22px; padding-right:22px; }.number-path { gap:7px; }.number-path.five { padding:0 30px; }.path-stone { height:100px; } }
@media (max-width:650px) { .app { width:min(100% - 16px,1120px); padding-top:10px; }.topbar { margin-bottom:12px; }.brand small,.sound-button span:last-child,.quiet-button { display:none; }.sound-button { width:45px; padding:0; justify-content:center; }.hero { border-radius:24px; }.hero-copy { padding:34px 24px 30px; }.hero h1 { font-size:42px; }.hero-copy>p:not(.eyebrow) { font-size:16px; }.hero-scene { min-height:300px; }.hero-stones span { width:56px; height:49px; font-size:22px; }.how { padding:42px 0 24px; }.how-grid { grid-template-columns:1fr; }.how-grid article { display:grid; grid-template-columns:65px 1fr; text-align:left; }.how-grid span { grid-row:1/3; margin:0; }.levels { padding:28px 16px; border-radius:24px; }.section-heading { display:block; }.section-heading h2 { font-size:31px; }.section-heading>p { margin-top:12px; }.level-card { min-height:320px; display:flex; }.level-preview { min-height:127px; }.game-shell { padding:24px 12px 28px; border-radius:24px; }.game-head { align-items:flex-start; }.game-head h1 { font-size:30px; }.round-count { min-width:57px; }.round-count strong { font-size:27px; }.progress-track { margin:18px 0 22px; gap:4px; }.path-stage { min-height:301px; padding:113px 7px 63px; border-width:4px; }.number-path,.number-path.five { padding:0; gap:3px; }.path-stone { height:73px; border-width:4px; box-shadow:0 6px 0 rgba(72,77,57,.2); }.path-stone:nth-child(even) { transform:translateY(-28px) rotate(2deg); }.path-stone span { font-size:clamp(25px,8vw,34px); }.path-stone em { top:-27px; padding:4px 7px; font-size:9px; }.start-sign { left:8px; bottom:40px; }.finish-flag { width:42px; height:39px; right:10px; top:66px; }.finish-flag::before { height:85px; }.direction-note { bottom:15px; font-size:9px; }.answers { grid-template-columns:repeat(4,1fr); gap:7px; }.answer-button { min-height:72px; border-radius:15px; }.answer-button span { font-size:32px; }.feedback-card { align-items:flex-start; }.feedback-card.correct { flex-wrap:wrap; }.feedback-card.correct p { flex:1; }.feedback-card .compact { width:100%; margin:12px 0 0; }.result-wrap { min-height:560px; padding:14px; border-radius:24px; }.result-card { padding:30px 16px; }.result-card h1 { font-size:39px; }.result-stars { font-size:40px; }.result-stats small { font-size:11px; }.result-actions { flex-direction:column; }.result-actions button { width:100%; }.quiet-button.large { display:inline-flex; } }
@media (max-width:370px) { .hero h1 { font-size:37px; }.game-head h1 { font-size:27px; }.path-stone span { font-size:24px; }.answer-button span { font-size:28px; }.result-stars { font-size:34px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
