:root{--bg-main:#080b11;--bg-card:#ffffff08;--bg-card-hover:#ffffff0f;--bg-glass-heavy:#0d111ad9;--border-glass:#ffffff14;--border-glass-focus:#fff3;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--color-tier-s:linear-gradient(135deg, #ff4b72, #ff7a98);--color-tier-a:linear-gradient(135deg, #ff8c00, #ffb85c);--color-tier-b:linear-gradient(135deg, #ffc800, #ffe680);--color-tier-c:linear-gradient(135deg, #00d97e, #73ffc1);--color-tier-d:linear-gradient(135deg, #9b51e0, #dfa8ff);--color-accent:#3b82f6;--color-accent-glow:#3b82f666;--color-danger:#ef4444;--color-danger-glow:#ef44444d;--resize-dur:.3s;--resize-ease:cubic-bezier(.22, 1, .36, 1);--modal-open-dur:.25s;--modal-close-dur:.15s;--modal-scale:.96;--modal-scale-close:.96;--modal-ease:cubic-bezier(.22, 1, .36, 1);--spring-ease:cubic-bezier(.34, 1.56, .64, 1);--transition-smooth:all .2s ease;--transition-spring:all .3s var(--spring-ease)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;padding:1.5rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-layout{flex-direction:column;gap:1.5rem;max-width:680px;margin:0 auto;display:flex}.app-header{text-align:center;margin-bottom:.5rem}.app-logo{letter-spacing:-.03em;background:linear-gradient(135deg, #fff 30%, var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.25rem;font-family:Outfit,sans-serif;font-size:2.25rem;font-weight:800}.app-subtitle{color:var(--text-secondary);letter-spacing:.02em;font-size:.875rem;font-weight:500}.app-main{flex-direction:column;gap:1.5rem;display:flex}.glass-panel{background:var(--bg-card);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:1.25rem}.capture-card{border:1px solid var(--border-glass);background:#090d16;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px #0006}.capture-header{border-bottom:1px solid var(--border-glass);background:#ffffff05;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.nickname-badge-container{border:1px solid var(--border-glass);background:#ffffff0a;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .75rem;display:inline-flex}.nickname-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.nickname-value{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700}.capture-watermark{letter-spacing:.05em;opacity:.4;color:var(--text-secondary);font-family:Outfit,sans-serif;font-size:.75rem;font-weight:700}.tier-board{flex-direction:column;display:flex}.tier-row{border-bottom:1px solid var(--border-glass);min-height:80px;display:flex}.tier-row:last-child{border-bottom:none}.tier-label-wrapper{background:var(--row-color);color:#080b11;text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:75px;padding:.4rem;display:flex;position:relative}.tier-label{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:800;line-height:1}.tier-desc{opacity:.85;text-transform:uppercase;letter-spacing:.02em;margin-top:2px;font-size:.6rem;font-weight:700}.tier-dropzone{background:#0d111a66;flex-wrap:wrap;flex-grow:1;align-content:flex-start;gap:.5rem;padding:.65rem;transition:background-color .2s;display:flex}.tier-dropzone.dragover{background:#ffffff0d}.food-card{color:var(--text-primary);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;transition:var(--transition-spring);will-change:transform, box-shadow;white-space:normal;word-break:break-all;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;min-width:60px;max-width:110px;min-height:36px;padding:.35rem .55rem;font-size:.75rem;font-weight:600;line-height:1.25;display:inline-flex}.food-card:hover{background:#ffffff1a;border-color:#ffffff26;transform:translateY(-2px)}.food-card:active{transform:scale(.96)}.food-card.is-selected{border-color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow);background:#3b82f626;animation:1.5s infinite alternate pulse-border;transform:scale(1.05)translateY(-2px)}@keyframes pulse-border{0%{border-color:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow)}to{border-color:#60a5facc;box-shadow:0 0 16px #60a5fa99}}.food-card.is-custom:after{content:"";background-color:var(--color-accent);border-radius:50%;width:4px;height:4px;margin-left:4px;display:inline-block}.food-card.dragging{opacity:.5;transform:scale(.95)}.control-panel{flex-direction:column;gap:1.25rem;display:flex}.panel-section{flex-direction:column;gap:.5rem;display:flex}.panel-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.text-input,.select-input,.textarea-input{border:1px solid var(--border-glass);color:var(--text-primary);transition:var(--transition-smooth);background:#ffffff0a;border-radius:10px;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.9rem}.text-input:focus,.select-input:focus,.textarea-input:focus{border-color:var(--color-accent);background:#ffffff12;box-shadow:0 0 0 3px #3b82f633}.select-input{cursor:pointer}.select-input option{background:var(--bg-main);color:var(--text-primary)}.custom-item-form{grid-template-columns:1fr auto auto;gap:.5rem;display:grid}@media (width<=480px){.custom-item-form{grid-template-columns:1fr}}.pool-panel{flex-direction:column;gap:1rem;display:flex}.pool-header{flex-direction:column;gap:.25rem;display:flex}.panel-title{font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700}.panel-desc{color:var(--text-muted);font-size:.75rem}.filter-tabs{border-bottom:1px solid var(--border-glass);flex-wrap:wrap;gap:.35rem;padding-bottom:.75rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #0000;border-radius:8px;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pool-dropzone{background:#00000026;border:1px dashed #ffffff0d;border-radius:12px;flex-wrap:wrap;align-content:flex-start;gap:.5rem;min-height:120px;padding:.75rem;transition:background-color .2s;display:flex}.pool-dropzone.dragover{background:#ffffff05}.food-card.hide{display:none!important}.btn{cursor:pointer;transition:var(--transition-spring);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 4px 12px #3b82f633}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 6px 16px #3b82f659}.btn-secondary{border-color:var(--border-glass);color:var(--text-primary);background:#ffffff14}.btn-secondary:hover{background:#ffffff26}.btn-outline{border-color:var(--border-glass);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--border-glass-focus);color:var(--text-primary)}.btn-danger{color:var(--color-danger);background:#ef44441a;border-color:#ef444433}.btn-danger:hover{background:var(--color-danger);color:#fff;box-shadow:0 4px 12px var(--color-danger-glow)}.btn-lg{border-radius:12px;padding:.85rem 1.5rem;font-size:.95rem}.panel-actions{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.btn-group-row{grid-template-columns:1fr 1fr auto;gap:.5rem;display:grid}.icon{width:1.15em;height:1.15em}.dialog-modal{transform:translate(-50%, -50%) scale(var(--modal-scale));border:1px solid var(--border-glass);background:var(--bg-glass-heavy);width:90%;max-width:450px;color:var(--text-primary);border-radius:16px;outline:none;margin:0;padding:1.5rem;position:fixed;top:50%;left:50%;box-shadow:0 25px 50px #00000080}.dialog-modal::backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity var(--modal-open-dur) var(--modal-ease);background:#04060abf}.t-modal{transform-origin:50%;transform:translate(-50%, -50%) scale(var(--modal-scale));opacity:0;pointer-events:none;transition:transform var(--modal-open-dur) var(--modal-ease), opacity var(--modal-open-dur) var(--modal-ease);will-change:transform, opacity}.t-modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.t-modal.is-open::backdrop{opacity:1}.t-modal.is-closing{transform:translate(-50%, -50%) scale(var(--modal-scale-close));opacity:0;pointer-events:none;transition:transform var(--modal-close-dur) var(--modal-ease), opacity var(--modal-close-dur) var(--modal-ease)}.t-modal.is-closing::backdrop{opacity:0;transition:opacity var(--modal-close-dur) var(--modal-ease)}@media (prefers-reduced-motion:reduce){.t-modal,.t-modal::backdrop{transition:none!important}}.dialog-content{flex-direction:column;gap:1rem;display:flex}.dialog-title{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700}.dialog-desc{color:var(--text-secondary);font-size:.8rem}.textarea-input{resize:vertical;min-height:120px;font-family:monospace;font-size:.8rem}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.error-msg{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;padding:.5rem .75rem;font-size:.75rem}.error-msg.hide{display:none}.toast-container{background:var(--bg-glass-heavy);border:1px solid var(--border-glass-focus);z-index:9999;transition:transform .3s var(--spring-ease), opacity .2s ease;-webkit-backdrop-filter:blur(16px);opacity:1;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.8rem;font-weight:600;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 10px 25px #0000004d,0 0 12px #3b82f61a}.toast-container.hide{opacity:0;pointer-events:none;transform:translate(-50%)translateY(20px)}.hide{display:none!important}.legend-panel{transition:border-color .2s;display:block;overflow:hidden}.legend-panel:hover{border-color:var(--border-glass-focus)}.legend-summary{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;justify-content:space-between;align-items:center;padding:.2rem 0;list-style:none;display:flex}.legend-summary::-webkit-details-marker{display:none}.accordion-icon{color:var(--text-secondary);transition:transform .3s var(--spring-ease);will-change:transform}details[open] .accordion-icon{transform:rotate(180deg)}.legend-content{animation:slideDown .28s var(--spring-ease);will-change:transform, opacity;margin-top:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.legend-list{border-top:1px solid var(--border-glass);flex-direction:column;gap:.75rem;padding-top:1rem;list-style:none;display:flex}.legend-item{align-items:flex-start;gap:.75rem;display:flex}.legend-badge{background:var(--row-color);color:#080b11;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:800;display:inline-flex}.legend-text{color:var(--text-secondary);padding-top:2px;font-size:.775rem;line-height:1.4}
