:root{--ground: #EEF1E6;--surface: #FBFCF8;--surface-2: #F4F6EE;--text: #1E261C;--muted: #5E6B58;--faint: #8A9483;--line: #DEE3D4;--green: #2F6B43;--green-deep: #234E32;--green-soft: #DCE9DD;--green-tint: #E9F0E6;--accent: #E5552E;--accent-soft: #FAE2D9;--shadow: 0 1px 2px rgba(30, 38, 28, .05), 0 8px 24px rgba(30, 38, 28, .06);--shadow-lg: 0 12px 40px rgba(30, 38, 28, .16);--r: 14px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--maxw: 430px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text);background:radial-gradient(circle at 18% -5%,#E5EBD9 0%,transparent 42%),radial-gradient(circle at 95% 8%,#EAE6DA 0%,transparent 38%),var(--ground);background-attachment:fixed;-webkit-font-smoothing:antialiased;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2.5px solid var(--green);outline-offset:2px;border-radius:6px}.app{width:100%;max-width:var(--maxw);margin:0 auto;min-height:100vh;position:relative;background:var(--surface)}@media(min-width:600px){body{padding:26px 0}.app{min-height:calc(100vh - 52px);border-radius:30px;box-shadow:var(--shadow-lg);overflow:hidden}}.screen{min-height:100vh;display:flex;flex-direction:column}@media(min-width:600px){.screen{min-height:calc(100vh - 52px)}}.loading{flex:1;min-height:60vh;display:grid;place-items:center}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--green-tint);border-top-color:var(--green);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wordmark{font-weight:800;letter-spacing:-.03em;display:inline-flex;align-items:center;gap:.38em;color:var(--green-deep)}.wordmark b{color:var(--accent)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:14px 18px;min-height:60px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .wordmark{font-size:19px}.spacer{flex:1}.avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;font-family:var(--font-mono);letter-spacing:-.02em;box-shadow:inset 0 0 0 2px #ffffff80;background:var(--green);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.icon-btn{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--green-deep);transition:background .14s ease;font-size:19px}.icon-btn:hover{background:var(--green-tint)}.scroll{flex:1;overflow-y:auto;padding:20px 18px 110px}.page-head{margin-bottom:16px}.page-head h1{font-size:27px;font-weight:800;letter-spacing:-.03em;margin:0}.page-head .sub{font-family:var(--font-mono);font-size:12px;color:var(--faint);margin-top:5px;letter-spacing:-.01em}.login-screen{align-items:center;justify-content:center;text-align:center;padding:44px 30px 56px}.login-mark{font-size:60px;margin-bottom:14px}.login-title{font-size:40px;font-weight:800;letter-spacing:-.035em;color:var(--green-deep);margin:0}.login-title b{color:var(--accent)}.login-tag{color:var(--muted);font-size:16px;margin:12px 0 40px;max-width:24ch;line-height:1.45}.gbtn{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#1f1f1f;font-size:15px;font-weight:600;padding:13px 22px;border-radius:12px;border:1px solid #DADCE0;box-shadow:0 1px 2px #3c40431f;transition:box-shadow .15s ease,transform .12s ease}.gbtn:hover{box-shadow:0 1px 3px #3c404338,0 4px 10px #3c40431f}.gbtn:active{transform:translateY(1px)}.gbtn:disabled{opacity:.6;cursor:not-allowed}.gbtn svg{width:18px;height:18px}.login-fine{margin-top:20px;color:var(--faint);font-size:12.5px;font-family:var(--font-mono);letter-spacing:-.01em;max-width:30ch}.login-msg{margin-top:22px;padding:10px 16px;border-radius:10px;font-size:13.5px;background:var(--accent-soft);color:#b23e1c;max-width:30ch}.login-msg.warn{background:#fbf1d8;color:#8a6a12}.searchbar{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:18px}.searchbar input{flex:1;border:none;background:none;font-size:15px;color:var(--text);outline:none}.searchbar input::placeholder{color:var(--faint)}.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.rcard{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.rcard:hover{transform:translateY(-2px);box-shadow:0 2px 4px #1e261c0f,0 14px 30px #1e261c1a;border-color:#cdd6c0}.rcard .photo{position:relative;aspect-ratio:4/3;display:grid;place-items:center;font-size:46px;background-size:cover;background-position:center}.cook-badge{position:absolute;top:7px;right:7px;display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;color:var(--green-deep);background:#fbfcf8e6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow)}.rcard .body{padding:11px 12px 13px}.rcard .title{font-size:14.5px;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.25}.rcard .meta{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-top:6px}.hero{position:relative;aspect-ratio:16/10;display:grid;place-items:center;font-size:92px;background-size:cover;background-position:center}.hero[data-photo]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(30,38,28,.28),transparent 34%);pointer-events:none}.hero .back{position:absolute;top:14px;left:14px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fbfcf8db;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--green-deep);font-size:18px;box-shadow:var(--shadow)}.detail-body{padding:18px 18px 120px}.detail-body h1{font-size:25px;font-weight:800;letter-spacing:-.03em;margin:0 0 6px}.sec-title{font-size:17px;font-weight:800;letter-spacing:-.02em;margin:22px 0 12px;display:flex;align-items:center;gap:8px}.sec-title .n{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--faint);font-weight:500}.ing{list-style:none;margin:0;padding:0}.ing li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:15px}.ing li:last-child{border-bottom:none}.ing .dot{width:8px;height:8px;border-radius:50%;background:var(--green-soft);flex:none}.steps{list-style:none;margin:0;padding:0;counter-reset:step}.steps li{display:flex;gap:13px;padding:11px 0}.steps li:before{counter-increment:step;content:counter(step);flex:none;width:27px;height:27px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:700;display:grid;place-items:center}.steps li .txt{font-size:15px;padding-top:2px}.muted-note{color:var(--muted);font-size:14.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-align:center}.actionbar{position:sticky;bottom:0;left:0;right:0;display:flex;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;padding:14px 16px;border-radius:13px;transition:background .14s ease,transform .1s ease,box-shadow .14s,opacity .14s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff;box-shadow:0 6px 16px #234e3247}.btn-primary:hover:not(:disabled){background:var(--green-deep)}.btn-ghost{background:var(--surface);color:var(--green-deep);border:1.5px solid var(--line)}.btn-ghost:hover{background:var(--surface-2)}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 6px 16px #e5552e42}.btn-accent:hover{background:#c9461f}.btn.grow0{flex:0 0 auto}.form-body{padding:4px 0 120px}.emoji-pick{text-align:center;margin-bottom:22px}.emoji-current{width:92px;height:92px;border-radius:24px;margin:0 auto 12px;display:grid;place-items:center;font-size:50px;box-shadow:var(--shadow)}.emoji-hint{font-size:13px;color:var(--muted);margin-bottom:12px}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;max-height:168px;overflow-y:auto;padding:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px}.emoji-grid button{font-size:23px;padding:7px 0;border-radius:10px;transition:background .12s,box-shadow .12s}.emoji-grid button:hover{background:var(--green-tint)}.emoji-grid button.on{background:var(--surface);box-shadow:inset 0 0 0 2px var(--green)}.ic-img{display:block}.ic-emoji{line-height:1}.rcard .photo .ic-img{width:58px;height:58px}.hero .ic-img{width:120px;height:120px}.emoji-current .ic-img{width:64px;height:64px}.emoji-grid button{display:grid;place-items:center}.emoji-grid button .ic-img{width:30px;height:30px}.field{margin-bottom:16px}.field>label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:7px}.field input[type=text],.field textarea{width:100%;font-size:15px;padding:12px 14px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);transition:border-color .14s,box-shadow .14s}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-tint);outline:none}.field textarea{resize:vertical;min-height:120px;line-height:1.6;white-space:pre-wrap}.field .help{font-size:12px;color:var(--faint);margin-top:6px}.fab{position:fixed;bottom:24px;right:max(20px,calc(50% - 195px));z-index:45;display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;padding:14px 20px;border-radius:999px;box-shadow:0 6px 18px #e5552e66;letter-spacing:-.01em;transition:transform .12s ease,box-shadow .14s ease,background .14s ease}.fab:hover{background:#c9461f}.fab:active{transform:scale(.97)}.fab .ic{font-size:18px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1e261c5c;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .18s ease}@media(min-width:600px){.overlay{align-items:center}}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:var(--maxw);background:var(--surface);border-radius:22px 22px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:rise .26s cubic-bezier(.2,.8,.3,1);max-height:88vh;overflow-y:auto}@media(min-width:600px){.sheet{border-radius:22px;margin:0 16px}}@keyframes rise{0%{transform:translateY(24px);opacity:.5}}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.sheet-head h2{font-size:19px;font-weight:800;letter-spacing:-.025em;margin:0}.sheet-head p{margin:3px 0 0;font-size:13px;color:var(--muted)}.x{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--muted);flex:none;font-size:18px}.x:hover{background:var(--surface-2)}.menu-id{display:flex;align-items:center;gap:12px;padding:6px 4px 14px}.menu-id .nm b{font-size:15px;display:block}.menu-id .nm span{font-family:var(--font-mono);font-size:11.5px;color:var(--faint);word-break:break-all}.menu-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 12px;border-radius:11px;font-size:15px;font-weight:600;color:var(--text);transition:background .14s}.menu-item:hover{background:var(--surface-2)}.menu-item .ic{font-size:18px;width:22px;text-align:center}.menu-item.danger{color:var(--accent)}.menu-item.danger:hover{background:var(--accent-soft)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%) translateY(20px);background:var(--green-deep);color:#fff;font-size:14px;font-weight:600;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow-lg);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.3,1);display:flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.err{background:var(--accent)}.update-bar{position:fixed;left:50%;bottom:94px;transform:translate(-50%);z-index:85;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(var(--maxw) - 36px);background:var(--green-deep);color:#fff;padding:9px 10px 9px 16px;border-radius:999px;box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:600}.update-bar .update-refresh{flex:none;background:#fff;color:var(--green-deep);font-weight:700;font-size:13px;padding:7px 13px;border-radius:999px}.update-bar .update-x{flex:none;color:#fffc;font-size:13px;padding:4px 6px}.update-bar .update-x:hover{color:#fff}.icon-btn{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:17px;flex:none;color:var(--muted);transition:background .14s}.icon-btn:hover{background:var(--surface-2)}.topbar .icon-btn{margin-right:6px}.nzdot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface)}.new-pill{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;color:#fff;background:var(--accent)}.menu-item .new-pill{margin-left:auto}.invite-row{display:flex;gap:8px;margin:12px 0 8px}.invite-row input{flex:1;min-width:0;padding:11px 13px;border-radius:11px;background:var(--surface-2);border:1.5px solid var(--line);font-size:14px}.invite-row input:focus{outline:none;border-color:var(--green);background:var(--surface)}.invite-btn{flex:none;padding:0 16px;border-radius:11px;background:var(--green);color:#fff;font-weight:700;font-size:14px}.invite-btn:disabled{opacity:.45;cursor:default}.people-lbl{margin:16px 2px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}.people-lbl.req{color:var(--accent)}.person{display:flex;align-items:center;gap:11px;padding:8px 4px}.person .nm{flex:1;min-width:0}.person .nm b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person .nm span{font-size:11.5px;color:var(--faint);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-sm.pending{background:var(--faint)}.avatar-sm.me{background:var(--accent)}.mini{flex:none;padding:7px 12px;border-radius:9px;font-size:12.5px;font-weight:700;background:var(--surface-2);color:var(--text)}.mini.ok{background:var(--green);color:#fff}.mini.no{background:var(--surface-2);color:var(--muted)}.mini:disabled{opacity:.5;cursor:default}.role{flex:none;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}.role.admin{background:var(--green-soft);color:var(--green-deep)}.role.pending{background:var(--surface-2);color:var(--faint)}.add-empty{color:var(--faint);font-size:13px;padding:8px 4px}.sheet-note{margin-top:16px;padding:11px 13px;border-radius:11px;background:var(--green-tint);color:var(--green-deep);font-size:12.5px;display:flex;gap:8px}.fb-text{width:100%;margin-top:10px;padding:13px 14px;border-radius:13px;background:var(--surface-2);border:1.5px solid var(--line);font-size:15px;line-height:1.45;resize:vertical;min-height:110px}.fb-text:focus{outline:none;border-color:var(--green);background:var(--surface)}.fb-fine{margin:8px 2px 0;font-size:12px;color:var(--faint)}.fb-item{padding:12px 0;border-bottom:1px solid var(--line)}.fb-item:last-of-type{border-bottom:none}.fb-msg{margin:6px 2px 8px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.fb-ctx-toggle{font-size:12px;font-weight:700;color:var(--green);padding:2px 0}.fb-ctx{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:11.5px;font-family:var(--font-mono)}.fb-ctx>div{display:flex;gap:8px;padding:2px 0}.fb-ctx dt{flex:none;min-width:96px;color:var(--faint)}.fb-ctx dd{margin:0;color:var(--text);word-break:break-all}.rm-lbl.in_progress{color:var(--accent)}.rm-lbl.shipped{color:var(--green)}.rm-item{display:flex;flex-direction:column;gap:9px;padding:11px 12px;border-radius:12px;background:var(--surface-2);margin-bottom:8px;border-left:3px solid var(--line)}.rm-item.in_progress{border-left-color:var(--accent)}.rm-item.shipped{border-left-color:var(--green)}.rm-item.shipped .rm-main b{color:var(--green-deep)}.rm-main b{font-size:14.5px;display:block}.rm-main p{margin:3px 0 0;font-size:13px;line-height:1.45;color:var(--muted);white-space:pre-wrap;word-break:break-word}.rm-when{display:block;margin-top:5px;font-size:11px;color:var(--faint);font-family:var(--font-mono)}.rm-actions{display:flex;gap:6px;justify-content:flex-end}.rm-editor{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--green-tint);margin-bottom:12px}.rm-in{width:100%;padding:9px 11px;border-radius:9px;background:var(--surface);border:1.5px solid var(--line);font-size:14px;font-family:inherit}.rm-in:focus{outline:none;border-color:var(--green)}textarea.rm-in{resize:vertical;line-height:1.45}.rm-edit-row{display:flex;gap:8px;align-items:center}.rm-edit-row .rm-in{flex:1}.empty{text-align:center;padding:54px 24px;color:var(--muted);grid-column:1 / -1}.empty .em-mark{font-size:42px}.empty p{margin:12px 0 0;font-size:15px}.empty .sub{color:var(--faint);font-size:13px;margin-top:3px}.stars{display:inline-flex;gap:4px;line-height:1}.stars .star{color:var(--line)}.stars .star.on{color:#f2b23e}.stars.ro{color:var(--line)}.starbtn{font-size:inherit;color:var(--line);transition:color .12s,transform .1s;line-height:1;padding:4px}.starbtn:hover{transform:scale(1.12)}.starbtn:active{transform:scale(.95)}.starbtn.on{color:#f2b23e}.cf-block .stars{gap:8px;padding:2px 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:9px 14px;border-radius:999px;font-size:13.5px;font-weight:600;background:var(--surface-2);border:1.5px solid var(--line);color:var(--muted);transition:background .12s,border-color .12s,color .12s}.chip:hover{border-color:#cdd6c0}.chip.on{background:var(--green);border-color:var(--green);color:#fff}.chip.ro{padding:3px 10px;font-size:11.5px;font-weight:700;background:var(--green-tint);border:none;color:var(--green-deep);font-family:var(--font-mono)}.cook-form{display:flex;flex-direction:column;gap:18px;margin:14px 0 18px}.cf-block{display:flex;flex-direction:column;gap:10px}.cf-block>label{font-size:13px;font-weight:700;color:var(--muted)}.cf-block .fb-text{margin-top:0;min-height:80px}.cf-err{font-size:12.5px;color:var(--accent)}.photo-actions{display:flex;gap:10px}.photo-act{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 12px;border-radius:14px;border:1.5px dashed var(--line);background:var(--surface-2);color:var(--green-deep);font-weight:600;font-size:14.5px;cursor:pointer;transition:border-color .14s,background .14s}.photo-act:hover{border-color:var(--green);background:var(--green-tint)}.photo-act.busy{opacity:.7;cursor:default}.cook-photo-edit{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.cook-photo-edit img{display:block;width:100%;max-height:240px;object-fit:cover}.ph-remove{position:absolute;top:9px;right:9px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#1e261c99;color:#fff;font-size:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ph-remove:hover{background:#1e261ccc}.cook-prompt{display:flex;flex-direction:column;gap:13px;padding:16px;border-radius:var(--r);background:linear-gradient(135deg,#fbf4e6,#f3e8cf);border:1px solid #ECDFC4;margin-bottom:16px}.cook-prompt-head{display:flex;align-items:center;gap:13px}.cook-prompt-ic{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:#fff9;box-shadow:var(--shadow)}.cook-prompt-txt b{display:block;font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--green-deep)}.cook-prompt-txt span{font-size:13.5px;color:var(--muted)}.cook-prompt .btn{width:100%}.cook-loading{color:var(--faint);font-size:13px;font-family:var(--font-mono);padding:6px 2px}.cooklog{display:flex;flex-direction:column;gap:12px}.cook-item{display:flex;gap:12px;padding:12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}.cook-thumb{flex:none;width:76px;height:76px;border-radius:11px;overflow:hidden;background:var(--line)}.cook-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cook-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.cook-top{display:flex;align-items:center;gap:9px}.cook-who{flex:1;min-width:0;line-height:1.2}.cook-who b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cook-who span{font-size:11px;color:var(--faint);font-family:var(--font-mono)}.cook-del{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--faint);font-size:13px;transition:background .12s,color .12s}.cook-del:hover{background:var(--accent-soft);color:var(--accent)}.cook-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cook-note{margin:0;font-size:14px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.cam{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#0d0f0c;display:flex;flex-direction:column}.cam-stage{flex:1;position:relative;display:grid;place-items:center;overflow:hidden}.cam-video{width:100%;height:100%;object-fit:cover}.cam-video.mirror{transform:scaleX(-1)}.cam-loading{position:absolute;color:#ffffffd9;font-size:14px;font-family:var(--font-mono)}.cam-err{color:#fff;font-size:15px;line-height:1.55;text-align:center;max-width:32ch;padding:24px}.cam-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px calc(20px + env(safe-area-inset-bottom));background:#0d0f0c}.cam-text{color:#fff;font-size:15px;font-weight:600;padding:10px;min-width:76px}.cam-text:last-child{text-align:right}.cam-shutter{flex:none;width:70px;height:70px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff59;transition:transform .1s}.cam-shutter:active{transform:scale(.92)}.cam-shutter:disabled{opacity:.4}.cam-shutter.ph{visibility:hidden}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
