:root{--ink:#21313a;--muted:#68757c;--paper:#fffdf8;--line:#dfe5e0;--coral:#ed6f5c;--coral-dark:#c84d3e;--teal:#006c6a;--sky:#e3f3ee;--sun:#fff0b8;--shadow:0 12px 32px #203a341a}*{box-sizing:border-box}html{background:#f5f7f4}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 82% 0,#fff2c3 0,#0000 30rem),radial-gradient(circle at 0 32%,#e0f1ee 0,#0000 25rem),#f8faf7;margin:0;font-family:ui-rounded,Hiragino Maru Gothic ProN,Yu Gothic,system-ui,sans-serif;line-height:1.65}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #255fbd}.shell{width:min(100% - 32px,1280px);margin:0 auto;padding:18px 0 56px}.site-header{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.brand{color:var(--ink);letter-spacing:-.04em;font-size:1.1rem;font-weight:800;text-decoration:none}.brand span{color:#fff;background:var(--teal);vertical-align:.2em;letter-spacing:0;border-radius:999px;padding:1px 6px;font-size:.66rem;display:inline-block}.header-actions{align-items:center;gap:12px;display:flex}.like-count{color:var(--coral-dark);white-space:nowrap;font-weight:750}.plain-button{color:var(--teal);text-underline-offset:3px;background:0 0;border:0;padding:10px 4px;font-weight:700;text-decoration:underline}.home-shell{flex-direction:column;min-height:100vh;display:flex}.home-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #c7dbd3e6;border-radius:30px;margin-top:42px;padding:clamp(32px,5vw,64px) clamp(24px,5.3vw,76px);position:relative;overflow:hidden}.home-card:after{content:"？";color:#f7cd64;opacity:.3;font-size:16rem;font-weight:900;position:absolute;bottom:-80px;right:-25px;transform:rotate(-12deg)}.home-card>*{z-index:1;position:relative}.eyebrow{color:var(--teal);letter-spacing:.08em;margin:0 0 8px;font-size:.78rem;font-weight:800}.home-card h1{letter-spacing:-.08em;margin:0;font-size:clamp(2.1rem,4.1vw,4rem);line-height:1.17}.home-title-line{display:inline}.lead{max-width:31rem;margin:24px 0 30px;font-size:1.06rem}.primary-action{color:#fff;background:var(--coral);min-height:54px;box-shadow:0 5px 0 var(--coral-dark);border:0;border-radius:16px;justify-content:center;align-items:center;gap:20px;padding:13px 21px;font-weight:850;transition:transform .15s,box-shadow .15s;display:inline-flex}.primary-action:hover{box-shadow:0 7px 0 var(--coral-dark);transform:translateY(-2px)}.primary-action:active{box-shadow:0 1px 0 var(--coral-dark);transform:translateY(4px)}.primary-action:disabled{cursor:not-allowed;color:#9c9c9c;box-shadow:none;background:#d8dbd8;transform:none}.home-status{color:var(--muted);margin-top:28px;font-size:.9rem}.home-status strong{color:var(--coral-dark);margin-left:6px}.tiny-shelf{flex-wrap:wrap;gap:8px;margin:24px 4px;display:flex}.tiny-shelf span{color:#49615e;border:1px solid var(--line);background:#ffffffa3;border-radius:999px;padding:7px 10px;font-size:.82rem}.question-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #c7dbd3e6;border-radius:26px;margin-top:18px;padding:clamp(24px,6vw,38px)}.question-meta{color:var(--teal);justify-content:space-between;gap:12px;font-size:.82rem;font-weight:800;display:flex}.question-meta span:last-child{color:#8f6a00;letter-spacing:.08em}.question-card h1{letter-spacing:-.045em;margin:21px 0 29px;font-size:clamp(1.5rem,6vw,2.15rem);line-height:1.43}.choices{border:0;gap:10px;padding:0;display:grid}.choice{color:#31444c;background:#fff;border:2px solid #dbe4df;border-radius:15px;align-items:center;gap:13px;min-height:59px;padding:12px 14px;font-weight:700;transition:border .12s,background .12s,transform .12s;display:flex}.choice:hover{border-color:#8ebdb4;transform:translateY(-1px)}.choice.selected{border-color:var(--teal);background:#e9f7f2}.choice input{appearance:none;opacity:0;width:1px;height:1px;position:absolute}.choice-index{width:29px;height:29px;color:var(--teal);background:#edf4f0;border-radius:50%;flex:none;place-items:center;font-size:.82rem;display:grid}.choice.selected .choice-index{color:#fff;background:var(--teal)}.subtle{color:var(--muted);margin:13px 0 0;font-size:.82rem}.answer-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:25px;display:flex}.reveal-button{color:var(--muted);background:0 0;border:0;border-bottom:1px solid;padding:9px 4px}.result{padding:3px 0 0}.result-label{color:var(--coral-dark);margin:0;font-size:1.08rem;font-weight:900}.result.gentle .result-label{color:var(--teal)}.result h2{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(1.45rem,6vw,2rem);line-height:1.35}.your-answer{color:var(--muted);margin:0 0 10px;font-size:.92rem}.discovery-intro{color:var(--teal);margin:0;font-weight:850}.short-reason{background:#fff6d9;border-radius:14px;margin:14px 0;padding:16px 17px;font-weight:700}.reward{color:var(--coral-dark);background:#fff0f0;border-radius:15px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:15px 17px;display:grid}.reward span{font-size:1.6rem}.reward strong{font-size:1.05rem}.reward small{color:#755d5b;grid-column:2}.details-toggle{width:100%;color:var(--teal);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;margin:21px 0 0;padding:14px 0;font-weight:800;display:flex}.details p{margin:13px 0}.trivia{background:#e9f5f1;border-radius:14px;margin:21px 0;padding:16px}.trivia p:last-child{margin-bottom:0}.sources{color:var(--muted);margin-top:20px;font-size:.78rem}.sources summary{cursor:pointer;color:#4d5d61;font-weight:700}.sources div{padding-top:8px}.sources p{margin:8px 0}.sources a{color:var(--teal)}.sources.compact{margin-top:12px}.next-area{margin:34px 0 0}.next-heading{margin:0 4px 14px}.next-heading h2{letter-spacing:-.04em;margin:0;font-size:1.55rem}.next-options{gap:10px;display:grid}.next-option{width:100%;min-height:98px;color:var(--ink);text-align:left;background:#fff;border:1px solid #dce7e1;border-radius:17px;gap:3px;padding:16px 52px 16px 17px;transition:transform .15s,border .15s;display:grid;position:relative;box-shadow:0 4px 10px #2a433b0d}.next-option:hover{border-color:#78aaa0;transform:translateY(-2px)}.next-option strong{font-size:1rem;line-height:1.45}.relation{color:var(--teal);font-size:.78rem;font-weight:800}.relation.detour{color:#a56318}.arrow{color:var(--teal);font-size:1.4rem;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.random-button{width:100%;min-height:48px;color:var(--teal);background:#edf5f2;border:1px dashed #82afa6;border-radius:14px;margin-top:13px;font-weight:800}.finish-link{width:max-content;color:var(--muted);margin:22px auto 0;font-size:.9rem;display:block}.all-complete{background:var(--sun);border-radius:17px;margin-top:18px;padding:18px}.all-complete p{margin:6px 0 13px}.all-complete div{flex-wrap:wrap;gap:8px;display:flex}.all-complete button{color:#624800;background:#fff9e8;border:1px solid #e4c66e;border-radius:999px;padding:8px 10px;font-size:.82rem}.settings-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;margin:24px 0;padding:21px}.settings-header{justify-content:space-between;align-items:center;display:flex}.settings-header h2{margin:0;font-size:1.15rem}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:13px;padding:13px 0;font-weight:700;display:flex}.setting-row input{width:24px;height:24px;accent-color:var(--teal)}.settings-note{color:var(--muted);font-size:.86rem}.reset-button{color:#a33227;background:0 0;border:1px solid #e7b3ad;border-radius:10px;padding:10px 12px;font-size:.88rem}.event-log{margin-top:20px;font-size:.76rem}.event-log ol{padding-left:20px}.event-log li{margin:5px 0}.event-log code{color:var(--teal)}.event-log span{color:var(--muted)}.save-warning{color:#7b4800;background:#fff1cf;border-radius:12px;margin:15px 0;padding:12px}.large-text{font-size:1.16rem}.large-text .question-card h1{font-size:clamp(1.75rem,6.5vw,2.4rem)}.simple-page{padding-top:70px}.simple-page h1{letter-spacing:-.05em}.primary-link{color:#fff;background:var(--teal);border-radius:12px;margin-top:15px;padding:12px 16px;font-weight:800;text-decoration:none;display:inline-block}.loading{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.sound-preview-panel{background:#f3fbf9;border:1px solid #b9d9d3;border-radius:14px;margin-top:16px;padding:15px}.sound-preview-panel .eyebrow{margin:0 0 4px}.sound-preview-panel>p:not(.eyebrow):not(.settings-note){color:var(--muted);margin:0;font-size:.84rem;line-height:1.55}.sound-preview-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.sound-preview-actions button{min-height:58px;color:var(--teal);text-align:left;background:#fff;border:1px solid #87bfb4;border-radius:10px;padding:9px;font-weight:800}.sound-preview-actions button span{color:var(--muted);margin-top:3px;font-size:.72rem;font-weight:600;display:block}.sound-preview-actions .celebration-preview{color:#8d3c18;background:#fff8e9;border-color:#e7ad4a}.sound-preview-actions .incorrect-preview{color:#655477;border-color:#c4b8d1}.sound-preview-panel .settings-note{margin:12px 0 0}@media (max-width:420px){.sound-preview-actions{grid-template-columns:1fr}}.matchstick-shell{max-width:760px}.matchstick-intro{margin:24px 0 18px}.matchstick-intro h1{letter-spacing:-.05em;margin:5px 0 8px;font-size:clamp(1.75rem,7vw,2.7rem)}.matchstick-intro p{color:var(--muted);line-height:1.7}.matchstick-difficulties{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0;display:grid}.matchstick-difficulties button{border:1px solid var(--line);min-height:53px;color:var(--teal);background:#fff;border-radius:11px;font-weight:800}.matchstick-difficulties button.active{background:var(--teal);color:#fff;border-color:var(--teal)}.matchstick-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(17px,4vw,28px)}.matchstick-card h2{margin:5px 0;font-size:clamp(1.35rem,5.5vw,2rem);line-height:1.35}.moves-left{color:#9a4a0b;margin:8px 0 16px;font-weight:850}.matchstick-equation{background:#fff9ec;border-radius:15px;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;min-height:132px;padding:10px 2px;display:flex}.match-glyph{flex:0 0 54px;width:54px;height:92px;position:relative}.match-glyph.operator{flex-basis:45px;width:45px}.match-glyph.equals{flex-basis:48px;width:48px}.match-segment{box-sizing:border-box;touch-action:manipulation;background:0 0;border:0;border-radius:9px;margin:0;padding:0;display:block;position:absolute}.match-segment.on{background:linear-gradient(135deg,#ed9f36,#bd5b19);box-shadow:0 2px 2px #8b48144d}.match-segment.off{opacity:.62;outline-offset:-1px;background:#e6d9c5;outline:1px dashed #c8b292}.match-segment.selected{outline-offset:2px;background:#0e8781;outline:3px solid #83d9d4}.match-segment:disabled{opacity:.82}.digit .segment-a,.digit .segment-g,.digit .segment-d{width:34px;height:8px;left:10px}.digit .segment-a{top:5px}.digit .segment-g{top:42px}.digit .segment-d{top:79px}.digit .segment-f,.digit .segment-b,.digit .segment-e,.digit .segment-c{width:8px;height:32px}.digit .segment-f{top:10px;left:5px}.digit .segment-b{top:10px;right:5px}.digit .segment-e{top:47px;left:5px}.digit .segment-c{top:47px;right:5px}.operator .segment-h{width:35px;height:8px;top:42px;left:5px}.operator .segment-v{width:8px;height:36px;top:28px;left:18px}.equals .segment-u,.equals .segment-l{width:38px;height:8px;left:5px}.equals .segment-u{top:34px}.equals .segment-l{top:54px}.matchstick-instruction{min-height:26px;color:var(--muted);text-align:center;margin:12px 0;font-size:.92rem}.matchstick-result{border-radius:12px;margin:12px 0;padding:12px;font-weight:800}.matchstick-result.correct{color:#166157;background:#dff6e9}.matchstick-result.gentle{color:#815914;background:#fff1cf}.matchstick-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.matchstick-actions button{min-height:43px;color:var(--teal);background:#fff;border:1px solid #9bc8c0;border-radius:10px;padding:9px 12px;font-weight:750}.matchstick-actions .primary-action{color:#fff;background:var(--teal);border-color:var(--teal)}.matchstick-actions button:disabled{opacity:.45}.matchstick-hint,.solution-steps{background:#f1f8f7;border-radius:12px;margin-top:16px;padding:13px}.matchstick-hint p,.solution-steps p{margin:5px 0 0}.solution-steps ol{margin:9px 0 0;padding-left:22px}.matchstick-note{color:var(--muted);margin:18px 0;font-size:.87rem}@media (max-width:520px){.matchstick-difficulties{grid-template-columns:repeat(2,minmax(0,1fr))}.matchstick-equation{gap:0}.match-glyph{flex-basis:47px;width:47px;margin:0 -2px;transform:scale(.88)}.match-glyph.operator{flex-basis:38px;width:38px}.match-glyph.equals{flex-basis:40px;width:40px}.matchstick-actions button{flex:42%}}@media (min-width:700px){.shell{padding-top:26px}.question-card{margin-top:30px}.next-options{grid-template-columns:repeat(3,1fr)}.next-option{min-height:170px;padding-right:20px}.arrow{align-self:end;position:static;transform:none}.random-button{width:auto;padding:0 23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.mode-choices{gap:18px;display:grid}.destination-action{background:var(--teal);color:#fff;border:0;border-radius:16px;justify-content:center;align-items:center;gap:18px;min-height:54px;padding:14px 20px;font-weight:800;text-decoration:none;display:inline-flex}.mission-intro{margin:36px 0 24px}.mission-intro h1{letter-spacing:-.04em;font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.4}.mission-shelf{gap:16px;display:grid}.mission-choice{border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);border-radius:22px;padding:24px;text-decoration:none;display:block}.mission-choice h2{margin:8px 0;font-size:1.3rem}.mission-choice p{font-size:.95rem}.mission-choice strong{color:var(--teal)}.mission-banner{background:#e8f4ef;border:1px solid #96bbb4;border-radius:22px;margin-top:24px;padding:22px}.mission-banner h2{margin:4px 0 16px;font-size:1.3rem}.mission-banner dl{gap:10px;margin:0;display:grid}.mission-banner dl div{grid-template-columns:5em 1fr;gap:8px;display:grid}.mission-banner dt{color:var(--muted);font-size:.8rem}.mission-banner dd{margin:0;font-weight:800}.mission-count{color:var(--teal);margin:16px 0 0;font-weight:800}.mission-finish{background:#fff4cb;border:1px solid #ead492;border-radius:24px;margin:24px 0;padding:26px}.mission-finish h2{margin:8px 0;line-height:1.4}.mission-bonus{color:var(--coral-dark);font-weight:800}.route-trail{padding-left:1.5em}.route-trail li{margin:7px 0}.mission-finish .destination-action{width:100%}.choice:focus-within{outline-offset:3px;outline:3px solid #255fbd}.challenge-action{min-height:54px;color:var(--teal);background:#edf5f2;border:1px dashed #82afa6;border-radius:16px;gap:2px;padding:14px 20px;font-weight:850;text-decoration:none;display:grid}.challenge-action small{color:var(--muted);font-weight:650}.challenge-header{margin:24px 0 8px}.challenge-timer{color:var(--teal);background:#e8f4ef;border-radius:15px;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 16px;display:flex}.challenge-timer strong{font-size:1.35rem}.challenge-timer.last-ten{color:#9a5700;background:#fff0d7}.challenge-card{margin-top:12px}.challenge-feedback{min-height:1.8em;margin:18px 0 0;font-weight:900}.challenge-feedback.correct{color:var(--teal)}.challenge-feedback.incorrect{color:#9a5700}.skip-button,.review-button{color:var(--teal);background:#fff;border:1px solid #9cbab3;border-radius:14px;padding:12px 16px;font-weight:800}.challenge-result{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;margin-top:32px;padding:clamp(24px,7vw,40px)}.challenge-result h1{letter-spacing:-.06em;margin:0 0 20px;font-size:clamp(2rem,9vw,3.2rem)}.challenge-result dl{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;display:grid}.challenge-result dl div{background:#f1f6f3;border-radius:13px;padding:13px}.challenge-result dt{color:var(--muted);font-size:.8rem}.challenge-result dd{margin:2px 0 0;font-size:1.25rem;font-weight:900}.challenge-result .review-button{width:100%;margin-top:12px;display:block}.challenge-review{margin-top:28px}.challenge-review h2{font-size:1.4rem}.challenge-review details{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:14px}.challenge-review summary{cursor:pointer;font-weight:800}.challenge-review p{margin:10px 0}.challenge-review .trivia{margin:12px 0 0}.matchstick-action{color:#9a5700;background:#fff5df;border:1px dashed #d5a048;border-radius:16px;gap:2px;min-height:54px;padding:14px 20px;font-weight:850;text-decoration:none;display:grid}.matchstick-action small{color:#856b46;font-weight:650}.jigsaw-action{color:#365d9a;background:#edf3ff;border:1px dashed #8eacd8;border-radius:16px;gap:2px;min-height:54px;padding:14px 20px;font-weight:850;text-decoration:none;display:grid}.jigsaw-action small{color:#62738f;font-weight:650}.jigsaw-shell{max-width:760px}.jigsaw-intro{margin:24px 0 18px}.jigsaw-intro h1{letter-spacing:-.05em;margin:5px 0 8px;font-size:clamp(1.75rem,7vw,2.7rem)}.jigsaw-intro p{color:var(--muted)}.jigsaw-controls,.jigsaw-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(17px,4vw,28px)}.jigsaw-difficulties{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.jigsaw-difficulties button,.jigsaw-image-row button{color:#365d9a;background:#f8fbff;border:1px solid #aac7de;border-radius:11px;min-height:48px;font-weight:800}.jigsaw-difficulties button.active{color:#fff;background:#365d9a;border-color:#365d9a}.jigsaw-image-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:15px;display:flex}.jigsaw-image-row span{display:grid}.jigsaw-image-row small{color:var(--muted)}.jigsaw-image-row button{padding:8px 12px}.jigsaw-card{margin-top:18px}.jigsaw-status{justify-content:space-between;align-items:start;gap:14px;display:flex}.jigsaw-status h2{margin:4px 0;font-size:clamp(1.45rem,5.5vw,2rem)}.jigsaw-status dl{grid-template-columns:repeat(2,minmax(65px,1fr));gap:7px;margin:0;display:grid}.jigsaw-status dl div{background:#edf5fa;border-radius:10px;padding:8px 10px}.jigsaw-status dt{color:var(--muted);font-size:.73rem}.jigsaw-status dd{color:#365d9a;margin:1px 0;font-weight:900}.jigsaw-reference-toggle{margin:15px 0 10px}.jigsaw-reference-toggle button,.jigsaw-actions button{color:#365d9a;background:#fff;border:1px solid #9cbcd0;border-radius:10px;min-height:42px;padding:9px 12px;font-weight:800}.jigsaw-reference{background:#f2f7ff;border-radius:14px;margin:10px 0 16px;padding:12px}.jigsaw-reference img{border-radius:10px;width:min(100%,250px);margin:auto;display:block}.jigsaw-reference figcaption{text-align:center;color:var(--muted);margin-top:7px;font-size:.82rem}.jigsaw-board{grid-template-columns:repeat(var(--jigsaw-grid),1fr);aspect-ratio:1;background:#e3eff1;background-image:linear-gradient(#edf6fac7,#edf6fac7),var(--jigsaw-image);background-size:cover;border:5px solid #496a89;border-radius:14px;width:min(100%,560px);margin:auto;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff}.jigsaw-slot{touch-action:none;background:0 0;border:1px solid #3357745c;min-width:0;padding:0;position:relative;overflow:hidden}.jigsaw-slot.filled{border:0}.jigsaw-slot:not(.filled):hover,.jigsaw-slot:not(.filled):focus-visible{background:#ffffff57}.jigsaw-piece{aspect-ratio:1;background-color:#e5edf4;background-repeat:no-repeat;border:0;width:100%;display:block;position:relative}.jigsaw-piece.placed{aspect-ratio:auto;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.jigsaw-message{color:#365d9a;text-align:center;min-height:3.1em;margin:13px 0;font-weight:750}.jigsaw-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.jigsaw-actions span{color:var(--muted);font-size:.82rem;font-weight:700}.jigsaw-tray-section{margin-top:15px}.jigsaw-tray-section h3{margin:0;font-size:1.1rem}.jigsaw-tray-section p{color:var(--muted);margin:2px 0 10px;font-size:.82rem}.jigsaw-tray{background:#eef4f8;border-radius:14px;grid-template-columns:repeat(5,minmax(52px,1fr));gap:8px;max-height:330px;padding:6px;display:grid;overflow-y:auto}.tray-piece{cursor:grab;touch-action:none;color:#0000;border:2px solid #fff;border-radius:8px;min-width:0;font-size:0;box-shadow:0 2px 5px #21313a2e}.tray-piece.selected{border-color:#e76f51;outline:3px solid #f7c4b7;transform:translateY(-2px)}.jigsaw-complete{text-align:center;background:#e8f7ee;border:1px solid #a9d7bc;border-radius:16px;margin:16px 0;padding:18px}.jigsaw-complete h3{margin:4px 0;font-size:1.4rem}.jigsaw-complete p{margin:4px 0 12px}.jigsaw-complete img{border-radius:12px;width:min(100%,310px);margin:12px auto;display:block}.jigsaw-complete div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.jigsaw-complete button{color:#fff;background:#247766;border:0;border-radius:10px;min-height:43px;padding:9px 13px;font-weight:800}.jigsaw-note{color:var(--muted);margin:18px 0;font-size:.85rem}.jigsaw-game-area{display:block}@media (min-width:700px){.mission-shelf{grid-template-columns:1fr 1fr}.mission-banner dl{grid-template-columns:repeat(3,1fr)}.mission-banner dl div{display:block}.mission-banner dd{margin-top:4px}.mode-choices{grid-template-columns:1fr 1fr}.jigsaw-game-area{grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:0 16px;display:grid}.jigsaw-board{grid-area:1/1;width:100%}.jigsaw-message{grid-area:2/1}.jigsaw-actions{grid-area:3/1}.jigsaw-tray-section{grid-area:1/2/span 3;margin-top:0}.jigsaw-tray{grid-template-columns:repeat(3,minmax(45px,1fr));max-height:560px}.jigsaw-complete{grid-column:1/-1}}@media (max-width:420px){.jigsaw-difficulties{grid-template-columns:1fr}.jigsaw-status{display:block}.jigsaw-status dl{margin-top:10px}.jigsaw-tray{grid-template-columns:repeat(4,minmax(54px,1fr));gap:7px}.jigsaw-image-row{align-items:start}.jigsaw-image-row button{flex:none}.jigsaw-actions button{flex:auto}}.spot-action{color:#7a4a93;background:#f7effc;border:1px dashed #bd91d0;border-radius:16px;gap:2px;min-height:54px;padding:14px 20px;font-weight:850;text-decoration:none;display:grid}.spot-action small{color:#796787;font-weight:650}.spot-shell{max-width:980px}.spot-intro{margin:24px 0 18px}.spot-intro h1{letter-spacing:-.05em;margin:5px 0 8px;font-size:clamp(1.75rem,7vw,2.7rem)}.spot-intro p{color:var(--muted)}.spot-controls,.spot-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(17px,4vw,28px)}.spot-difficulties{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.spot-difficulties button,.spot-puzzle-row button{color:#7a4a93;background:#fcf8ff;border:1px solid #d0b3df;border-radius:11px;min-height:48px;font-weight:800}.spot-difficulties button.active{color:#fff;background:#7a4a93;border-color:#7a4a93}.spot-puzzle-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:15px;display:flex}.spot-puzzle-row span{display:grid}.spot-puzzle-row small,.spot-note{color:var(--muted)}.spot-puzzle-row button{padding:8px 12px}.spot-card{margin-top:18px}.spot-status{justify-content:space-between;align-items:start;gap:14px;display:flex}.spot-status h2{margin:4px 0;font-size:clamp(1.45rem,5.5vw,2rem)}.spot-status dl{grid-template-columns:repeat(2,minmax(65px,1fr));gap:7px;margin:0;display:grid}.spot-status dl div{background:#f4eef9;border-radius:10px;padding:8px 10px}.spot-status dt{color:var(--muted);font-size:.73rem}.spot-status dd{color:#7a4a93;margin:1px 0;font-weight:900}.spot-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.spot-image-panel{aspect-ratio:4/3;cursor:crosshair;touch-action:manipulation;background:#eee;border:3px solid #6d5b7b;border-radius:14px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.spot-image-panel:focus-visible{outline-offset:3px;outline:3px solid #265fba}.spot-image-panel img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.spot-marker{color:#653d78;pointer-events:none;background:#fffdf9e6;border:3px solid #7a4a93;border-radius:50%;place-items:center;width:clamp(27px,6vw,40px);height:clamp(27px,6vw,40px);font-size:clamp(.8rem,2.8vw,1.15rem);font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%)}.spot-marker.hint{color:#8a4e00;border-color:#d68125;animation:.7s ease-in-out infinite alternate spot-pulse;box-shadow:0 0 0 7px #f9cb6b77}.spot-message{color:#6f477f;text-align:center;min-height:3.1em;margin:13px 0;font-weight:750}.spot-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.spot-actions button{color:#704888;background:#fff;border:1px solid #c7afd4;border-radius:10px;min-height:42px;padding:9px 12px;font-weight:800}.spot-actions button:disabled{opacity:.45}.spot-actions span{color:var(--muted);font-size:.82rem;font-weight:700}.spot-complete{text-align:center;background:#f3eafa;border:1px solid #d0addd;border-radius:16px;margin:16px 0;padding:18px}.spot-complete h3{margin:4px 0;font-size:1.4rem}.spot-complete p{margin:4px 0 12px}.spot-complete div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.spot-complete button{color:#fff;background:#7a4a93;border:0;border-radius:10px;min-height:43px;padding:9px 13px;font-weight:800}.spot-note{margin:18px 0;font-size:.85rem}@keyframes spot-pulse{to{transform:translate(-50%,-50%)scale(1.12)}}@media (max-width:620px){.spot-images{grid-template-columns:1fr;gap:12px}.spot-difficulties{grid-template-columns:1fr}.spot-status{display:block}.spot-status dl{margin-top:10px}.spot-actions button{flex:42%}.spot-puzzle-row{align-items:start}.spot-puzzle-row button{flex:none}}.maze-action{color:#315f86;background:#eef7fc;border:1px dashed #8ab8d4;border-radius:16px;gap:2px;min-height:54px;padding:14px 20px;font-weight:850;text-decoration:none;display:grid}.maze-action small{color:#5f7484;font-weight:650}.maze-shell{max-width:780px}.maze-intro{margin:24px 0 18px}.maze-intro h1{letter-spacing:-.05em;margin:5px 0 8px;font-size:clamp(1.75rem,7vw,2.7rem)}.maze-intro p{color:var(--muted)}.maze-controls,.maze-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(17px,4vw,28px)}.maze-difficulties{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.maze-difficulties button,.new-maze{color:#315f86;background:#f7fbff;border:1px solid #9ec1d6;border-radius:11px;min-height:48px;font-weight:800}.maze-difficulties button.active,.new-maze{color:#fff;background:#315f86}.new-maze{margin-top:12px;padding:9px 16px}.maze-card{margin-top:18px}.maze-status{justify-content:space-between;gap:14px;display:flex}.maze-status h2{margin:4px 0;font-size:clamp(1.45rem,5.5vw,2rem)}.maze-status dl{grid-template-columns:repeat(2,minmax(65px,1fr));gap:7px;margin:0;display:grid}.maze-status dl div{background:#edf6fb;border-radius:10px;padding:8px 10px}.maze-status dt{color:var(--muted);font-size:.73rem}.maze-status dd{color:#315f86;margin:1px 0;font-weight:900}.maze-board{grid-template-columns:repeat(var(--maze-cols),1fr);aspect-ratio:1;background:#fff;border:3px solid #315f86;width:min(100%,560px);margin:18px auto;display:grid}.maze-cell{border:2px solid #315f86;place-items:center;min-width:0;min-height:0;font-size:clamp(.45rem,2.5vw,.9rem);font-weight:900;display:grid;position:relative}.maze-cell.solution{background:#e5f4e9}.maze-cell.player{background:#fff1bd}.maze-cell b{color:#a4471e;font-size:1.1em}.maze-cell span{color:#174f42;position:absolute}.maze-cell span[aria-label=ゴール]{color:#66438a}.maze-message{color:#315f86;text-align:center;min-height:1.5em;font-weight:800}.maze-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.maze-actions button,.maze-pad button{color:#315f86;background:#fff;border:1px solid #9ec1d6;border-radius:10px;min-height:42px;padding:9px 12px;font-weight:800}.maze-actions span{color:var(--muted);font-size:.82rem;font-weight:700}.maze-pad{grid-template-columns:repeat(3,58px);justify-content:center;gap:7px;margin:10px auto;display:grid}.maze-pad button:first-child{grid-column:2}.maze-pad button{font-size:1.25rem}.maze-complete{text-align:center;background:#e7f5ec;border:1px solid #a6d6b6;border-radius:16px;margin:16px 0;padding:18px}.maze-complete h3{margin:4px 0}.maze-complete button{color:#fff;background:#247766;border:0;border-radius:10px;margin:4px;padding:9px 12px;font-weight:800}@media (max-width:420px){.maze-difficulties{grid-template-columns:1fr}.maze-status{display:block}.maze-status dl{margin-top:10px}.maze-actions button{flex:42%}.maze-board{border-width:2px}.maze-cell{border-width:1px}}.maze-board{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.maze-board.tracing{cursor:grabbing}.maze-cell.player{z-index:1;transform:scale(.92);box-shadow:inset 0 0 0 2px #d46a36}.maze-cell.player b{font-size:1.25em}.maze-cell.player{z-index:2;box-shadow:none!important;background:0 0!important;transform:none!important}.maze-cell.player b{aspect-ratio:1;z-index:3;background:#ed8350;border:2px solid #9d4529;border-radius:50%;width:68%;position:absolute;box-shadow:0 1px 2px #39201355}.maze-cell.player b:after{content:"";background:#fff4db;border-radius:50%;position:absolute;inset:28%}.maze-board,.maze-cell{overflow:visible}.maze-cell.player b{width:max(68%,12px)}.maze-board{grid-template-rows:repeat(var(--maze-cols),minmax(0,1fr))}.maze-cell.player b{pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%)}.site-footer{flex-wrap:wrap;justify-content:center;gap:16px;max-width:980px;margin:24px auto;padding:16px 24px;font-size:.85rem;display:flex}.site-footer a{color:var(--teal)}.mode-choices>.primary-action,.mode-choices>.destination-action{text-align:left;gap:2px;display:grid}.mode-choices small{font-size:.82rem;font-weight:600}.privacy-page h1{font-size:1.7rem}.privacy-page h2{font-size:1.15rem}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #255fbd}@media (prefers-reduced-motion:reduce){.spot-marker.hint{animation:none}}.maze-pad button:nth-child(2){grid-area:2/1}.maze-pad button:nth-child(3){grid-area:2/2}.maze-pad button:nth-child(4){grid-area:2/3}.home-card h1{font-size:clamp(1.75rem,4.1vw,4rem)}.home-title-nowrap{white-space:nowrap}@media (min-width:700px){.mode-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.brand{font-size:1.35rem}.mode-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.home-title-line{white-space:nowrap;display:block}}
