@font-face{font-family:Pretendard;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-background:#f7f9fd;--color-surface:#fff;--color-text:#142b4d;--color-text-secondary:#465b78;--color-primary:#2457d6;--color-primary-hover:#1d43ab;--color-button-depth:#15388f;--color-on-primary:#fff;--color-primary-soft:#e9f1ff;--color-border:#7b8ca8;--color-success:#216348;--color-caution:#795000;--color-error:#a33232;--color-focus:#142b4d;--color-accent:#ffc857;--color-divider:#dae3f0;--color-shopping-soft:#fff2d6;--color-shopping-ink:#795000;--color-sequence-soft:#e5f3ec;--color-sequence-ink:#216348;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-button:14px;--radius-panel:24px;font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0;font-size:1.25rem;font-weight:500;line-height:1.6}button{font:inherit}h1,h2,h3,p{overflow-wrap:anywhere;margin:0}h1,h2,h3{letter-spacing:-.02em;font-weight:700;line-height:1.35}h1{font-size:clamp(2rem,4.3vw,3.25rem)}h2{font-size:1.75rem}h3{font-size:1.5rem}a{color:var(--color-primary);text-underline-offset:5px}:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}.page-width{width:100%;max-width:1184px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:max(var(--space-6), env(safe-area-inset-top));padding-bottom:var(--space-6);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-3);letter-spacing:-.055em;min-height:56px;color:var(--color-text);font-size:1.75rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-symbol{object-fit:contain;flex:0 0 44px;width:44px;height:44px;display:block}.welcome{gap:var(--space-4);padding:var(--space-8) var(--space-6);background:var(--color-primary-soft);border-radius:32px;align-items:center;display:grid;position:relative}.welcome-copy{z-index:1;min-width:0;position:relative}.welcome-badge{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);color:var(--color-primary);font-size:1.125rem;font-weight:600;display:inline-flex}.welcome-badge span,h1 span{color:var(--color-primary)}.intro{margin-top:var(--space-6);color:var(--color-text-secondary)}.button{justify-content:center;align-items:center;gap:var(--space-3);min-width:48px;min-height:64px;padding:12px var(--space-6);border:2px solid var(--color-primary);border-radius:var(--radius-button);cursor:pointer;overflow-wrap:anywhere;font-size:1.5rem;font-weight:700;line-height:1.35;text-decoration:none;transition:background-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.button--primary{color:var(--color-on-primary);background:var(--color-primary);box-shadow:0 4px 0 var(--color-button-depth)}.button--secondary{color:var(--color-primary);background:var(--color-surface);box-shadow:0 2px 0 var(--color-divider)}.button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.button:disabled{color:var(--color-text-secondary);border-color:var(--color-border);background:var(--color-background);box-shadow:none;cursor:default}.storybook-link{min-height:56px;padding:10px 16px;font-size:1.125rem}.hero-link{gap:var(--space-3);width:100%;padding-inline:var(--space-4);margin-top:var(--space-8)}.welcome-art{justify-self:center;width:100%;max-width:360px;height:auto}.games-section{padding-top:var(--space-12);scroll-margin-top:var(--space-6)}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.eyebrow{color:var(--color-primary);margin-bottom:var(--space-2);font-size:1.125rem;font-weight:600}.section-caption{color:var(--color-text-secondary);font-size:1.125rem}.game-grid{gap:20px;display:grid}.game-card{--activity-soft:var(--color-primary-soft);--activity-ink:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-panel);min-width:0;overflow:hidden;box-shadow:0 4px 16px #142b4d06}.game-card--shopping{--activity-soft:var(--color-shopping-soft);--activity-ink:var(--color-shopping-ink)}.game-card--sequence{--activity-soft:var(--color-sequence-soft);--activity-ink:var(--color-sequence-ink)}.game-card-visual{min-height:200px;margin:var(--space-3) var(--space-3) 0;padding:var(--space-3);background:var(--activity-soft);color:var(--activity-ink);border-radius:16px;place-items:center;display:grid;position:relative}.activity-image{object-fit:contain;width:min(100%,196px);height:auto;display:block}.game-number{top:var(--space-4);right:var(--space-4);font-size:1.125rem;font-weight:700;position:absolute}.game-card-content{padding:var(--space-6)}.activity-category{color:var(--activity-ink);margin-bottom:var(--space-2);font-size:1.125rem;font-weight:600}.game-description{margin-top:var(--space-3);color:var(--color-text-secondary)}.game-card-status{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-divider);flex-wrap:wrap;font-size:1.125rem;display:flex}.status-label{align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:600;display:inline-flex}.status-detail{color:var(--color-text-secondary)}.preparation-note{margin-top:var(--space-6);color:var(--color-text-secondary);font-size:1.125rem}.notice{align-items:flex-start;gap:var(--space-4);margin-top:var(--space-12);padding:var(--space-6);border:1px solid var(--color-divider);color:var(--color-text-secondary);background:var(--color-surface);border-radius:20px;font-size:1.125rem;display:flex}.notice-icon{border:2px solid var(--color-text-secondary);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;margin-top:4px;font-size:1rem;font-weight:700;line-height:1;display:grid}.notice-title{color:var(--color-text);margin-bottom:var(--space-2);font-weight:600}.site-footer{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-8);padding-bottom:max(var(--space-8), env(safe-area-inset-bottom));color:var(--color-text-secondary);flex-wrap:wrap;font-size:1.125rem;display:flex}.footer-brand{color:var(--color-text);font-weight:700}.game-canvas{width:100%;height:clamp(240px,55svh,640px)}.skip-link{left:var(--space-4);top:var(--space-4);z-index:10;min-height:48px;padding:var(--space-3);background:var(--color-surface);clip-path:inset(50%);border:2px solid var(--color-primary);border-radius:12px;position:fixed;transform:translateY(-250%)}.skip-link:focus{clip-path:none;transform:translateY(0)}@media (width>=768px){.page-width{padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right))}.welcome{padding:var(--space-12) var(--space-8);grid-template-columns:1.35fr 1fr;gap:0}.welcome-art{max-width:440px}.hero-link{width:auto}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card-content{flex-direction:column;display:flex}.game-card-status{margin-top:auto}.game-description{margin-bottom:var(--space-6)}.game-card{flex-direction:column;display:flex}.game-card-content{flex:1}}@media (width>=1024px){.welcome{padding:52px var(--space-12)}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.desktop-break{display:none}.welcome-art{max-width:280px;margin-top:var(--space-2)}}@media (hover:hover){.button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button--secondary:hover:not(:disabled){background:var(--color-primary-soft)}}@media (prefers-reduced-motion:reduce){.button{transition:none}.button:active:not(:disabled){transform:none}*,:before,:after{scroll-behavior:auto!important}}.game-page-heading{margin-block:var(--space-6)}.record{margin-block:var(--space-4);color:var(--color-text-secondary);font-size:1.125rem}.storage-warning{padding:var(--space-3);border:1px solid var(--color-caution);color:var(--color-caution);margin-top:var(--space-2);border-radius:12px}.game-start{width:100%;margin-top:auto}.play-panel{padding:var(--space-6);border:1px solid var(--color-divider);border-radius:var(--radius-panel);background:var(--color-surface)}.play-panel>p{margin-top:var(--space-4)}.instructions{padding-left:var(--space-6)}.instructions li+li{margin-top:var(--space-3)}.game-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.game-actions .button{flex:200px}.play-heading{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.game-message{min-height:3.2em}.result-symbol{background:var(--color-sequence-soft);width:72px;height:72px;color:var(--color-success);border-radius:50%;place-items:center;font-size:2.5rem;display:grid}.app-shell--game .page-width{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right))}.app-shell--game{flex-direction:column;height:100dvh;display:flex}.app-shell--game .site-header{padding-block:max(8px, env(safe-area-inset-top)) 8px;flex:none;gap:12px}.app-shell--game .brand{min-height:48px;font-size:1.25rem}.app-shell--game .brand-symbol{display:none}.app-shell--game .site-header .button{min-height:48px;padding:8px 12px;font-size:1.125rem}.app-shell--game main{min-height:0;padding-bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:8px;display:flex}.app-shell--game .game-page-heading{margin:0}.app-shell--game .game-page-heading h1,.app-shell--game .game-page-heading .eyebrow,.app-shell--game .notice,.app-shell--game .site-footer{display:none}.app-shell--game .record{margin:0}.memory-session{flex:1;grid-template-rows:auto auto minmax(56px,1fr) auto;gap:8px;min-height:0;padding:8px;display:grid}.memory-session .play-heading{gap:8px}.memory-session .play-heading h2{font-size:1.25rem}.memory-session .play-heading p{font-size:1.125rem}.memory-session>.game-message{min-height:2.8em;margin:0;font-size:1.125rem;line-height:1.4}.memory-session .game-actions{flex-wrap:nowrap;gap:12px;margin:0}.memory-session .game-actions .button{flex:1 1 0;min-width:0;min-height:48px;padding:8px;font-size:1.25rem}.game-tools{min-width:0}.board-hint{color:var(--color-text-secondary)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.board-viewport{min-width:0;min-height:0;padding:3px;position:relative;overflow:auto}.card-size-probe{visibility:hidden;pointer-events:none;width:4rem;height:3.5rem;position:absolute}.memory-board{grid-template-columns:repeat(var(--board-columns,4), minmax(0, 1fr));grid-auto-rows:var(--card-height,80px);gap:12px;display:grid}.memory-card{border:2px solid var(--color-primary);background:var(--color-primary-soft);min-width:4rem;min-height:3.5rem;color:var(--color-primary);cursor:pointer;overflow-wrap:anywhere;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:1rem;line-height:1.2;display:flex;position:relative}.card-back,.picture-symbol{font-size:clamp(1.75rem, calc(var(--card-height,80px) * .35), 3rem);line-height:1}.memory-card:focus-visible{outline-offset:-5px}.memory-card.is-open{background:var(--color-surface);color:var(--color-text)}.memory-card.is-matched{border-color:var(--color-success);background:var(--color-sequence-soft)}.memory-card[aria-disabled=true]{cursor:default}.matched-label{color:var(--color-success);font-size:1rem;font-weight:700;position:absolute;top:2px;right:4px}.memory-board--compact .picture-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.memory-board--compact .card-number{font-size:.875rem;position:absolute;bottom:3px;right:6px}@media (width>=640px) and (height<=540px){.app-shell--game .site-header{padding-block:max(4px, env(safe-area-inset-top)) 4px}.memory-session{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(160px,25%) minmax(0,1fr);gap:8px 12px}.memory-session .play-heading{grid-area:1/1}.memory-session .game-message{grid-area:2/1}.memory-session .board-viewport{grid-area:1/2/4}.memory-session .game-tools{grid-area:3/1}.memory-session .game-actions{flex-direction:column}}
