:root{
  --paper:#fbf7f0;--cream:#fff9f0;--white:#fff;--text:#514230;--muted:#ac9880;
  --line:#ead9bf;--sage:#819e78;--sage-dark:#678561;--sage-light:#e7efe2;
  --peach:#f2c5a5;--gold:#f7e19c;--gold-deep:#dfc578;--rose:#fbe2dc;
  --shadow:0 6px 15px rgba(91,69,36,.065);--round:24px;
}
*{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth}
body{margin:0;font-family:ui-rounded,"Avenir Next",Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse 75% 34% at 85% 12%,#fdebe1aa,transparent),var(--paper);color:var(--text);min-height:100dvh;line-height:1.4}
button,input,select{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ce9f7b;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.63}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon.small{width:16px;height:16px}.icon.big{width:29px;height:29px}
.app-shell{max-width:1140px;margin:0 auto;min-height:100dvh}
.site-header{z-index:12;position:sticky;top:0;background:#fff8eeec;backdrop-filter:blur(16px);border-bottom:1px solid #ecdcca}
.header-inner{max-width:1100px;margin:auto;min-height:82px;padding:12px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.brand-level{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:0;text-align:left;color:var(--text)}
.level-star{position:relative;width:57px;height:57px;display:grid;place-items:center;flex:none}
.level-star img{width:58px;height:58px;object-fit:contain}
.level-star span{position:absolute;font-family:Georgia,serif;font-weight:800;color:#6f5535;font-size:16px;top:19px}
.brand-copy strong{display:block;font:800 24px Georgia,"Times New Roman",serif;white-space:nowrap}
.brand-copy small{display:block;color:#aa927a;font-size:12px;font-weight:800;margin-top:2px;white-space:nowrap}
.header-actions{display:flex;gap:8px;align-items:center}
.money{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border:1px solid var(--line);background:white;border-radius:30px;font-weight:800;font-size:15px;white-space:nowrap}
.coin-image{width:21px;height:21px;vertical-align:middle;object-fit:contain}
.circle-btn{border:1px solid var(--line);background:white;border-radius:999px;display:inline-grid;place-items:center;color:#ab936d;width:43px;height:43px;flex-shrink:0}
.circle-btn:hover,.quiet-btn:hover{background:#fff4e4}
.circle-btn .icon{width:20px;height:20px}
.main-content{padding:18px 22px 156px;min-height:70dvh}
.tabs,.subtabs{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);padding:5px;border-radius:21px;margin-bottom:18px;box-shadow:0 2px 2px #c9bba40c}
.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:47px;border:0;border-radius:15px;background:transparent;color:#8e7b64;font-weight:800;font-size:14px;transition:background .16s}
.tab .icon{width:19px;height:19px}
.tab.active{background:var(--sage);color:white;box-shadow:inset 0 -3px #668461}
.shop-tabs .tab.active{background:var(--peach);color:#6f4931;box-shadow:inset 0 -3px #dea787}
.market-tabs .tab.active{background:#b99259;color:#fff;box-shadow:inset 0 -3px #977445}
.section-intro{margin:2px 0 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.section-intro h2{font:800 23px Georgia,serif;margin:0}.section-intro p{color:var(--muted);font-size:13px;margin:4px 0 0}
.plot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.plot-card{height:188px;padding:14px 15px 12px;border:2px dashed #e5d5bd;background:#fffdfb;border-radius:29px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.plot-num{position:absolute;top:12px;left:15px;color:#c8b79e;font-weight:800;font-size:12px}
.plot-visual{width:100%;height:94px;display:grid;place-items:center;padding:5px}
.plot-visual img{height:88px;width:94px;object-fit:contain;filter:drop-shadow(0 5px 4px #7c563017)}
.plot-visual .icon{width:32px;height:32px;color:#cfbfa3}
.plot-card.locked{background:#f4eee3;border-color:#e7d9c1;justify-content:center;gap:10px}
.plot-card.locked .icon{color:#bca98c;width:26px;height:26px}
.plot-card.locked span{font-size:12px;font-weight:800;color:#af9b80}
.plot-card .plot-label{font-weight:800;font-size:14px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.plot-card .timer-caption{font-size:12px;font-weight:700;color:#a48e73;text-align:center}
.btn{border:none;border-radius:19px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;line-height:1.15;min-height:42px;padding:10px 17px;font-weight:900;transition:transform .12s,background .12s;white-space:nowrap}
.btn:active:not(:disabled){transform:scale(.98)}
.btn-green{background:var(--sage);color:#fff;box-shadow:inset 0 -4px var(--sage-dark)}
.btn-green:hover:not(:disabled){background:#74936c}
.btn-yellow{background:var(--gold);color:#6d5328;box-shadow:inset 0 -4px var(--gold-deep)}
.btn-outline{background:white;color:#725b43;border:1px solid var(--line);box-shadow:0 2px 0 #ead9bf}
.btn-rose{background:var(--rose);color:#ba6b61}
.btn.full{width:100%}
.plot-card .btn{width:100%;min-height:44px}
.note{font-size:13px;font-weight:700;text-align:center;color:var(--muted);margin:18px auto;line-height:1.6}
.empty-panel{background:#fffdf9;border:1px solid var(--line);padding:40px 24px;text-align:center;border-radius:27px;max-width:570px;margin:26px auto;box-shadow:var(--shadow)}
.empty-panel .illustration{width:112px;height:112px;object-fit:contain;margin-bottom:10px}
.empty-panel h2{font:800 24px Georgia,serif;margin:3px 0 10px}
.empty-panel p{color:var(--muted);margin:0 auto 20px;max-width:370px}
.empty-panel .btn{margin:auto}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.shop-card{border:1px solid var(--line);border-radius:29px;background:#fff;padding:13px 14px;box-shadow:var(--shadow);min-width:0}
.shop-row{display:flex;align-items:center;gap:13px;min-width:0}
.product-thumb{width:63px;height:63px;flex-shrink:0;background:#f8efe2;border-radius:16px;border:1px solid var(--line);display:grid;place-items:center;padding:5px}
.product-thumb img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.product-thumb.sm{width:43px;height:43px;border-radius:12px}
.product-thumb.lg{width:96px;height:96px;border-radius:22px}
.shop-info{flex:1;min-width:0}
.shop-title{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:800;line-height:1.14;margin:0 0 3px}
.shop-meta{font-size:12px;color:var(--muted);font-weight:800;line-height:1.4}
.shop-owned{margin-top:2px;font-size:12px;color:#b8a186;font-weight:750}
.shop-price{color:#69513a;font-size:14px;font-weight:900;white-space:nowrap;display:flex;align-items:center;gap:3px;margin-left:auto}
.buy-row{display:grid;grid-template-columns:repeat(3,1fr) 1.05fr;gap:7px;margin-top:10px}
.buy-row .btn{min-height:40px;padding:7px 0;border-radius:20px;font-size:12px}
.buy-row .btn-outline{font-size:11px;color:#71936c;box-shadow:none}
.locked-label{font-size:12px;color:#bb756c;font-weight:800;margin-top:3px}
.recipe-panel,.order-card,.wide-card,.item-row,.job-card{background:white;border:1px solid var(--line);border-radius:26px;padding:17px;box-shadow:var(--shadow)}
.recipe-panel{margin-bottom:10px}
.recipe-top{display:flex;align-items:center;gap:10px}
.recipe-title{font-size:16px;font-weight:900;color:#4a3927}
.recipe-meta{font-size:12px;color:var(--muted);font-weight:700}
.recipe-flex{flex:1;min-width:0}
.ingredients{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 0}
.ingredient{display:inline-flex;border-radius:999px;font-size:11px;font-weight:900;padding:4px 9px;background:#f8dfd8;color:#b4534d}
.ingredient.ok{background:#e4efdf;color:#64845d}
.hint{color:#c08778;font-weight:700;font-size:12px;margin-top:6px}
.stack{display:grid;gap:13px}
.status-card{display:flex;align-items:center;gap:15px;min-height:86px}
.status-card .job-details{flex:1}
.status-card strong{display:block;font:800 19px Georgia,serif}
.status-card small{font-size:13px;color:var(--muted);font-weight:700}
.status-card .btn{flex-shrink:0}
.round-progress{width:57px;height:57px;border-radius:50%;background:conic-gradient(var(--sage) 0 var(--p),#f1e5d0 var(--p) 100%);display:grid;place-items:center;flex-shrink:0}
.round-progress::after{content:"";position:absolute}
.round-progress>span{background:white;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:21px;color:#c7b18a}
.order-card{margin-bottom:13px;padding:16px}
.order-head{display:flex;align-items:center;gap:12px}
.order-avatar{width:43px;height:43px;background:#fbf4e6;border-radius:50%;display:grid;place-items:center;color:#bb9251;flex-shrink:0}
.order-head strong{display:block;font:800 18px Georgia,serif}.order-head em{font-size:12px;color:var(--muted)}
.order-rewards{margin-left:auto;text-align:right;font-size:13px;font-weight:800}
.order-rewards .exp{color:#73956f}
.order-footer{display:flex;align-items:center;gap:9px;margin-top:13px}
.order-footer .btn-green{flex:1}
.pill-counter{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900;background:#f6e9d5;color:#947747}
.muted{color:var(--muted)}.text-center{text-align:center}.tiny{font-size:12px}.semibold{font-weight:800}
.bottom-nav{z-index:20;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 22px));background:#fff9efed;backdrop-filter:blur(16px);border:1px solid #f0e1ce;border-bottom:0;border-radius:32px 32px 0 0;box-shadow:0 -5px 23px #7c67541b;display:flex;justify-content:space-around;align-items:center;min-height:90px;padding:12px 8px calc(10px + env(safe-area-inset-bottom))}
.nav-link{position:relative;display:flex;align-items:center;flex-direction:column;gap:6px;border:0;background:transparent;color:#ae997f;font-size:12px;font-weight:800;padding:2px 8px;min-width:60px}
.nav-link .nav-icon{width:42px;height:36px;display:grid;place-items:center;border-radius:50%}
.nav-link .icon{height:22px;width:22px}
.nav-link.active{color:var(--sage-dark)}.nav-link.active .nav-icon{background:#e5efdf;color:var(--sage-dark)}
.nav-badge{position:absolute;top:-4px;right:3px;border-radius:999px;color:white;background:#e59084;font-size:10px;padding:1px 5px}
.overlay{z-index:30;position:fixed;inset:0;background:#4a3a31a8;backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;padding:14px}
.modal{width:min(570px,100%);max-height:min(84dvh,820px);border-radius:32px;background:var(--cream);display:flex;flex-direction:column;box-shadow:0 20px 60px #34282155;overflow:hidden}
.modal-header{background:white;padding:20px 23px 15px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:flex-start;flex-shrink:0}
.modal-headings{flex:1}.modal-headings h2{font:800 27px Georgia,serif;margin:0;line-height:1.2}.modal-headings p{font-size:13px;color:#aa9176;margin:4px 0 0}
.modal-body{padding:17px 20px 22px;overflow-y:auto;overscroll-behavior:contain}
.modal-body .recipe-panel{border-radius:22px;padding:12px;margin-bottom:8px}
.modal-body .recipe-panel .product-thumb{width:46px;height:46px}
.modal .close-btn{height:43px;width:43px}
.horizontal-pills{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;margin-bottom:14px;white-space:nowrap}.horizontal-pills::-webkit-scrollbar{display:none}
.chip{border-radius:99px;border:1px solid var(--line);background:#fff;padding:9px 13px;color:#8e7a65;font-weight:800;font-size:12px;flex-shrink:0}
.chip.active{background:var(--sage);color:#fff;border-color:var(--sage-dark)}
.item-row{display:flex;align-items:center;gap:11px;border-radius:20px;box-shadow:none;padding:11px 12px;margin-bottom:8px}
.item-row .item-description{flex:1;min-width:0}.item-row strong{font-size:14px;display:block}.item-row small{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-top:2px}
.item-row .btn{min-height:36px;padding:8px 13px;font-size:12px}
.mission{border:1px solid var(--line);border-radius:22px;padding:15px;background:white;margin-bottom:10px}
.mission strong{font-size:14px;display:block}.mission .progress-track{height:8px;background:#f3e9d6;border-radius:99px;overflow:hidden;margin-top:12px}.mission .progress-fill{height:100%;background:#9fbb95;border-radius:99px}
.mission-status{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:9px}
.banner{border:1px solid #edcb79;background:#fbefc7;color:#94743a;border-radius:18px;padding:11px 15px;display:flex;gap:10px;align-items:center;justify-content:center;font-size:13px;font-weight:800;margin-bottom:12px}
.level-display{display:grid;gap:12px}.xp-track{width:100%;height:11px;background:#f0e5d3;border-radius:30px;overflow:hidden}.xp-bar{height:100%;background:#f2d277;border-radius:30px}
.level-list{display:grid;gap:7px}.level-list div{font-size:13px;font-weight:700}.level-list .icon{color:var(--sage-dark);vertical-align:middle}
.sell-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px}.sell-controls .count{font:800 28px Georgia,serif;min-width:60px;text-align:center}
#toast{z-index:100;position:fixed;bottom:calc(104px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px 18px;box-shadow:0 5px 20px #493b252e;min-width:220px;max-width:min(540px,calc(100vw - 28px));text-align:center;font-size:13px;font-weight:900;pointer-events:none;animation:toast-in .2s ease-out}
#toast.error{color:#b8544e;border-color:#ebc2bb;background:#fff7f4}
@keyframes toast-in{from{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.feature-tag{display:inline-block;margin:8px auto;padding:5px 10px;border-radius:15px;background:#fff2d6;color:#9c794c;font-weight:900;font-size:11px;letter-spacing:.03em}
.action-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
input[type=file]{max-width:100%}
::-webkit-scrollbar{width:8px;height:6px}::-webkit-scrollbar-thumb{background:#e1cfb6;border-radius:99px}
@media(max-width:760px){.shop-grid{grid-template-columns:1fr}.plot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:13px 14px 143px}.header-inner{padding:10px 13px;min-height:76px}.brand-copy strong{font-size:20px}.level-star,.level-star img{width:49px;height:49px}.level-star span{top:16px}.header-actions{gap:5px}.circle-btn{width:37px;height:37px}.money{padding:7px 9px}.bottom-nav{width:calc(100% - 10px)}.nav-link{min-width:45px;font-size:11px}.tabs .tab{font-size:12px;gap:4px}.tabs .tab .icon{width:16px;height:16px}}
@media(max-width:420px){.brand-copy strong{font-size:18px}.brand-copy small{font-size:10px}.header-inner{gap:3px}.level-star,.level-star img{width:45px;height:45px}.level-star span{top:14px;font-size:13px}.circle-btn{width:34px;height:34px}.circle-btn .icon{height:18px;width:18px}.money{font-size:13px}.coin-image{width:17px;height:17px}.plot-grid{gap:9px}.plot-card{height:173px;padding:10px}.plot-visual{height:82px}.plot-visual img{height:78px}.bottom-nav{min-height:80px;padding:8px 3px calc(8px + env(safe-area-inset-bottom))}.nav-link{min-width:42px;font-size:10px;padding:2px 4px}.nav-link .nav-icon{width:35px;height:33px}.modal-header{padding:17px 16px 12px}.modal-body{padding:12px 13px 18px}.modal-headings h2{font-size:23px}.buy-row{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Adaptaciones de la versión completa */
.demo-notice{max-width:1100px;margin:12px auto 0;padding:8px 13px;border:1px solid #f1ddaa;border-radius:13px;background:#fff3d2;color:#886638;font-size:12px;text-align:center}
.auth-layout{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#fff0e7,#fbf7f0 58%)}
.auth-card{width:min(430px,100%);padding:32px;border:1px solid #ecdcc5;border-radius:34px;box-shadow:0 9px 32px #684c2620;background:#fffefb;text-align:center}
.auth-card h1{font-family:Georgia,serif;font-size:32px;margin:12px 0 5px}.auth-card p{font-size:14px;color:var(--muted)}
.auth-icon{width:85px;height:85px;margin:auto;background:#f9f2e3;border-radius:30px;display:grid;place-items:center}.auth-icon img{width:68px;height:68px;object-fit:contain}
.auth-card form{display:grid;gap:14px;text-align:left;margin-top:23px}.auth-card label{display:grid;gap:6px;color:#6f5c4a;font-size:13px;font-weight:800}
.auth-card input{border:1px solid #ead7bb;border-radius:16px;font-size:16px;padding:14px;background:#fff;color:#483629;width:100%}.auth-card form .btn{width:100%;margin-top:6px}
.link-button{border:0;background:transparent;color:#7b9a74;font-weight:900;padding:12px;cursor:pointer}
.auth-hint{font-size:11px!important}.loading-msg{padding:90px 15px;text-align:center;font-size:20px}
.star-fill{position:relative;display:grid;place-items:center}.star-fill:after{content:"";background:#f7db8d;position:absolute;inset:auto 0 0 0;height:var(--star);mix-blend-mode:multiply;clip-path:polygon(50% 0,61% 35%,100% 38%,70% 58%,80% 100%,50% 78%,20% 100%,30% 58%,0 38%,39% 35%);pointer-events:none}.level-art{width:100%;height:100%;object-fit:contain}
.level-star b{position:absolute;z-index:1;inset:0;display:grid;place-items:center;font-family:Georgia,serif;color:#7a583c}
.plot-card .round-progress{position:absolute;top:52px;right:9px;transform:scale(.65)}
.plot-card .plot-visual img{max-width:99%;object-fit:contain}.plot-card .timer{font-size:12px;font-weight:900;color:#9c856d}
.machine-recipes{display:grid;gap:7px;margin-top:14px}.machine-recipes .recipe-panel{box-shadow:none;margin:0;padding:12px}
.shop-buy-single{display:block}.shop-buy-single .btn{width:100%}.shop-locked{opacity:.7}
.settings-toggle{display:flex;align-items:center;gap:8px;font-weight:800}.settings-toggle input{width:20px;height:20px;accent-color:#84a37d}
.small-gear{border:0;background:#faf4e8;color:#9a8b71;border-radius:50%;padding:5px}.small-gear .icon{width:15px;height:15px}
.level-celebrate{font-family:Georgia,serif;font-size:42px;color:#86a77a;animation:level-pop .45s ease-out}
@keyframes level-pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.reduced-motion *, .reduced-motion *:before, .reduced-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
/* Correcciones de maquetación de la nueva aplicación */
.header{z-index:12;position:sticky;top:0;background:#fff8eeef;backdrop-filter:blur(16px);border-bottom:1px solid #ecdcca}
.main-content{max-width:1140px;margin:0 auto}
.level-star{border:0;background:transparent;padding:0;cursor:pointer}
.level-star .star-fill{position:absolute!important;inset:0;top:0!important;width:100%;height:100%;font-size:initial}
.level-star .star-fill .level-art{width:100%;height:100%;object-fit:contain}
.level-star b{font-size:16px}
.plot-number{position:absolute;top:12px;left:15px;color:#c8b79e;font-size:12px;font-weight:800}
.plot-lock{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#bca98c}.plot-lock .icon{width:25px;height:25px}.plot-lock small{font-size:12px;font-weight:800}
.plot-card .plot-visual.empty{height:90px}.plot-card strong{max-width:100%;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shop-tabs .tab.active{background:var(--peach);color:#684a35;box-shadow:inset 0 -3px #dbaa8b}
.market-tabs .tab.active{background:#b99259;color:white;box-shadow:inset 0 -3px #977445}
.footnote{font-size:13px;font-weight:800;text-align:center;color:#ac9880;margin:20px auto}
.empty-panel>.icon{width:80px;height:80px;color:#98ab8c;margin:0 auto 12px;stroke-width:1.1}
.status-card{position:relative}.status-card .small-gear{position:absolute;top:7px;right:7px}.status-card:has(.small-gear){padding-right:35px}
.level-star .star-fill:after{opacity:.23}
@media (min-width:760px){.header-inner{min-height:85px}.main-content{padding-top:22px}}
@media(max-width:460px){.brand-copy strong{font-size:17px}.brand-copy small{font-size:10px}.header-inner{gap:5px;padding:9px 7px}.header-actions{gap:3px}.level-star,.level-star img{width:43px;height:43px}.circle-btn{height:34px;width:34px}.money{font-size:12px;padding:8px 6px}.shop-grid{grid-template-columns:1fr}.tab{font-size:12px}.main-content{padding:14px 12px 130px}}
