*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.18) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.28)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.stage-glow,.modal .em,.modal .halo{animation:none !important}}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);min-height:100vh;color:#e8e6f0;overflow-x:hidden}.wrap{max-width:1360px;margin:0 auto;padding:24px 16px;animation:fadeUp .5s ease}h1{font-weight:800;font-size:1.8em;line-height:1.3;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}h1 .title-main{background:linear-gradient(135deg,#ff6b9d 0%,#ffa17f 25%,#ffd86f 50%,#43e97b 75%,#4facfe 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:3px;filter:drop-shadow(0 2px 8px rgba(255,107,157,0.25))}h1 .title-sub{font-size:0.5em;opacity:0.55;font-weight:500;letter-spacing:1px;white-space:nowrap}h1 .title-deco{flex-basis:100%;width:72px;height:3px;margin-top:6px;border-radius:999px;background:linear-gradient(90deg,#ff6b9d,#667eea,transparent)}.stage{position:relative;margin:16px 0 12px;border-radius:26px;padding:54px 24px 44px;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(118,75,162,0.40),rgba(15,23,42,0.7) 62%);border:1px solid rgba(255,255,255,0.12);box-shadow:inset 0 0 60px rgba(118,75,162,0.25),0 22px 50px rgba(0,0,0,0.45);transition:box-shadow .4s ease}.stage-glow{position:absolute;inset:-45%;background:conic-gradient(from 0deg,#ff6b9d,#667eea,#43e97b,#ff9a9e,#4facfe,#ff6b9d);filter:blur(70px);opacity:0.22;z-index:0;animation:spinGlow 14s linear infinite}@keyframes spinGlow{to{transform:rotate(360deg)}}.stage>*{position:relative;z-index:1}.slot{font-size:2.7em;font-weight:800;min-height:1.35em;line-height:1.2;letter-spacing:1px;text-shadow:0 4px 22px rgba(0,0,0,0.55);transition:transform .2s ease,filter .2s ease}.slot .hl{background:linear-gradient(120deg,#ff6b9d,#ffd86f);-webkit-background-clip:text;background-clip:text;color:transparent}.slot-sub{margin-top:12px;opacity:0.78;font-size:1.02em;letter-spacing:1px}.stage.charging .slot{animation:shake .12s linear infinite}@keyframes shake{0%{transform:translateX(-4px)}50%{transform:translateX(4px)}100%{transform:translateX(-4px)}}.stage.spinning .slot{animation:blurspin .26s linear infinite}@keyframes blurspin{0%{filter:blur(0)}50%{filter:blur(1.6px)}100%{filter:blur(0)}}.stage.reveal{box-shadow:inset 0 0 90px rgba(255,107,157,0.45),0 0 70px rgba(255,107,157,0.55)}.stage.reveal .slot{animation:popbig .6s cubic-bezier(.2,1.5,.4,1)}@keyframes popbig{0%{transform:scale(.55);opacity:0}60%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}.slot.peek{animation:peek .22s ease}@keyframes peek{0%{transform:scale(1)}50%{transform:scale(1.14)}100%{transform:scale(1)}}.btn{position:relative;overflow:hidden;border:none;cursor:pointer;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff6b9d,#c0392b);padding:12px 20px;border-radius:999px;font-size:1em;box-shadow:0 10px 20px rgba(192,57,43,0.35);transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(192,57,43,0.45)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn.big{margin-top:24px;font-size:1.2em;padding:16px 38px;letter-spacing:2px}.btn.big:not(:disabled){animation:pulseBtn 2.4s ease-in-out infinite}@keyframes pulseBtn{0%,100%{box-shadow:0 10px 20px rgba(192,57,43,0.35)}50%{box-shadow:0 10px 36px rgba(255,107,157,0.55)}}.btn.big:not(:disabled):hover{animation:none}.btn::after{content: "";position:absolute;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.35);transform:translate(-50%,-50%);pointer-events:none}.btn.rip::after{width:300px;height:300px;opacity:0;transition:width .5s ease,height .5s ease,opacity .5s ease}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}@media (max-width:900px){.layout{grid-template-columns:1fr}}.card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:14px 14px;backdrop-filter:blur(10px)}.card + .card{margin-top:12px}.card h3{font-size:0.92em;opacity:0.85;margin-bottom:8px;padding-left:10px;border-left:3px solid #667eea;border-radius:2px}.toggles{display:flex;flex-wrap:wrap;gap:10px}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:0.92em;white-space:nowrap}.toggle input{display:none}.sw{width:42px;height:24px;border-radius:999px;background:rgba(255,255,255,0.15);position:relative;transition:background .25s}.sw::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s;box-shadow:0 4px 8px rgba(0,0,0,0.25)}.toggle input:checked + .sw{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle input:checked + .sw::after{transform:translateX(18px)}.seg{display:inline-flex;background:rgba(255,255,255,0.08);border-radius:999px;padding:3px;gap:3px}.seg-btn{cursor:pointer;user-select:none;padding:6px 18px;border-radius:999px;font-size:0.92em;white-space:nowrap;color:rgba(255,255,255,0.75);transition:all .2s}.seg-btn:hover{color:#fff;background:rgba(255,255,255,0.08)}.seg-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,0.45)}.group{margin:10px 0}.group-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;user-select:none;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08)}.group-head:hover{background:rgba(255,255,255,0.08)}.group-head .arrow{transition:transform .25s;opacity:0.8}.group-head.collapsed .arrow{transform:rotate(-90deg)}.group-body{overflow:hidden;transition:max-height .35s ease,opacity .25s ease;max-height:900px;opacity:1}.group-body.collapsed{max-height:0;opacity:0;pointer-events:none}.group-title{font-weight:700;font-size:0.95em;letter-spacing:1px}.group-meta{font-size:0.78em;opacity:0.7}.tags{display:flex;flex-wrap:wrap;gap:8px;padding:10px 4px}.tag{padding:6px 14px;border-radius:999px;cursor:pointer;user-select:none;font-size:0.9em;color:#fff;border:2px solid transparent;background:rgba(255,255,255,0.1);transition:transform .15s,box-shadow .15s,background .2s}.tag:hover{transform:translateY(-2px);background:rgba(255,255,255,0.18)}.tag.like.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:rgba(255,255,255,0.35);box-shadow:0 6px 16px rgba(102,126,234,0.5)}.tag.dislike.active{background:linear-gradient(135deg,#ff6b6b,#c0392b);border-color:rgba(255,255,255,0.35);box-shadow:0 6px 16px rgba(255,107,107,0.5)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:0.85em;opacity:0.85;margin-top:6px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.table{width:100%;border-collapse:collapse;font-size:0.92em}.table th,.table td{padding:8px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,0.06)}.table th{opacity:0.6;font-weight:600}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:0.78em;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.12)}.badge.custom{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#0f172a;border:none;font-weight:700}.badge.attr{min-width:64px;text-align:center;white-space:nowrap}.badge.attr.meal{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#0f172a;border:none}.badge.attr.snack{background:linear-gradient(135deg,#ffd86f,#ff9a3c);color:#0f172a;border:none}.lead{opacity:0.78;font-size:0.9em;margin:6px 0 12px;line-height:1.5}.recent{margin-top:12px;font-size:0.85em;opacity:0.9}.recent b{opacity:0.65;font-weight:600}.recent .rchip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;margin:5px 6px 0 0;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12)}.table th:nth-child(3),.table td:nth-child(3){width:80px;text-align:center}.del{cursor:pointer;color:#ff8a8a;font-weight:700;padding:2px 6px;border-radius:8px}.del:hover{background:rgba(255,107,107,0.2)}.table th:nth-child(4),.table td:nth-child(4){width:200px;text-align:center}.row-acts{display:inline-flex;gap:6px;align-items:center;justify-content:center;white-space:nowrap}.ract{cursor:pointer;border:none;background:rgba(255,255,255,0.08);color:#fff;width:30px;height:30px;border-radius:8px;font-size:0.9em;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.ract:hover{background:rgba(255,255,255,0.2)}.ract.exclude.active{background:linear-gradient(135deg,#ff6b6b,#c0392b)}.ract.del{color:#ff8a8a}.ract.del:hover{background:rgba(255,107,107,0.2)}.ract.fav{color:#ff9ec4}.ract.fav.active{background:linear-gradient(135deg,#ff6b9d,#ff3d68);color:#fff}.ract.edit{color:#9ad0ff}.ract.edit:hover{background:rgba(102,170,255,0.2)}.table tr.excluded{opacity:0.5}.op-hint{font-size:0.8em;opacity:0.7;margin-top:8px}.searchbar{display:flex;align-items:center;gap:8px;margin-bottom:10px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:0 12px;transition:border-color .2s,box-shadow .2s}.searchbar:focus-within{border-color:rgba(102,126,234,0.6);box-shadow:0 0 0 3px rgba(102,126,234,0.15)}.search-ico{opacity:0.6;transition:transform .2s,opacity .2s}.searchbar:focus-within .search-ico{transform:scale(1.15);opacity:1}.searchbar input{flex:1;background:transparent;border:none;color:#e8e6f0;padding:11px 4px;outline:none;font-size:0.95em}.searchbar input::placeholder{color:rgba(255,255,255,0.45)}.clear-btn{border:none;cursor:pointer;background:rgba(255,255,255,0.12);color:#fff;width:26px;height:26px;border-radius:50%;font-size:0.85em;line-height:1}.clear-btn:hover{background:rgba(255,255,255,0.25)}.search-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:0.82em;opacity:0.85;margin-bottom:8px}#searchCount{margin-right:12px}.filter-mode-wrap{display:inline-flex;align-items:center;gap:4px;margin-right:auto}.filter-mode-tip{font-size:0.75em;opacity:0.5;white-space:nowrap}.spin-scope{cursor:pointer;display:inline-flex;align-items:center;gap:6px}.spin-scope input{accent-color:#764ba2}.empty-row td{text-align:center;opacity:0.7;padding:36px 10px 28px}.empty-row td .empty-icon{font-size:2.8em;display:block;margin-bottom:10px;opacity:0.5}.empty-row td .empty-tip{display:block;margin-top:6px;opacity:0.7;font-size:0.9em}.empty-action{margin-top:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pref-actions{margin-top:10px}.reset-btn{border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.06);color:#fff;cursor:pointer;padding:7px 14px;border-radius:10px;font-weight:600;font-size:0.85em}.reset-btn:hover{background:rgba(255,255,255,0.16)}.form{display:grid;grid-template-columns:2fr 3fr auto;gap:10px;align-items:stretch}.form .tagselect{min-width:0}.form input{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:#e8e6f0;padding:10px 12px;border-radius:12px;outline:none;font-size:0.95em}.form input:focus{border-color:rgba(102,126,234,0.6)}.form input::placeholder{color:rgba(255,255,255,0.45)}.form button{padding:10px 18px;border-radius:12px;border:none;cursor:pointer;font-weight:700;font-size:0.95em;white-space:nowrap;color:#0f172a;background:linear-gradient(135deg,#43e97b,#38f9d7);display:inline-flex;align-items:center;justify-content:center}.form button:hover{filter:brightness(1.05)}.form-extra{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.form-extra-label{font-size:0.9em;opacity:0.85;white-space:nowrap}.seg{display:inline-flex;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,0.14)}.seg-opt{border:none;cursor:pointer;padding:8px 16px;font-size:0.88em;font-weight:600;background:rgba(255,255,255,0.06);color:#fff;border-radius:999px;transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap}.seg-opt:hover{background:rgba(255,255,255,0.14)}.seg-opt.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,0.45)}.io-row{display:flex;gap:10px;margin-top:12px;align-items:center;flex-wrap:wrap;font-size:.85em;opacity:.85}.io-btn{cursor:pointer;padding:7px 14px;border-radius:10px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.06);color:#fff;font-weight:600}.io-btn:hover{background:rgba(255,255,255,0.14)}.tagselect{position:relative}.ts-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:6px 10px;cursor:text;transition:border-color .2s}.ts-control:focus-within{border-color:rgba(102,126,234,0.6)}.ts-placeholder{color:rgba(255,255,255,0.45);font-size:0.95em}.ts-chips{display:flex;flex-wrap:wrap;gap:6px}.ts-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:linear-gradient(135deg,#667eea,#764ba2);font-size:0.85em;white-space:nowrap}.ts-chip b{cursor:pointer;font-weight:700;opacity:0.85}.ts-chip b:hover{opacity:1}.ts-caret{margin-left:auto;opacity:0.6;font-size:0.8em}.ts-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:#1e293b;border:1px solid rgba(255,255,255,0.15);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,0.5);padding:8px;display:none}.ts-panel.open{display:block}.ts-search input{width:100%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:#e8e6f0;padding:8px 10px;border-radius:8px;outline:none;font-size:0.9em;box-sizing:border-box}.ts-search input::placeholder{color:rgba(255,255,255,0.4)}.ts-list{max-height:200px;overflow-y:auto;margin:8px 0;display:flex;flex-direction:column;gap:2px}.ts-opt{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:0.9em}.ts-opt:hover{background:rgba(255,255,255,0.1)}.ts-opt.sel{background:rgba(102,126,234,0.28)}.ts-opt .tick{opacity:0;color:#b9ffd6;font-weight:700}.ts-opt.sel .tick{opacity:1}.ts-custom input{width:100%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:#e8e6f0;padding:7px 10px;border-radius:8px;outline:none;font-size:0.85em;box-sizing:border-box}.ts-custom input::placeholder{color:rgba(255,255,255,0.4)}.overflow{max-height:520px;overflow:auto}.stats{opacity:0.65;font-size:0.88em;margin-top:14px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:100}.overlay.show{display:flex}body.no-scroll{overflow:hidden}.modal{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);padding:44px 56px;border-radius:28px;text-align:center;box-shadow:0 30px 60px rgba(102,126,234,0.5);animation:pop .35s ease}@keyframes pop{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}.modal .em{font-size:5.5em;animation:emIn .5s cubic-bezier(.2,1.5,.4,1) both,bob 1.6s ease-in-out infinite .5s}@keyframes emIn{0%{transform:scale(0) rotate(-20deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}.modal .btn-row .btn{animation:fadeUp .4s ease both}.modal .btn-row .btn:nth-child(1){animation-delay:.15s}.modal .btn-row .btn:nth-child(2){animation-delay:.25s}.modal .btn-row .btn:nth-child(3){animation-delay:.35s}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}.modal h2{font-size:2.4em;margin:10px 0}.modal button{margin-top:16px}.modal .halo{position:absolute;inset:-30px;border-radius:34px;border:2px solid rgba(255,255,255,0.35);animation:halo 1.4s ease-out infinite;pointer-events:none}@keyframes halo{0%{transform:scale(.95);opacity:.8}100%{transform:scale(1.15);opacity:0}}.modal.edit-modal{background:linear-gradient(135deg,#1e1b3a,#2d1b4e);border:1px solid rgba(102,126,234,0.3);box-shadow:0 20px 60px rgba(102,126,234,0.3);padding:26px 30px;max-width:380px;width:90vw;border-radius:22px}.modal.edit-modal h2{color:#e8e6f0}.edit-form{gap:12px !important}.edit-form input{background:rgba(255,255,255,0.08) !important;border:1px solid rgba(255,255,255,0.14) !important;color:#e8e6f0 !important;padding:10px 14px !important;border-radius:10px !important;outline:none !important;font-size:0.95em !important;transition:border-color .2s}.edit-form input:focus{border-color:rgba(102,126,234,0.6) !important}.edit-form input::placeholder{color:rgba(255,255,255,0.4)}.edit-form .emoji-picker{margin-top:2px;margin-bottom:0}.edit-form .emoji-picker-label{color:rgba(255,255,255,0.65);font-size:0.85em;margin-bottom:6px}.edit-form .emoji-picker-grid{gap:5px;max-height:90px;overflow-y:auto}.edit-form .eopt{width:32px;height:32px;font-size:1.1em;border-radius:8px}.meal-toggle{display:flex;justify-content:center;align-items:center;gap:4px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:999px;padding:2px;width:fit-content;margin:0 auto}.meal-toggle button{border:none;cursor:pointer;padding:7px 22px;font-size:0.9em;font-weight:600;background:transparent;color:rgba(255,255,255,0.6);border-radius:999px;white-space:nowrap;transition:all .2s;margin-top:0 !important}.meal-toggle button:hover{color:#fff;background:rgba(255,255,255,0.08)}.meal-toggle button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,0.45)}.edit-modal .btn-row{gap:10px;margin-top:14px}.edit-modal .btn-row .btn{padding:9px 20px;font-size:0.92em}.confetti{position:fixed;width:10px;height:10px;top:-10px;z-index:101;animation:fall linear forwards}@keyframes fall{to{transform:translateY(105vh) rotate(720deg);opacity:0}}.ripple{position:fixed;left:50%;top:38%;width:12px;height:12px;border-radius:50%;border:4px solid rgba(255,107,157,0.8);transform:translate(-50%,-50%);animation:ripple .9s ease-out forwards;z-index:102;pointer-events:none}@keyframes ripple{to{width:680px;height:680px;opacity:0}}.tag-chip{display:inline-block;padding:2px 8px;margin:1px 2px;border-radius:6px;font-size:0.72em;font-weight:600;white-space:nowrap;border:1px solid transparent;background:#424854;color:#d6d9e0;border-color:#5a6070}.tag-chip.spicy{background:#b45309;color:#fbbf24;border-color:#f59e0b}.tag-chip.sweet{background:#be5285;color:#f8d1e0;border-color:#da7ba7}.tag-chip.sour{background:#657c3d;color:#dbe8ad;border-color:#9aad5d}.tag-chip.salty{background:#4a7c8c;color:#b8d4df;border-color:#6ea0b0}.tag-chip.meat{background:#8b5a4a;color:#e8c4b8;border-color:#b37a6a}.tag-chip.veg{background:#5a7c5a;color:#bed4be;border-color:#7e9d7e}.tag-chip.seafood{background:#5a7c8c;color:#b8d4df;border-color:#6ea0b0}.tag-chip.hot{background:#b4694a;color:#f9d4b8;border-color:#da957a}.tag-chip.cold{background:#5a7c77;color:#bdd4d1;border-color:#7ea09d}.tag-chip.cuisine-sichuan{background:#7c4a4a;color:#dbb8b8;border-color:#9d6a6a}.tag-chip.cuisine-cantonese{background:#6b5a7c;color:#d4c4df;border-color:#8b7aa0}.tag-chip.cuisine-hunan{background:#8c5a5a;color:#dfc4b8;border-color:#b07a7a}.tag-chip.cuisine-north{background:#6b665a;color:#d4d1c4;border-color:#8b867a}.tag-chip.cuisine-japanese{background:#7c5a6b;color:#dfc4d4;border-color:#a07a8b}.tag-chip.noodle{background:#8c7c5a;color:#dfd4b8;border-color:#b0a07a}.tag-chip.rice{background:#777c5a;color:#d4d7be;border-color:#9a9d7e}.tag-chip.soup{background:#6b5a5a;color:#d4c4c4;border-color:#8b7a7a}.tag-chip.dessert{background:#8c6b7c;color:#dfc4d1;border-color:#b08ba0}.tag-chip.quick{background:#5a6b7c;color:#c4d4df;border-color:#7a8bb0}.tag-chip.grilled{background:#7c6b5a;color:#dfd4c4;border-color:#a0958b}.tag-chip.hotpot{background:#7c5a4a;color:#dfc4b8;border-color:#a08b7a}.tag-chip.snack{background:#6b7c5a;color:#d4d7be;border-color:#8b9d7e}.tag-chip.home{background:#7c6b5a;color:#dfd4c4;border-color:#a0958b}.tag-chip.light{background:#5a777c;color:#c4dbdf;border-color:#7eb0b0}.tag-chip.street{background:#5a5f6b;color:#c4ccd4;border-color:#7a808b}.tag-chip.cuisine{background:#3b4cca;color:#c8d0ff;border-color:#5b6be8}.tag-chip.form{background:#1a6b3a;color:#9ff0c4;border-color:#2da55a}.tag-chip.scene{background:#8a5a00;color:#ffe0a0;border-color:#c4860d}.tag-chip.taste{background:#1a4b6b;color:#9cd0ff;border-color:#2d7da5}.table tbody tr.cz:nth-child(even):not(.excluded){background:rgba(255,255,255,0.025)}@keyframes rowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.table tr.cz{animation:rowIn .25s ease forwards}.emoji-chip{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;margin-right:8px;font-size:1.05em;vertical-align:middle;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.25)}.custom-star{margin-right:4px;font-size:1em;vertical-align:middle;filter:drop-shadow(0 0 5px rgba(67,233,123,0.7))}.table td:first-child>*{vertical-align:middle}.table tr.cz{transition:background .2s}.table tr.cz:hover{background:rgba(255,255,255,0.06)}.group-head .g-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px;box-shadow:0 0 8px currentColor}.modal .btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}.modal .btn-row .btn{margin-top:0}.btn.again-btn{background:linear-gradient(135deg,#ffd86f,#ff9a3c);color:#0f172a;box-shadow:0 10px 20px rgba(255,154,60,0.35)}.slot-scope{margin-top:4px;font-size:0.82em;opacity:0.55;letter-spacing:0.3px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.slot-scope .sep{opacity:0.4}.time-hint{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.time-hint .th-icon{font-size:1.05em}.time-hint .th-label{padding:1px 8px;border-radius:999px;background:rgba(102,126,234,0.15);border:1px solid rgba(102,126,234,0.3);color:#a5b4fc;font-weight:600}.time-hint .th-boost{padding:1px 6px;border-radius:999px;background:rgba(255,107,157,0.12);border:1px solid rgba(255,107,157,0.25);color:#f9a8c4;font-weight:600}.result-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.result-acts .btn{margin-top:0;padding:10px 18px}.btn.ok-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#0f172a;box-shadow:0 10px 20px rgba(67,233,123,0.35)}.btn.act-no{background:linear-gradient(135deg,#ff6b6b,#c0392b)}.btn.act-fav{background:linear-gradient(135deg,#667eea,#764ba2)}.btn.act-fav.active{background:linear-gradient(135deg,#ff6b9d,#ff3d68)}.btn.act-share{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#0f172a;box-shadow:0 10px 20px rgba(67,233,123,0.35)}.recent .rchip{cursor:pointer;transition:background .15s,transform .15s}.recent .rchip:hover{background:rgba(255,255,255,0.2);transform:translateY(-1px)}.sound-btn{position:absolute;top:12px;right:16px;z-index:2;border:none;cursor:pointer;background:rgba(255,255,255,0.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.1em;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s}.sound-btn:hover{background:rgba(255,255,255,0.24)}.sound-btn.off{opacity:0.4}#toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%) translateY(20px);background:rgba(30,41,59,0.96);border:1px solid rgba(255,255,255,0.2);color:#fff;padding:11px 20px;border-radius:999px;font-size:0.92em;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:88vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.btn.danger-btn{background:linear-gradient(135deg,#ff6b6b,#c0392b)}.manage-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}.mchip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);font-size:.88em}.mchip b{cursor:pointer;color:#ff8a8a;font-weight:700}.mchip b:hover{color:#ff4d4d}.emoji-picker{margin-top:10px}.emoji-picker-label{font-size:0.85em;opacity:0.75;margin-bottom:6px}.emoji-picker-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:120px;overflow-y:auto}.eopt{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:1.15em;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:all .12s;flex-shrink:0}.eopt:hover{background:rgba(255,255,255,0.12)}.eopt.sel{background:linear-gradient(135deg,#667eea,#764ba2);border-color:rgba(255,255,255,0.4)}.tag-suggestions{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-suggest{display:inline-block;padding:3px 10px;border-radius:999px;font-size:0.8em;cursor:pointer;background:rgba(102,126,234,0.18);border:1px dashed rgba(102,126,234,0.5);color:#b9c2ff;transition:all .15s;user-select:none}.tag-suggest:hover{background:rgba(102,126,234,0.35);border-style:solid;transform:translateY(-1px)}.dup-hint{margin-top:6px;font-size:0.82em;display:none}.dup-hint.show{display:block}.dup-hint .dup-exact{color:#ff9a9e;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dup-hint .dup-exact b{font-weight:700}.dup-hint .dup-similar{color:#ffd86f;margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dup-hint .dup-chip{padding:1px 8px;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);font-size:0.88em;cursor:pointer;transition:background .15s}.dup-hint .dup-chip:hover{background:rgba(255,255,255,0.18)}.dup-hint .dup-override{color:rgba(255,255,255,0.5);font-size:0.9em;text-decoration:underline;cursor:pointer;margin-left:4px}.dup-hint .dup-override:hover{color:#fff}.theme-btn{position:absolute;top:12px;left:16px;z-index:2;border:none;cursor:pointer;background:rgba(255,255,255,0.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.1em;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s}.theme-btn:hover{background:rgba(255,255,255,0.24)}.theme-select{position:absolute;top:52px;left:16px;z-index:2;background:#1e293b;border:1px solid rgba(255,255,255,0.2);border-radius:10px;padding:4px;font-size:0.85em;color:#e8e6f0;outline:none;display:none}.theme-select.open{display:block}.share-status{min-height:1.2em;margin-top:12px;font-size:0.88em;font-weight:600}.share-status.sending{opacity:0.75}.share-status.ok{color:#b9ffd6}.share-status.err{color:#ffb3b3}@media (max-width:600px){.wrap{padding:16px 10px}h1{font-size:1.4em}h1 .title-sub{font-size:0.6em}.stage{padding:38px 14px 30px;border-radius:20px}.slot{font-size:2em}.slot-sub{font-size:0.9em}.btn.big{font-size:1.05em;padding:14px 28px}.layout{gap:12px}.card{padding:12px 10px}.form{grid-template-columns:1fr;gap:8px}.form button{width:100%}.table{min-width:500px}.table th:nth-child(3),.table td:nth-child(3){width:70px}.table th,.table td{padding:7px 7px;font-size:0.85em}.ract{width:26px;height:26px;font-size:0.82em}.row-acts{gap:4px}.op-hint{font-size:0.75em}.emoji-chip{width:26px;height:26px;margin-right:6px}.modal{padding:34px 20px;border-radius:22px;max-width:92vw}.modal .em{font-size:4em}.modal h2{font-size:1.8em}.modal .btn-row{flex-direction:column;gap:8px}.modal .btn-row .btn{width:100%}.result-acts{gap:8px}.result-acts .btn{padding:8px 12px;font-size:0.85em;flex:1}.search-meta{gap:6px;font-size:0.78em}.filter-mode-tip{display:none}}@media (max-width:380px){.slot{font-size:1.7em}.table th:nth-child(2),.table td:nth-child(2){display:none}}.combo-badge{position:absolute;top:12px;right:60px;z-index:2;font-size:1.1em;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff6b9d,#ff9a3c);padding:4px 12px;border-radius:999px;opacity:0;transform:scale(0);transition:all .3s cubic-bezier(.2,1.5,.4,1);pointer-events:none}.combo-badge.show{opacity:1;transform:scale(1);animation:comboPulse 1s ease infinite}@keyframes comboPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.modal.confirm-modal{background:linear-gradient(135deg,#1e1b3a,#2d1b4e);border:1px solid rgba(102,126,234,0.3);box-shadow:0 20px 60px rgba(102,126,234,0.3);padding:28px 36px;max-width:360px;width:90vw;border-radius:22px}.modal.confirm-modal p{color:#e8e6f0}.search-history-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.hist-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;border-radius:999px;font-size:0.8em;cursor:pointer;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);transition:all .15s}.hist-chip:hover{background:rgba(255,255,255,0.16);transform:translateY(-1px)}.hist-chip b{cursor:pointer;font-weight:700;opacity:0.5;padding:0 2px;font-size:0.85em}.hist-chip b:hover{opacity:1;color:#ff8a8a}.hist-clear{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:0.75em;cursor:pointer;background:rgba(255,107,107,0.12);border:1px solid rgba(255,107,107,0.25);color:#ff8a8a;transition:all .15s}.hist-clear:hover{background:rgba(255,107,107,0.25)}.filter-mode-btn{border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.08);color:#fff;cursor:pointer;padding:3px 10px;border-radius:8px;font-size:0.75em;font-weight:700;transition:all .15s}.filter-mode-btn:hover{background:rgba(255,255,255,0.16)}.filter-mode-btn.or{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#0f172a;border-color:transparent}.hl-match{background:rgba(255,235,59,0.25);color:#ffeb3b;border-radius:3px;padding:0 2px;font-weight:700}.prob-hint{font-size:0.7em;opacity:0.6;font-weight:400}.table tr.cz.dragging{opacity:0.5;cursor:grabbing}.table tr.cz{cursor:grab}.similar-section{margin-top:14px}.similar-label{font-size:0.82em;opacity:0.75;margin-bottom:8px;font-weight:600}.similar-grid{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.similar-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 14px 8px;border-radius:14px;cursor:pointer;overflow:hidden;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.18);min-width:80px;max-width:130px;transition:transform .15s,background .15s,box-shadow .15s}.similar-card:hover{transform:translateY(-3px);background:rgba(255,255,255,0.22);box-shadow:0 8px 20px rgba(0,0,0,0.3)}.similar-emoji{font-size:2em;line-height:1.1}.similar-name{font-size:0.82em;font-weight:700;text-align:center;white-space:nowrap}.similar-tags{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.similar-tag{font-size:0.62em;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,0.2);white-space:nowrap}.similar-bar{position:absolute;left:0;bottom:0;width:100%;height:3px;opacity:0.7}.btn.big.loading{animation:none;flex-direction:row;align-items:center;gap:10px}.btn.big.loading:hover{transform:none}.btn .spinner{display:inline-block;width:18px;height:18px;flex-shrink:0;border:2.5px solid rgba(255,255,255,0.35);border-top-color:#fff;border-radius:50%;animation:btnSpin .7s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}.btn .btn-stage-text{font-size:0.92em;letter-spacing:1px}