/* Scoped to the tutorial: city, mines and player inventory retain their layout. */
body.scene-tutorial-island #world{width:124.955437dvh!important;height:100dvh!important}
#tutorial-island-scene{position:absolute;inset:0;overflow:hidden;background:#101528}
.tutorial-island-map{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
#tutorial-environment-fx{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}
.tutorial-island-title{position:absolute;left:50%;top:19%;transform:translateX(-50%);padding:6px 12px;border:2px solid #d6bc75;background:#253c32;color:#fff4cb;font:900 10px monospace;white-space:nowrap}
#tutorial-island-scene .tutorial-resource{position:absolute;height:auto;z-index:13;pointer-events:auto;image-rendering:pixelated;filter:drop-shadow(0 3px 1px #0006)}
#tutorial-island-scene .tutorial-tree{width:8%!important;transform:translate(-50%,-85%)}
#tutorial-island-scene .tutorial-rock{width:5%!important;transform:translate(-50%,-60%)}
#tutorial-island-scene .tutorial-farm{width:3.4%;height:4.2%;z-index:13;background-size:100% 100%;transform:translate(-50%,-50%)}
.tutorial-workbench{position:absolute;transform:translate(-50%,-75%);z-index:14;width:5.5%;padding:0;border:0;background:none;cursor:pointer}
.tutorial-workbench img{width:100%;display:block}
.tutorial-workbench span,.tutorial-guide span,.tutorial-fishing-mark span{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;padding:3px 5px;border:1px solid #c6af6d;background:#293c2d;color:#fff1bc;font:900 7px monospace}
.tutorial-guide{position:absolute;z-index:13;width:3.5%;transform:translate(-50%,-85%);pointer-events:none}
.tutorial-guide img{display:block;width:100%;image-rendering:pixelated}
.tutorial-fishing-mark{position:absolute;width:3.5%;height:2%;transform:translate(-50%,-50%);border:2px dashed #f4e6a5;border-radius:50%;background:#e6cf5425}
.tutorial-fishing-mark span{top:auto;bottom:130%}
#tutorial-city-gate{position:absolute;transform:translate(-50%,-70%);z-index:13;padding:7px;border:2px solid #d3b474;background:#314d3b;color:#fff0b8;font:900 10px monospace;cursor:pointer}
#tutorial-city-gate small{display:block;max-width:100px;font:7px monospace;margin-top:4px}
#tutorial-city-gate:disabled{filter:saturate(.3);cursor:default}
#tutorial-beacon{position:absolute;transform:translate(-50%,-100%);z-index:24;pointer-events:none;color:#fff4a3;font:900 28px monospace;text-shadow:2px 2px #493715,-1px -1px #493715}
#tutorial-beacon span{display:block;animation:tutorial-beacon .9s ease-in-out infinite}
@keyframes tutorial-beacon{50%{transform:translateY(-7px)}}
.tutorial-target{outline:2px solid #ffe58b;outline-offset:5px}
#tutorial-panel{position:fixed;z-index:9300;left:18px;top:160px;width:300px;box-sizing:border-box;padding:13px;border:2px solid #c9ab6c;border-radius:5px;background:#172b26f5;color:#f8eed0;box-shadow:0 6px 24px #0005;font:12px/1.5 monospace}
#tutorial-panel[hidden],#tutorial-finish[hidden],#tutorial-equip[hidden]{display:none!important}
#tutorial-panel header{display:flex;justify-content:space-between;gap:10px;color:#d8bd7a;font:900 10px monospace}
#tutorial-panel h2{font:900 19px/1.2 monospace;margin:10px 0 8px;color:#fff2c3}
#tutorial-panel p{margin:0 0 12px;min-height:72px}
#tutorial-panel ol{display:flex;gap:3px;margin:0 0 12px;padding:0;list-style:none}
#tutorial-panel li{flex:1;min-width:0;text-align:center;border-top:4px solid #566354;padding-top:4px;font:8px monospace;color:#9fac9c}
#tutorial-panel li.active{border-color:#f3cd6d;color:#fff0b8}
#tutorial-panel li.done{border-color:#79bc8b;color:#a5d8ad}
.tutorial-controls{display:flex;flex-direction:column;gap:7px}
.tutorial-controls span{color:#b4c4b7;font:10px/1.4 monospace}
#tutorial-equip,#tutorial-finish{padding:8px;border:1px solid #b9a36c;background:#365842;color:#fff1c5;font:900 11px monospace;cursor:pointer}
#tutorial-finish{width:100%;margin-top:10px;background:#537a42}
body.scene-tutorial-island #owned-island-city-return,body.scene-tutorial-island #creator-toggle,body.scene-tutorial-island .creator-only,body.scene-tutorial-island #city-editor-toggle{display:none!important}
body.scene-tutorial-island #player.pixel-player{width:42px!important;height:63px!important}
body.scene-tutorial-island #player-sprite{width:42px!important;height:63px!important}
@media(max-width:680px){
 #tutorial-panel{left:10px;top:92px;width:calc(100vw - 20px);padding:10px;font-size:11px}
 #tutorial-panel h2{font-size:16px;margin:5px 0}
 #tutorial-panel p{min-height:0;margin-bottom:7px}
 #tutorial-panel ol{margin-bottom:7px}
 .tutorial-controls{flex-direction:row;align-items:center;justify-content:space-between}
 .tutorial-controls span{font-size:8px}
 body.scene-tutorial-island #minimap{display:none!important}
}
body.tutorial-test-mode #tutorial-panel header span::before{content:'PRUEBA · '}

body.scene-tutorial-island #market-top-button,body.scene-tutorial-island #rock-coordinates{display:none!important}

/* Contextual guide, deliberate recovery and visible energy feedback. */
.tutorial-guide{border:0;padding:0;background:none;cursor:pointer;pointer-events:auto}
#tutorial-live,#tutorial-energy{display:block;margin-top:8px;font:10px/1.4 monospace;color:#ffe29b}
#tutorial-energy{color:#bacfae}
#tutorial-talk,#tutorial-rest{margin-top:8px;padding:6px 9px;border:1px solid #c4aa6c;background:#3d5c45;color:#fff0c0;font:900 10px monospace;cursor:pointer}
#tutorial-lina-dialog{position:relative;margin-top:10px;padding:9px;border-left:3px solid #e0bb6e;background:#304939}
#tutorial-lina-dialog[hidden]{display:none}
#tutorial-lina-dialog>strong{color:#f4cd81;font-size:10px}
#tutorial-lina-dialog p{min-height:0;margin:5px 0;font-size:11px}
#tutorial-lina-close{position:absolute;right:4px;top:3px;border:0;background:none;color:#fff;font-size:20px;cursor:pointer}
#tutorial-rest:disabled{opacity:.5;cursor:default}
#energy-spend-notice{position:fixed;top:130px;left:22px;z-index:9400;padding:5px 9px;background:#3d291df2;color:#ffda71;border:1px solid #d3af65;font:900 12px monospace;pointer-events:none}
#energy-spend-notice[hidden]{display:none}
@media(max-width:680px){
 #tutorial-panel{max-height:34dvh;overflow-y:auto}
 #tutorial-live,#tutorial-energy{margin-top:5px;font-size:9px}
 #energy-spend-notice{top:73px;left:12px;font-size:9px;padding:3px 6px}
}

/* Nine-lesson course: practice cell, paths and a physical portal. */
#tutorial-panel{width:310px;max-height:calc(100dvh - 260px);overflow-y:auto}
#tutorial-panel p{min-height:0}
#tutorial-panel ol{flex-wrap:wrap;row-gap:7px}
#tutorial-panel li{flex:1 0 16%}
#tutorial-collapse{margin:-6px -5px -6px 0;width:30px;min-height:30px;border:1px solid #b49a60;background:#314b3b;color:#ffe9ab;cursor:pointer;font:20px monospace}
#tutorial-panel.tutorial-compact #tutorial-instruction,#tutorial-panel.tutorial-compact ol,#tutorial-panel.tutorial-compact .tutorial-controls,#tutorial-panel.tutorial-compact #tutorial-energy,#tutorial-panel.tutorial-compact #tutorial-talk,#tutorial-panel.tutorial-compact #tutorial-lina-dialog{display:none}
#tutorial-paths,#tutorial-practice-farms{position:absolute;inset:0;pointer-events:none}
#tutorial-paths i{position:absolute;width:1.85%;height:1.18%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at 35% 28%,#dccb91 0 16%,#b9a36c 18% 55%,#887746 58% 76%,#586135 79% 100%);border:1px solid #6f663f;border-radius:48% 42% 52% 38%;box-shadow:0 2px 1px #27351f70,inset 0 1px #f0dea6aa;filter:saturate(.82)}
#tutorial-paths i:nth-child(3n){width:1.55%;height:1.02%;filter:brightness(.94) saturate(.78)}
#tutorial-paths i:nth-child(4n){border-radius:38% 55% 42% 50%;filter:brightness(1.05) saturate(.72)}
#tutorial-parcel{position:absolute;width:6%;height:6%;transform:translate(-50%,-50%);border:2px dashed #d7cb8b;background:repeating-linear-gradient(0deg,#463d2818 0 5px,#463d2833 5px 6px);z-index:10}
#tutorial-parcel span{position:absolute;bottom:105%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#293c2d;padding:3px;border:1px solid #b9a36c;color:#fff1bc;font:7px monospace}
#tutorial-island-scene .tutorial-placed-farm{position:absolute;width:3.4%;height:4.2%;transform:translate(-50%,-50%);background-size:100% 100%;z-index:13;pointer-events:auto}
#tutorial-city-gate{width:12%;transform:translate(-50%,-90%);padding:0;border:0;background:none;filter:none;text-align:center;outline:none}
.tutorial-portal-art{position:relative;display:block;width:100%}
.tutorial-portal-art img{width:100%;display:block;image-rendering:pixelated;filter:drop-shadow(0 4px 2px #0007)}
.tutorial-portal-art i{position:absolute;left:28%;top:29%;width:44%;height:63%;border-radius:50% 50% 8% 8%;background:#203e4459;box-shadow:inset 0 0 8px #142c31}
#tutorial-city-gate strong{display:block;margin:2px -12px 0;color:#ffe9a0;font:900 8px monospace;text-shadow:1px 1px #16211e}
#tutorial-city-gate small{margin:4px -20px 0;max-width:none;font:7px monospace;color:#e4dbb5;text-shadow:1px 1px #152520}
#tutorial-city-gate.portal-active .tutorial-portal-art i{background:radial-gradient(ellipse at 50% 70%,#fff6b4,#9ffff5 22%,#419eab 65%,#263d70);box-shadow:inset 0 0 10px #d1ffdc,0 0 13px #91f9ed;animation:tutorial-portal-glow 2.8s ease-in-out infinite}
#tutorial-city-gate.portal-active{filter:drop-shadow(0 0 3px #f9e6a477)}
@keyframes tutorial-portal-glow{50%{filter:brightness(1.25);box-shadow:inset 0 0 12px #fff0cb,0 0 20px #a9ffdf}}
body.tutorial-departing #map::after{content:'';position:fixed;inset:0;z-index:10000;pointer-events:none;background:#b4fff6;animation:tutorial-travel .55s ease-in both}
@keyframes tutorial-travel{from{opacity:0}to{opacity:.94}}
@media(max-width:680px){
 #tutorial-panel{top:92px;max-height:32dvh;width:calc(100vw - 20px);padding:8px;z-index:240}
 #tutorial-panel.tutorial-compact{max-height:155px}
 #tutorial-panel h2{font-size:14px;margin:3px 0}
 #tutorial-collapse{width:44px;min-height:38px;margin:-5px -3px -4px auto}
 #tutorial-panel header{align-items:center;font-size:9px}
 #tutorial-panel.tutorial-compact #tutorial-live{font-size:10px}
 body.scene-tutorial-island #inventory{left:8px!important;right:auto!important;width:calc(100vw - 108px)!important;max-width:320px!important;transform:none!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px!important;overflow:visible!important;box-sizing:border-box}
 body.scene-tutorial-island #inventory .inventory-slot{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important}
 body.scene-tutorial-island #hint{display:none!important}
 body.scene-tutorial-island #mobile-action{right:10px;bottom:18px}
}
@media(prefers-reduced-motion:reduce){.tutorial-portal-art i,#tutorial-beacon span{animation:none!important}body.tutorial-departing #map::after{animation:none;opacity:.6}}

/* Override the world's generic absolute image positioning inside the gate. */
#tutorial-city-gate .tutorial-portal-art img{position:relative;inset:auto;height:auto}
#tutorial-city-gate .tutorial-portal-art{aspect-ratio:134/152}
#tutorial-city-gate{transform:translate(-50%,-100%)}

/* The tutorial reuses the real forge dialog, recipe controls and queue. */
#tutorial-island-scene .tutorial-coal{width:4%!important;transform:translate(-50%,-65%);z-index:13}
#blacksmith-dialog.forge-tutorial .forge-tutorial-guide{padding:12px 16px;margin-top:6px;border:2px solid #c9ae6a;background:#263c2e;color:#fff3cc;position:relative;z-index:10}
#blacksmith-dialog.forge-tutorial .forge-tutorial-guide strong{color:#ffdc88;font-size:16px}
#blacksmith-dialog.forge-tutorial .forge-tutorial-guide p{margin:6px 0;font:13px/1.45 monospace}
#blacksmith-dialog.forge-tutorial .forge-tutorial-guide button{min-height:38px;padding:6px 12px;border:1px solid #e0ba6b;background:#517040;color:#fff5d6;font:bold 13px monospace;cursor:pointer}
#blacksmith-dialog.forge-tutorial .forge-shell{height:calc(100% - 220px)}
#blacksmith-dialog.forge-tutorial .forge-guide-target{outline:3px solid #ffe185!important;outline-offset:-3px;box-shadow:inset 0 0 12px #ffe38c55}
#blacksmith-dialog.forge-tutorial .forge-mode-tabs button:disabled{opacity:.35;cursor:default}
#blacksmith-dialog.forge-tutorial .forge-queue-locked{display:none}
#blacksmith-dialog.forge-tutorial .forge-guide-warning{color:#ffbd92}
#blacksmith-dialog.forge-tutorial .forge-item-css-icon.fishing-rod{display:block;width:48px;height:48px}
@media(max-width:1100px){#blacksmith-dialog.forge-tutorial .forge-shell{height:auto}}
@media(max-width:820px),(hover:none) and (pointer:coarse){
 #blacksmith-dialog.forge-tutorial{bottom:6px!important}
 #blacksmith-dialog.forge-tutorial .forge-tutorial-guide{position:sticky;top:46px;padding:8px;margin:0;font-size:11px}
 #blacksmith-dialog.forge-tutorial .forge-tutorial-guide strong{font-size:12px}
 #blacksmith-dialog.forge-tutorial .forge-tutorial-guide p{font-size:11px;line-height:1.35}
 #blacksmith-dialog.forge-tutorial .forge-tutorial-guide button{min-height:44px;font-size:11px}
 #blacksmith-dialog.forge-tutorial .forge-guide-target{scroll-margin-top:200px;scroll-margin-bottom:30px}
 #blacksmith-dialog.forge-tutorial .forge-mode-tabs{position:static}
 #blacksmith-dialog.forge-tutorial .forge-mode-tabs button,#blacksmith-dialog.forge-tutorial .forge-category,#blacksmith-dialog.forge-tutorial .forge-action{min-height:44px}
 #blacksmith-dialog.forge-tutorial .forge-preview{display:none}
 #blacksmith-dialog.forge-tutorial .forge-craft-footer{position:static}
}

/* Keep every control visible at desktop sizes; the original footer has fixed wide columns. */
#blacksmith-dialog.forge-tutorial.open{display:flex!important;flex-direction:column}
#blacksmith-dialog.forge-tutorial .forge-header,#blacksmith-dialog.forge-tutorial .forge-tutorial-guide{flex-shrink:0}
#blacksmith-dialog.forge-tutorial .forge-shell{flex:1;min-height:0;height:auto;grid-template-columns:minmax(230px,.85fr) minmax(0,1.4fr) minmax(230px,.85fr)}
#blacksmith-dialog.forge-tutorial .forge-center{min-width:0;grid-template-rows:auto auto minmax(65px,1fr) auto}
#blacksmith-dialog.forge-tutorial .forge-product-head{grid-template-columns:100px minmax(0,1fr);padding:12px;gap:12px}
#blacksmith-dialog.forge-tutorial .forge-main-icon{height:100px}
#blacksmith-dialog.forge-tutorial .forge-materials>div{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 9px 9px}
#blacksmith-dialog.forge-tutorial .forge-preview,#blacksmith-dialog.forge-tutorial .forge-preview-stage{min-height:65px}
#blacksmith-dialog.forge-tutorial .forge-craft-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#blacksmith-dialog.forge-tutorial .forge-right{grid-template-rows:minmax(140px,1fr) minmax(100px,.6fr) minmax(160px,.85fr)}
@media(max-width:1000px){
 #blacksmith-dialog.forge-tutorial.open{display:block!important;overflow:auto!important}
 #blacksmith-dialog.forge-tutorial .forge-shell{display:block}
 #blacksmith-dialog.forge-tutorial .forge-left,#blacksmith-dialog.forge-tutorial .forge-center{margin-bottom:7px}
 #blacksmith-dialog.forge-tutorial .forge-preview{display:none}
 #blacksmith-dialog.forge-tutorial .forge-craft-footer{position:static}
}

/* Narrative tracker: one objective, existing Lina dialog and inventory controls. */
#tutorial-panel {width:260px!important;max-width:calc(100vw - 24px);padding:12px!important;}
#tutorial-panel ol,#tutorial-collapse,#tutorial-energy,#tutorial-panel .tutorial-controls>span{display:none!important}
#tutorial-panel #tutorial-title{font-size:15px;margin:8px 0}
#tutorial-panel #tutorial-instruction{font-size:11px;line-height:1.5}
#tutorial-live{display:none!important}
#tutorial-panel .tutorial-controls{display:block!important}
#tutorial-panel #tutorial-talk{font-size:10px}
#tutorial-lina-dialog:not([hidden]){display:block!important;position:fixed;left:50%;top:auto;bottom:130px;transform:translateX(-50%);width:min(500px,calc(100vw - 32px));box-sizing:border-box;padding:22px;background:#192f28;border:3px solid #d5b565;box-shadow:0 0 0 100vmax #07171199;z-index:10020;line-height:1.7;font-size:14px}
#tutorial-lina-dialog[hidden]{display:none!important}
#tutorial-lina-accept{display:block;margin-top:14px;min-height:44px;width:100%;background:#4e703c;color:#fff4d1;border:1px solid #d5b565;font:inherit;cursor:pointer}
#tutorial-lina-close{position:absolute;right:8px;top:5px;min-width:36px;min-height:36px}
#tutorial-rest{min-height:40px;margin-top:8px}
.inventory-bag .inventory-slot[hidden]{display:none!important}
#inventory-panel .tutorial-target,#inventory .tutorial-target,#tutorial-equip.tutorial-target{outline:3px solid #ffe994;outline-offset:2px}
@media(max-width:820px){#tutorial-panel{top:145px!important;left:8px!important;width:225px!important;padding:8px!important}#tutorial-panel #tutorial-instruction{display:block!important;font-size:10px}#tutorial-lina-dialog:not([hidden]){bottom:145px;font-size:12px;padding:16px}#tutorial-panel .tutorial-controls{display:block!important}}

/* The previous terrain lesson is no longer part of Lina’s mission. */
#tutorial-parcel{display:none}

/* Tutorial: visual path from the real bag to the real quickbar. */
#tutorial-transfer-guide[hidden]{display:none!important}
#tutorial-transfer-guide{position:fixed;z-index:10020;left:50%;bottom:102px;display:flex;align-items:center;justify-content:center;gap:7px;width:min(760px,calc(100vw - 28px));transform:translateX(-50%);padding:9px 12px;border:2px solid #d8bd73;border-radius:8px;background:#17372ff2;color:#fff0bd;box-shadow:0 6px 22px #0008;font:900 10px/1.35 monospace;pointer-events:none}
#tutorial-transfer-guide span{opacity:.62}#tutorial-transfer-guide span.done{color:#9dd39c;opacity:.78;text-decoration:line-through}#tutorial-transfer-guide span.active{color:#fff7b5;opacity:1;text-shadow:0 0 8px #ffd85c}#tutorial-transfer-guide i{color:#f0c85d;font-style:normal;font-size:18px}
.tutorial-coach-marker{position:relative!important;z-index:10021!important;overflow:visible!important;outline:3px solid #ffe16c!important;outline-offset:4px!important;animation:tutorial-coach-pulse .8s ease-in-out infinite alternate}
.tutorial-coach-marker::after{content:attr(data-tutorial-coach);position:absolute;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%);width:max-content;max-width:170px;padding:5px 7px;border:2px solid #493715;border-radius:5px;background:#fff1a8;color:#2d291f;font:900 9px/1.25 monospace;white-space:normal;text-align:center;box-shadow:0 4px 9px #0008;pointer-events:none}
.tutorial-coach-marker::before{content:'↓';position:absolute;left:50%;bottom:calc(100% + 1px);transform:translateX(-50%);z-index:2;color:#ffe16c;font:900 17px/1 monospace;text-shadow:1px 2px #493715;pointer-events:none}
#inventory-split.tutorial-coach-marker::after{bottom:calc(100% + 14px)}
#inventory .tutorial-coach-marker::after{bottom:calc(100% + 18px)}#inventory .tutorial-coach-marker::before{bottom:calc(100% + 7px)}
@keyframes tutorial-coach-pulse{to{filter:brightness(1.22);outline-offset:8px}}
@media(max-width:700px){#tutorial-transfer-guide{bottom:92px;gap:4px;padding:7px 8px;font-size:7px}#tutorial-transfer-guide i{font-size:12px}.tutorial-coach-marker::after{max-width:105px;font-size:7px}}
@media(prefers-reduced-motion:reduce){.tutorial-coach-marker{animation:none}}

@media(max-width:700px){.tutorial-coach-marker::after{display:none}}
