:root{--page:#b9d1df;--navy:#202887;--ink:#050505;--muted:#667b88;--paper:#f8f8f3;--recipe:#bfff00;--selected:#ff3b86;--side-shadow:#f8f8f3;--upload:#63d5ff}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--page);color:var(--ink);font-family:Arial,Microsoft YaHei,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.productShell{background:var(--page);grid-template-columns:clamp(292px,23vw,360px) minmax(0,1fr);height:100vh;min-height:100vh;display:grid;overflow:hidden}.cookPanel{background:var(--page);color:#fff;flex-direction:column;align-items:center;gap:0;min-height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.sideBoardImage{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:85vh;margin-top:7.5vh;display:block}.sideWorkflow{z-index:2;flex-direction:column;align-items:center;gap:clamp(10px,1.4vh,16px);width:clamp(150px,11.5vw,178px);margin-top:0;display:flex;position:absolute;top:clamp(226px,35vh,342px);left:50%;transform:translate(-50%)}.heroBar h1,.heroBar p,.recipeCard h3,.recipeCard p{margin:0}.uploadBox{background:var(--upload);border:5px solid var(--side-shadow);box-shadow:5px 6px 0 var(--side-shadow);color:var(--ink);border-radius:18px;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:8px;width:clamp(120px,15vh,150px);height:clamp(120px,15vh,150px);margin-top:0;display:flex;position:relative;overflow:hidden}.uploadBox input{cursor:pointer;opacity:0;position:absolute;inset:0}.uploadBox strong{font-size:18px}.uploadBox span{color:#164c62;font-size:14px}.progressCounter{color:var(--selected);justify-content:center;align-self:center;align-items:center;width:100%;height:38px;font-size:26px;font-weight:950;line-height:1;display:flex}.fileQueue{scrollbar-width:none;gap:8px;width:188px;max-height:178px;padding:10px 8px 10px 0;display:grid;overflow:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 18px),#0000 100%)}.fileQueue::-webkit-scrollbar{display:none}.fileQueueItem{color:#dbe7ff;background:#ffffff1a;border:2px solid #ffffff40;border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;width:172px;min-height:44px;padding:7px 9px;transition:background .16s,border-color .16s,color .16s,transform .16s;display:grid}.fileQueueItem span{background:#ffffff24;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:900;display:flex}.fileQueueItem strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.fileQueueItem.done{color:#98d9e9;opacity:.72}.fileQueueItem.active{background:var(--selected);border-color:var(--side-shadow);color:var(--ink);transform:translate(4px)}.fileQueueItem.active span{background:var(--paper)}.cookButton{background:var(--paper);border:4px solid var(--side-shadow);box-shadow:4px 5px 0 var(--side-shadow);color:var(--ink);white-space:nowrap;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:6px;width:100%;height:48px;padding:0 28px;font-size:18px;font-weight:900;display:inline-flex}.cookButton:disabled{cursor:default;opacity:.7}.resultFolderButton{background:var(--upload);border:4px solid var(--side-shadow);box-shadow:4px 5px 0 var(--side-shadow);color:var(--ink);border-radius:999px;align-self:center;width:100%;height:48px;margin-bottom:0;padding:0 20px;font-size:0;font-weight:900}.resultFolderButton:after{content:"查看结果";font-size:18px}.resultActions{grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:10px;width:100%;margin-bottom:8px;display:grid}.resultActions .resultFolderButton{width:auto;margin-bottom:0;padding:0 12px}.openOutputButton{background:var(--paper);border:4px solid var(--side-shadow);box-shadow:4px 5px 0 var(--side-shadow);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.mainStage{background:var(--page);flex-direction:column;min-width:0;height:100vh;padding:clamp(36px,7vh,72px) clamp(24px,4vw,44px) 88px clamp(22px,3vw,34px);display:flex;overflow:hidden}.heroBar{justify-content:space-between;align-items:center;gap:24px;display:flex}.heroTitle{align-items:center;gap:14px;min-width:0;display:flex}.themeControls{justify-content:flex-end;align-items:center;gap:12px;display:flex}.heroBar h1{color:var(--navy);letter-spacing:0;font-size:clamp(26px,3.2vw,40px);font-weight:950;line-height:1}.loginButton{background:var(--paper);border:4px solid var(--ink);box-shadow:4px 5px 0 var(--ink);color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;height:42px;padding:0 16px;font-size:16px;font-weight:900;display:inline-flex}.heroBar p{color:#5a7180;margin-top:14px;font-size:16px}.debugButton,.addRecipe{background:var(--paper);border:4px solid var(--ink);box-shadow:4px 5px 0 var(--ink);color:var(--ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.debugButton{height:42px;padding:0 24px;font-size:18px}.debugControl{position:relative}.debugMenu{background:var(--paper);border:4px solid var(--ink);box-shadow:6px 7px 0 var(--ink);z-index:80;border-radius:18px;gap:10px;width:min(420px,100vw - 40px);max-height:calc(100vh - 120px);padding:16px;display:grid;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto}.debugMenuHeader{justify-content:space-between;align-items:baseline;display:flex}.debugMenuHeader strong{font-size:22px;font-weight:950}.debugMenuHeader span{color:#5a7180;font-size:13px;font-weight:800}.debugMenu label{color:#263845;gap:6px;font-size:13px;font-weight:900;display:grid}.debugMenu input,.debugMenu select,.debugMenu textarea{border:3px solid var(--ink);color:var(--ink);font:inherit;background:#fff;border-radius:10px;outline:none;width:100%;min-width:0;padding:10px;font-size:14px;font-weight:800}.debugMenu textarea{resize:vertical}.debugMenu input:disabled,.debugMenu select:disabled{opacity:.55}.debugHint{color:#5a7180;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.debugSubmit{background:var(--upload);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);color:var(--ink);border-radius:999px;justify-self:end;height:40px;padding:0 18px;font-size:15px;font-weight:950}.debugSubmit:disabled{cursor:default;opacity:.65}.debugResult{border:3px solid var(--ink);color:var(--ink);white-space:pre-wrap;background:#fff;border-radius:10px;max-height:180px;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.schemeSelect{color:#405968;align-items:center;gap:8px;font-size:0;font-weight:800;display:none;position:relative}.schemeSwatches{background:var(--paper);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:3px;height:42px;padding:0 10px;display:inline-flex}.schemeSwatch{border:2px solid var(--ink);border-radius:999px;width:16px;height:16px;display:block}.schemeMenu{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 5px 0 var(--ink);z-index:10;border-radius:16px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.schemeMenu button{background:#fff;border:3px solid #0000;border-radius:999px;align-items:center;gap:4px;height:36px;padding:0 9px;display:inline-flex}.schemeMenu button.active,.schemeMenu button:hover{border-color:var(--ink)}.divider{background:#0000001f;width:100%;height:2px;margin:clamp(14px,2.4vh,26px) 0}.recipeToolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:clamp(10px,1.8vh,18px);display:flex}.addRecipe{height:45px;padding:0 22px;font-size:16px}.selectedRecipe{color:#405968;align-items:center;gap:7px;font-size:15px;display:flex}.selectedRecipe strong{color:var(--ink)}.recipeGrid{--recipe-card-size:clamp(118px, min(calc((100vw - clamp(292px, 23vw, 360px) - clamp(46px, 7vw, 78px) - 54px) / 5), calc((100vh - clamp(300px, 36vh, 370px)) / 3)), 190px);grid-auto-rows:var(--recipe-card-size);grid-template-columns:repeat(auto-fit, minmax(var(--recipe-card-size), var(--recipe-card-size)));grid-template-rows:repeat(3, var(--recipe-card-size));gap:clamp(12px,1.7vw,18px);display:grid;overflow:visible}.recipeCard{border:5px solid var(--ink);box-shadow:7px 8px 0 var(--ink);color:var(--ink);aspect-ratio:1;width:var(--recipe-card-size);border-radius:24px;padding:0;position:relative;overflow:hidden}.recipePager{z-index:40;align-items:center;gap:14px;margin-top:0;display:flex;position:fixed;bottom:34px;left:calc(clamp(292px,23vw,360px) + clamp(22px,3vw,34px))}.recipePager button{background:var(--paper);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);color:var(--ink);border-radius:999px;height:36px;padding:0 16px;font-size:15px;font-weight:900}.recipePager button:disabled{cursor:default;opacity:.42}.recipePager span{color:var(--ink);text-align:center;min-width:52px;font-size:16px;font-weight:900}.recipeCard.selected{box-shadow:7px 8px 0 var(--ink), inset 0 0 0 5px #ffffffb8}.recipeSelectedMark{background:var(--selected);border:4px solid var(--ink);box-shadow:3px 4px 0 var(--ink);color:var(--ink);z-index:4;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:14px;left:14px}.recipeCard h3{margin:0;font-size:18px;font-weight:950;line-height:1.15}.recipeCardContent{z-index:2;gap:6px;display:grid;position:absolute;bottom:clamp(14px,2vw,20px);left:clamp(15px,2vw,22px);right:clamp(15px,2vw,22px)}.recipeCardContent span{color:#00000094;font-size:14px;font-weight:800}.recipePreview{object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.recipePreview+.recipeCardContent{color:#fff;background:linear-gradient(#0000,#0000008c);padding:74px 20px 18px;bottom:0;left:0;right:0}.recipePreview+.recipeCardContent span{color:#ffffffd1}.cardMenuButton{color:var(--ink);z-index:5;background:0 0;border:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:absolute;top:14px;right:14px}.cardMenu{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 5px 0 var(--ink);z-index:5;border-radius:12px;width:118px;display:grid;position:absolute;top:48px;right:14px;overflow:hidden}.cardMenu button{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:14px;font-weight:800;display:flex}.cardMenu button:hover{background:#e7ebef}.deleteConfirm{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 5px 0 var(--ink);z-index:6;border-radius:12px;gap:8px;width:178px;padding:12px;display:grid;position:absolute;top:48px;right:14px}.deleteConfirm strong{font-size:15px}.deleteConfirm span{color:#0000009e;font-size:12px;line-height:1.35}.deleteConfirm div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.deleteConfirm button{border:2px solid var(--ink);border-radius:8px;height:32px;font-size:13px;font-weight:800}.deleteConfirm button:first-child{background:var(--selected);color:var(--ink)}.deleteConfirm button:last-child{background:var(--paper);color:var(--ink)}.resultPanelBackdrop{z-index:18;background:#080c1847;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.resultPanel{background:var(--paper);border:5px solid var(--ink);box-shadow:8px 9px 0 var(--ink);border-radius:22px;gap:18px;width:100%;max-width:min(980px,100vw - 56px);padding:18px;display:grid}.resultPanelHeader{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.resultPanelHeader span{color:var(--selected);font-size:13px;font-weight:950}.resultPanelHeader h2{color:var(--ink);margin:4px 0 6px;font-size:30px;line-height:1}.resultPanelHeader p{color:#4d6676;margin:0;font-size:14px;font-weight:800}.resultStrip{scrollbar-width:thin;grid-auto-columns:210px;grid-auto-flow:column;gap:14px;padding:0 4px 8px 0;display:grid;overflow-x:auto}.resultItem{border:3px solid var(--ink);box-shadow:4px 5px 0 var(--ink);background:#fff;border-radius:14px;gap:10px;padding:10px;display:grid}.resultThumb{aspect-ratio:4/3;background:var(--upload);border:3px solid var(--ink);color:var(--ink);border-radius:10px;place-items:center;padding:14px;font-size:13px;font-weight:900;display:grid}.resultInfo{gap:4px;min-width:0;display:grid}.resultInfo strong,.resultInfo span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resultInfo strong{color:var(--ink);font-size:15px;font-weight:950}.resultInfo span{color:#5a7180;font-size:12px;font-weight:800}.resultItem button{background:var(--recipe);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:6px;height:38px;font-size:14px;font-weight:950;display:inline-flex}.dialogBackdrop{z-index:20;background:#080c1875;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.recipeDialog{background:var(--paper);border:5px solid var(--ink);box-shadow:8px 9px 0 var(--ink);border-radius:20px;grid-template-columns:140px 140px minmax(0,1fr);gap:12px;width:min(100%,600px);max-width:600px;max-height:calc(100vh - 48px);padding:22px;display:grid;overflow:auto}.loginDialog{background:var(--paper);border:5px solid var(--ink);box-shadow:8px 9px 0 var(--ink);border-radius:20px;gap:14px;width:min(100%,380px);max-width:380px;padding:22px;display:grid}.loginDialog label{color:#263845;gap:8px;font-size:14px;font-weight:900;display:grid}.loginDialog input{border:3px solid var(--ink);color:var(--ink);font:inherit;background:#fff;border-radius:10px;outline:none;width:100%;padding:12px;font-weight:800}.loginError{color:var(--selected);margin:0;font-size:14px;font-weight:900}.loginSubmit{justify-self:end;min-width:118px}.dialogHeader{order:1;grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.dialogHeader span{color:#5a7180;font-size:13px;font-weight:800}.dialogHeader h2{margin:4px 0 0;font-size:30px;line-height:1.1}.closeDialog{background:var(--selected);border:3px solid var(--ink);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.recipeDialog label{color:#263845;gap:8px;min-width:0;font-size:14px;font-weight:800;display:grid}.recipeDialog>label:first-of-type,.recipeDialog>label:nth-of-type(2){grid-column:1/-1}.recipeDialog>label:first-of-type{order:2}.recipeDialog>label:nth-of-type(2){order:3}.recipeDialog>label:nth-of-type(3){order:4;grid-column:1}.recipeDialog>label:nth-of-type(4){order:4;grid-column:2}.recipeDialog input,.recipeDialog select,.recipeDialog textarea{border:3px solid var(--ink);color:var(--ink);font:inherit;background:#fff;border-radius:10px;outline:none;width:100%;min-width:0;padding:12px;line-height:1.45}.recipeDialog select{appearance:none}.recipeDialog textarea{resize:vertical;max-height:132px}.referenceUpload{border:3px solid var(--ink);color:var(--ink);text-align:center;background:#fff;border-radius:10px;place-items:center;gap:6px;width:140px;height:140px;min-height:0;padding:12px;display:grid;position:relative;overflow:hidden}.previewUpload{border:3px solid var(--ink);color:var(--ink);text-align:center;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:140px;height:140px;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden}.previewUpload input{cursor:pointer;opacity:0;z-index:2;position:absolute;inset:0}.previewUpload img{object-fit:cover;width:100%;height:100%}.previewUpload strong{font-size:14px;line-height:1.25}.categoryEditor{order:5;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.categoryEditor label:last-child{grid-column:1/-1}.paletteColorSelect{border:3px solid var(--ink);background:#fff;border-radius:10px;align-items:center;gap:10px;width:100%;min-width:0;min-height:49px;padding:8px 10px;display:flex}.paletteColorSelect button{border:3px solid var(--ink);box-shadow:2px 3px 0 var(--ink);border-radius:999px;width:30px;height:30px}.paletteColorSelect button.active{outline:4px solid #0000002e;transform:translateY(-2px)}.referenceUpload input{cursor:pointer;opacity:0;position:absolute;inset:0}.referenceUpload strong{font-size:13px;line-height:1.2}.referenceUpload em{color:#5a7180;font-size:13px;font-style:normal;font-weight:700}.dialogActions{order:6;grid-column:1/-1;justify-content:flex-end;gap:12px;margin-top:4px;display:flex}.secondaryAction,.saveAction{border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);border-radius:999px;height:42px;padding:0 20px;font-weight:900}.secondaryAction{color:var(--ink);background:#fff}.saveAction{background:var(--recipe);color:var(--ink)}@media (max-width:520px){.productShell{grid-template-columns:1fr}.cookPanel{padding:28px}.mainStage{padding:44px 28px 88px}.recipePager{left:28px}.heroBar,.heroTitle{flex-direction:column;align-items:flex-start}.heroBar h1{font-size:30px}.recipeToolbar{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.sideKicker{font-size:26px}.heroBar h1{font-size:28px}.recipeGrid{grid-template-columns:1fr}.uploadBox{width:100%}.recipeDialog{grid-template-columns:1fr 1fr}.previewUpload,.referenceUpload{aspect-ratio:1;width:100%;height:auto}.dialogActions{flex-direction:column-reverse}.secondaryAction,.saveAction{width:100%}}
