:root{color:#1f2b35;--line:#3a4a54;--soft-line:#d5c492;--ink:#1f2b35;--muted:#5a646c;--panel:#fff8dc;--surface:#f9df99;--primary:#12706c;--primary-dark:#0e4f4c;--coral:#df6846;--sun:#f4be3a;--leaf:#d9e6b3;--sky:#c6e6e1;--warning:#d85b31;background:#f7eecf;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif;font-size:18px;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 10%,#f4be3a5c,#0000 28%),radial-gradient(circle at 85% 14%,#c6e6e1d9,#0000 24%),linear-gradient(135deg,#f7eecf 0%,#e9efc5 48%,#d7ece8 100%);min-width:320px;min-height:100vh;margin:0}button{min-height:64px;color:var(--ink);font:inherit;cursor:pointer;box-shadow:none;background:#fff8dc;border:2px solid #2f3f48;border-radius:6px;font-weight:750;transition:border-color .12s,background .12s,transform .12s,box-shadow .12s;box-shadow:0 3px #1f2b3538}button:hover{border-color:var(--primary-dark);background:#fff0b8;box-shadow:0 5px #1f2b3540}button:active{transform:translateY(1px)}html[data-text-size=large]{font-size:22px}html[data-text-size=largest]{font-size:26px}html[data-text-size=largest] .topbar{grid-template-columns:1fr}html[data-text-size=largest] .brand{justify-content:flex-start}.app{min-height:100vh}.topbar{z-index:10;background:#fff8dcf5;border-bottom:2px solid #2f3f48;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 18px;display:grid;position:sticky;top:0;box-shadow:0 4px 12px #1f2b350f}.brand{justify-content:center;align-items:center;display:flex}.brand strong{font-size:1rem}.tools{gap:8px;display:flex}.tool-button{background:#fef3c0;align-items:center;gap:6px;min-height:40px;padding:6px 10px;font-size:.9rem;display:inline-flex}.share-notice{z-index:30;color:#fff;background:#163f3c;border:2px solid #2f3f48;border-radius:8px;padding:10px 14px;font-size:.92rem;font-weight:900;position:fixed;top:72px;right:18px;box-shadow:0 8px 18px #1f2b3533}main{width:min(1180px,100% - 32px);margin:0 auto;padding:22px 0 56px}.site-footer{color:#2f3f4875;text-align:center;width:min(1180px,100% - 32px);margin:-28px auto 24px;font-size:.78rem}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:#2f3f48b3;text-decoration:underline}.home-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.home-grid-simple{grid-template-columns:1fr}.home-line{color:var(--ink);background:#d9e6b3;border:2px solid #2f3f48;border-radius:8px;margin:0;padding:14px 16px;font-size:1.12rem;font-weight:900}.hero-panel{background:linear-gradient(135deg,#fff8dc 0%,#f8e7ae 100%);border:3px solid #2f3f48;border-radius:8px;grid-template-columns:1fr;align-items:center;gap:28px;padding:28px;display:grid;box-shadow:10px 10px #12706c2e}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:680px;font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.18}h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1}.lead{color:#3e4a52;font-size:1.06rem;font-weight:650}.eyebrow{color:#a83d25;margin-bottom:10px;font-size:.9rem;font-weight:850}.action-grid,.scenario-grid{gap:18px;display:grid}.home-action{text-align:left;background:#fff8dc;grid-template-columns:54px 1fr;align-items:center;gap:16px;min-height:112px;padding:22px;display:grid}.home-action strong{font-size:1.45rem;display:block}.guide-card strong{color:var(--ink);font-size:1.18rem;display:block}.guide-card span{color:#3e4a52;margin-top:5px;font-size:.94rem;font-weight:850;display:block}.primary-action,.recommended,.today{background:#f9df99;border-color:#2f3f48}.action-icon{background:var(--sky);width:54px;height:54px;color:var(--primary-dark);border:2px solid #2f3f48;border-radius:6px;place-items:center;display:grid}.section-title{border-bottom:3px solid #2f3f48;margin-bottom:24px;padding-bottom:18px}.share-practice-button{min-height:48px;color:var(--primary-dark);background:#c6e6e1;align-items:center;gap:8px;margin-bottom:18px;padding:9px 14px;font-size:.95rem;display:inline-flex}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.place-category-list{gap:28px;display:grid}.place-category{gap:12px;display:grid}.place-category>h3{color:#1f2b35;background:#d9e6b3;border:2px solid #2f3f48;border-radius:6px;width:fit-content;margin:0;padding:8px 14px;font-size:1.18rem;line-height:1.1}.scenario-card,.lesson-card,.completion{background:#fff8dc;border:2px solid #2f3f48;border-radius:8px;padding:24px;box-shadow:0 8px 18px #1f2b3514}.scenario-card-button{text-align:left;align-content:start;gap:10px;width:100%;min-height:170px;display:grid}.scenario-card-button:hover,.scenario-card-button:focus-visible{border-color:var(--primary-dark);background:#f9df99;box-shadow:0 10px #12706c33}.scenario-card-button h3,.scenario-card-button p{margin-bottom:0}.scenario-card-button h3{font-size:1.45rem}.scenario-card-button p{color:var(--muted);font-size:1rem;font-weight:850}.real-practice-card{color:#fff;background:#163f3c}.real-practice-card h3,.real-practice-card p{color:#fff}.real-practice-card strong{width:fit-content;color:var(--ink);background:#f9df99;border:2px solid #2f3f48;border-radius:6px;margin-top:6px;padding:7px 10px}.mode-row,.mode-picker{gap:10px;display:grid}.mode-row{grid-template-columns:repeat(3,1fr)}.level-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.level-card{text-align:center;place-items:center;min-height:150px;padding:22px;display:grid}.level-card strong{font-size:1.7rem}.mode-row button{min-height:52px;font-size:.95rem}.mode-picker button{text-align:left;align-content:center;gap:10px;min-height:118px;padding:20px;display:grid}.mode-picker .mode-hint{color:#8a321f;background:#d9e6b3;border:2px solid #2f3f48;border-radius:999px;width:fit-content;padding:4px 9px;font-size:.82rem;font-weight:900;display:inline-block}.mode-picker strong{font-size:1.55rem}.back-link{margin-top:20px}.practice-layout{grid-template-columns:380px 1fr;align-items:start;gap:24px;display:grid}.practice-screen{gap:16px;display:grid;position:relative}.lesson-card{position:sticky;top:76px}.compact-panel{grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid;position:static}.compact-panel h2,.compact-panel p{margin-bottom:0}.compact-panel .session-actions{grid-template-columns:repeat(2,minmax(140px,1fr))}.feedback{border-left:6px solid var(--warning);background:#ffe3d4;padding:12px 14px;font-weight:850}.toast-backdrop{z-index:45;-webkit-backdrop-filter:grayscale()saturate(.35);backdrop-filter:grayscale()saturate(.35);background:#30373d61;animation:3.6s both toast-backdrop;position:fixed;inset:0}.toast{z-index:50;color:#fff;text-align:center;pointer-events:none;border:4px solid #fff;border-radius:12px;min-width:min(680px,100% - 32px);padding:28px 36px;font-size:1.7rem;font-weight:900;animation:3.6s both toast-pop;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 32px #0f172a5c}.toast-success{background:#14613f}.toast-error{background:#9f1d2a}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,-46%)scale(.96)}16%,78%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-54%)scale(.98)}}@keyframes toast-backdrop{0%{opacity:0}12%,82%{opacity:1}to{opacity:0}}.session-actions{gap:12px;display:grid}.mock-kiosk{background:#283640;border:12px solid #283640;border-radius:18px;padding:14px;box-shadow:0 20px 40px #141c2438}.mock-top{color:#fff8dc;justify-content:space-between;margin-bottom:12px;font-size:.9rem;font-weight:800;display:flex}.mock-screen{background:#f5f0df;border:4px solid #151d22;border-radius:8px;min-height:calc(100vh - 210px);padding:22px}.practice-prompt{color:#1f2b35;background:#ffe0c8;border:3px solid #8a321f;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:16px;width:min(1040px,100%);margin:0 auto;padding:18px 22px;display:grid;box-shadow:0 4px #1f2b352e}.practice-prompt span{color:#8a321f;margin-bottom:4px;font-size:.9rem;font-weight:900;display:block}.practice-prompt h2{margin-bottom:6px;font-size:1.4rem}.practice-prompt strong{font-size:1.55rem;line-height:1.25;display:block}.prompt-actions{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.prompt-actions button{min-height:54px}.lesson-guide{width:min(1040px,100%);margin:0 auto;display:grid}.lesson-guide>div{background:#fff8dc;border:3px solid #2f3f48;border-radius:8px;padding:14px 16px;box-shadow:0 4px #1f2b3529}.lesson-guide strong,.lesson-guide p{margin-bottom:0;display:block}.lesson-guide strong{color:#8a321f;margin-bottom:4px;font-size:.9rem}.lesson-guide p{color:var(--ink);font-size:1.2rem;font-weight:900;line-height:1.3}.mock-screen h3{border-bottom:3px solid #2f3f48;margin-bottom:16px;padding-bottom:12px;font-size:1.8rem}.kiosk-stepbar{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px;display:grid}.kiosk-stepbar span{color:#4a4a40;text-align:center;background:#e3d8b2;border-radius:4px;padding:8px 6px;font-size:.85rem;font-weight:850}.kiosk-stepbar .active-step{background:var(--primary);color:#fff}.kiosk-workspace{display:block}.mock-button-groups{gap:16px;display:grid}.menu-board-screen .mock-button-groups{grid-template-columns:1.15fr 1fr;align-items:start}.choice-group{background:#fff8dc;border:3px solid #2f3f48;border-radius:8px;gap:10px;padding:12px;display:grid}.choice-group-plain{background:0 0;border:0;padding:0}.choice-group h4{color:#163f3c;background:#d9e6b3;border:2px solid #2f3f48;border-radius:6px;width:fit-content;margin:0;padding:7px 12px;font-size:1rem;line-height:1}.mock-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.menu-board-screen .choice-group:first-child{grid-row:span 3}.menu-board-screen .choice-group:first-child .mock-buttons{grid-template-columns:1fr}.menu-board-screen .choice-group:last-child{background:#163f3c;grid-column:1/-1}.menu-board-screen .choice-group:last-child h4{background:#f9df99}.menu-board-screen .choice-group:last-child .mock-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-board-screen .choice-group:last-child button{background:#fffdf1}.mock-buttons button,.quantity-panel button{background:#fffdf1;align-content:center;justify-items:center;gap:10px;min-height:112px;padding:16px;font-size:1.25rem;display:grid}.menu-board-screen .mock-buttons button{min-height:102px;padding:14px}.quantity-panel{align-content:start;gap:18px;display:grid}.quantity-control{grid-template-columns:120px minmax(90px,1fr) 120px;align-items:stretch;gap:14px;display:grid}.quantity-control button{min-height:128px;font-size:3rem;font-weight:900}.quantity-count{min-height:128px;color:var(--primary-dark);background:#fff;border:3px solid #2f3f48;border-radius:8px;place-items:center;font-size:3.4rem;font-weight:900;display:grid}.quantity-confirm{min-height:88px;font-size:1.45rem}.item-icon{color:#163f3c;background:#fff7dc;border:3px solid #2f3f48;border-radius:14px;place-items:center;width:68px;height:58px;display:grid;box-shadow:inset 0 -7px #2f3f481a}.item-icon svg{display:block}.mock-buttons .is-target,.quantity-panel .is-target{outline:5px solid var(--warning);outline-offset:3px;background:#ffe0c8}.mock-buttons .is-selected,.quantity-panel .is-selected{outline-offset:3px;background:#d9e6b3;outline:5px solid #14613f}.kiosk-footer{background:#e8ddbd;border:2px solid #2f3f48;border-radius:8px;margin-top:18px;padding:14px;display:block}.order-summary{background:#fffdf1;border:3px solid #2f3f48;border-radius:8px;gap:10px;padding:14px 16px;display:grid}.order-summary-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.order-summary-head strong{font-size:1rem}.order-summary-head span{color:var(--ink);background:#d9e6b3;border:2px solid #2f3f48;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:900}.order-line{gap:8px;display:grid}.order-line>span{color:var(--ink);font-size:1.32rem;font-weight:900}.order-options{flex-wrap:wrap;gap:8px;display:flex}.order-options span{color:var(--ink);background:#f9df99;border:2px solid #2f3f48;border-radius:6px;padding:5px 10px;font-size:.95rem;font-weight:900}.wide{grid-column:1/-1}.completion{text-align:center;max-width:680px;margin:80px auto}.completion-mark{background:var(--sun);border:2px solid #2f3f48;border-radius:50%;place-items:center;width:100px;height:100px;margin-bottom:18px;font-weight:900;display:inline-grid}.completion-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.completion-actions button{min-height:54px}.secondary-completion-action{color:var(--primary-dark);background:#c6e6e1;align-items:center;gap:8px;display:inline-flex}.guide-page,.qr-page{width:min(920px,100% - 32px);margin:0 auto;padding:30px 0 64px}.guide-list,.guide-article,.qr-panel{background:#fff8dc;border:2px solid #2f3f48;border-radius:8px;padding:24px;box-shadow:0 8px 18px #1f2b3514}.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.guide-card,.guide-cta,.guide-back{border:2px solid #2f3f48;border-radius:8px;text-decoration:none}.guide-card{background:#f9df99;min-height:130px;padding:18px;display:block}.guide-article{gap:18px;display:grid}.guide-article h1,.guide-article h2,.guide-article p{margin-bottom:0}.guide-article section{border-top:2px solid #2f3f48;gap:10px;padding-top:16px;display:grid}.guide-lead{color:#3e4a52;font-size:1.12rem;font-weight:850}.guide-cta,.guide-back{width:fit-content;color:var(--ink);background:#d9e6b3;padding:12px 16px;font-weight:900}.guide-cta{color:#fff;background:#163f3c}.qr-panel{text-align:center;justify-items:center;gap:18px;display:grid}.qr-panel img{background:#fff;border:2px solid #2f3f48;border-radius:8px;width:min(320px,100%);height:auto;padding:12px}.qr-panel p{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:900}@media (max-width:840px){.topbar,.home-grid,.hero-panel,.practice-layout,.menu-board-screen .mock-button-groups,.menu-board-screen .choice-group:last-child .mock-buttons,.guide-card-grid{grid-template-columns:1fr}.tools{flex-wrap:wrap}.hero-panel{box-shadow:8px 8px #17201d}.lesson-card{position:static}.compact-panel,.compact-panel .session-actions,.practice-prompt,.lesson-guide,.prompt-actions,.mock-buttons{grid-template-columns:1fr}.menu-board-screen .choice-group:first-child,.menu-board-screen .choice-group:last-child{grid-area:auto}.quantity-control{grid-template-columns:84px minmax(72px,1fr) 84px;gap:10px}.quantity-control button,.quantity-count{min-height:96px;font-size:2.4rem}}
