/* NARUTO THE LAST · REWORK 0.3 — struttura Night City, ornamenti shinobi */
:root { --navW:190px;--hudW:186px;--shinobi-wine:#542320;--shinobi-border:#9c7855; }
*{scrollbar-width:thin;scrollbar-color:#9d795b #e4d7bf}
html,body{margin:0;min-width:0}
.shinobi-layout.game-layout .sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--navW);z-index:50;overflow:auto;padding:14px 12px;}
.shinobi-layout .sidebar .brand{margin-bottom:16px;padding-bottom:13px}.shinobi-layout .sidebar .brand b{font-size:15px}
.shinobi-layout .sidebar .brand small{font-size:8px}
.shinobi-layout .sidebar nav{gap:7px}.shinobi-layout .scroll-nav{font-size:11px;min-height:53px;line-height:1.3;letter-spacing:.055em;padding:11px 7px;background:linear-gradient(145deg,#7d3430,#532322)}
.shinobi-layout .scroll-nav span:last-child{overflow-wrap:normal;word-break:normal}
.shinobi-layout .scroll-nav-icon{font-size:20px!important;width:25px!important;text-align:center}
.shinobi-layout .sidebar-bottom{padding:14px 4px}.shinobi-layout .sidebar-bottom small{font-size:9px}
.shinobi-layout.game-layout .workspace{margin-left:var(--navW);margin-right:0;min-width:0;max-width:none}
.shinobi-layout.game-layout.map-hub .workspace{margin-right:var(--hudW)}
.shinobi-layout .topbar{height:62px;padding:0 20px;position:sticky;top:0;z-index:38}
.shinobi-layout .topbar-mark{font-size:14px}
.shinobi-layout .breadcrumb{font-size:10px;letter-spacing:.08em}
.shinobi-layout main{max-width:none;padding:18px 20px 28px;min-height:calc(100dvh - 102px)}
.shinobi-layout footer{padding:7px 17px}
.shinobi-layout.map-hub main{padding:13px 14px 13px}
.shinobi-layout.map-hub .hub-map-only{height:calc(100dvh - 102px);min-height:475px;display:flex;align-items:center;justify-content:center}
.shinobi-layout.map-hub .map-manuscript{width:100%;max-width:none;margin:0;border:4px ridge #a1754b;padding:5px;display:flex;flex-direction:column;max-height:100%;height:auto;min-height:0}
.shinobi-layout.map-hub .map-head,.map-foot{flex-shrink:0;min-height:31px}
.shinobi-layout.map-hub .map-viewport{flex:1;min-height:0}
.shinobi-layout.map-hub .world-map-surface{height:100%;min-height:0;aspect-ratio:unset}
.shinobi-layout.map-hub .world-map-surface img{object-fit:fill;background:#344f68}
.map-manuscript .map-viewport{position:relative;overflow:hidden;min-width:0}
.zoom-layer{transform:scale(var(--zoom,1));transform-origin:50% 50%;transition:transform .16s ease-out}
.map-zoom-tools{display:inline-flex;align-items:center;gap:3px;border:1px solid #9f7957;background:#f4e7cf;padding:2px;white-space:nowrap}
.map-zoom-tools button{cursor:pointer;background:#642923;color:#f4e7c8;border:0;width:28px;height:25px;font-weight:900;font-size:15px}
.map-zoom-tools span{display:inline-block;min-width:42px;text-align:center;font-size:10px}
.map-foot{gap:8px;flex-wrap:wrap;line-height:1.2}
.village-manuscript{max-width:1300px}.village-manuscript .map-viewport{border:2px ridge #966f51}
.shinobi-layout.no-hud .right-hud{display:none!important}
.right-hud{width:var(--hudW);padding:9px 7px;z-index:45}
.right-hud .hud-heading{font-size:10px;margin-bottom:6px;padding:6px 2px}
.right-hud .hud-card{padding:8px 6px;margin-bottom:8px}
.right-hud .hud-portrait{width:48px;height:48px;margin:5px auto}
.right-hud .hud-portrait .avatar{width:48px;height:48px;border-width:2px}
.right-hud .hud-card>small{font-size:8px}
.right-hud .hud-card h3{font-size:15px;margin:3px 0}
.right-hud .hud-card p{margin:2px 0 6px;font-size:10px}
.right-hud .hud-meter{margin:5px 0}
.right-hud .hud-meter meter{height:9px}
.right-hud .hud-attributes span{padding:4px 3px;font-size:8px}
.right-hud .hud-wallet{margin-top:6px;padding-top:6px}
.right-hud .hud-weather>span{font-size:19px}
.hud-presence-toggle{width:100%;cursor:pointer;background:linear-gradient(90deg,#68302b,#4e1d1d);color:#f1dab6;border:2px solid #9f764e;padding:9px 5px;font:800 11px Manrope,sans-serif;letter-spacing:.08em;display:flex;justify-content:space-between}
.hud-presence-card[hidden]{display:none}
.shinobi-layout.guest-layout .workspace{margin:0}
.shinobi-layout.guest-layout .topbar{height:55px;padding:0 3vw}
.shinobi-layout.guest-layout .topbar-actions{display:none}
.shinobi-layout.guest-layout .topbar-mark{font-size:17px}
.shinobi-layout.guest-layout .sidebar,.shinobi-layout.guest-layout .right-hud{display:none}
.shinobi-layout.guest-layout main{height:calc(100dvh - 83px);min-height:490px;padding:0;max-height:none}
.shinobi-layout.guest-layout .access-splash{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,340px);gap:clamp(20px,5vw,95px);padding:clamp(18px,3vw,50px) clamp(20px,7vw,120px);align-content:center;align-items:center;overflow:auto;background:linear-gradient(90deg,#e1d2bb9c 0%,#e8d7bcbe 56%,#e2d0b7ca),url('../assets/konoha-dusk.png') center/cover}
.shinobi-layout.guest-layout .access-story{text-align:left}
.shinobi-layout.guest-layout .access-story h1{font-size:clamp(56px,7vw,118px);margin:15px 0 24px}
.shinobi-layout.guest-layout .access-story p{font-size:clamp(13px,1.35vw,19px)}
.access-mini-login{position:relative;z-index:4;background:#e8dcc4ed;border:5px double #90654d;box-shadow:0 10px 38px #2c201e6e;padding:15px 18px 12px;min-width:0;max-width:360px;width:100%}
.access-mini-login .dossier-ribbon{margin:-8px -10px 13px;padding:9px}
.access-mini-login form label{display:block;font-size:10px;font-weight:700;margin-bottom:9px;color:#5b3c31}
.access-mini-login input{width:100%;margin-top:4px;background:#fff9e9;padding:10px 8px;font-size:12px}
.access-mini-login form .button{width:100%;padding:10px;font-size:12px}
.access-mini-login .auth-links{display:flex;gap:9px;justify-content:space-between;margin:10px 0 0}
.access-mini-login .auth-links button{background:none;border:0;color:#7b332b;font-size:10px;text-decoration:underline;cursor:pointer}
.auth-dialog{width:min(920px,94vw);max-height:min(90dvh,900px);overflow-y:auto;padding:25px 34px}
.auth-dialog h2{margin:2px 0 14px;font-size:clamp(25px,3.4vw,37px)}
.registration-subtitle{text-align:center;font-size:12px}
.register-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0 20px}
.register-steps span{background:#d2c0a2;border:1px solid #a68a6a;padding:8px 4px;text-align:center;font-size:10px;font-weight:800;color:#775949}
.register-steps span.active{background:#672e27;color:#f9e1bb}
.registration-rules{border:1px solid #aa9678;background:#f5e9d4;max-height:33vh;overflow:auto;padding:16px;margin-bottom:12px}
.registration-rules h3{font:800 13px Manrope,sans-serif;margin:8px 0;color:#813c2c}
.registration-rules p{font-size:11px;line-height:1.65;margin:0 0 8px}
.register-wizard .check{font-size:11px;margin:8px 0;display:flex;gap:8px;align-items:center}
.register-wizard .check input{width:auto;flex:0 0 auto}
.register-wizard #wizard-form>small{font-weight:700;letter-spacing:.13em}
.register-wizard #wizard-form>h3{font-size:24px;margin:7px 0}
.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:15px}
.wizard-actions .button{padding:12px 18px}
.chat-chamber{max-width:none;height:calc(100dvh - 120px);min-height:530px;display:flex;flex-direction:column}
.chat-location-banner{flex-shrink:0;margin:0 0 8px;border-width:3px;padding:8px 13px}
.chat-location-banner h1{font-size:22px;margin:0}.chat-location-banner p{display:none}
.chat-head-actions{display:flex;gap:6px;flex-wrap:wrap}.chat-head-actions .button{font-size:9px;padding:8px}
.chat-play-layout{display:grid;flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 160px;gap:8px}
.chat-main{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-width:2px}
.chat-scene-banner{padding:7px}
.chat-feed{min-height:0;flex:1;height:100%;overflow:auto;padding:8px 14px}
.chat-composer{flex-shrink:0;padding:8px 9px 6px;border-top-width:2px}
.chat-input-row{display:grid;grid-template-columns:125px 160px minmax(0,1fr) 95px;align-items:end;gap:6px}
.chat-input-row label{font-size:9px;margin:0}
.chat-input-row textarea{display:block;min-height:41px;height:41px;max-height:115px;resize:vertical;margin:0}
.chat-input-row input,.chat-input-row select{height:41px;margin:0}
.chat-input-row .button{height:41px;min-width:0;padding:6px}
.chat-input-row .form-error{grid-column:1/-1;min-height:0;margin:0}
.chat-tools{display:flex;justify-content:center;align-items:center;gap:7px;padding-top:7px;flex-wrap:wrap}
.chat-tools button{background:#e4d7bf;color:#57251e;border:1px solid #a98162;font-size:9px;font-weight:800;cursor:pointer;padding:7px 11px}
.chat-tools button:hover{background:#f3e6cb}
.chat-tools small{font-size:9px;color:#77513e}
.chat-picker-panel{border-top:1px solid #9c866d;padding:5px;max-height:135px;overflow:auto;margin-top:6px}
.chat-picker-panel[hidden],.chat-picker-panel [hidden]{display:none!important}
.chat-picker-panel button{margin:2px;padding:6px;background:#f0e4cc;border:1px solid #a78465;color:#65342b;cursor:pointer;font-size:10px}
.chat-scene-side .panel{padding:9px;margin:0 0 8px}.chat-scene-side .dossier-ribbon{margin:-9px -9px 7px}
.letters-inbox{display:grid;gap:9px}.letters-feed{height:min(55dvh,580px);min-height:250px;overflow:auto;background:#decfb5;border:3px ridge #987657;padding:16px;display:flex;flex-direction:column;gap:12px;margin:12px 0}
.letter-bubble{background:#f0e2c9;border:1px solid #a99072;padding:10px 15px;max-width:75%;align-self:flex-start;min-width:120px}.letter-bubble.mine{align-self:flex-end;background:#cfb89c}.letter-bubble small{display:block;border-bottom:1px solid #b0987a;margin-bottom:9px}
.letters-chat .bb-rendered{font-size:12px}
.bb-toolbar{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.bb-toolbar button{background:#d9c3a5;border:1px solid #9d785f;min-width:27px;padding:6px 9px;cursor:pointer;color:#582a26;font-weight:800}.bb-toolbar button:hover{background:#f1dec0}
.bb-rendered{white-space:normal;overflow-wrap:anywhere}.bb-rendered blockquote{margin:7px 0;padding:10px 14px;border-left:3px solid #8d4f39;background:#d4c1a3}.bb-rendered a{text-decoration:underline;color:#843e32}.bb-rendered code{background:#d5bfa3;padding:2px 4px}
.service-hall .page-heading{margin-bottom:15px}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.service-tile{padding:22px 17px;display:flex;flex-direction:column;min-height:155px;gap:8px;background:linear-gradient(155deg,#f0e2c8,#d9c6a7);border:4px double #a48461;box-shadow:0 3px 6px #5f483021;color:#633329}.service-tile span{font:32px Georgia,serif;color:#963c30}.service-tile b{font:25px 'Cormorant Garamond',serif}.service-tile small{font-size:9px;margin-top:auto}.service-entry{padding:15px}.service-entry img{max-width:180px;max-height:200px;object-fit:contain}.bank-panel{display:flex;gap:20px;padding:20px}.bank-panel>div{flex:1;border-right:1px solid #b19879}.bank-panel h2{margin:2px 0}
.admin-shell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:15px;min-width:0;align-items:start}
.admin-control{position:sticky;top:75px;max-height:calc(100dvh - 85px);overflow:auto;background:#332422eb;border:3px ridge #b38d60;color:#e9d8ba;padding:11px}
.admin-control h2{font:800 16px Manrope,sans-serif;color:#ffddb3;border-bottom:1px solid #8b6352;padding-bottom:8px}
.admin-control section{border-top:1px solid #664537;padding:9px 0}.admin-control h3{font:800 9px Manrope,sans-serif;color:#dba66f;letter-spacing:.16em;margin:0 0 6px}
.admin-nav-entry{display:block;padding:8px 6px;color:#dfc49b;font-size:10px;border-left:2px solid transparent}.admin-nav-entry:hover,.admin-nav-entry.active{background:#743831;color:#fff4d7;border-color:#e0ac6f}
.admin-workspace{min-width:0}.admin-workspace .page-heading h1{font-size:35px}.admin-workspace .panel{padding:12px}.admin-workspace .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}
.image-upload-tools{background:#dccbb0;border:1px solid #ab8f6f;margin:15px 0;padding:11px}.image-upload-tools legend{font-size:10px;font-weight:800}.image-upload-tools input{display:block;margin-bottom:8px;width:100%;max-width:400px}
.image-upload-tools p{font-size:10px}
.admin-edit-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.admin-edit-fields label:has(textarea){grid-column:1/-1}.admin-edit-fields textarea{min-height:90px}
.compact-directory{max-width:1300px;margin:auto}.compact-directory h2{font-size:22px}.compact-directory .location-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px}.compact-directory .location-entry{padding:9px;font-size:10px}
@media(max-width:1400px){:root{--navW:174px;--hudW:174px}.shinobi-layout.game-layout .workspace{margin-left:var(--navW)}.shinobi-layout.game-layout.map-hub .workspace{margin-right:var(--hudW)}.shinobi-layout .sidebar nav{gap:6px}.shinobi-layout .scroll-nav{padding:9px 7px;font-size:10px}.shinobi-layout main{padding:15px}.chat-play-layout{grid-template-columns:minmax(0,1fr) 145px}}
@media(max-width:1080px){:root{--navW:165px;--hudW:0px}.shinobi-layout.game-layout.map-hub .workspace{margin-right:0}.right-hud{display:none}.chat-play-layout{grid-template-columns:minmax(0,1fr) 145px}.admin-shell{grid-template-columns:145px minmax(0,1fr)}.access-splash{gap:10px}.shinobi-layout.guest-layout .access-splash{padding:18px 25px}}
@media(max-width:760px){.shinobi-layout.game-layout .sidebar{width:230px;transform:translateX(-105%)}.shinobi-layout.game-layout .sidebar.open{transform:translateX(0)}.shinobi-layout.game-layout .workspace{margin-left:0!important;margin-right:0!important}.shinobi-layout.guest-layout main{height:auto;min-height:calc(100dvh - 86px)}.shinobi-layout.guest-layout .access-splash{display:flex;flex-direction:column;justify-content:center;min-height:calc(100dvh - 95px);gap:18px;padding:30px 16px}.shinobi-layout.guest-layout .access-story{text-align:center}.shinobi-layout.guest-layout .access-story h1{font-size:clamp(45px,12vw,66px)}.access-mini-login{max-width:420px}.shinobi-layout.map-hub .hub-map-only{min-height:460px;height:calc(100dvh - 125px)}.chat-chamber{height:auto;min-height:70dvh}.chat-play-layout{grid-template-columns:1fr}.chat-feed{min-height:270px;height:45dvh}.chat-input-row{grid-template-columns:1fr 1fr}.chat-input-row label:has(textarea){grid-column:1/-1}.chat-input-row .button{grid-column:1/-1}.chat-scene-side{display:grid;grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.admin-control{position:relative;top:auto;max-height:none}.admin-control section{display:inline-block;vertical-align:top;width:47%;margin-right:2%}.register-steps{grid-template-columns:repeat(2,1fr)}.auth-dialog{padding:20px 15px}}
@media(max-width:440px){.admin-control section{width:100%}.chat-scene-side{grid-template-columns:1fr}.chat-tools button{font-size:8px;padding:5px}.map-zoom-tools button{width:24px}.map-foot{font-size:8px}}
@media(prefers-reduced-motion:reduce){.zoom-layer{transition:none}}

.pin-editor-controls{padding:11px;background:#d6c3a4;border:1px solid #ad8d6a;margin:10px 0}
.pin-editor-controls legend{font-size:11px;font-weight:800}
.pin-editor-controls small{font-size:10px}
.pin-editor-map{position:relative;width:100%;max-width:680px;cursor:crosshair;border:3px ridge #825c45;aspect-ratio:1.8;background:#365268;overflow:hidden}
.pin-editor-map img{width:100%;height:100%;display:block;object-fit:fill}
.pin-editor-map span{position:absolute;color:#fff4c7;background:#793b2c;border:2px solid #f0be78;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;transform:translate(-50%,-50%);font-weight:800;font-size:17px;pointer-events:none}
