:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#fdf3d1;background:radial-gradient(circle at top,rgba(255,200,120,.3),transparent 60%),radial-gradient(circle at bottom,#783c14b3,#0a0502 70%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:transparent}a{font-weight:500;color:#f7b267;text-decoration:none}a:hover{color:#fd9}button{border-radius:999px;border:1px solid rgba(255,201,130,.3);padding:.6em 1.4em;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;font-family:inherit;background:linear-gradient(135deg,#f7b267,#f79d65);color:#1b120c;cursor:pointer;transition:transform .12s ease-out,box-shadow .12s ease-out,border-color .2s ease-out,background .2s ease-out}button:hover{transform:translateY(-1px);box-shadow:0 10px 25px #0000008c;border-color:#ffdd99b3}button:active{transform:translateY(0);box-shadow:0 4px 12px #000000a6}button:focus-visible{outline:2px solid #ffdd99;outline-offset:2px}#root{min-height:100vh;padding:2.5rem 1.5rem;display:flex;align-items:stretch;justify-content:center;color:#fdf3d1}.app-shell{width:100%;max-width:1200px;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1.75rem;border-radius:1.75rem;padding:1.75rem;background:linear-gradient(135deg,#0c0704eb,#100803fa),radial-gradient(circle at top,rgba(255,212,128,.08),transparent 55%);box-shadow:0 22px 60px #000000d9,inset 0 0 0 1px #ffd28c14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.crafting-sidebar{display:flex;flex-direction:column;gap:1rem;border-radius:1.25rem;padding:1.25rem;background:radial-gradient(circle at top left,#b45a148c,#120a05f2);box-shadow:inset 0 0 0 1px #ffce9126}.app-title{display:flex;flex-direction:column;gap:.25rem}.app-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.add-button{font:inherit;cursor:pointer;border-radius:999px;width:32px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,221,153,.35);background:#0c06034d;color:#ffebc2;transition:transform .12s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.add-button:hover{border-color:#fd99;background:#0c060380;transform:translateY(-1px);box-shadow:0 16px 28px #00000073}.add-button:active{transform:translateY(0)}.badge{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px;border:1px solid rgba(255,221,153,.4);background:linear-gradient(135deg,#34190af2,#602d10f2);color:#fd9}.app-title h1{margin:0;font-size:1.6rem;letter-spacing:.08em;text-transform:uppercase}.app-subtitle{margin:0;font-size:.82rem;color:#f9e3b4;opacity:.9}.search-box{margin-top:.75rem}.search-input{width:100%;border-radius:999px;padding:.4rem .8rem;border:1px solid rgba(255,210,140,.28);background:radial-gradient(circle at 0 0,#ffdca01a,#120904e6);color:#fdf3d1;font-size:.8rem;outline:none}.search-input::placeholder{color:#f9e3b4;opacity:.5}.search-input:focus{border-color:#fd99;box-shadow:0 0 0 1px #f7b26780}.section-label{margin:.5rem 0 .35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:#f5d39a;opacity:.85}.recipe-list{display:flex;flex-direction:column;gap:.35rem;max-height:420px;padding-right:.25rem;overflow-y:auto}.recipe-item{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:.85rem;border:1px solid rgba(255,210,140,.2);background:linear-gradient(135deg,#1a0d07f2,#281208fa);color:#fdf3d1;cursor:pointer;transition:background .18s ease-out,transform .12s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.recipe-item:hover{background:linear-gradient(135deg,#281208fa,#461e0cfa);border-color:#ffdd998c;transform:translateY(-1px);box-shadow:0 12px 24px #000000b3}.recipe-item.selected{background:linear-gradient(135deg,#f7b267,#f79d65);color:#20130b;border-color:#ffffffa6;box-shadow:0 16px 32px #000c}.recipe-item-main{display:flex;flex-direction:column;gap:.08rem}.recipe-name{font-size:.95rem;font-weight:600}.recipe-meta{font-size:.75rem;opacity:.85}.recipe-tag{font-size:.7rem;padding:.15rem .55rem;border-radius:999px;background:#0c0603d9;border:1px solid rgba(255,232,180,.5);color:#ffebc2}.recipe-item.selected .recipe-tag{background:#28140af2;color:#fd9}.sidebar-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;color:#f9e3b4;opacity:.8}.sidebar-footer span{display:inline-flex;align-items:center;gap:.3rem}.cheetah-wrap{width:1.6rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center}.cheetah-run{display:inline-block;font-size:1.15rem;animation:cheetah-sprint .6s ease-in-out infinite}@keyframes cheetah-sprint{0%,to{transform:translate(-2px) scaleX(1)}25%{transform:translate(1px) translateY(-1px) scaleX(1.08)}50%{transform:translate(2px) scaleX(.95)}75%{transform:translate(0) translateY(-1px) scaleX(1.05)}}.datetime{font-variant-numeric:tabular-nums}.status-dot{width:8px;height:8px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#f7f3d4,#ffb347);box-shadow:0 0 10px #ffbd5acc}.main-panel{position:relative;display:flex;flex-direction:column;gap:1.5rem;border-radius:1.25rem;padding:1.5rem 1.6rem 1.7rem;background:radial-gradient(circle at top right,rgba(240,157,101,.22),transparent 55%),radial-gradient(circle at bottom left,#381e0ee6,#050202 85%);box-shadow:inset 0 0 0 1px #ffd28c2e,0 18px 40px #000000e6;overflow:hidden}.main-panel:before{content:"";position:absolute;inset:-40%;background-image:radial-gradient(circle at 20% 0%,rgba(252,234,184,.15),transparent 55%),radial-gradient(circle at 80% 100%,rgba(204,124,43,.18),transparent 50%);opacity:.8;mix-blend-mode:soft-light;pointer-events:none}.main-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem}.home-button{font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .85rem;border:1px solid rgba(255,210,140,.25);background:#0c060359;color:#ffebc2;letter-spacing:.08em;text-transform:uppercase;transition:transform .12s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.home-button:hover{border-color:#ffdd998c;background:#0c06038c;transform:translateY(-1px);box-shadow:0 16px 28px #0000008c}.home-button:active{transform:translateY(0)}.main-title-block h2{margin:0;font-size:1.35rem;letter-spacing:.08em;text-transform:uppercase}.main-title-block p{margin:.15rem 0 0;font-size:.8rem;color:#f9e3b4;opacity:.92}.pill-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.6rem}.pill{font-size:.7rem;padding:.24rem .7rem;border-radius:999px;border:1px solid rgba(255,221,153,.45);background:radial-gradient(circle at top left,#241209f2,#120904f2)}.rarity-pill{border-color:#f6c057cc;background:linear-gradient(135deg,#f6c05773,#7b3f19f5)}.card{border-radius:1rem;padding:1.1rem 1.2rem 1.25rem;background:linear-gradient(145deg,#0a0603fa,#1a0d07fa);box-shadow:inset 0 0 0 1px #ffd28c1f}.card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.8rem}.card-title{margin:0;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#f9e3b4}.card-caption{margin:0;font-size:.7rem;color:#f5d39a;opacity:.85}.materials-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.material-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:.7rem;background:radial-gradient(circle at 0 0,#ffdca01f,#120904fa)}.material-main{display:flex;align-items:center;gap:.5rem}.material-name{font-size:.88rem;font-weight:500}.material-amount{font-size:.9rem;font-weight:600}.material-amount span{font-size:.7rem;opacity:.8}.tree-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem;font-size:.8rem}.tree-item{display:flex;align-items:flex-start;gap:.6rem}.tree-bullet{width:12px;height:12px;border-radius:3px;background:linear-gradient(135deg,#f7b267,#f79d65);box-shadow:0 0 0 1px #080402cc,0 0 10px #f7b26799;margin-top:.08rem}.tree-content{flex:1}.tree-label{margin:0;font-weight:500}.tree-meta{margin:.08rem 0 0;opacity:.86;color:#f5d39a}.materials-area{position:relative;z-index:1;display:flex;justify-content:center}.materials-grid{width:100%;max-width:960px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:1rem}.materials-area .card{width:100%}.copy-card{grid-column:1 / -1;justify-self:center;max-width:560px;margin-top:.25rem;position:relative}.copy-button-corner{position:absolute;top:.65rem;right:.65rem}.copy-status-corner{position:absolute;top:2.1rem;right:.65rem;font-size:.7rem;min-width:auto}.copy-header{align-items:flex-start}.copy-status{font-size:.75rem;color:#f5d39a;opacity:.85;min-width:90px;text-align:right}.copy-status.copied{color:#fd9;opacity:1}.copy-status.failed{color:#ff8b6a;opacity:1}.copy-box{width:100%;min-height:140px;resize:vertical;border-radius:.85rem;padding:.75rem .85rem;border:1px solid rgba(255,210,140,.2);background:radial-gradient(circle at 0 0,#ffdca014,#120904fa);color:#fdf3d1;font-size:.82rem;line-height:1.35;outline:none}.copy-box.compact{min-height:90px;max-height:160px;resize:none;padding:.65rem .75rem;font-size:.78rem;line-height:1.3}.copy-box:focus{border-color:#ffdd998c;box-shadow:0 0 0 2px #f7b2672e}.icon-button{font:inherit;cursor:pointer;border-radius:999px;width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,232,180,.55);background:linear-gradient(135deg,#f7b267,#f79d65);color:#20130b;box-shadow:0 12px 24px #00000061;transition:transform .12s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.icon-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px #00000080}.icon-button:active{transform:translateY(0)}.icon-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.primary-button,.ghost-button{font:inherit;cursor:pointer;border-radius:999px;padding:.4rem .75rem;transition:transform .12s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.primary-button{border:1px solid rgba(255,232,180,.55);background:linear-gradient(135deg,#f7b267,#f79d65);color:#20130b;box-shadow:0 12px 24px #00000073}.primary-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px #0000008c}.ghost-button{border:1px solid rgba(255,210,140,.25);background:#0c060359;color:#ffebc2}.ghost-button:hover{border-color:#ffdd998c;background:#0c06038c;transform:translateY(-1px)}.checklist-card,.materials-card{align-self:start}.checklist{display:flex;flex-direction:column;gap:.35rem}.check-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.4rem .55rem;border-radius:.7rem;background:radial-gradient(circle at 0 0,#ffdca014,#120904fa);border:1px solid rgba(255,210,140,.12);cursor:pointer;-webkit-user-select:none;user-select:none}.check-item input{width:16px;height:16px;accent-color:#f7b267}.check-name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-amount{font-size:.85rem;font-weight:600;color:#ffebc2}.check-item.done{opacity:.72}.check-item.done .check-name{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#f7b267bf}.idle-area{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;min-height:420px}.idle-card{width:100%;max-width:560px;border-radius:1rem;padding:1.6rem 1.4rem;background:linear-gradient(145deg,#0a0603fa,#1a0d07fa);box-shadow:inset 0 0 0 1px #ffd28c1f;text-align:center}.idle-animation{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.9rem}.idle-animation span{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,#f7b267,#f79d65);box-shadow:0 0 0 1px #080402cc,0 0 12px #f7b2678c;animation:idle-bounce 1.05s ease-in-out infinite}.idle-animation span:nth-child(2){animation-delay:.12s;opacity:.9}.idle-animation span:nth-child(3){animation-delay:.24s;opacity:.8}@keyframes idle-bounce{0%,to{transform:translateY(0);opacity:.75}45%{transform:translateY(-8px);opacity:1}}.idle-title{margin:0;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:#f9e3b4}.idle-caption{margin:.5rem 0 0;font-size:.8rem;color:#f5d39a;opacity:.9}.modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:50}.modal{width:100%;max-width:760px;border-radius:1rem;padding:1.1rem 1.1rem .95rem;background:linear-gradient(145deg,#0a0603fa,#1a0d07fa);box-shadow:0 22px 60px #000000d9,inset 0 0 0 1px #ffd28c1f;color:#fdf3d1}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.modal-body{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#f5d39a;opacity:.9}.field-input{width:100%;border-radius:.9rem;padding:.55rem .75rem;border:1px solid rgba(255,210,140,.22);background:radial-gradient(circle at 0 0,#ffdca014,#120904fa);color:#fdf3d1;font-size:.85rem;outline:none}.field-input:focus{border-color:#fd99;box-shadow:0 0 0 2px #f7b26726}.ingredients-block{grid-column:1 / -1;margin-top:.25rem;padding-top:.75rem;border-top:1px solid rgba(255,210,140,.12)}.ingredients-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.ingredients-list{display:flex;flex-direction:column;gap:.55rem}.ingredient-row{display:grid;grid-template-columns:140px minmax(0,1fr) 110px 44px;gap:.55rem;align-items:start}.ingredient-pick{display:grid;grid-template-columns:1fr;gap:.45rem}.field-input.amount{text-align:right;font-variant-numeric:tabular-nums}.modal-footer{margin-top:.95rem;display:flex;justify-content:flex-end;gap:.6rem}@media(max-width:700px){.modal-body{grid-template-columns:1fr}.ingredient-row{grid-template-columns:1fr 1fr}.field-input.amount{text-align:left}}.main-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;color:#f9e3b4;opacity:.85;margin-top:auto}.main-footer span{display:inline-flex;align-items:center;gap:.4rem}.main-footer strong{font-weight:600;letter-spacing:.06em;text-transform:uppercase}@media(max-width:900px){#root{padding:1.5rem 1.1rem}.app-shell,.materials-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){#root{padding:1.1rem .8rem}.app-shell{padding:1.2rem;border-radius:1.35rem}}
