:root{--content-max:1840px;color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1ea;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main[data-theme=light]{--page-bg:#f7f4ee;--page-grad-a:#ffffffe0;--page-grad-b:#f7f4eef5;--text:#121417;--muted:#66707c;--panel:#ffffffd1;--panel-solid:#fffdfa;--line:#d8d1c6;--matrix-shell:#fff;--matrix-head:#f1ece3;--matrix-head-text:#20242a;--matrix-line:#ddd6ca;--matrix-blank:#eee8de;--matrix-blank-text:#a59a8c;--matrix-filled:#fffdfa;--notice-bg:#fff8df;--notice-line:#ead8a7;--notice-text:#4f4328;--shadow:#16181d1f}main[data-theme=dark]{--page-bg:#111317;--page-grad-a:#1c1f24e6;--page-grad-b:#111317fa;--text:#f7f1e8;--muted:#a5afbb;--panel:#1e2228db;--panel-solid:#1b1f26;--line:#343a44;--matrix-shell:#171b21;--matrix-head:#242a33;--matrix-head-text:#f8fafc;--matrix-line:#343a44;--matrix-blank:#11151a;--matrix-blank-text:#4f5b69;--matrix-filled:#242a33;--notice-bg:#2a2416;--notice-line:#5b4a20;--notice-text:#f7df9e;--shadow:#00000052}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{background:linear-gradient(180deg, var(--page-grad-a), var(--page-grad-b)), radial-gradient(circle at 14% 0%, #ff6b6b29, transparent 26%), radial-gradient(circle at 92% 10%, #4d96ff24, transparent 30%), var(--page-bg);min-height:100vh;color:var(--text);padding:28px}.topbar{max-width:var(--content-max);justify-content:space-between;align-items:flex-end;gap:20px;margin:0 auto 18px;display:flex}.eyebrow{color:#826c4d;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}h1{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(30px,4vw,54px);line-height:1.04}.toolbar,.controls,.segmented,.notice,.search,.year,.dataset-badge{align-items:center;display:flex}.toolbar{flex-wrap:wrap;justify-content:flex-end;gap:12px}.year{color:var(--muted);gap:8px;font-size:13px;font-weight:800}.dataset-badge{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);white-space:nowrap;border-radius:999px;padding:0 12px;font-size:13px;font-weight:900}select,input{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px}select{height:40px;padding:0 12px}.segmented{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:4px;padding:4px}.segmented button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.segmented button.active{background:var(--text);color:var(--page-bg)}.theme-toggle{border:1px solid var(--line);background:var(--panel);height:44px;color:var(--text);border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-weight:900;display:inline-flex}main[data-theme=light] .segmented button.active{color:#fff;background:#161b22}.notice,.controls,.method-legend,.matrix-shell,.empty-state{max-width:var(--content-max);margin-inline:auto}.notice{border:1px solid var(--notice-line);background:var(--notice-bg);color:var(--notice-text);border-radius:8px;gap:10px;padding:14px 16px}.notice span{color:var(--notice-text);opacity:.88}.controls{justify-content:space-between;gap:16px;margin-top:18px;margin-bottom:16px}.search{border:1px solid var(--line);background:var(--panel);border-radius:9px;gap:8px;width:min(520px,100%);padding:0 12px}.search input{background:0 0;border:0;outline:none;width:100%;height:42px;padding:0}.controls p{color:var(--muted);white-space:nowrap;margin:0;font-size:14px;font-weight:800}.subnav{max-width:var(--content-max);border:1px solid var(--line);background:var(--panel);border-radius:10px;justify-content:center;align-items:center;gap:6px;width:fit-content;margin:16px auto;padding:4px;display:flex}.subnav button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 13px;font-size:13px;font-weight:900}.subnav button.active{background:var(--text);color:var(--page-bg)}main[data-theme=light] .subnav button.active{color:#fff;background:#161b22}.matrix-mode-bar{width:100%;max-width:var(--content-max);margin-inline:auto;border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:10px 12px;display:flex}.matrix-mode-bar>div:first-child{align-items:baseline;gap:9px;display:flex}.matrix-mode-bar strong{color:var(--text);font-size:13px;font-weight:900}.matrix-mode-bar span{color:var(--muted);font-size:12px;font-weight:750}.matrix-switch{flex:none;margin:0}.method-legend{width:100%;max-width:var(--content-max);margin-inline:auto;border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:12px 14px;display:flex}.method-legend strong{color:var(--text);flex:none;font-size:13px;font-weight:900}.method-legend div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.method-legend span{border:1px solid var(--line);background:var(--panel-solid);min-height:28px;color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.method-legend i{border-radius:999px;width:10px;height:10px;display:block;box-shadow:inset 0 0 0 1px #1118271f}.matrix-shell{width:100%;max-width:var(--content-max);border:1px solid var(--line);background:var(--matrix-shell);box-shadow:0 18px 48px var(--shadow);border-radius:10px;margin-inline:auto;overflow:auto}.matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:1320px}.matrix th,.matrix td{border-right:1px solid var(--matrix-line);border-bottom:1px solid var(--matrix-line);vertical-align:top}.matrix thead th{z-index:4;background:var(--matrix-head);height:54px;color:var(--matrix-head-text);text-align:left;padding:14px 12px;font-size:13px;position:sticky;top:0}.matrix tbody th{z-index:3;background:var(--matrix-head);width:190px;min-width:190px;color:var(--matrix-head-text);text-align:left;padding:14px 12px;font-size:13px;line-height:1.35;position:sticky;left:0}.method-row-label{align-items:center;gap:8px;display:inline-flex}.matrix-row-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.matrix-col-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.row-count{border:1px solid var(--line);background:var(--panel-solid);min-width:25px;height:25px;color:var(--muted);border-radius:999px;flex:none;place-items:center;padding:0 6px;font-size:11px;font-weight:900;display:inline-grid}.method-row-label i{border-radius:999px;width:10px;height:10px;display:block;box-shadow:inset 0 0 0 1px #1118271f}.matrix .corner{z-index:5;left:0}.matrix td{min-width:102px;height:96px;padding:8px}.matrix td.blank{background:var(--matrix-blank);color:var(--matrix-blank-text);text-align:center;vertical-align:middle}.matrix td.filled{background:var(--matrix-filled)}.matrix td.hot,.matrix th.hot{box-shadow:inset 0 0 0 999px #ffd93d1a}.chips{gap:6px;display:grid}.chip{color:#111827;text-align:left;border:0;border-radius:7px;width:100%;min-height:44px;padding:8px 9px;transition:transform .14s,box-shadow .14s,filter .14s;transform:translateY(0)scale(1);box-shadow:0 2px #0000001f}.chip:hover,.chip:focus-visible{z-index:2;filter:saturate(1.08);position:relative;transform:translateY(-2px)scale(1.035);box-shadow:0 10px 22px #0000002e}.method-matrix td{min-width:188px}.method-matrix .chips{grid-template-columns:repeat(2,minmax(0,1fr))}.chip.matrix-tile{aspect-ratio:1;text-align:center;grid-template-rows:32px 28px;align-content:center;justify-items:center;gap:2px;min-height:0;padding:6px;display:grid}.matrix-tile:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 3px)}.glass-glyph{color:#111827;flex:none;width:32px;height:32px}.chip.matrix-tile span{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:center;width:100%;height:28px;font-size:13px;line-height:14px;display:-webkit-box;overflow:hidden}.chip span,.chip small{z-index:1;overflow-wrap:anywhere;display:block;position:relative}.chip span{text-shadow:0 1px 2px #fff6;font-size:13px;font-weight:900}.chip small{opacity:.72;margin-top:2px;font-size:11px}.dash{font-weight:900}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1180px;margin:0 auto;display:grid}.groups-view{max-width:1280px;margin:0 auto}.section-switch{border:1px solid var(--line);background:var(--panel);border-radius:10px;justify-content:center;gap:6px;width:fit-content;margin:0 auto 16px;padding:4px;display:flex}.section-switch button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 13px;font-size:13px;font-weight:900}.section-switch button.active{background:var(--text);color:var(--page-bg)}main[data-theme=light] .section-switch button.active{color:#fff;background:#161b22}.group-grid{columns:1;column-gap:16px}.group-card{break-inside:avoid;border:1px solid var(--line);background:var(--panel-solid);width:100%;box-shadow:0 12px 28px var(--shadow);border-radius:8px;margin:0 0 16px;display:inline-block;overflow:hidden}.group-card header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.group-card h3{color:var(--text);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.25}.group-card header span{background:var(--text);min-width:30px;height:26px;color:var(--page-bg);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:900;display:grid}.group-recipes{display:grid}.group-recipes button{border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;background:0 0;grid-template-columns:auto minmax(100px,.9fr) minmax(0,1.1fr);align-items:center;gap:10px;padding:11px 14px;display:grid}.group-recipes button:last-child{border-bottom:0}.group-recipes button:hover{background:color-mix(in srgb, var(--method), transparent 88%)}.group-recipes i{border-radius:999px;width:10px;height:38px}.group-recipes strong,.group-recipes em,.group-recipes small{overflow-wrap:anywhere;display:block}.group-recipes strong{font-size:13px;line-height:1.25}.group-recipes em{color:var(--muted);margin-top:2px;font-size:11px;font-style:normal;font-weight:800}.group-recipes small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.3}.practice-view{max-width:1280px;margin:0 auto}.practice-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.practice-head h2{color:var(--text);letter-spacing:0;margin:0;font-size:26px}.practice-head p{color:var(--muted);margin:6px 0 0;font-size:14px;font-weight:750}.practice-actions{flex:none;align-items:center;gap:10px;display:flex}.practice-actions strong,.soft-action{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--text);border-radius:8px;padding:0 12px;font-size:13px;font-weight:900}.practice-actions .timer{font-variant-numeric:tabular-nums;gap:7px}.practice-actions .timer.expired{color:#ff6b6b;border-color:#ff6b6b}.practice-actions strong{min-width:74px}.practice-actions strong,.soft-action,.reveal-button,.memorize-toggle{justify-content:center;align-items:center;gap:7px;display:inline-flex}.progress-track{background:var(--matrix-blank);border-radius:999px;height:10px;margin-bottom:16px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#6bcb77,#4d96ff);height:100%;display:block}.memory-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.status-column{border:1px solid var(--line);background:var(--panel-solid);box-shadow:0 12px 28px var(--shadow);border-radius:8px;overflow:hidden}.status-column header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;display:flex}.status-column h3{color:var(--text);letter-spacing:0;margin:0;font-size:15px}.status-column header span{background:var(--text);min-width:28px;height:24px;color:var(--page-bg);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:900;display:grid}.status-list{max-height:280px;display:grid;overflow:auto}.status-list button{border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;background:0 0;gap:2px;padding:10px 13px;display:grid}.status-list button:last-child{border-bottom:0}.status-list button:hover{background:#4d96ff1f}.status-list strong,.status-list em{overflow-wrap:anywhere;display:block}.status-list strong{font-size:13px;line-height:1.25}.status-list em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.flash-card{border:1px solid var(--line);background:var(--panel-solid);width:min(600px,100%);box-shadow:0 18px 48px var(--shadow);border-radius:10px;margin:0 auto;overflow:hidden}.flash-card.done{box-shadow:inset 0 0 0 2px #6bcb7738, 0 18px 48px var(--shadow);border-color:#6bcb77b8}.flash-counter{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.flash-counter span,.flash-counter strong{font-size:15px;font-weight:700}.flash-counter span{color:var(--muted)}.flash-counter strong{background:var(--text);color:var(--page-bg);border-radius:999px;padding:5px 10px}.flash-image{aspect-ratio:1.15;background:linear-gradient(180deg, transparent, #0000001f), var(--cocktail-image);background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;width:100%;display:block;position:relative}.flash-image .flash-base-badge{color:#fff;background:#151a20;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900;position:absolute;top:14px;left:14px}.flash-body{padding:24px}.flash-body h3{color:var(--text);letter-spacing:0;text-align:center;margin:0;font-size:clamp(34px,7vw,44px);line-height:1.18}.flash-body p{color:var(--muted);text-align:center;margin:10px 0 22px;font-size:18px;font-weight:600}.flash-body dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.flash-body dl div{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:13px}.flash-ingredients{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-top:12px;padding:13px 14px}.flash-ingredients h4{color:var(--muted);letter-spacing:0;margin:0 0 8px;font-size:15px;font-weight:700}.flash-ingredients ul{gap:7px;margin:0;padding-left:18px;display:grid}.flash-ingredients li{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:800;line-height:1.35}.flash-actions,.flash-nav{gap:10px;padding:0 16px 16px;display:grid}.flash-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.flash-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.flash-actions button,.flash-nav button{border:1px solid var(--line);background:var(--panel);min-height:48px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:16px;font-weight:700;display:inline-flex}.flash-actions button.primary{background:var(--text);color:var(--page-bg);border-color:#0000}.quiz-focus{width:min(640px,100%)}.quiz-prompt{border:0;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 18%, #4d96ff21, transparent 34%), var(--panel-solid);width:100%;min-height:220px;color:var(--text);text-align:center;place-items:center;gap:9px;padding:34px 22px;display:grid}.quiz-complete{border:1px solid var(--line);background:var(--panel-solid);width:min(560px,100%);color:var(--text);text-align:center;box-shadow:0 18px 48px var(--shadow);border-radius:8px;margin:0 auto;padding:34px 24px}.quiz-complete h3{margin:10px 0 4px;font-size:26px}.quiz-complete p{color:var(--muted);margin:0}.quiz-complete button,.primary-evaluation{background:var(--text);min-height:44px;color:var(--page-bg);border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;margin-top:18px;padding:0 16px;font-weight:700;display:inline-flex}.quiz-prompt strong,.quiz-prompt em{overflow-wrap:anywhere;display:block}.quiz-prompt strong{letter-spacing:0;font-size:clamp(38px,8vw,60px);line-height:1.12}.quiz-prompt em{color:var(--muted);font-size:19px;font-style:normal;font-weight:600}.quiz-answer-image{aspect-ratio:1;border:1px solid var(--line);background-color:var(--panel);background-image:var(--cocktail-image);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:8px;width:min(360px,100% - 24px);margin:12px auto 0;display:block;position:relative}.reveal-button.standalone{width:calc(100% - 32px);margin:16px}.memory-grid,.exam-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:14px;display:grid}.memory-card,.exam-card,.quiz-card{border:1px solid var(--line);background:var(--panel-solid);box-shadow:0 12px 28px var(--shadow);border-radius:8px;overflow:hidden}.memory-card.done{box-shadow:inset 0 0 0 2px #6bcb773d, 0 12px 28px var(--shadow);border-color:#6bcb77b3}.memory-image,.exam-image{aspect-ratio:1.25;background:linear-gradient(180deg, transparent, #0000001f), var(--cocktail-image);background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;width:100%;display:block}.exam-image.revealed{aspect-ratio:1;margin-inline:auto;background-color:var(--panel);background-image:var(--cocktail-image);background-position:50%;background-repeat:no-repeat;background-size:contain;width:min(360px,100% - 24px);margin-top:10px;position:relative}.memory-image{position:relative}.memory-image span{color:#fff;background:#151a20;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;position:absolute;top:12px;left:12px}.memory-body{gap:4px;padding:13px 14px;display:grid}.memory-body strong,.memory-body em,.memory-body small{overflow-wrap:anywhere;display:block}.memory-body strong{color:var(--text);font-size:17px;line-height:1.25}.memory-body em,.memory-body small{color:var(--muted);font-style:normal;font-weight:800}.memory-body em{font-size:12px}.memory-body small{font-size:11px}.memorize-toggle,.reveal-button{border:1px solid var(--line);background:var(--text);width:calc(100% - 24px);min-height:40px;color:var(--page-bg);border-radius:8px;margin:0 12px 12px;font-size:13px;font-weight:900}.exam-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;display:flex}.exam-top span{color:var(--muted);font-size:12px;font-weight:900}.exam-top strong{color:#111827;border-radius:999px;padding:5px 9px;font-size:12px}.exam-top .exam-sealed{border:1px solid var(--line);background:var(--panel);color:var(--muted)}.exam-name{text-align:center;padding:22px 18px 14px}.exam-name h3{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(30px,5vw,40px);line-height:1.18}.exam-name p{color:var(--muted);margin:7px 0 0;font-size:18px;font-weight:600}.exam-paper{border:1px dashed var(--line);background:var(--panel);border-radius:8px;margin:4px 14px 14px;padding:13px 14px}.exam-paper span{color:var(--muted);margin-bottom:8px;font-size:15px;font-weight:700;display:block}.exam-paper ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-paper li{border:1px solid var(--line);min-height:34px;color:var(--text);border-radius:7px;padding:10px 12px;font-size:16px;font-weight:650}.quiz-list{gap:12px;display:grid}.quiz-title{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.quiz-title span{background:var(--text);width:34px;height:34px;color:var(--page-bg);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.quiz-title strong,.quiz-title em{overflow-wrap:anywhere;display:block}.quiz-title strong{font-size:17px}.quiz-title em{color:var(--muted);font-size:13px;font-style:normal;font-weight:850}.answer-block{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px;display:grid}.answer-block div{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:10px}.answer-block .answer-ingredients{grid-column:1/-1}.answer-ingredients ul{gap:7px;margin:4px 0 0;padding-left:18px;display:grid}.answer-ingredients li{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:800;line-height:1.35}.self-score{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:12px;padding:12px}.self-score legend{color:var(--muted);padding:0 5px;font-size:13px;font-weight:700}.score-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.score-checks label{color:var(--text);align-items:center;gap:7px;font-size:14px;font-weight:650;display:flex}.score-checks input{accent-color:#ff6b6b;width:18px;height:18px}.ingredient-error-control{border-top:1px solid var(--line);align-items:center;gap:6px;margin-top:12px;padding-top:12px;display:flex}.ingredient-error-control span{color:var(--muted);margin-right:auto;font-size:13px;font-weight:700}.ingredient-error-control button{border:1px solid var(--line);background:var(--panel-solid);min-height:34px;color:var(--text);border-radius:7px;padding:0 9px;font-size:13px;font-weight:650}.ingredient-error-control button.active{background:#ff6b6b26;border-color:#ff6b6b}.exam-evaluation{justify-items:center;margin-top:18px;display:grid}.evaluation-result{border:1px solid;border-radius:8px;grid-template-columns:auto 1fr;gap:10px;width:min(680px,100%);margin-top:12px;padding:14px;display:grid}.evaluation-result.passed{background:#6bcb771f;border-color:#6bcb77b3}.evaluation-result.failed{background:#ff6b6b1f;border-color:#ff6b6bbf}.evaluation-result strong{display:block}.evaluation-result p{color:var(--muted);margin:3px 0 0;font-size:14px}.ingredients-view{max-width:1280px;margin:0 auto}.ingredients-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.ingredients-head h2{color:var(--text);letter-spacing:0;margin:0;font-size:26px}.ingredients-head p{color:var(--muted);margin:6px 0 0;font-size:14px;font-weight:750}.ingredients-head strong{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;flex:none;padding:8px 11px;font-size:13px}.ingredient-grid{columns:1;column-gap:16px}.garnish-panel{border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 30px var(--shadow);border-radius:10px;margin-bottom:20px;padding:16px}.garnish-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.garnish-head h3{color:var(--text);letter-spacing:0;margin:0;font-size:20px}.garnish-head p{color:var(--muted);margin:5px 0 0;font-size:13px;font-weight:750}.garnish-head span{color:var(--muted);flex:none;font-size:13px;font-weight:900}.garnish-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.garnish-card{border:1px solid var(--line);background:var(--panel-solid);border-radius:8px;overflow:hidden}.garnish-card header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;min-height:62px;padding:12px;display:flex}.garnish-card h4{color:var(--text);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.28}.garnish-card header span{background:var(--text);min-width:28px;height:24px;color:var(--page-bg);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:900;display:grid}.garnish-recipes{display:grid}.garnish-recipes button{border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;background:0 0;gap:2px;padding:9px 12px;display:grid}.garnish-recipes button:last-child{border-bottom:0}.garnish-recipes button:hover{background:#ffd93d29}.garnish-recipes strong,.garnish-recipes em{overflow-wrap:anywhere;display:block}.garnish-recipes strong{font-size:13px;line-height:1.25}.garnish-recipes em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.ingredient-card{break-inside:avoid;border:1px solid var(--line);background:var(--panel-solid);width:100%;box-shadow:0 12px 28px var(--shadow);border-radius:8px;margin:0 0 16px;display:inline-block;overflow:hidden}.ingredient-card header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 12px;display:flex}.ingredient-card h3{color:var(--text);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.25}.ingredient-card header span{background:var(--text);min-width:30px;height:26px;color:var(--page-bg);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:900;display:grid}.ingredient-recipes{display:grid}.ingredient-recipes button{border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;background:0 0;grid-template-columns:minmax(112px,.9fr) minmax(0,1.2fr);align-items:center;gap:10px;padding:11px 14px;display:grid}.ingredient-recipes button:last-child{border-bottom:0}.ingredient-recipes button:hover{background:color-mix(in srgb, var(--method,#4d96ff), transparent 88%)}.ingredient-recipes strong,.ingredient-recipes em,.ingredient-recipes small{overflow-wrap:anywhere;display:block}.ingredient-recipes strong{font-size:13px;line-height:1.25}.ingredient-recipes em{color:var(--muted);margin-top:2px;font-size:11px;font-style:normal;font-weight:800}.ingredient-recipes small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.3}.recipe-card{aspect-ratio:3/4.2;border:1px solid color-mix(in srgb, var(--method), #111 18%);background:var(--panel-solid);color:var(--text);text-align:center;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:0;padding:0;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #12161c14,0 14px 34px #12161c1a}.base-badge,.glass-label,.card-name{z-index:1;position:relative}.card-media{background:radial-gradient(circle at 50% 26%, #ffffffeb, transparent 25%), linear-gradient(145deg, #ffffffe0, #ffffff5c), var(--method-tint);min-height:0;padding:14px 14px 8px;display:grid;position:relative;overflow:hidden}.card-media:after{content:"";background:#12161c1a;height:1px;position:absolute;inset:auto 12% 10px}.base-badge{color:#fff;background:#151a20;border-radius:999px;justify-self:start;padding:5px 10px;font-size:12px;font-weight:900;position:absolute;top:14px;left:14px}.cocktail-photo{aspect-ratio:1;background:var(--cocktail-image);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:8px;place-self:center;width:min(96%,280px);margin-top:8px;position:relative;box-shadow:0 18px 38px #12161c29}.image-pending{aspect-ratio:1;color:#6b7280;background:#ffffff7a;border:1px dashed #12161c38;border-radius:8px;place-self:center;place-items:center;width:min(90%,250px);font-size:13px;font-weight:900;display:grid}.card-info{background:var(--panel-solid);border-top:1px solid #12161c14;align-content:center;gap:12px;min-height:96px;padding:16px 14px 18px;display:grid}.card-name{align-self:center}.card-name strong,.card-name em{overflow-wrap:anywhere;display:block}.card-name strong{letter-spacing:0;font-size:clamp(19px,4.3vw,28px);line-height:1.12}.card-name em{color:var(--muted);margin-top:8px;font-size:13px;font-style:normal;font-weight:800}.modal-backdrop{z-index:20;background:#0d10159e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel-solid);border-radius:10px;width:min(620px,100%);max-height:min(760px,92vh);padding:26px;position:relative;overflow:auto;box-shadow:0 22px 70px #00000040}.close{border:1px solid var(--line);background:var(--panel);width:38px;height:38px;color:var(--text);border-radius:8px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.modal-head{align-items:flex-start;gap:13px;padding-right:46px;display:flex}.method-dot{border-radius:999px;flex:none;width:14px;height:48px}.modal h2{letter-spacing:0;margin:0;font-size:32px}.modal p{color:var(--muted);margin:4px 0 0;font-weight:800}.modal-image-figure{width:min(380px,100%);margin:22px auto 18px}.modal-image-wrap{aspect-ratio:1;border:1px solid var(--line);background:var(--panel);border-radius:8px;width:min(380px,100%);margin:0;position:relative;overflow:hidden}.modal-image{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.modal-image-figure figcaption{color:var(--muted);text-align:center;margin-top:8px;font-size:13px;font-weight:600;line-height:1.4}.ai-image-badge{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12161cc7;border:1px solid #ffffff52;border-radius:999px;align-items:center;min-height:25px;padding:0 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:10px;right:10px}.site-disclosure{max-width:var(--content-max);border-top:1px solid var(--line);color:var(--muted);grid-template-columns:auto minmax(0,1fr);gap:11px;margin:34px auto 0;padding:16px;display:grid}.site-disclosure>svg{margin-top:2px}.site-disclosure strong{color:var(--text);margin-bottom:5px;font-size:14px;font-weight:700;display:block}.site-disclosure p{margin:3px 0 0;font-size:13px;font-weight:500;line-height:1.55}.site-disclosure a{color:var(--text);text-underline-offset:3px}.footer-links{gap:14px;margin-top:10px;font-size:13px;font-weight:750;display:flex}.chip{text-decoration:none}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0;display:grid}.facts div{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px}dt{color:var(--muted);font-size:12px;font-weight:900}dd{color:var(--text);margin:4px 0 0;font-weight:900}.ingredients h3{margin:0 0 10px}.ingredients ul{margin:0;padding-left:20px}.ingredients li{margin:8px 0;font-weight:750}.empty-state{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:36px}.loading-state{min-height:60vh}.dataset-badge,.theme-toggle,.segmented button,.subnav button,.section-switch button,.soft-action,.practice-actions strong{font-size:14px}.notice,.search input,.controls p{font-size:15px}.matrix thead th,.matrix tbody th,.method-legend strong,.method-legend span,.chip span{font-size:14px}.chip small,.base-badge,.exam-top span,.exam-top strong,.flash-counter span,.flash-counter strong{font-size:13px}.group-recipes strong,.ingredient-recipes strong,.garnish-recipes strong,.status-list strong,.memory-body strong{font-size:15px}.group-recipes em,.ingredient-recipes em,.garnish-recipes em,.status-list em,.memory-body em{font-size:13px}.group-recipes small,.ingredient-recipes small,.memory-body small,.exam-paper li,.flash-actions button,.flash-nav button,.reveal-button,.memorize-toggle{font-size:14px}.flash-ingredients li,.answer-ingredients li,.ingredients li{font-size:15px}dt{font-size:13px}dd,.modal p,.card-name em,.exam-name p,.quiz-prompt em{font-size:15px}main{font-weight:500}h1,.modal h2,.flash-body h3,.quiz-prompt strong,.exam-name h3,.card-name strong{font-weight:800}.segmented button,.subnav button,.section-switch button,.theme-toggle,.dataset-badge,.soft-action,.practice-actions strong,.reveal-button,.memorize-toggle,.flash-actions button,.flash-nav button{font-weight:700}.notice strong,.controls p,.method-legend strong,.matrix thead th,.matrix tbody th,.chip span,.group-card h3,.ingredient-card h3,.garnish-card h4,.status-column h3,.flash-counter strong,.exam-top strong,dd{font-weight:750}.chip small,.group-recipes em,.group-recipes small,.ingredient-recipes em,.ingredient-recipes small,.garnish-recipes em,.status-list em,.memory-body em,.memory-body small,.modal p,.card-name em,.exam-name p,.quiz-prompt em{font-weight:600}dt,.flash-ingredients h4,.exam-paper span{font-weight:700}.search input,.notice span,.flash-ingredients li,.answer-ingredients li,.ingredients li{font-size:16px;font-weight:600;line-height:1.45}.chip{min-height:40px;padding:8px 10px}.chip span{font-size:15px;line-height:1.2}.chip small{font-size:13px;line-height:1.25}.matrix thead th,.matrix tbody th{line-height:1.4}.group-recipes strong,.ingredient-recipes strong,.garnish-recipes strong,.status-list strong{font-size:16px;font-weight:700}.group-recipes small,.ingredient-recipes small{font-size:14px;line-height:1.4}.card-name strong{font-size:clamp(22px,4.5vw,31px)}.card-name em{font-size:15px}.facts div,.answer-block div,.flash-body dl div,.flash-ingredients{line-height:1.45}@media (width>=860px){.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ingredient-grid,.group-grid{columns:2}}@media (width>=1180px){.ingredient-grid,.group-grid{columns:3}}@media (width<=720px){.matrix-mode-bar{flex-direction:column;align-items:stretch}.matrix-mode-bar>div:first-child{justify-content:space-between}.matrix-switch{width:100%}.matrix-switch button{flex:1}main{padding:18px}.topbar,.controls{flex-direction:column;align-items:stretch}.toolbar,.notice,.method-legend{align-items:stretch}.subnav,.section-switch{width:100%}.subnav button,.section-switch button{flex:1 1 0}.method-legend{flex-direction:column}.notice{grid-template-columns:auto 1fr;display:grid}.notice span{grid-column:1/-1}.facts{grid-template-columns:1fr}.ingredients-head{flex-direction:column;align-items:flex-start}.practice-head,.practice-actions{flex-direction:column;align-items:stretch}.quiz-title,.answer-block,.flash-body dl,.flash-actions,.flash-nav,.memory-status,.score-checks{grid-template-columns:1fr}.ingredient-error-control{flex-wrap:wrap;align-items:stretch}.ingredient-error-control span{flex:0 0 100%}.garnish-head{flex-direction:column;align-items:flex-start}.ingredient-recipes button{grid-template-columns:1fr}.group-recipes button{grid-template-columns:auto 1fr}.group-recipes small{grid-column:2}}
