@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";@import"https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&display=swap";@import"https://fonts.cdnfonts.com/css/georgia";@layer swiper,reset,print,atom,molecules,organisms,template,page,utillity;@layer reset{:where(h1,h2,h3,h4,h5,h6,div,p,blockquote,pre,code,address,ul,ol,li,nav,section,article,header,footer,main,aside,dl,dt,dd,table,thead,tbody,tfoot,label,caption,th,td,form,fieldset,legend,hr,input,button,textarea,object,figure,figcaption,span,em,strong,i,b,u,ins,dialog){margin:0;padding:0;word-break:keep-all;font-family:var(--fontFamily)}:where(body,input,select,textarea,button,img,fieldset){border:none}:where(ul,ol,li,summary){list-style:none}:where(table){width:100%;border-spacing:0;border-collapse:collapse;table-layout:fixed}:where(address,cite,code,em,i){font-style:normal;font-weight:400}:where(u,ins,a){text-decoration:none}:where(button){background-color:unset}:where(a){color:inherit}:where(button,label,select,summary,[role=button],[role=option]){cursor:pointer}:where(:disabled,:disabled+label){cursor:not-allowed}:where(input,button,textarea,select){font:inherit;color:inherit;letter-spacing:inherit;word-spacing:inherit;font-feature-settings:inherit;font-variation-settings:inherit}:where(input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button){-webkit-appearance:none}:where(input[type=number]){-moz-appearance:textfield}:where(input[type=number],input[type=text],input[type=password],input[type=url],input[type=email],input[type=tel],input[type=date],textarea){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}:where(input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration){-webkit-appearance:none}:where(input[type=date]){position:relative}:where(input[type=date]::-webkit-clear-button,input[type=date]::-webkit-inner-spin-button){display:none}:where(input[type=date]::-webkit-calendar-picker-indicator){position:absolute;left:0;top:0;background:transparent;color:transparent;cursor:pointer;width:100%;height:100%}:where(input[type=date]:before){content:attr(data-placeholder);width:100%}:where(input[type=date]:valid:before){display:none}:where(select){appearance:none}:where(html){padding:0;margin:0;font-size:var(--REM, 62.5%);-webkit-text-size-adjust:none}:where(body){font-size:1rem;padding:0;margin:0}:where(caption,legend,.a11y-hidden){overflow:hidden;position:absolute;border:0;width:1px;height:1px;clip:rect(1px,1px,1px,1px)}:where(summary::-webkit-details-marker){display:none}:where(dialog,[popover]){width:auto;height:auto;border:none}}@layer atom.variable.base{:root{--primary-cyan: #00d1e8;--primary-green: #00e676;--black: #000;--white: #fff;--gray100: #f8f9fa;--gray200: #e9ecef;--gray400: #adb5bd;--gray600: #666666;--gray700: #495057;--gray900: #212529;--black10: rgba(0, 0, 0, .1);--black20: rgba(0, 0, 0, .2);--black30: rgba(0, 0, 0, .3);--black40: rgba(0, 0, 0, .4);--black50: rgba(0, 0, 0, .5);--black60: rgba(0, 0, 0, .6);--black70: rgba(0, 0, 0, .7);--black80: rgba(0, 0, 0, .8);--black90: rgba(0, 0, 0, .9);--white10: rgba(255, 255, 255, .1);--white20: rgba(255, 255, 255, .2);--white30: rgba(255, 255, 255, .3);--white40: rgba(255, 255, 255, .4);--white50: rgba(255, 255, 255, .5);--white60: rgba(255, 255, 255, .6);--white70: rgba(255, 255, 255, .7);--white80: rgba(255, 255, 255, .8);--white90: rgba(255, 255, 255, .9);--primary: var(--primary-cyan);--secondary: var(--gray600);--danger: #ff4d4f;--success: var(--primary-green);--containerWidth: 120rem}@media not (min-width:1024px){:root{--containerWidth: 100%}}}@layer utillity.align{.align{display:flex}.align.both{justify-content:space-between}.align.right{justify-content:end}.align.center{justify-content:center}.align.triple{display:grid;grid-template-columns:min-content 1fr min-content;align-items:center}.align.triple>:nth-child(1){justify-self:start;white-space:nowrap}.align.triple>:nth-child(2){justify-self:center}.align.triple>:nth-child(3){white-space:nowrap;justify-self:end}.align.vt{align-items:start}.align.vm{align-items:center}.align.vb{align-items:end}@media not (min-width:768px){.align:has(.breadcrumb){display:grid;gap:1.2rem}}@media not (min-width:768px){.align:has(.ico-cirle,.text-xl){display:grid;gap:.8rem}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-justify{text-align:justify;word-break:normal}}@layer atom.typography{:root{--font-4xl: 9.6rem;--font-3xl: 6.4rem;--font-2xl: 4.8rem;--font-xl: 3.6rem;--font-lg: 2.4rem;--font-base: 2rem;--font-md: 1.8rem;--font-sm: 1.6rem;--font-xs: 1.4rem;--lh-sm: 1.2;--lh-base: 1.5;--lh-md: 1.8;--ls-sm: -.02rem;--ls-base: 0;--ls-md: .01rem;--georgia: "Georgia", sans-serif;--pretendard: "Pretendard Variable", Pretendard;--notoserif: "Noto Serif KR", serif;--baseFontFamily: -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--fontFamily: var(--pretendard), var(--baseFontFamily);--REM: 62.5%}body{background-color:var(--white)}.text-4xl{font-size:var(--fs, var(--font-4xl));line-height:160%;letter-spacing:-.08rem}.text-3xl{font-size:var(--fs, var(--font-3xl));line-height:160%;letter-spacing:-.08rem}.text-2xl{font-size:var(--fs, var(--font-2xl));line-height:160%;letter-spacing:-.08rem}@media not (min-width:768px){.text-2xl{--fs: 2.4rem;letter-spacing:-.072rem}}.text-xl{font-size:var(--fs, var(--font-xl));line-height:160%;letter-spacing:-.08rem}@media not (min-width:768px){.text-xl{--fs: 2rem;line-height:150%;letter-spacing:0}}.text-lg{font-size:var(--fs, var(--font-lg));line-height:160%;letter-spacing:-.08rem}.text-base{font-size:var(--fs, var(--font-base));line-height:160%;letter-spacing:-.08rem}.text-md{font-size:var(--fs, var(--font-md));line-height:160%;letter-spacing:-.08rem}.text-sm{font-size:var(--fs, var(--font-sm));line-height:160%;letter-spacing:-.08rem}@media not (min-width:768px){.text-sm{--fs: 1.2rem}}.text-xs{font-size:var(--fs, var(--font-xs));line-height:160%;letter-spacing:-.08rem}strong,b{font-weight:var(--fw, 700)}.link{text-decoration:underline 2px;text-decoration-color:red;text-underline-offset:3px}.text-primary{color:var(--primary, #000)}.text-secondary{color:var(--secondary, #000)}.text-danger{color:var(--danger, #000)}.text-success{color:var(--success, #000)}.text-gray100{color:var(--gray100)}.text-gray400{color:var(--gray400)}.text-gray600{color:var(--gray600)}.text-gray900{color:var(--gray900)}.logo{color:var(--gray900);font-size:2.4rem;font-weight:700;line-height:2.4rem}}@layer atom.button{.btn{display:inline-flex;align-items:center;box-sizing:border-box;text-align:center;justify-content:center;border-radius:calc(infinity * 1rem);padding-inline:var(--px);padding-block:var(--py);font-size:var(--fs, var(--font-base))}.btn.sm{--px: .8rem;--py: .4rem;--fs: 1.1rem}.btn.base{--px: 1.2rem;--py: 1rem;--fs: 1.4rem}.btn.md{--px: 2rem;--py: 1.4rem;--fs: 1.5rem}.btn.lg{--px: 1.6rem;--py: 1.8rem;--fs: 1.6rem}.btn.primary{color:var(--white);background-color:var(--primary-cyan)}.btn.secondary{color:var(--gray900);background-color:var(--white);border:1px solid var(--gray200)}.btn.success{color:var(--white);background-color:var(--primary-green)}.btn.dark{color:var(--white);background-color:var(--gray900)}.btn.danger{color:var(--white);background-color:var(--danger)}.btn:disabled{opacity:.2}.btn[class*=ico]:after{content:"";width:var(--width);aspect-ratio:1;background:var(--bg) no-repeat center / contain}.btn.ico1{--width: 2rem;--bg: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'%20stroke='%230f172a'%20stroke-width='1.5'/%3e%3cpath%20d='M7%2012h10'%20stroke='%230f172a'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cpath%20d='M12%207v10'%20stroke='%230f172a'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e")}.btn.ico2{--width: 2rem;--bg: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3crect%20x='4'%20y='4'%20width='16'%20height='16'%20rx='3'%20stroke='%230f172a'%20stroke-width='1.5'/%3e%3cpath%20d='M8%2012h8'%20stroke='%230f172a'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e")}.ico-button{--size: var(--icon-size, 3rem);--rounded: 0;display:inline-flex;justify-content:center;align-items:center;width:var(--size);aspect-ratio:1;border-radius:var(--rounded, 0);background-color:transparent;cursor:pointer;position:relative}.ico-button:has(svg:not(svg[aria-hidden=true])):after{content:"svg에 aria-hidden을 정의하세요";position:absolute;left:0;top:-1.5rem;white-space:nowrap;font-size:1.2rem;color:red;background-color:var(--white)}.ico-button:not([aria-label]):after{content:"button에 aria-label에 대체텍스트를 넣어주세요";position:absolute;left:0;top:-1.5rem;white-space:nowrap;font-size:1.2rem;color:red;background-color:var(--white)}.ico-button.xs{--icon-size: 1.5rem}.ico-button.sm{--icon-size: 1.6rem}.ico-button.base{--icon-size: 2rem}.ico-button.md{--icon-size: 2.5rem}.ico-button.lg{--icon-size: 2.8rem}.btn-dialog-close{width:2rem;height:2rem;border:none;cursor:pointer;position:absolute;top:1rem;right:1rem;background:#0000001a}}@layer molecules.navigation{.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:space-around;align-items:center;border-top:1px solid #eee;padding-bottom:env(safe-area-inset-bottom);z-index:1000}.nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#888;gap:4px;flex:1;transition:all .2s ease}.nav-item.active{color:#111}.nav-icon{font-size:22px}.nav-label{font-size:11px;font-weight:500}.nav-item[href="/camera"] .nav-icon{font-size:26px;background:#f8f9fa;padding:8px;border-radius:15px;margin-top:-10px;box-shadow:0 4px 10px #0000000d}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-item.active .nav-label{font-weight:800}}@layer organisms.header{.header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#fff;border-bottom:1px solid #eeeeee;position:sticky;top:0;z-index:1000}.logo{font-size:20px;font-weight:900;text-decoration:none;color:#111}.utility{display:flex;align-items:center;gap:16px}.nav-link{text-decoration:none;font-size:15px;color:#888;transition:color .2s ease}.nav-link.active{color:#000;font-weight:700}.btn-menu{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s}.kitchen-btn{background-color:#fff1f0;color:#ff4d4f;border:1px solid #ffccc7}.kitchen-btn:hover{background-color:#ff4d4f;color:#fff}.master-btn{background-color:#111;color:#fff;border:1px solid #111111;box-shadow:0 4px 10px #0000001a}.master-btn:hover{background-color:#333;transform:translateY(-1px)}.btn-logout{padding:6px 12px;background:none;border:1px solid #ddd;border-radius:8px;font-size:13px;cursor:pointer;color:#666}.btn-login{padding:8px 18px;background-color:#111;color:#fff;border-radius:10px;text-decoration:none;font-size:14px;font-weight:700}.search-dialog{padding:0;inset:50% auto auto 50%;translate:-50% -50%;border:none;border-radius:24px;width:90%;max-width:600px;background:#fff;box-shadow:0 25px 50px -12px #00000040}.search-dialog[open]{animation:slideUp .3s ease-out}.search-dialog::backdrop{background:#0f172ab3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.search-dialog .dialog-inner{display:flex;flex-direction:column}.search-dialog .dialog-inner .search-input-wrapper{display:flex;align-items:center;padding:24px;border-bottom:1px solid #f1f5f9;gap:16px}.search-dialog .dialog-inner .search-input-wrapper .modal-search-input{flex:1;border:none;font-size:20px;font-weight:700;outline:none;color:#1e293b}.search-dialog .dialog-inner .search-input-wrapper .modal-search-input::placeholder{color:#cbd5e1}.search-dialog .dialog-inner .search-input-wrapper .modal-close-btn{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:#64748b;transition:all .2s}.search-dialog .dialog-inner .search-input-wrapper .modal-close-btn:hover{background:#e2e8f0;color:#0f172a}.search-dialog .dialog-inner .search-results{max-height:450px;overflow-y:auto;padding:12px}.search-dialog .dialog-inner .search-results .result-item{padding:16px;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:all .2s}.search-dialog .dialog-inner .search-results .result-item:hover{background:#f8fafc;transform:translate(4px)}.search-dialog .dialog-inner .search-results .result-item .result-title{font-size:16px;font-weight:600;color:#334155}.search-dialog .dialog-inner .search-results .result-item .result-meta{font-size:13px;color:#94a3b8}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@layer page.main{.landing-container{min-height:100vh;background-color:#fff;padding-bottom:80px}.landing-main{max-width:1200px;margin:0 auto;padding:20px}.hero-section{text-align:center;padding:50px 20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:24px;margin-bottom:40px}.hero-title{font-size:28px;font-weight:900;margin-bottom:10px}.hero-subtitle{font-size:15px;color:#666;margin-bottom:20px}.hero-login-btn{padding:12px 24px;background-color:#111;color:#fff;border:none;border-radius:50px;font-weight:700;cursor:pointer}.section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-title{font-size:19px;font-weight:800;color:#111}.section-title.centered{text-align:center;margin-bottom:25px}.more-link{font-size:13px;color:#007aff;text-decoration:none;font-weight:600}.tab-container{display:flex;gap:8px;margin-bottom:15px;overflow-x:auto;scrollbar-width:none;padding:4px 0}.tab-item{white-space:nowrap;padding:8px 16px;border-radius:20px;background-color:#f1f3f5;border:1px solid transparent;font-size:14px;font-weight:600;color:#495057;cursor:pointer;transition:all .2s}.tab-item.active{background-color:#059669;color:#fff;border-color:#059669}.variant-2 .tab-item{flex:1;text-align:center}.mood-banner{padding:30px;background-color:#f8f9fa;border-radius:16px;border-left:5px solid #059669}.mood-tag{display:inline-block;color:#059669;font-weight:800;font-size:13px;margin-bottom:8px}.horizontal-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.shopping-card{min-width:130px;padding:14px;background-color:#fff5f5;border-radius:14px;border:1px solid #ffe3e3}.shopping-name{display:block;font-size:14px;margin-bottom:4px}.shopping-qty{font-size:12px;color:#e03131;font-weight:700}.recent-card{min-width:220px;cursor:pointer}.recent-thumb-wrapper{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9}.recent-thumb{width:100%;height:100%;object-fit:cover}.recent-badge{position:absolute;bottom:6px;right:6px;background:#0009;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px}.recent-title{font-size:13px;margin-top:8px;font-weight:600;line-height:1.4;height:2.8em;overflow:hidden}.channel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:15px}.channel-card{text-align:center;cursor:pointer}.profile-wrapper{width:65px;height:65px;border-radius:50%;overflow:hidden;margin:0 auto 8px;border:1px solid #eee}.profile-img{width:100%;height:100%;object-fit:cover}.channel-name{font-size:12px;font-weight:600}.empty-box{padding:30px;text-align:center;background-color:#f8f9fa;border-radius:14px;color:#adb5bd;font-size:13px}.recipe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.landing-container{max-width:1200px;margin:0 auto;padding-bottom:80px}.category-story-section{padding:20px 0;background:#fff}.story-scroll{display:flex;gap:16px;overflow-x:auto;padding:10px 20px;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.story-scroll::-webkit-scrollbar{display:none}.story-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;scroll-snap-align:start;transition:transform .2s}.story-item:active{transform:scale(.95)}.story-circle{width:64px;height:64px;border-radius:50%;background:#f1f3f5;display:flex;align-items:center;justify-content:center;font-size:28px;border:2px solid #fff;box-shadow:0 0 0 2px #e9ecef;transition:all .3s}.story-item.active .story-circle{box-shadow:0 0 0 2px #ff6b6b;background:#fff5f5}.story-label{font-size:12px;font-weight:600;color:#495057}.story-item.active .story-label{color:#ff6b6b}.section{margin-top:40px;padding:0 20px}.section-title{font-size:20px;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:8px}.empty-box{padding:40px;background:#f8f9fa;border-radius:12px;text-align:center;color:#adb5bd}.story-circle{width:64px;height:64px;border-radius:50%;background:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid #eee}.story-img{width:100%;height:100%;object-fit:cover}.story-emoji{line-height:1}.curated-youtube{padding-top:10px}.curated-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:768px){.curated-grid{grid-template-columns:repeat(3,1fr)}}.curated-card{cursor:pointer;transition:transform .2s ease}.curated-card:active{transform:scale(.98)}.thumb-container{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;background-color:#f1f3f5;box-shadow:0 4px 12px #0000000d}.thumb-img{width:100%;height:100%;object-fit:cover}.match-badge{position:absolute;top:8px;left:8px;background:#059669e6;color:#fff;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:800;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0003}.curated-info{padding:10px 4px}.curated-title{font-size:14px;font-weight:700;color:#1a1a1a;line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.curated-channel{font-size:12px;color:#868e96;font-weight:500}.hero-badge{display:inline-block;background-color:#fff;padding:6px 14px;border-radius:50px;font-size:12px;font-weight:800;color:#111;margin-bottom:12px;box-shadow:0 4px 10px #0000000d}.hero-section.guest-mode{background:linear-gradient(135deg,#fff5f5,#ffe3e3)}}@layer page.inventory{.inv-container{width:100%;max-width:1200px;margin:0 auto;padding:20px 20px 100px;background-color:#fff;position:relative}.inv-header{font-size:24px;font-weight:900;margin-bottom:24px;color:#111}.reg-section{background:#fff;padding:20px;border-radius:16px;margin-bottom:40px;border:1px solid #eee;box-shadow:0 4px 12px #0000000d;position:sticky;top:10px;z-index:100}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:13px;font-weight:700;color:#495057}.native-input{padding:12px;border:1px solid #dee2e6;border-radius:8px;font-size:15px;outline:none;background:#fff}.native-input:focus{border-color:#059669}.save-btn{width:100%;padding:14px;background-color:#111;color:#fff;border:none;border-radius:8px;font-weight:800;cursor:pointer;transition:background-color .2s}.save-btn:hover{background-color:#333}.list-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px;padding-top:10px}.view-toggle-group{display:flex;background:#f1f3f5;padding:4px;border-radius:8px}.inv-card{border:1px solid #f1f3f5;border-radius:12px;padding:16px;background:#fff}.inv-card.low-stock{border-left:4px solid #ef4444;background-color:#fff5f5}.card-top{display:flex;justify-content:space-between;margin-bottom:12px}.card-name{font-size:17px;font-weight:800}.card-qty{font-size:18px;font-weight:900;color:#059669}.card-qty.danger{color:#ef4444}.card-meta{font-size:13px;color:#6b7280;margin-bottom:16px}.card-actions{display:flex;gap:8px}.action-btn{flex:1;padding:8px;border-radius:6px;border:none;font-size:12px;font-weight:700;cursor:pointer}.inv-table-wrapper{overflow-x:auto}.inv-table{width:100%;border-collapse:collapse}.inv-table th{text-align:left;padding:12px;border-bottom:2px solid #eee;font-size:14px}.inv-table td{padding:12px;border-bottom:1px solid #f8f9fa}.fridge-container{width:100%;max-width:1200px;margin:0 auto;padding:20px 20px 100px;background-color:#fff;box-sizing:border-box}.filter-section{position:sticky;top:0;background:#fff;z-index:100;padding:10px 0 20px;border-bottom:1px solid #f1f3f5;margin-bottom:20px}.search-wrapper{position:relative;margin-bottom:15px}.search-input{width:100%;padding:14px 45px 14px 15px;border:1px solid #dee2e6;border-radius:12px;font-size:15px;outline:none;background-color:#f8f9fa;transition:all .2s;box-sizing:border-box}.search-input:focus{border-color:#059669;background-color:#fff;box-shadow:0 0 0 3px #0596691a}.clear-btn{position:absolute;right:15px;top:50%;transform:translateY(-50%);border:none;background:none;color:#adb5bd;cursor:pointer;font-size:18px}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.sort-item{background:none;border:none;padding:5px 0;font-size:14px;font-weight:600;color:#9ca3af;cursor:pointer;position:relative}.sort-item.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:#111}.view-toggle{display:flex;background:#f1f3f5;padding:3px;border-radius:8px}.toggle-icon-btn{padding:6px 10px;border:none;background:none;cursor:pointer;border-radius:6px;font-size:13px;color:#868e96}.toggle-icon-btn.active{background:#fff;color:#111;box-shadow:0 2px 4px #0000001a}.shopping-banner{background-color:#fff5f5;border:1px solid #ffe3e3;border-radius:16px;padding:20px;margin-bottom:30px}.banner-title{font-size:16px;font-weight:800;color:#e03131;margin-bottom:12px;display:flex;align-items:center;gap:6px}.shopping-tags{display:flex;flex-wrap:wrap;gap:8px}.shopping-tag{background:#fff;border:1px solid #ffa8a8;padding:6px 12px;border-radius:20px;font-size:13px;display:flex;gap:6px}.tag-qty{color:#e03131;font-weight:700}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.empty-state{text-align:center;padding:80px 0;color:#adb5bd}.inventory-card{background:#fff;border:1px solid #f1f3f5;border-radius:12px;padding:16px;display:flex;transition:all .2s ease}.inventory-card.low-stock{border-left:4px solid #ef4444;background-color:#fff5f5}.inventory-card.card{flex-direction:column;gap:12px}.inventory-card.list{flex-direction:row;justify-content:space-between;align-items:center;padding:10px 16px}.card-main-info{display:flex;flex-direction:column;gap:4px}.list .card-main-info{flex-direction:row;align-items:center;gap:15px;flex:1}.item-name{font-size:16px;font-weight:800}.item-qty{font-size:18px;font-weight:900;color:#059669}.item-qty.danger{color:#ef4444}.low-badge{background:#ef4444;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;margin-left:6px}.card-sub-info{display:flex;justify-content:space-between;align-items:flex-end}.list .card-sub-info{flex:1;justify-content:flex-end;gap:30px;align-items:center}.expiry-info{display:flex;flex-direction:column;font-size:12px}.list .expiry-info{flex-direction:row;gap:8px}.expiry-info .label{color:#9ca3af}.expiry-info .value{font-weight:600;color:#374151}.action-group{display:flex;gap:8px}.action-group button{background:#f8f9fa;border:none;border-radius:8px;width:32px;height:32px;cursor:pointer}.inventory-container{width:100%;max-width:1200px;margin:0 auto;padding:20px 20px 100px}.list-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:10px 0;border-bottom:1px solid #f1f3f5}.controls-row{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;flex-wrap:wrap}.search-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid #dee2e6;border-radius:12px;background:#f8f9fa;font-size:15px;outline:none}.search-input:focus{border-color:#059669;background:#fff}.sort-group{display:flex;gap:15px}.sort-item{background:none;border:none;font-size:14px;font-weight:600;color:#9ca3af;cursor:pointer;padding:4px 0;position:relative}.sort-item.active{color:#111}.sort-item.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#111}.view-toggle{display:flex;background:#f1f3f5;padding:4px;border-radius:8px}.toggle-btn{padding:6px 12px;border:none;background:none;font-size:13px;font-weight:600;cursor:pointer;border-radius:6px;color:#868e96}.toggle-btn.active{background:#fff;color:#111;box-shadow:0 2px 4px #0000001a}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.items-list{display:flex;flex-direction:column;gap:10px}}@layer page.kitchen{.kitchen-container{max-width:1024px;margin:0 auto;padding:40px 20px 100px;background-color:#fff;width:100%}.kitchen-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.kitchen-title{font-size:26px;font-weight:900;margin:0;color:#111}.refresh-btn{padding:8px 16px;border-radius:8px;border:1px solid #dee2e6;background-color:#fff;cursor:pointer;font-weight:600;transition:background-color .2s}.refresh-btn:hover{background-color:#f8f9fa}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.stat-card{padding:24px;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;box-shadow:0 4px 15px #0000000d;border:1px solid #f1f3f5;text-align:center;transition:transform .2s}.stat-card:hover{transform:translateY(-5px)}.stat-card.youtube{border-left:5px solid #ff0000}.card-label{font-size:14px;color:#6b7280;margin-bottom:8px;display:block}.stat-value{font-size:32px;font-weight:900;color:#111827;margin:12px 0}.card-link{display:inline-block;color:#007aff;text-decoration:none;font-size:14px;font-weight:700}.card-btn-group{display:flex;gap:8px;margin-top:15px}.card-btn{flex:1;padding:10px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;text-align:center}.card-btn.light{background-color:#f1f3f5;color:#495057}.card-btn.primary{background-color:#059669;color:#fff}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:20px;margin-top:25px}.detail-card{padding:20px;background:#fff;border-radius:16px;border:1px solid #eee;box-shadow:0 2px 10px #00000008}.detail-title{font-size:16px;font-weight:800;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #f1f3f5;display:flex;align-items:center;gap:8px}.detail-list{list-style:none;padding:0;margin:0}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f8f9fa}.view-btn{padding:6px 12px;background:#007aff;color:#fff;border:none;border-radius:6px;font-size:12px;text-decoration:none;font-weight:600}.empty-msg{text-align:center;padding:40px 0;color:#9ca3af;font-size:14px}.loading-screen{text-align:center;padding:100px 0;color:#6b7280;font-weight:600}.profile-entry{display:flex;align-items:center;gap:15px;cursor:pointer;padding:10px;border-radius:12px;transition:background .2s}.profile-entry:hover{background-color:#f8fafc}.avatar-circle{position:relative;width:60px;height:60px;border-radius:50%;background-color:#e2e8f0;overflow:visible}.avatar-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-placeholder{display:flex;justify-content:center;align-items:center;height:100%;font-size:30px}.edit-badge{position:absolute;bottom:0;right:0;background:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 5px #0003}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.profile-modal{background:#fff;padding:30px;border-radius:20px;width:90%;max-width:400px;text-align:center;box-shadow:0 10px 25px #0003}.modal-avatar-section{margin:20px 0;display:flex;justify-content:center}.modal-avatar{position:relative;width:100px;height:100px;border-radius:50%;background:#f1f5f9;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:40px;overflow:hidden;border:3px solid #6366f1}.modal-avatar.loading{opacity:.5}.modal-avatar img{width:100%;height:100%;object-fit:cover}.camera-icon{position:absolute;bottom:5px;right:5px;background:#6366f1;color:#fff;width:28px;height:28px;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center}.input-group{text-align:left;margin-bottom:20px}.input-group label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#475569}.input-group input{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:10px;outline:none}.modal-actions{display:flex;gap:10px}.cancel-btn,.save-btn{flex:1;padding:12px;border-radius:10px;font-weight:700;cursor:pointer;border:none}.save-btn{background:#6366f1;color:#fff}.cancel-btn{background:#f1f5f9;color:#64748b}.kitchen-container{max-width:600px;margin:0 auto;padding:20px;background-color:#f8fafc}.dna-insight-card{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:20px;padding:24px;color:#fff;margin-bottom:20px;box-shadow:0 10px 25px #0003}.dna-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dna-avatar-group{position:relative;cursor:pointer}.dna-avatar-wrapper{width:80px;height:80px;border-radius:50%;background:#334155;border:3px solid #fbbf24;overflow:hidden;display:flex;align-items:center;justify-content:center}.dna-avatar-wrapper img{width:100%;height:100%;object-fit:cover}.dna-placeholder{font-size:40px}.dna-badge{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);background:#fbbf24;color:#0f172a;font-size:11px;font-weight:800;padding:2px 10px;border-radius:10px;white-space:nowrap}.dna-chart-wrapper{width:140px;height:140px;position:relative}.radar-placeholder{width:100%;height:100%;background:#ffffff0d;border-radius:50%;position:relative;border:1px dashed rgba(255,255,255,.2)}.radar-line{position:absolute;background:#ffffff1a}.radar-line.v{width:1px;height:100%;left:50%}.radar-line.h{height:1px;width:100%;top:50%}.radar-shape{position:absolute;width:60%;height:60%;background:#fbbf2466;top:20%;left:20%;clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);border:2px solid #fbbf24}.label{position:absolute;font-size:9px;color:#94a3b8}.label.t{top:-5px;left:50%;transform:translate(-50%)}.label.r{right:-10px;top:50%}.label.br{bottom:-5px;right:10px}.label.bl{bottom:-5px;left:10px}.label.l{left:-10px;top:50%}.dna-footer{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.dna-text h3{margin:0;font-size:18px;color:#f8fafc}.dna-text p{margin:4px 0 0;font-size:12px;color:#94a3b8}.dna-btn{background:#fbbf24;color:#0f172a;border:none;padding:10px 16px;border-radius:10px;font-weight:800;font-size:13px;cursor:pointer;transition:transform .2s}.dna-btn:active{transform:scale(.95)}.kitchen-header-row{display:flex;gap:15px;margin-bottom:20px}.user-point-card{background:#fff;padding:15px;border-radius:15px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0000000d}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stat-card{background:#fff;padding:15px;border-radius:15px;box-shadow:0 4px 6px #0000000d}.premium-ad{grid-column:span 2;background:#fef3c7;border:1px solid #fcd34d}.timer-settings-card{margin-bottom:18px;border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:16px}.timer-settings-head h4{margin:0;font-size:16px;color:#1e3a8a}.timer-settings-head p{margin:8px 0 0;font-size:12px;color:#475569;line-height:1.5}.timer-settings-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.timer-setting-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:170px;border:1px solid #bfdbfe;background:#fff;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;color:#1e293b}.timer-settings-save{margin-top:12px;border:none;background:#2563eb;color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}}@layer page.scanner{.scanner-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000;display:flex;flex-direction:column;z-index:1000;color:#fff}.camera-view{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.camera-video{width:100%;height:100%;object-fit:cover}.scan-guide{position:absolute;border:2px solid rgba(255,255,255,.5);border-radius:16px;transition:all .3s ease}.scan-guide.receipt{width:70%;height:80%;border-style:dashed}.scan-guide.object{width:250px;height:250px;border-color:#059669}.scanner-controls{padding:30px 20px 50px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);display:flex;flex-direction:column;align-items:center;gap:20px}.mode-switcher{display:flex;background:#fff3;padding:4px;border-radius:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-btn{padding:8px 20px;border:none;background:none;color:#ccc;border-radius:25px;font-size:14px;font-weight:700;cursor:pointer}.mode-btn.active{background:#fff;color:#000}.shutter-wrapper{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border:4px solid #fff;border-radius:50%;cursor:pointer;padding:4px}.shutter-inner{width:100%;height:100%;background-color:#fff;border-radius:50%;transition:transform .1s}.shutter-wrapper:active .shutter-inner{transform:scale(.9)}.close-scanner{position:absolute;top:40px;right:20px;background:#00000080;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;z-index:1001}.analyzing-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1002}.scan-line{width:100%;height:2px;background:#059669;position:absolute;top:0;box-shadow:0 0 15px #059669;animation:scan 2s infinite}@keyframes scan{0%{top:10%}to{top:90%}}.analyzing-content{display:flex;flex-direction:column;align-items:center;gap:15px}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#059669;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-overlay{position:absolute;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.error-box{background:#fff;padding:25px;border-radius:20px;text-align:center;width:100%;max-width:300px}.error-msg{color:#111;font-weight:700;margin-bottom:20px;line-height:1.5}.error-btns{display:flex;gap:10px}.err-btn{flex:1;padding:12px;border-radius:10px;border:none;font-weight:700;cursor:pointer}.err-btn.back{background:#f1f3f5;color:#495057}.err-btn.retry{background:#111;color:#fff}.shutter-wrapper.disabled{opacity:.3;pointer-events:none}.desktop-warning{background-color:#f8f9fa;justify-content:center;align-items:center}.warning-box{background:#fff;padding:40px 30px;border-radius:24px;box-shadow:0 10px 40px #0000001a;text-align:center;color:#111;max-width:320px}.warning-box h2{margin:20px 0 10px;font-size:20px;font-weight:900}.warning-box p{font-size:14px;color:#666;line-height:1.6;margin-bottom:25px}.floating-scan-btn{transition:transform .2s cubic-bezier(.175,.885,.32,1.275),background-color .2s}.floating-scan-btn:hover{transform:scale(1.05) translateY(-5px);background-color:#059669}.floating-scan-btn:active{transform:scale(.95)}.spinner{width:30px;height:30px;border:3px solid #eee;border-top:3px solid #059669;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shutter-wrapper{width:80px;height:80px;border:5px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .1s;box-shadow:0 0 15px #0000004d;background-color:transparent}.shutter-inner{width:60px;height:60px;background-color:#fff;border-radius:50%}.shutter-wrapper:active{transform:scale(.9)}.shutter-wrapper.disabled{opacity:.5;border-color:#666}.shutter-wrapper.disabled .shutter-inner{background-color:#666}.scan-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid #059669;box-shadow:0 0 0 1000px #0006;z-index:10;pointer-events:none}.scan-guide.recipe{width:80%;height:60%;border:2px dashed rgba(255,255,255,.8);border-radius:10px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.mode-switcher.scroll-x{display:flex;overflow-x:auto;padding:10px 20px;gap:10px;width:100%;justify-content:center;-webkit-overflow-scrolling:touch}.mode-switcher::-webkit-scrollbar{display:none}}@layer page.membership{.membership-container{padding:20px;background-color:#f8f9fa;min-height:100vh;font-family:-apple-system,sans-serif}.membership-header{text-align:center;padding:30px 0}.hot-deal-badge{display:inline-block;padding:6px 15px;background-color:#e8f5e9;color:#2e7d32;border-radius:15px;font-size:13px;font-weight:700;margin-bottom:10px}.membership-header h1{font-size:26px;font-weight:900;color:#111;margin:0}.membership-header .subtitle{color:#666;margin-top:8px;font-size:14px;line-height:1.5}.my-point-card{margin:25px auto 0;max-width:450px;background:linear-gradient(135deg,#111,#333);color:#fff;padding:25px;border-radius:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 20px #00000026;text-align:left}.my-point-card .label{font-size:14px;opacity:.7;display:block;margin-bottom:5px}.my-point-card .point-value{font-size:26px;font-weight:700}.my-point-card .ticket-count{font-size:18px;font-weight:700;color:#eab308}.package-list{display:flex;flex-direction:column;gap:15px;max-width:450px;margin:25px auto 0}.package-item{padding:22px;border-radius:22px;background-color:#fff;border:1px solid #eee;display:flex;justify-content:space-between;align-items:center;cursor:pointer;position:relative;transition:transform .1s}.package-item:active{transform:scale(.98)}.package-item.featured{border:2.5px solid #111}.package-item .tag{position:absolute;top:-11px;left:22px;color:#fff;padding:3px 12px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.5px}.tag.red{background-color:#d32f2f}.tag.black{background-color:#111}.pkg-points{font-size:20px;font-weight:900;color:#111;margin-bottom:4px}.pkg-points .bonus{color:#d32f2f;font-size:14px}.pkg-desc{font-size:13px;color:#888;font-weight:500}.pkg-price{font-size:19px;font-weight:900;color:#111}.free-charge-box{margin-top:10px;padding:25px;border-radius:24px;background-color:#fff;text-align:center;border:1px solid #e2e8f0;box-shadow:0 4px 6px #00000005}.free-charge-box h4{margin:0 0 10px;font-size:16px;font-weight:700;color:#333}.free-charge-box p{font-size:13px;color:#666;margin-bottom:18px;line-height:1.5}.ad-go-btn{width:100%;padding:14px;border-radius:14px;border:none;background:#f1f5f9;color:#334155;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s}.ad-go-btn:hover{background:#e2e8f0}.membership-footer{text-align:center;padding:40px 20px}.back-link{color:#aaa;text-decoration:underline;cursor:pointer;font-size:14px;margin-bottom:30px}.policy-box{text-align:left;background-color:#eee;padding:20px;border-radius:18px}.policy-box h5{margin:0 0 10px;font-size:13px;font-weight:700}.policy-box ul{margin:0;padding-left:18px;font-size:12px;color:#777;line-height:1.8}}@layer page.master{.master-container{padding:24px;background-color:#f9fafb;min-height:100vh;font-family:-apple-system,sans-serif}.master-title{font-size:24px;font-weight:900;margin-bottom:32px;color:#111}.master-grid{display:grid;grid-template-columns:1fr;gap:32px}@media(min-width:1024px){.master-grid{grid-template-columns:1fr 1fr}.col-span-full{grid-column:1 / -1}}.master-card{background:#fff;padding:24px;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.card-title{font-size:18px;font-weight:700;margin-bottom:20px;color:#111;display:flex;align-items:center;gap:8px}.input-group{margin-bottom:16px}.input-label{display:block;font-size:14px;color:#6b7280;margin-bottom:6px}.master-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:12px;font-size:15px;box-sizing:border-box}.flex-row{display:flex;gap:8px}.btn-primary{width:100%;padding:14px;background-color:#111;color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:background .2s}.btn-primary:hover{background-color:#374151}.config-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f3f4f6;border-radius:12px;margin-bottom:12px}.master-table{width:100%;border-collapse:collapse;text-align:left}.master-table th{padding:12px;border-bottom:1px solid #e5e7eb;color:#9ca3af;font-size:13px;font-weight:500}.master-table td{padding:16px 12px;border-bottom:1px solid #f3f4f6;font-size:14px}.usage-stats-flex{display:flex;flex-direction:column;gap:20px}.stat-item{display:flex;flex-direction:column;gap:8px}.label{font-size:13px;color:#666;font-weight:600}.value{font-size:12px;color:#888;text-align:right}.value-large{font-size:24px;font-weight:900;color:#111}.bar-bg{width:100%;height:10px;background-color:#eee;border-radius:5px;overflow:hidden}.bar-fill{height:100%;background-color:#111;transition:width .5s ease}.bar-fill.green{background-color:#059669}.uid-text{font-size:11px;color:#aaa;font-family:monospace}.text-green{color:#059669}.text-red{color:#ef4444}.btn-small{padding:4px 8px;border:1px solid #ddd;background:#fff;border-radius:6px;font-size:11px;cursor:pointer}.btn-text-red{color:#ef4444;border:none;background:none;cursor:pointer;font-size:12px}.btn-text-blue{color:#2563eb;border:none;background:none;cursor:pointer;font-size:14px;font-weight:700;margin-top:15px}.master-container{max-width:1240px;margin:0 auto;padding:40px 20px;background-color:#f9f9f9;min-height:100vh}.master-title{font-size:28px;font-weight:800;margin-bottom:30px;color:#1a1a1a}.master-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.col-span-full{grid-column:1 / -1}.master-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid #eee}.card-title{font-size:18px;font-weight:700;margin-bottom:20px;color:#333;display:flex;align-items:center;gap:8px}.usage-stats-flex{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.stat-item{flex:1;min-width:200px}.label{display:block;font-size:13px;color:#666;margin-bottom:8px}.value{font-size:14px;font-weight:600}.value-large{display:block;font-size:24px;font-weight:800;color:#000}.bar-bg{width:100%;height:8px;background:#eee;border-radius:4px;margin-bottom:8px;overflow:hidden}.bar-fill{height:100%;background:#2563eb;transition:width .3s ease}.input-group{margin-bottom:15px}.input-label{display:block;font-size:12px;color:#888;margin-bottom:5px}.master-input{width:100%;padding:12px;border-radius:8px;border:1px solid #ddd;font-size:14px}.btn-primary{width:100%;padding:14px;background:#000;color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer}.config-row{display:flex;justify-content:space-between;padding:12px 0;font-size:14px}.bold{font-weight:700}.text-blue{color:#2563eb}.table-wrapper{overflow-x:auto;margin-top:10px}.master-table{width:100%;border-collapse:collapse}.master-table th{text-align:left;padding:12px;background:#f5f5f5;font-size:13px;color:#666}.master-table td{padding:15px 12px;border-bottom:1px solid #eee;font-size:14px}.uid-text{font-size:11px;color:#aaa;margin-top:4px}.btn-small{padding:6px 12px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-text-red{color:#ef4444;border:none;background:none;cursor:pointer;font-size:13px}.btn-text-blue{color:#2563eb;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;margin-top:15px}@media(max-width:1000px){.master-grid{grid-template-columns:1fr}}}@layer page.explore{.explore-container{min-height:100vh;background-color:#fff}.explore-main{max-width:1080px;margin:0 auto;padding:40px 20px}.explore-header{background:#fff;padding:20px 0;border-bottom:1px solid #f1f5f9;margin-bottom:30px}.header-top-group{display:flex;flex-direction:column;gap:20px}@media(min-width:768px){.header-top-group{flex-direction:row;align-items:center;justify-content:space-between}}.channel-selector{flex:1;overflow:hidden}.tab-scroll{display:flex;gap:16px;overflow-x:auto;padding:5px 2px;scrollbar-width:none}.tab-scroll::-webkit-scrollbar{display:none}.tab-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:.6;transition:all .3s ease}.tab-item.active{opacity:1;transform:scale(1.05)}.tab-avatar-wrapper{width:56px;height:56px;border-radius:50%;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #0000000d;margin-bottom:8px;overflow:hidden;border:2px solid transparent}.tab-item.active .tab-avatar-wrapper{border-color:#000}.search-box-container{width:100%;max-width:350px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#f1f5f9;border-radius:14px;padding:4px 16px;border:2px solid transparent}.search-input-wrapper:focus-within{background:#fff;border-color:#000}.search-input{flex:1;border:none;background:transparent;padding:12px 10px;font-size:15px;outline:none}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.video-card{cursor:pointer;transition:transform .2s}.video-card:hover{transform:translateY(-5px)}.thumb-wrapper{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9}.thumb-img{width:100%;height:100%;object-fit:cover}.channel-badge{position:absolute;top:8px;right:8px;background:#0009;color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.video-title{margin-top:12px;font-size:14px;font-weight:600;line-height:1.4;color:#1e293b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-hero-section{width:100%;margin-bottom:24px}.video-player-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;background-color:#000;border-radius:16px;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a}.video-player-wrapper iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:none;display:block}@media(max-width:480px){.video-player-wrapper{border-radius:0}}}@layer page.explore-detail{.explore-detail-container{max-width:1000px;margin:0 auto;padding:20px;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.detail-header{margin-bottom:20px}.back-btn{background:none;border:none;font-size:15px;font-weight:600;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:8px}.back-btn:hover{color:#000}.video-hero-section{width:100%;aspect-ratio:16 / 9;background-color:#000;border-radius:24px;overflow:hidden;box-shadow:0 20px 40px #0000001a;margin-bottom:30px}.video-hero-section.sticky-enabled{position:sticky;top:72px;z-index:100;width:calc(100% - 120px);max-width:840px;margin-left:auto;margin-right:auto}@media(max-width:768px){.video-hero-section.sticky-enabled{top:8px;width:100%;max-width:none}}.detail-content-section{display:flex;flex-direction:column;gap:24px}.detail-title{font-size:24px;font-weight:800;color:#1e293b;line-height:1.4}.actions-bar{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:20px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:20px}.channel-info{display:flex;flex-direction:column;gap:10px}.channel-name-txt{font-size:18px;font-weight:700;color:#475569}.link-group{display:flex;gap:12px}.sub-btn,.origin-btn{font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px;text-decoration:none}.sub-btn{background:#fee2e2;color:#ef4444}.origin-btn{background:#f1f5f9;color:#64748b}.kitchen-btn-group{display:flex;gap:12px}.manual-save-btn{padding:12px 20px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-weight:700;cursor:pointer}.ai-save-btn{padding:12px 24px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #6366f14d}.ai-save-btn.loading{opacity:.7}.description-box{background-color:#f8fafc;padding:30px;border-radius:20px}.description-box h4{margin-top:0;margin-bottom:15px;font-size:16px;color:#1e293b}.description-text{white-space:pre-wrap;word-break:break-all;font-size:15px;line-height:1.8;color:#475569;margin:0;font-family:inherit}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.compare-panel{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px}.compare-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.compare-panel-header h4{margin:0}.compare-badge{font-size:11px;font-weight:700;color:#155e75;background:#cffafe;border:1px solid #a5f3fc;border-radius:999px;padding:3px 8px;white-space:nowrap}.ingredients-list{margin:0;padding-left:18px;line-height:1.7}.extracted-meta{margin-top:10px;font-size:13px;color:#374151;display:grid;gap:4px}.compare-subtitle{margin-top:12px;margin-bottom:6px;font-size:13px;font-weight:700;color:#334155}.user-save-btn{padding:12px 28px;background-color:#000;color:#fff;border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:transform .2s;box-shadow:0 4px 10px #0000001a}.user-save-btn:hover{transform:scale(1.02);background-color:#333}.btn-group{display:flex;gap:12px}.ai-save-btn.loading{cursor:wait;background:#94a3b8;animation:pulse 1.5s infinite}}@layer page.shoppinglist{.shopping-container{max-width:1080px;margin:0 auto;padding:40px 20px;width:100%}.shopping-container .shopping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.shopping-container .shopping-header .header-info .title{font-size:24px;font-weight:800;margin:0 0 8px}.shopping-container .shopping-header .header-info .subtitle{font-size:13px;color:#666;margin:0}.shopping-container .shopping-header .refresh-btn{padding:10px 16px;border-radius:8px;border:1px solid #ddd;background-color:#fff;cursor:pointer;font-weight:600;transition:background .2s}.shopping-container .shopping-header .refresh-btn:hover{background-color:#f8f9fa}.shopping-container .shopping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.shopping-container .shopping-grid .card{background:#fff;border:1px solid #eee;border-radius:16px;padding:24px;box-shadow:0 4px 12px #00000008}.shopping-container .shopping-grid .card .card-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;margin-bottom:20px}.shopping-container .shopping-grid .card .card-title .badge{padding:3px 10px;border-radius:6px;font-size:12px;font-weight:800}.shopping-container .shopping-grid .card .card-title .badge.missing{background:#ffe3e3;color:#e03131}.shopping-container .shopping-grid .card .card-title .badge.low-stock{background:#fff4e6;color:#f08c00}.shopping-container .shopping-grid .card .item-list{list-style:none;padding:0;margin:0}.shopping-container .shopping-grid .card .item-list .list-item{padding:15px 0;border-bottom:1px solid #f1f3f5}.shopping-container .shopping-grid .card .item-list .list-item:last-child{border-bottom:none}.shopping-container .shopping-grid .card .item-list .list-item .item-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.shopping-container .shopping-grid .card .item-list .list-item .item-main .name{font-weight:600;font-size:16px}.shopping-container .shopping-grid .card .item-list .list-item .item-main .stock-info{color:#e03131;font-size:13px;font-weight:500}.shopping-container .shopping-grid .card .item-list .list-item .recipe-info{font-size:12px;color:#868e96;line-height:1.4}.shopping-container .shopping-grid .card .item-list .list-item .btn-action{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:#fff;border:1px solid #ddd}.shopping-container .shopping-grid .card .item-list .list-item .btn-action.add{border-color:#228be6;color:#228be6}.shopping-container .shopping-grid .card .item-list .list-item .btn-action.edit{border-color:#f08c00;color:#f08c00}.shopping-container .shopping-grid .card .item-list .list-item .btn-action:hover{opacity:.8}.shopping-container .shopping-grid .card .empty-msg{text-align:center;color:#adb5bd;padding:40px 0;font-size:14px}.shopping-container .premium-footer{margin-top:40px;padding:20px;background:#f8f9fa;border-radius:12px;text-align:center;font-size:14px}.shopping-container .premium-footer .link{color:#228be6;font-weight:600;cursor:pointer;margin-left:8px;text-decoration:underline}.loading-screen{display:flex;justify-content:center;align-items:center;height:60vh;font-weight:600;color:#666}.shopping-controls{display:flex;justify-content:flex-end;margin-bottom:20px;gap:10px}.shopping-controls select{padding:8px 12px;border-radius:8px;border:1px solid #ddd;background-color:#fff;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:25px;padding-top:15px;border-top:1px solid #eee}.pagination button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.pagination button.active{background:#111;color:#fff;border-color:#111;font-weight:700}.pagination button:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.pagination button:hover:not(:disabled):not(.active){background:#f8f9fa}}@layer page.kitchenrecipe{.kitchen-container{padding:100px 20px;max-width:1024px;margin:0 auto;width:100%;box-sizing:border-box}.kitchen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.register-link{padding:12px 24px;background-color:#059669;color:#fff;border-radius:10px;text-decoration:none;font-weight:700;transition:background .2s}.register-link:hover{background-color:#047857}.tab-container{display:flex;gap:20px;margin-bottom:20px;border-bottom:1px solid #e2e8f0}.tab-btn{padding:12px 8px;background:none;border:none;cursor:pointer;font-size:15px;color:#64748b;border-bottom:3px solid transparent;transition:all .2s}.tab-btn.active{border-bottom:3px solid #059669;color:#059669;font-weight:700}.filter-bar{display:flex;gap:12px;margin-bottom:30px}.category-select{padding:12px;border-radius:10px;border:1px solid #e2e8f0;min-width:140px;background-color:#fff}.search-input{flex:1;padding:12px 18px;border-radius:10px;border:1px solid #e2e8f0;outline:none}.recipe-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.kitchen-recipe-card{background:#fff;border-radius:16px;border:1px solid #f1f5f9;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;transition:transform .2s}.kitchen-recipe-card:hover{transform:translateY(-4px)}.card-content{padding:20px;flex:1}.card-top-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.source-badge{font-size:10px;padding:3px 8px;border-radius:6px;color:#fff;font-weight:700;text-transform:uppercase}.source-yt{background-color:red}.source-wk{background-color:#00af89}.source-my{background-color:#3b82f6}.recipe-category-tag{font-size:11px;background:#f1f5f9;color:#64748b;padding:2px 8px;border-radius:6px}.recipe-card-title{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:8px;display:block}.recipe-meta{font-size:12px;color:#94a3b8}.card-actions{display:flex;border-top:1px solid #f1f5f9;background:#f8fafc}.action-btn{flex:1;padding:14px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .2s}.action-edit{color:#3b82f6;border-right:1px solid #f1f5f9}.action-edit:hover{background-color:#eff6ff}.action-delete{color:#ef4444}.action-delete:hover{background-color:#fef2f2}.loading-box,.empty-box{text-align:center;padding:80px 20px;color:#64748b}.kitchen-toolbar{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px 20px;border-radius:12px;margin-bottom:20px;border:1px solid #e2e8f0}.toolbar-group{display:flex;gap:10px;align-items:center}.view-toggle-btn{padding:6px 12px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;border-radius:6px;font-size:13px}.view-toggle-btn.active{background:#334155;color:#fff;border-color:#334155}.avail-badge{font-size:11px;padding:3px 8px;border-radius:20px;font-weight:700}.status-ok{background:#dcfce7;color:#15803d}.status-no{background:#fee2e2;color:#b91c1c}.missing-info{margin-top:10px;font-size:12px;color:#ef4444;background:#fff1f2;padding:8px;border-radius:6px}.recipe-list-view{display:flex;flex-direction:column;gap:10px}.recipe-list-view .kitchen-recipe-card{flex-direction:row;align-items:center;padding:10px 20px}.recipe-list-view .card-content{display:flex;align-items:center;gap:20px;padding:0}.recipe-list-view .card-actions{border-top:none;background:none;margin-left:auto}.kitchen-recipe-card{cursor:pointer;transition:all .2s ease-in-out}.kitchen-recipe-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px -5px #0000001a;border-color:#059669}.recipe-card-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0}.card-actions{background:#fdfdfd;z-index:2}}@layer page.billing{.point-store-card{background:linear-gradient(135deg,#fff,#f0f9ff);border:1px solid #e0f2fe;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 6px -1px #0000000d}.point-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.point-header h3{margin:0;font-size:18px;color:#0369a1}.credit-display{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 16px;border-radius:12px;border:1px solid #bae6fd}.credit-count{font-size:20px;font-weight:800;color:#0c4a6e}.ad-section{text-align:center}.ad-btn{width:100%;padding:16px;background-color:#0ea5e9;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.ad-btn:hover{background-color:#0284c7;transform:translateY(-2px)}.ad-btn:active{transform:translateY(0)}.ad-hint{font-size:12px;color:#64748b;margin-top:10px}}@layer page.pointstore{.point-store-card{background:linear-gradient(135deg,#fff,#f0f9ff);border:1px solid #e0f2fe;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 6px -1px #0000000d}.point-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.point-header h3{margin:0;font-size:18px;color:#0369a1}.credit-display{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 16px;border-radius:12px;border:1px solid #bae6fd}.credit-count{font-size:20px;font-weight:800;color:#0c4a6e}.ad-section{text-align:center}.ad-btn{width:100%;padding:16px;background-color:#0ea5e9;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.ad-btn:hover{background-color:#0284c7;transform:translateY(-2px)}.ad-btn:active{transform:translateY(0)}.ad-hint{font-size:12px;color:#64748b;margin-top:10px}.point-store-container{padding:20px;max-width:500px;width:100%;margin:0 auto;font-family:-apple-system,sans-serif}.store-header{margin-bottom:30px;text-align:center;position:relative}.back-btn{position:absolute;left:0;top:5px;border:none;background:none;font-size:24px;cursor:pointer;color:#333}.store-header h2{font-weight:900;margin:0}.current-point-card{background:linear-gradient(135deg,#111,#333);color:#fff;padding:20px;border-radius:20px;margin-top:25px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 20px #00000026}.current-point-card .label{font-size:14px;opacity:.8}.current-point-card .value{font-size:22px;font-weight:700;color:#fbbf24}.ad-list{display:flex;flex-direction:column;gap:16px;margin-top:30px}.ad-unit-card{background:#fff;padding:24px;border-radius:24px;border:1px solid #eef2f6;box-shadow:0 4px 12px #00000008;transition:transform .2s}.ad-unit-card:hover{transform:translateY(-2px)}.ad-badge{display:inline-block;font-size:11px;background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:10px;font-weight:700;margin-bottom:10px}.ad-unit-card h4{margin:0 0 6px;font-size:18px;color:#111}.ad-unit-card p{font-size:14px;color:#666;margin:0 0 20px;line-height:1.4}.earn-btn-main{width:100%;padding:16px;border-radius:16px;border:none;background:#059669;color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:background .2s}.earn-btn-main:disabled{background:#cbd5e1;cursor:not-allowed}.earn-btn-sub{width:100%;padding:14px;border-radius:14px;border:1.5px solid #059669;background:#fff;color:#059669;font-weight:700;font-size:14px;cursor:pointer}.ad-footer-notice{text-align:center;font-size:12px;color:#aaa;margin-top:40px;line-height:1.6}}@layer page.usermanagement{.kitchen-container{padding:30px;background:#fff;min-height:100vh}.kitchen-header{margin-bottom:30px;border-bottom:2px solid #f1f5f9;padding-bottom:20px}.kitchen-table{width:100%;border-collapse:collapse;font-size:14px}.kitchen-table th{text-align:left;background:#f8fafc;padding:12px;color:#64748b;border-bottom:1px solid #e2e8f0}.kitchen-table td{padding:15px 12px;border-bottom:1px solid #f1f5f9}.point-cell{font-weight:700;color:#0f172a}.edit-point-btn{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s}.edit-point-btn:hover{background:#e2e8f0;color:#1e293b}}@layer page.cookdna{:root{--bg: #f5f2ec;--surface: #ffffff;--ink: #1a1714;--muted: #9b958a;--border: #e0dbd2;--accent: #d4541a;--accent2: #2563a8;--green: #1a7a52;--card-bg: #fdfcf9;--mono: "IBM Plex Mono", monospace;--sans: "Noto Sans KR", sans-serif;--r: 14px}.shell{max-width:560px;margin:0 auto;padding:0 20px}.system-header{padding:40px 0 28px;border-bottom:1px solid var(--border);margin-bottom:32px}.sys-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;color:var(--accent);background:#d4541a14;border:1px solid rgba(212,84,26,.25);padding:4px 12px;border-radius:4px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.sys-badge .dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.system-header h1{font-size:30px;font-weight:900;line-height:1.2;letter-spacing:-.5px;margin-bottom:8px}.system-header h1 em{color:var(--accent);font-style:normal}.sys-sub{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.7}.prog-system{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:36px}.prog-node{position:relative;cursor:default}.prog-bar-wrap{height:3px;background:var(--border);border-radius:2px;margin-bottom:8px;overflow:hidden}.prog-bar-fill{height:100%;background:var(--accent);border-radius:2px;width:0%;transition:width .5s cubic-bezier(.16,1,.3,1)}.prog-node.done .prog-bar-fill{width:100%;background:var(--green)}.prog-node.active .prog-bar-fill{width:100%}.prog-node-label{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.05em;line-height:1.4}.prog-node.active .prog-node-label{color:var(--accent);font-weight:600}.prog-node.done .prog-node-label{color:var(--green)}.prog-step-num{font-size:10px;font-weight:700;display:block;margin-bottom:2px}.step-panel{display:none}.step-panel.active{display:block;animation:slideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.step-head{margin-bottom:28px}.step-type-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.step-num-badge{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--surface);background:var(--ink);padding:3px 9px;border-radius:4px;letter-spacing:.05em}.step-type-tag{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.step-title{font-size:24px;font-weight:900;line-height:1.25;letter-spacing:-.3px;margin-bottom:6px}.step-desc{font-size:13px;color:var(--muted);line-height:1.7;font-family:var(--mono)}.q-block{margin-bottom:28px}.q-label{font-size:12px;font-family:var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}.q-label .hint{color:var(--accent2);font-size:10px;background:#2563a814;border:1px solid rgba(37,99,168,.2);padding:2px 8px;border-radius:3px;letter-spacing:0}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{display:flex;align-items:center;gap:7px;padding:10px 15px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .18s;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500;white-space:nowrap}.chip:hover{border-color:var(--ink);transform:translateY(-1px)}.chip.selected{border-color:var(--accent);background:#d4541a0f;color:var(--accent)}.chip.selected .chip-icon{filter:none}.chip-icon{font-size:17px}.chip-sub{font-size:10px;font-family:var(--mono);color:var(--muted);margin-left:2px}.chip.selected .chip-sub{color:#d4541a99}.icon-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.icon-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r);padding:18px 15px;cursor:pointer;transition:all .18s;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.icon-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .2s;transform-origin:left}.icon-card.selected:before{transform:scaleX(1)}.icon-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 4px 16px #00000012}.icon-card.selected{border-color:var(--accent);background:#d4541a0a}.ic-check{position:absolute;top:10px;right:10px;width:20px;height:20px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700;opacity:0;transform:scale(.5);transition:all .2s}.icon-card.selected .ic-check{opacity:1;transform:scale(1)}.ic-emoji{font-size:30px;margin-bottom:10px;display:block}.ic-name{font-size:14px;font-weight:700;margin-bottom:4px}.ic-tag{font-family:var(--mono);font-size:10px;color:var(--accent);margin-bottom:5px}.ic-desc{font-size:11px;color:var(--muted);font-family:var(--mono);line-height:1.5}.icon-card.full{grid-column:span 2}.icon-card.full .inner{display:flex;align-items:center;gap:16px}.icon-card.full .ic-emoji{font-size:28px;margin-bottom:0;flex-shrink:0}.range-block{margin-bottom:4px}.range-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.range-header label{font-size:13px;font-weight:600}.range-val{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent);background:#d4541a14;padding:3px 10px;border-radius:4px;min-width:70px;text-align:center}input[type=range]{width:100%;appearance:none;height:4px;background:var(--border);border-radius:2px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:var(--surface);border:2.5px solid var(--accent);box-shadow:0 2px 8px #d4541a40;transition:transform .15s}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}.range-legend{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:7px}.skill-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.skill-card{padding:14px 10px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;text-align:center;transition:all .18s;-webkit-user-select:none;user-select:none}.skill-card:hover{border-color:var(--ink)}.skill-card.selected{border-color:var(--accent);background:#d4541a0d}.skill-icon{font-size:22px;margin-bottom:6px;display:block}.skill-name{font-size:12px;font-weight:700;margin-bottom:3px}.skill-desc{font-size:10px;color:var(--muted);font-family:var(--mono);line-height:1.4}.budget-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.budget-card{padding:14px 8px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;text-align:center;transition:all .18s;-webkit-user-select:none;user-select:none}.budget-card:hover{border-color:var(--ink)}.budget-card.selected{border-color:var(--accent2);background:#2563a80d;color:var(--accent2)}.budget-price{font-size:14px;font-weight:700;margin-bottom:3px}.budget-label{font-size:10px;font-family:var(--mono);color:var(--muted)}.serving-row{display:flex;align-items:center;gap:0;background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden}.serving-btn{width:52px;height:52px;background:transparent;border:none;cursor:pointer;font-size:20px;color:var(--muted);transition:all .15s;flex-shrink:0}.serving-btn:hover{background:var(--border);color:var(--ink)}.serving-display{flex:1;text-align:center;font-family:var(--mono);font-size:15px;font-weight:600;border-left:1px solid var(--border);border-right:1px solid var(--border)}.serving-display span{color:var(--muted);font-size:11px}.text-input{width:100%;padding:13px 16px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r);font-family:var(--mono);font-size:12px;color:var(--ink);outline:none;transition:border-color .2s;resize:none}.text-input::placeholder{color:var(--muted)}.text-input:focus{border-color:var(--accent2)}hr.div{border:none;border-top:1px solid var(--border);margin:24px 0}.cuisine-row{display:flex;gap:8px;flex-wrap:wrap}.cuisine-chip{padding:9px 14px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .18s;-webkit-user-select:none;user-select:none}.cuisine-chip:hover{border-color:var(--ink)}.cuisine-chip.selected{border-color:var(--accent2);background:#2563a80f;color:var(--accent2)}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r);padding:16px 10px;cursor:pointer;text-align:center;transition:all .18s;-webkit-user-select:none;user-select:none}.time-card:hover{border-color:var(--ink);transform:translateY(-1px)}.time-card.selected{border-color:var(--accent);background:#d4541a0d}.time-num{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--accent);display:block;margin-bottom:3px}.time-unit{font-family:var(--mono);font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.time-label{font-size:11px;font-weight:600;display:block;margin-bottom:3px}.time-sub{font-size:10px;color:var(--muted);font-family:var(--mono)}.nav-row{display:flex;gap:10px;margin-top:36px;position:sticky;bottom:24px}.btn-back{flex:0 0 auto;padding:15px 20px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;font-family:var(--mono);color:var(--muted);cursor:pointer;transition:all .18s}.btn-back:hover{border-color:var(--ink);color:var(--ink)}.btn-next{flex:1;padding:15px;background:var(--ink);color:var(--bg);border:none;border-radius:var(--r);font-size:14px;font-weight:700;font-family:var(--sans);cursor:pointer;transition:all .2s;letter-spacing:-.2px}.btn-next:hover,.btn-next.primary{background:var(--accent)}.btn-next.primary:hover{background:#b8431a}.transition-screen{display:none;min-height:80vh;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:60px 20px}.transition-screen.active{display:flex;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scan-anim{width:80px;height:80px;border:2px solid var(--border);border-radius:50%;position:relative;margin:0 auto 32px}.scan-anim:after{content:"";position:absolute;inset:6px;border:2px solid var(--accent);border-radius:50%;border-top-color:transparent;animation:spin .9s linear infinite}.scan-anim:before{content:"⚙️";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;animation:spin 3s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.trans-title{font-size:20px;font-weight:900;margin-bottom:8px}.trans-sub{font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.7}.trans-log{margin-top:28px;text-align:left;background:var(--ink);color:#6effa0;font-family:var(--mono);font-size:11px;padding:16px 20px;border-radius:var(--r);width:100%;max-width:400px;line-height:2}.trans-log .log-line{opacity:0;animation:logIn .3s ease forwards}.trans-log .log-line:nth-child(1){animation-delay:.2s}.trans-log .log-line:nth-child(2){animation-delay:.6s}.trans-log .log-line:nth-child(3){animation-delay:1s}.trans-log .log-line:nth-child(4){animation-delay:1.4s}.trans-log .log-line:nth-child(5){animation-delay:1.8s}@keyframes logIn{to{opacity:1}}.result-screen{display:none}.result-screen.active{display:block;animation:slideIn .5s ease}.profile-card{background:var(--ink);color:var(--bg);border-radius:20px;padding:28px;margin-bottom:16px;position:relative;overflow:hidden}.profile-card:after{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:#d4541a26}.profile-eyebrow{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}.profile-persona{font-size:28px;font-weight:900;margin-bottom:6px;line-height:1.2;position:relative}.profile-desc{font-size:13px;color:#f5f2eca6;font-family:var(--mono);line-height:1.7;margin-bottom:20px;position:relative}.profile-chips{display:flex;flex-wrap:wrap;gap:6px;position:relative}.profile-chip{font-family:var(--mono);font-size:10px;padding:4px 11px;border-radius:20px;border:1px solid rgba(245,242,236,.2);color:#f5f2eccc}.spec-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:12px}.spec-title{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.spec-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.spec-row:last-child{border-bottom:none;padding-bottom:0}.spec-key{color:var(--muted);font-family:var(--mono);font-size:11px}.spec-val{font-weight:700;font-size:12px;text-align:right;max-width:60%}.spec-val.accent{color:var(--accent)}.spec-val.blue{color:var(--accent2)}.recipe-preview{background:linear-gradient(135deg,#d4541a14,#2563a80f);border:1.5px solid rgba(212,84,26,.2);border-radius:16px;padding:22px;margin-bottom:16px}.recipe-label{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.1em;margin-bottom:8px}.recipe-name{font-size:19px;font-weight:900;margin-bottom:6px;line-height:1.3}.recipe-why{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.7}.btn-restart{width:100%;padding:15px;background:transparent;border:1.5px solid var(--border);border-radius:var(--r);font-family:var(--mono);font-size:12px;color:var(--muted);cursor:pointer;transition:all .18s;margin-top:8px}.btn-restart:hover{border-color:var(--ink);color:var(--ink)}.allergy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.allergy-chip{padding:12px 6px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;text-align:center;transition:all .18s;-webkit-user-select:none;user-select:none}.allergy-chip:hover{border-color:var(--ink)}.allergy-chip.selected{border-color:#e63d3d;background:#e63d3d0d}.allergy-icon{font-size:20px;display:block;margin-bottom:5px}.allergy-name{font-size:10px;font-family:var(--mono);color:var(--muted)}.allergy-chip.selected .allergy-name{color:#e63d3d}}@layer page.recipe{.recipe-container{padding:20px 20px 120px;max-width:600px;margin:0 auto;background-color:#fff;position:relative;width:100%;box-sizing:border-box}.top-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.category-badge,.category-label{font-size:14px;color:#666;background:#f1f5f9;padding:4px 10px;border-radius:20px}.edit-button,.edit-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;padding:5px 12px;font-size:13px;color:#64748b;cursor:pointer;font-weight:700}.recipe-header{text-align:center;margin-bottom:30px}.recipe-title{margin:10px 0 20px;font-size:26px;font-weight:700;color:#1a202c}.media-box,.media-wrapper{width:100%;border-radius:16px;overflow:hidden;background-color:#000;margin-bottom:20px}.media-box.sticky-enabled{position:sticky;top:72px;z-index:100;width:calc(100% - 60px);max-width:520px;margin-left:auto;margin-right:auto}@media(max-width:768px){.media-box.sticky-enabled{top:8px;width:100%;max-width:none}}.video-ratio,.video-container{position:relative;width:100%;aspect-ratio:16 / 9}.video-ratio iframe,.video-container iframe,.video-frame iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:none}.header-img,.recipe-img{width:100%;height:auto;display:block;object-fit:cover}.servings-section,.servings-card{display:flex;justify-content:space-between;align-items:center;padding:18px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:25px}.servings-input-group,.servings-control{display:flex;align-items:center;gap:8px}.servings-btn{width:32px;height:32px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}.servings-input{width:45px;border:none;background:transparent;text-align:center;font-size:18px;font-weight:700}.section-title{border-bottom:2px solid #f1f5f9;padding-bottom:10px;margin-bottom:20px;font-weight:700;font-size:19px;color:#1e293b}.item-row,.ingredient-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed #e2e8f0}.amount-container,.amount-group{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.primary-amount,.main-amount{font-weight:700;color:#334155;font-size:15px}.conversion-badge,.convert-badge{font-size:11px;background-color:#fef3c7;color:#92400e;padding:2px 8px;border-radius:4px;font-weight:700}.sauce-container{background:#fffbeb;padding:20px;border-radius:12px;border:1px solid #fef3c7;margin-bottom:20px}.sauce-name{display:block;margin-bottom:12px;color:#92400e;font-weight:700;font-size:16px}.step-card,.step-item{margin-bottom:25px;padding-left:15px;border-left:4px solid #e2e8f0}.step-flash{animation:timer-flash .6s ease-in-out 4;background:#fff7ed}.step-label-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.step-id,.step-num{font-weight:700;color:#475569;font-size:14px}.duration-tag,.time-tag{font-size:11px;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:12px}.step-text{line-height:1.6;color:#334155}.step-header{display:flex;flex-direction:column;gap:12px}.timer-preferences{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.timer-mode-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent}.timer-mode-badge.mode-global{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.timer-mode-badge.mode-local{background:#fffbeb;border-color:#fde68a;color:#a16207}.timer-global-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px dashed #cbd5e1;background:#f8fafc;font-size:12px;color:#334155;font-weight:700}.timer-sound-btn{border:1px solid #cbd5e1;background:#fff;padding:6px 10px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:700}.timer-sound-btn.sound-on{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.timer-sound-btn.sound-off{color:#a16207;border-color:#fde68a;background:#fffbeb}.timer-sound-hint{font-size:11px;color:#a16207}.timer-sound-warning{display:flex;align-items:center;gap:8px;font-size:11px;color:#b91c1c;background:#fef2f2;padding:6px 10px;border-radius:8px;border:1px solid #fecaca}.timer-test-btn{border:none;background:#ef4444;color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;cursor:pointer}.alarm-banner{position:fixed;left:50%;bottom:210px;transform:translate(-50%);width:calc(100% - 24px);max-width:560px;background:linear-gradient(120deg,#dc2626,#b91c1c);color:#fff;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:1200;box-shadow:0 12px 28px #b91c1c59;animation:alarm-pulse .9s ease-in-out infinite}.alarm-banner-text{display:flex;flex-direction:column;gap:4px;min-width:0}.alarm-banner-text strong{font-size:14px;line-height:1.2}.alarm-banner-text span{font-size:12px;line-height:1.3;opacity:.95}.alarm-stop-btn{border:none;background:#fff;color:#991b1b;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.alarm-stop-btn:active{transform:scale(.98)}@keyframes alarm-pulse{0%{box-shadow:0 8px 18px #b91c1c4d}50%{box-shadow:0 14px 32px #b91c1c7a}to{box-shadow:0 8px 18px #b91c1c4d}}@media(max-width:480px){.alarm-banner{flex-direction:column;align-items:stretch;bottom:196px}.alarm-stop-btn{width:100%}}.timer-controls{display:flex;align-items:center;gap:8px;margin-top:10px}.timer-btn{border:1px solid #cbd5e1;background:#fff;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-weight:700}.timer-btn.start{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.timer-btn.stop{color:#fff;border-color:#ef4444;background:#ef4444}.timer-btn:disabled{opacity:.4;cursor:not-allowed}.timer-remaining{font-size:12px;font-weight:700;color:#1e293b;background:#f1f5f9;padding:4px 10px;border-radius:999px}@keyframes timer-flash{0%{box-shadow:inset 0 0 #f9731666}50%{box-shadow:inset 0 0 0 8px #f9731640}to{box-shadow:inset 0 0 #f9731666}}.floating-cook-btn,.cook-btn{position:fixed;bottom:130px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:560px;padding:20px;background:#059669;color:#fff;border:none;border-radius:14px;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 10px 25px -5px #05966966;z-index:1000}.center-msg{padding:50px;text-align:center;color:#666}.stock-status{font-size:10px;padding:2px 6px;border-radius:4px;margin-left:6px;font-weight:700}.status-in-stock{background-color:#dcfce7;color:#166534}.status-out-of-stock{background-color:#fee2e2;color:#991b1b}.ingredient-name-wrapper{display:flex;align-items:center}}
