:root{--primary:#2563eb;--primary-contrast:#fff;--bg:#f7f7fa;--bg-raised:#fff;--bg2:#fff;--text:#0f172a;--muted:#667085;--border:#e5e7eb;--ring:rgba(37,99,235,.25);--card-bg:#fff;--card-border:#e5e7eb;--btn-bg:#2563eb;--btn-fg:#fff;--btn-border:transparent;--radius-sm:10px;--radius-card:14px;--radius-button:12px;--shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.08);--container:1100px;--font-sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;--leading:1.6;--lh-tight:1.2}:root[data-theme=dark]{--primary:#60a5fa;--primary-contrast:#0b1220;--bg:#0b1220;--bg-raised:#0f1629;--bg2:#0f1629;--text:#e5e7eb;--muted:#9aa4b2;--border:#1f2937;--ring:rgba(96,165,250,.35);--card-bg:#0f1629;--card-border:#1f2937;--btn-bg:#60a5fa;--btn-fg:#0b1220;--btn-border:transparent;--shadow:0 1px 2px rgba(2,6,23,.35),0 8px 24px rgba(2,6,23,.45)}*{box-sizing:border-box}body,html{height:100%;overscroll-behavior:none}body{margin:0;font-family:var(--font-sans);line-height:var(--leading);color:var(--text);background:var(--bg);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:0;box-shadow:0 0 0 4px var(--ring);border-radius:8px}.container{max-width:var(--container);margin:0 auto;padding:24px 16px}.section{padding:24px 0}.stack>*+*{margin-top:12px}.cluster{gap:8px;flex-wrap:wrap}.cluster,.spaced{display:flex;align-items:center}.spaced{justify-content:space-between;gap:12px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}}h1{font-size:32px;line-height:var(--lh-tight);margin:4px 0 8px;font-weight:800}h2{font-size:20px;margin:0 0 8px}h2,h3{line-height:1.3;font-weight:700}h3{font-size:16px;margin:0 0 6px}p{color:var(--muted);margin:0 0 10px}.muted{color:var(--muted)!important}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.recipesPage .recipeGrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1024px){.recipesPage .recipeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.recipesPage .recipeGrid{grid-template-columns:1fr}}.recipesPage .recipeCard{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-rows:160px 1fr;transition:transform .12s ease,box-shadow .15s ease,border-color .15s ease}.recipesPage .recipeCard:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--border) 65%,var(--primary) 35%)}.recipesPage .recipeMedia{position:relative;background:color-mix(in oklab,var(--bg-raised) 85%,#000 15%)}.recipesPage .recipeImg{width:100%;height:100%;object-fit:cover;display:block}.recipesPage .recipeBody{padding:14px 14px 12px;display:grid;grid-gap:10px;gap:10px}.recipesPage .recipeTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.recipesPage .recipeTitle{margin:0;font-size:15px;line-height:1.25;font-weight:800;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipesPage .recipeMeta{display:flex;flex-wrap:wrap;gap:8px}.recipesPage .recipePill{font-size:12px;font-weight:700;color:var(--text);padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in oklab,var(--bg) 75%,var(--primary) 25%/12%)}.recipesPage .recipeActions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:4px}.recipesPage .recipeActions .btn-base,.recipesPage .recipeBtn{flex:1 1;border-radius:12px;font-size:13px;padding:10px 12px}.recipesPage .recipeBtn{border:1px solid var(--border);background:var(--bg2);color:var(--text);font-weight:800;cursor:pointer;text-align:center;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.recipesPage .recipeBtnPrimary{background:var(--primary);color:var(--primary-contrast);border-color:transparent}.recipesPage .recipeBtn:hover{filter:brightness(.98)}.recipesPage .recipeSearchBar{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:12px;display:grid;grid-gap:10px;gap:10px}.recipesPage .recipeSearchRow{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;align-items:center}.recipesPage .ingredientField{position:relative}@media (max-width:720px){.recipesPage .recipeSearchRow{grid-template-columns:1fr}}.recipesPage .chipRow{display:flex;flex-wrap:wrap;gap:8px}.recipesPage .chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);font-size:13px;font-weight:700;color:var(--text)}.recipesPage .chipX{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;font-size:14px;line-height:1}.recipesPage .searchHint{font-size:12px;color:var(--muted)}.recipesPage .suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);display:grid;grid-gap:4px;gap:4px;padding:6px;z-index:20}.recipesPage .suggestionItem{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--text);font-weight:600}.recipesPage .suggestionItem:hover{background:color-mix(in oklab,var(--bg) 90%,var(--primary) 10%/12%)}.recipesPage .skelGrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1024px){.recipesPage .skelGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.recipesPage .skelGrid{grid-template-columns:1fr}}.recipesPage .skelCard{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden}.recipesPage .skelMedia{height:160px;background:color-mix(in oklab,var(--bg2) 80%,#000 20%)}.recipesPage .skelBody{padding:14px;display:grid;grid-gap:10px;gap:10px}.recipesPage .skelLine{height:12px;border-radius:10px;background:color-mix(in oklab,var(--bg2) 85%,#000 15%)}.recipesPage .skelLine.sm{width:55%}.recipesPage .skelLine.md{width:75%}.recipesPage .skelLine.lg{width:90%}@media (max-width:720px){.recipesPage .recipeCard{grid-template-rows:140px 1fr}.recipesPage .recipeSearchSticky{position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top, 0px) + 8px);z-index:900}}label{display:block;margin:0 0 6px;font-size:13px;color:var(--text);font-weight:600}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-button);padding:10px 12px;outline:0;transition:border .15s ease,box-shadow .15s ease,background .15s ease}input::placeholder,textarea::placeholder{color:#94a3b8}input:focus,select:focus,textarea:focus{border-color:#c7c9cf;box-shadow:0 0 0 6px var(--ring)}.help{font-size:12px;color:var(--muted)}.btn-base{font-weight:700;border:0;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease,background .15s ease,opacity .15s ease;border-radius:var(--radius-button);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.btn-base:active{transform:translateY(1px)}.btn--full{width:100%}.btn--md{padding:12px 16px;font-size:14px}.btn--sm{padding:9px 12px;font-size:13px}.btn--primary{background:var(--primary);color:var(--primary-contrast)}.btn--primary:hover{opacity:.94}.btn--secondary{background:var(--bg-raised);border:1px solid var(--border);color:var(--text)}.btn--secondary:hover{background:color-mix(in oklab,var(--bg-raised) 88%,var(--primary) 12%)}.btn--ghost{background:transparent;color:var(--text)}.btn--ghost:hover{background:color-mix(in oklab,var(--bg) 90%,var(--primary) 10%/12%)}.btn--destructive{background:#e11d48;color:#fff}.btn--destructive:hover{filter:brightness(.95)}.badge{display:inline-block;background:color-mix(in oklab,var(--bg) 88%,var(--primary) 12%/16%);border:1px solid var(--border);padding:6px 10px;border-radius:999px;font-size:12px;color:var(--text)}.formRow2,.recipeForm{display:grid;grid-gap:12px;gap:12px}.formRow2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.formRow2{grid-template-columns:1fr}}.formActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px 12px;border-radius:var(--radius-card)}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1000;background:var(--bg-raised);border-bottom:1px solid var(--border)}.navbar-inner{max-width:var(--container);margin:0 auto;padding:10px 16px;display:flex;gap:12px;align-items:center}.nav-brand{font-weight:800;color:var(--text)}.nav-links{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.nav-link{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid transparent}.nav-link:hover{background:color-mix(in oklab,var(--bg-raised) 88%,var(--primary) 12%);border-color:color-mix(in oklab,var(--border) 72%,var(--primary) 28%)}.nav-link[aria-current=page]{background:color-mix(in oklab,var(--bg-raised) 82%,var(--primary) 18%);border-color:color-mix(in oklab,var(--border) 55%,var(--primary) 45%)}.mobileNavBell{display:none}@media (max-width:768px){.mobileNavBell{display:flex;justify-content:center;position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top, 0px) + 12px);z-index:90;padding:0 16px;margin-bottom:16px;pointer-events:none}.mobileNavBell>*{pointer-events:auto}}.ck-navbar-inner .ck-bell-right{justify-self:end}.search{position:relative}.search input{padding-left:40px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.55}.comment-list{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-gap:10px;gap:10px}.comment-row{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:flex-start}.comment-avatar,.comment-avatar-img,.comment-avatar-ph{width:36px;height:36px}.comment-avatar-img{border-radius:999px;object-fit:cover;border:1px solid var(--border);display:block;background:#000}.comment-avatar-ph{border-radius:999px;display:grid;place-items:center;background:var(--bg2);color:var(--text);font-weight:700;border:1px solid var(--border)}.comment-textcol{min-width:0}.comment-meta{display:flex;gap:8px;align-items:baseline;margin-bottom:4px}.comment-author{font-weight:700;color:var(--text)}.comment-time{font-size:12px;color:#6b7280}.comment-bubble{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 10px;overflow:hidden}.cmt{margin:0;white-space:pre-wrap;word-break:break-word;max-width:100%}.comment-clamp{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.comment-more{margin-top:6px;background:transparent;border:0;color:var(--text);font-weight:600;cursor:pointer;padding:4px 0}.comment-more:hover{text-decoration:underline}.comment-input{margin:8px 0 14px}.comment-ta{width:100%;border:1px solid var(--border);border-radius:var(--radius-button);padding:10px 12px;resize:vertical;max-height:240px;overflow:auto;background:var(--bg2);color:var(--text)}.hr{height:1px;background:var(--border);border:0;margin:12px 0}.shadow{box-shadow:var(--shadow)}.rounded{border-radius:var(--radius)}.hidden{display:none!important}html{font-size:16px}@media (max-width:420px){html{font-size:15.5px}}body{-webkit-tap-highlight-color:transparent;padding-bottom:max(16px,env(safe-area-inset-bottom))}.btn,button,input,select{min-height:44px;touch-action:manipulation}img,video{max-width:100%;height:auto}:root{--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--radius:14px}.container{width:min(1120px,100%);margin-inline:auto;padding-inline:16px}:root{--bottomnav-h:82px}@media (max-width:768px){.ck-navbar{display:none}}.has-bottomnav{padding-bottom:max(24px,var(--bottomnav-h) + env(safe-area-inset-bottom) + 12px)}.ck-bottomnav{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:none;z-index:1000;pointer-events:none}.ck-bottomnav>*{pointer-events:auto}@media (max-width:768px){.ck-bottomnav{display:block}}.ck-tab{min-width:0;text-decoration:none;color:var(--muted);display:grid;place-items:center;grid-gap:4px;gap:4px;padding:8px 4px;-webkit-tap-highlight-color:transparent}.ck-tab-ico{width:22px;height:22px}.ck-tab-label{font-size:11px;font-weight:700;letter-spacing:.01em;line-height:1}.ck-tab--active{color:var(--text)}.ck-tab--active .ck-tab-ico{filter:saturate(1.2)}.appRoot{min-height:100vh}.motionControl{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.motionLabel{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.motionOptions{display:inline-flex;border-radius:999px;border:1px solid var(--border);background:var(--bg2);padding:4px;gap:4px}.motionOption{border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;color:var(--text);background:transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease}.motionOption:hover{background:color-mix(in oklab,var(--text) 10%,transparent)}.motionOption.is-active{background:var(--primary);color:var(--primary-contrast)}.motionOption:disabled{opacity:.5;cursor:not-allowed}.motionNote{font-size:12px;color:var(--muted)}:root{--bg-a1:0.16;--bg-a2:0.14;--bg-a3:0.14;--layer-a:0.95}:root[data-theme=dark]{--bg-a1:0.28;--bg-a2:0.22;--bg-a3:0.22;--layer-a:0.95}#bg-root{width:100dvw;height:100dvh;z-index:0;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:paint;isolation:isolate}#bg-root,.ck-bg{position:fixed;inset:0;pointer-events:none}.ck-bg{z-index:1;overflow:hidden}.appRoot{position:relative;z-index:1}:root{--bg-1:rgba(34,197,94,.14);--bg-2:rgba(59,130,246,.12);--bg-3:rgba(16,185,129,.12);--blob-a:rgba(59,130,246,.22);--blob-b:rgba(34,197,94,.2);--blob-c:rgba(99,102,241,.18)}:root[data-theme=dark]{--bg-1:rgba(34,197,94,.22);--bg-2:rgba(59,130,246,.18);--bg-3:rgba(16,185,129,.18);--blob-a:rgba(59,130,246,.3);--blob-b:rgba(34,197,94,.28);--blob-c:rgba(99,102,241,.24)}.ck-bg{background:radial-gradient(1200px 700px at 20% 10%,var(--bg-1),transparent 60%),radial-gradient(900px 600px at 85% 20%,var(--bg-2),transparent 58%),radial-gradient(900px 700px at 55% 92%,var(--bg-3),transparent 62%)}.ck-bg__layer{position:absolute;inset:-25%;filter:blur(18px);opacity:.95;transform:translateZ(0);will-change:transform}.ck-bg__layer--one{background:radial-gradient(800px 520px at 30% 30%,rgba(34,197,94,.22),transparent 60%),radial-gradient(700px 460px at 70% 40%,rgba(59,130,246,.18),transparent 60%)}.ck-bg__layer--two{background:radial-gradient(820px 520px at 60% 70%,rgba(16,185,129,.2),transparent 60%),radial-gradient(640px 420px at 20% 80%,rgba(99,102,241,.16),transparent 60%);mix-blend-mode:screen}.ck-bg__grain{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");background-size:180px 180px}.ck-bg--off .ck-bg__blob,.ck-bg--off .ck-bg__layer,.ck-bg--off .ck-bg__waves,html[data-bg-lock=true] .ck-bg,html[data-bg-lock=true] .ck-bg__blob,html[data-bg-lock=true] .ck-bg__layer,html[data-bg-lock=true] .ck-bg__waves{animation:none!important;transform:none!important}.ck-bg__waves{position:absolute;inset:-30%;opacity:0;filter:blur(10px);transform:translateZ(0);will-change:transform,background-position;background:radial-gradient(1200px 420px at 10% 55%,rgba(59,130,246,.14),transparent 62%),radial-gradient(1100px 420px at 65% 45%,rgba(34,197,94,.12),transparent 62%),radial-gradient(1000px 420px at 90% 60%,rgba(16,185,129,.12),transparent 62%)}.ck-bg--subtle .ck-bg__waves{opacity:.95;animation:ck-waves 16s ease-in-out infinite}.ck-bg--subtle .ck-bg__layer--one{animation:ck-drift-1 28s ease-in-out infinite}.ck-bg--subtle .ck-bg__layer--two{animation:ck-drift-2 36s ease-in-out infinite}.ck-bg__blob{position:absolute;inset:auto;width:520px;height:520px;border-radius:999px;filter:blur(26px);opacity:0;transform:translateZ(0);will-change:transform;mix-blend-mode:screen}.ck-bg__blob--a{left:-120px;top:10%;background:radial-gradient(circle at 30% 30%,var(--blob-a),transparent 62%)}.ck-bg__blob--b{right:-140px;top:18%;background:radial-gradient(circle at 40% 40%,var(--blob-b),transparent 62%)}.ck-bg__blob--c{left:22%;bottom:-180px;background:radial-gradient(circle at 45% 45%,var(--blob-c),transparent 62%)}.ck-bg--dynamic .ck-bg__blob{opacity:.95}.ck-bg--dynamic .ck-bg__layer--one{animation:ck-drift-1 12s ease-in-out infinite}.ck-bg--dynamic .ck-bg__layer--two{animation:ck-drift-2 16s ease-in-out infinite}.ck-bg--dynamic .ck-bg__blob--a{animation:ck-blob-a 10s ease-in-out infinite}.ck-bg--dynamic .ck-bg__blob--b{animation:ck-blob-b 13s ease-in-out infinite}.ck-bg--dynamic .ck-bg__blob--c{animation:ck-blob-c 15s ease-in-out infinite}@keyframes ck-drift-1{0%{transform:translate3d(-6%,-4%,0) scale(1.03)}50%{transform:translate3d(6%,5%,0) scale(1.08)}to{transform:translate3d(-6%,-4%,0) scale(1.03)}}@keyframes ck-drift-2{0%{transform:translate3d(6%,4%,0) scale(1.02)}50%{transform:translate3d(-6%,-5%,0) scale(1.07)}to{transform:translate3d(6%,4%,0) scale(1.02)}}@keyframes ck-waves{0%{transform:translate3d(-4%,1%,0) scale(1.02)}50%{transform:translate3d(4%,-1%,0) scale(1.05)}to{transform:translate3d(-4%,1%,0) scale(1.02)}}@keyframes ck-blob-a{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(70px,-30px,0) scale(1.12)}to{transform:translateZ(0) scale(1)}}@keyframes ck-blob-b{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-80px,40px,0) scale(1.1)}to{transform:translateZ(0) scale(1)}}@keyframes ck-blob-c{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(30px,-70px,0) scale(1.14)}to{transform:translateZ(0) scale(1)}}.recipePublicBar{justify-content:space-between;margin-bottom:12px}.recipePublicBar,.recipePublicBarActions{display:flex;align-items:center;gap:10px}.recipePublicHint{color:var(--muted);font-size:13px}.recipePublicHero{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1.4fr 1fr;align-items:stretch}@media (max-width:900px){.recipePublicHero{grid-template-columns:1fr}}.recipePublicCover{padding:0;overflow:hidden;border-radius:var(--radius-card);aspect-ratio:16/10;position:relative;background:var(--bg2)}.recipePublicCoverImg{width:100%;height:100%;display:block;object-fit:cover}.recipePublicCoverPh{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);background:var(--bg2)}.recipePublicHead{border-radius:var(--radius-card);display:grid;grid-gap:10px;gap:10px}.recipePublicTitle{margin:0;font-size:clamp(22px,3.4vw,30px);font-weight:900;letter-spacing:-.02em}.recipePublicMeta{justify-content:space-between;flex-wrap:wrap}.recipePublicMeta,.recipePublicWho{display:flex;align-items:center;gap:10px}.recipePublicWho{min-width:0}.recipePublicAvatarImg{width:44px;height:44px;border-radius:999px;object-fit:cover;border:1px solid var(--border)}.recipePublicAvatarPh{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:var(--bg2);color:var(--text);font-weight:900;border:1px solid var(--border)}.recipePublicNames{line-height:1.1;min-width:0}.recipePublicName{font-weight:800;color:var(--text)}.recipePublicTime{font-size:12px;color:var(--muted)}.recipePublicChips{display:flex;gap:8px;flex-wrap:wrap}.recipePublicGrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:340px 1fr;align-items:start;margin-top:14px}@media (max-width:1024px){.recipePublicGrid{grid-template-columns:1fr}}.recipePublicPanel{position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top, 0px) + 12px);border-radius:var(--radius-card)}@media (max-width:1024px){.recipePublicPanel{position:relative;top:auto}}.recipePublicPanelHead{display:flex;align-items:center;gap:8px;font-weight:900;margin-bottom:10px;letter-spacing:-.01em}.recipePublicDot{width:10px;height:10px;border-radius:999px;background:var(--primary);box-shadow:0 0 12px color-mix(in oklab,var(--primary) 60%,transparent)}.recipePublicIngList{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.recipePublicIng{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center}.recipePublicBullet{width:6px;height:6px;border-radius:999px;background:var(--text)}.recipePublicIngName{font-weight:600;color:var(--text)}.recipePublicIngQty{color:var(--muted);font-size:13px}.recipePublicBody{border-radius:var(--radius-card)}.recipePublicH2{margin:0 0 10px;font-size:18px;font-weight:900;letter-spacing:-.01em}.recipePublicStepList{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.recipePublicStep{display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px;align-items:start}.recipePublicNum{width:28px;height:28px;border-radius:10px;border:1px solid var(--border);display:grid;place-items:center;font-weight:800;background:var(--bg2)}.recipePublicStepTxt{margin:0;color:var(--text)}.xp-container{max-width:1120px;margin:0 auto;padding:28px 20px 84px;animation:xp-fade-in .45s ease-out;position:relative}.xp-container:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(1200px 600px at 10% -10%,hsla(0,0%,100%,.22),transparent 70%),radial-gradient(1000px 800px at 90% 10%,rgba(0,0,0,.08),transparent 65%);opacity:.9;z-index:-1}.xp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.xp-back-btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);transition:color .2s ease,transform .2s ease;background:transparent;border:0;padding:8px 0;cursor:pointer;text-decoration:none}.xp-back-btn:hover{color:var(--primary);transform:translateX(-4px)}.xp-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;padding:7px 14px;border-radius:999px;background:hsla(0,0%,100%,.5);color:var(--muted);border:1px solid var(--border)}.xp-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-gap:32px;gap:32px;margin-bottom:36px;align-items:stretch}.xp-image-card{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:var(--bg2);min-height:320px;aspect-ratio:4/3}.xp-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1)}.xp-image-card:hover .xp-img{transform:scale(1.04)}.xp-img-ph{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-weight:500}.xp-img-ph,.xp-info-card{background:var(--bg-raised)}.xp-info-card{border:1px solid var(--border);border-radius:24px;padding:30px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow);gap:6px}.xp-title{margin:0 0 14px;font-size:clamp(28px,4vw,40px);font-weight:900;line-height:1.05;letter-spacing:-.02em;color:var(--text)}.xp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.xp-tag{font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;background:hsla(0,0%,100%,.7);border:1px solid var(--border);color:var(--text)}.xp-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.xp-btn{flex:1 1;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 18px;border-radius:16px;font-weight:800;font-size:14px;text-decoration:none;transition:filter .2s ease,transform .1s;white-space:nowrap}.xp-btn:active{transform:scale(.98)}.xp-btn-yt{background:#e62117;color:#fff}.xp-btn-yt:hover{filter:brightness(1.1)}.xp-btn-source{background:var(--bg);color:var(--text);border:1px solid var(--border)}.xp-btn-source:hover{background:var(--bg-raised);border-color:var(--text)}.xp-grid{display:grid;grid-template-columns:320px 1fr;grid-gap:28px;gap:28px;align-items:start}.xp-panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow);position:-webkit-sticky;position:sticky;top:24px}.xp-h3{margin:0 0 18px;font-size:16px;font-weight:900;display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--border)}.xp-ing-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:0;gap:0}.xp-ing-item{display:grid;grid-template-columns:24px 1fr;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--border)}.xp-ing-item:last-child{border-bottom:none}.xp-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);position:relative;transition:all .2s}.xp-ing-item:hover .xp-check{border-color:var(--primary);background:rgba(37,99,235,.1)}.xp-ing-name{font-weight:600;color:var(--text)}.xp-ing-measure{color:var(--muted);font-size:14px;margin-left:6px;font-weight:400}.xp-body{background:var(--bg-raised);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.xp-h2{margin:0 0 22px;font-size:22px;font-weight:900;letter-spacing:-.01em}.xp-steps{display:grid;grid-gap:24px;gap:24px}.xp-step{display:flex;gap:16px}.xp-step-num{flex-shrink:0;width:32px;height:32px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:13px;margin-top:2px;box-shadow:0 2px 5px rgba(0,0,0,.05)}.xp-step-txt{margin:0;font-size:15px;line-height:1.65;color:var(--text);opacity:.92}.xp-loading{display:flex;flex-direction:column;gap:24px;width:100%}.xp-skel-hero{height:320px;background:var(--border);border-radius:24px;opacity:.5}.xp-skel-grid{display:grid;grid-template-columns:1fr 2fr;grid-gap:24px;gap:24px}.xp-skel-box{height:400px;background:var(--border);border-radius:20px;opacity:.3}.xp-error{text-align:center;padding:60px 20px;background:var(--bg-raised);border-radius:24px;border:1px solid var(--border)}@media (max-width:900px){.xp-grid,.xp-hero{grid-template-columns:1fr}.xp-panel{position:static;order:1}.xp-body{order:2}.xp-image-card{height:260px;min-height:auto}}@keyframes xp-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}