
:root{color-scheme:dark;--bg:#101715;--panel:#18211e;--line:#394138;--gold:#c6ad7c;--muted:#8d9889;--text:#dddccc;--green:#7d9c82;--red:#b16d58}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#243129 0,transparent 65%),var(--bg);color:var(--text);font-family:Georgia,'Times New Roman',serif;font-size:14px}button,a,input{ -webkit-tap-highlight-color:transparent}button{font-family:inherit;font-size:13px;color:inherit;cursor:pointer;background:none;border:0}button:hover{color:#f4dfad}button:disabled{opacity:.36;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid #e1c78a;outline-offset:4px}button,kbd,a{transition:background .15s,color .15s,border-color .15s}kbd{font-family:Arial,sans-serif;font-size:10px;border:1px solid #51584b;border-radius:3px;color:#a9ae9a;padding:2px 4px;min-width:18px;text-align:center;display:inline-block}a{color:inherit;text-decoration:none}.app-shell{max-width:1580px;margin:auto;padding:0 40px}.masthead{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-size:26px;letter-spacing:-.6px}.brand-rpg{color:var(--gold)}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:3px;margin-top:7px;color:#a6ad95}.chapter-label{font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px;color:#858e7e}.tiny-diamond{color:var(--gold);font-size:9px;margin:0 12px}.masthead nav{display:flex;align-items:center;gap:20px}.masthead nav button{font-size:13px;color:#b6bcaa}.masthead nav kbd{margin-left:7px}.masthead nav .save-button{border:1px solid #68674b;padding:11px 14px;color:var(--gold)}.location-heading{display:flex;justify-content:space-between;align-items:center;padding:29px 0 24px}.eyebrow{font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px;color:var(--gold);margin:0 0 10px}.eyebrow span{color:#626d5e;margin:0 8px}h1{font-weight:400;font-size:30px;margin:0;letter-spacing:.1px}.world-status{display:flex;align-items:center;gap:9px;font-size:12px;color:#a3ae9c}.status-dot{width:5px;height:5px;background:#9eb48a;border-radius:50%;box-shadow:0 0 8px #94b07940}.separator{color:#52604f;margin:0 8px}#sound{margin-left:14px;border:1px solid var(--line);height:31px;width:31px;font-size:18px}#sound[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.game-layout{display:grid;grid-template-columns:220px minmax(350px,1fr) 244px;gap:21px;align-items:start}.left-column,.right-column,.center-column{min-width:0}.panel{background:linear-gradient(135deg,#1d2722,#161e1b);border:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;font-family:Arial,sans-serif;font-size:9px;letter-spacing:1.7px;color:#b1b6a1}.section-title>span:last-child:not(:first-child){color:#8d947e;font-size:9px;letter-spacing:1px}.quest-panel{padding:18px 18px 12px;position:relative;overflow:hidden}.quest-panel:after{content:'◇';position:absolute;right:-22px;top:42px;font-size:150px;color:#98ad7b08;pointer-events:none}.quest-symbol{color:var(--gold);font-size:31px;margin:19px 0 10px}.quest-panel h2{font-size:19px;font-weight:400;margin:0 0 13px;color:#dfd4b3}.quest-panel p{color:#9ea995;line-height:1.7;font-size:13px;min-height:66px;margin:0 0 15px}.text-button{color:var(--gold);font-size:11px;padding:12px 0 3px;border-top:1px solid #353e32;width:100%;display:flex;justify-content:space-between}.map-panel{margin-top:18px;padding:15px 13px 11px}.map-panel .section-title{margin:0 2px 9px}.map-panel .section-title button{font-size:19px;line-height:1}.map-trigger{display:block;width:100%;padding:0;position:relative;background:#101a19}.map-trigger canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.map-north{position:absolute;right:9px;top:7px;font-size:10px;color:var(--gold)}.map-caption{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;color:#8f9c89}.map-caption i{display:inline-block;width:5px;height:5px;background:#dfc58a;transform:rotate(45deg);margin-right:7px}.resources{display:flex;justify-content:space-around;margin-top:19px;border-top:1px solid var(--line);padding-top:15px}.resources>span{display:grid;grid-template-columns:25px 1fr;align-items:center;column-gap:6px}.resources b{grid-row:1/3;color:var(--gold);font-size:25px;font-weight:400}.resources strong{font-size:19px;font-weight:400;color:#dcd4ba}.resources small{font:8px Arial,sans-serif;letter-spacing:1px;color:#8b9782;margin-top:4px}.scene-frame{position:relative;background:#162820;border:1px solid #777458;padding:5px;box-shadow:0 8px 30px #0004;overflow:hidden}.scene-frame:after{content:'';position:absolute;inset:5px;pointer-events:none;background:repeating-linear-gradient(0deg,#0000000a 0,#0000000a 1px,transparent 1px,transparent 3px)}#scene{display:block;width:100%;aspect-ratio:1.6;image-rendering:pixelated;min-height:320px;object-fit:cover}.scene-top,.scene-bottom{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:1}.scene-top{top:22px}.area-tag{font:9px Arial,sans-serif;letter-spacing:1.8px;color:#d9d6b6;text-shadow:0 1px 5px black}.compass{display:flex;gap:8px;align-items:center;padding:5px 9px;background:#14201bb8;border:1px solid #a498655c;color:var(--gold);font-size:12px}.compass span{font-size:24px}.compass b{font-weight:400;font-size:11px}.scene-bottom{bottom:23px;gap:10px}.scene-bottom>span{font-size:12px;color:#b9c5ad;font-style:italic;text-shadow:0 1px 4px #000;max-width:60%}.scene-bottom button{border:1px solid #9c9565;background:#17241ddd;padding:9px 11px;color:#e2d7b8;font-size:12px}.scene-bottom kbd{margin-right:5px}.corner{position:absolute;width:12px;height:12px;border-color:#d6bf89;pointer-events:none;z-index:2}.tl{left:0;top:0;border-left:2px solid;border-top:2px solid}.tr{right:0;top:0;border-right:2px solid;border-top:2px solid}.bl{bottom:0;left:0;border-left:2px solid;border-bottom:2px solid}.br{bottom:0;right:0;border-right:2px solid;border-bottom:2px solid}.enemy-banner{position:absolute;top:73px;left:50%;transform:translateX(-50%);text-align:center;min-width:200px;background:#101b18dc;border:1px solid #777252;padding:11px 18px;color:#e2d1b1}.enemy-banner>span{font-size:17px}.enemy-health{margin:8px 0 4px;height:4px;background:#402c26}.enemy-health i{display:block;height:100%;background:#ba8262;width:100%}.enemy-banner small{font:9px Arial,sans-serif;color:#baa68b}.action-bar{display:flex;gap:14px;align-items:center;padding:14px 0 16px}.movement{display:grid;grid-template-columns:repeat(3,31px);gap:3px}.movement button{width:31px;height:26px;background:#263026;border:1px solid #505745;font-size:20px;line-height:20px;color:#c4c7a7}.movement button:hover{background:#45513a;border-color:#8c9871}.movement-label strong{display:block;font-weight:400;font-size:13px}.movement-label span{display:block;font-size:10px;color:#86957f;margin-top:6px}.utility-actions{display:flex;gap:9px;margin-left:auto}.utility-actions button{border:1px solid #3f493a;padding:9px 10px;display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.utility-actions button>span{font-size:17px;color:var(--gold)}.utility-actions kbd{font-size:8px}.log-panel{padding:17px 19px;height:148px}.log-panel .section-title{padding-bottom:13px;border-bottom:1px solid #343f32;margin-bottom:9px}#event-log{height:83px;overflow:auto;scrollbar-width:thin;scrollbar-color:#4c5947 transparent}#event-log p{font-size:12px;line-height:1.55;margin:5px 0;color:#98a58f}#event-log p:before{content:'›';color:#728466;margin-right:9px}#event-log .quest{color:#d1ba87}#event-log .good{color:#aac2a2}#event-log .damage{color:#cd9580}.party-heading{height:24px;margin-bottom:11px}.party{display:grid;grid-template-columns:1fr 1fr;gap:15px 11px}.hero{min-width:0;padding:0;position:relative}.hero-select{padding:0;display:block;width:100%;text-align:left}.portrait-wrap{position:relative;border:1px solid #4e5847;background:#182722;padding:3px;transition:border-color .2s}.hero.selected .portrait-wrap{border-color:#c5ad75;box-shadow:0 0 0 1px #b4a26b38}.hero.selected .portrait-wrap:before{content:'◆';position:absolute;right:7px;top:7px;color:#e4ca8c;font-size:9px;z-index:1}.portrait-wrap canvas{display:block;width:100%;height:116px;object-fit:cover;image-rendering:pixelated}.hero-number{position:absolute;left:6px;top:6px;color:#b7b9a1;background:#17221bc9;font:9px Arial,sans-serif;padding:2px 4px}.hero-name{margin:9px 0 3px;font-size:15px;display:flex;justify-content:space-between;align-items:center}.hero-name small{font:8px Arial,sans-serif;color:#afbb9f}.hero-role{font-size:10px;color:#919f86}.stat{margin-top:7px}.stat-line{font:8px Arial,sans-serif;color:#a3ad98;display:flex;justify-content:space-between}.stat-bar{height:4px;background:#312e28;margin-top:4px}.stat-bar i{height:100%;display:block;background:linear-gradient(90deg,#6b876b,#a0b48a);transition:width .2s}.stat.mana{margin-top:5px}.stat.mana .stat-bar i{background:linear-gradient(90deg,#507b87,#84a8aa)}.hero-actions{display:flex;gap:4px;margin-top:9px}.hero-actions button{width:50%;height:27px;border:1px solid #45503e;font-size:16px;background:#253025;line-height:18px;color:#c3bea0}.hero-actions button:hover{background:#3d4934}.hero-actions button:last-child{color:#b8c9b7}.hero.acted .portrait-wrap:after{content:'A AGI';position:absolute;bottom:8px;left:8px;right:8px;background:#13201be6;padding:4px;text-align:center;font:8px Arial,sans-serif;letter-spacing:2px;color:#b6c0a5}.hero.fallen canvas{filter:grayscale(1);opacity:.45}.inventory-panel{margin-top:20px;padding:14px 12px 11px}.inventory{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px}.item{height:46px;position:relative;background:#121c17;border:1px solid #3d4839;display:flex;align-items:center;justify-content:center;overflow:hidden}.item:hover{border-color:#b7a571}.item-icon{display:block;position:relative;width:16px;height:23px;border:2px solid #b4bfb2;border-radius:3px 3px 5px 5px;background:linear-gradient(0deg,#a15e4e 0 70%,#223126 70%);box-shadow:inset 3px 0 #ffffff18}.item-icon:before{content:'';position:absolute;width:6px;height:6px;left:3px;top:-7px;background:#bbbfa8;border-top:2px solid #95785a}.item-icon.ether{background:linear-gradient(0deg,#6c8b9b 0 70%,#223126 70%)}.item-key{color:var(--gold);font-size:27px}.item-relic{font-size:31px;color:#91c5af}.item small{position:absolute;bottom:3px;right:5px;font:9px Arial,sans-serif;color:#d8d4bb}.item.empty{color:#465341;font-size:19px}.inventory-note{font-size:10px;color:#909e85;margin:11px 0 0;line-height:1.5;min-height:28px}.experience{margin-top:15px}.experience>span{display:flex;justify-content:space-between;font:8px Arial,sans-serif;letter-spacing:.8px;color:#8f9c85}.experience b{font-weight:400;color:#b9b79a}.experience>div{height:3px;background:#303a2c;margin-top:8px}.experience i{height:3px;display:block;background:#b19b67;width:0}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #303b2e;margin-top:28px;padding:20px 0;color:#7e8d76;font-size:11px}footer>.version{font:8px Arial,sans-serif;letter-spacing:1.2px}footer button{font-size:11px;color:#a6af96}footer button span{padding-left:8px;color:var(--gold)}footer i{padding:0 6px}footer .tiny-diamond{margin-left:0}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-heading .eyebrow{margin:0}.modal-heading button{font-size:25px;color:var(--gold)}dialog{width:min(560px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid #8b8058;background:linear-gradient(140deg,#253027,#141e1a);color:var(--text);padding:26px 32px;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#050c0bd9;backdrop-filter:blur(5px)}dialog h2{font-size:28px;font-weight:400;margin:0 0 15px;color:#e1d3ad}dialog p{line-height:1.75;font-size:14px;color:#b1bca5}dialog .lede{font-style:italic;color:#9baa91}dialog h3{font-size:16px;font-weight:400;color:var(--gold);margin-top:23px}dialog ul{padding-left:19px;line-height:1.9;color:#acb79f}dialog li{margin-bottom:5px}.quest-step{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #3c4737;color:#9eab91}.quest-step.done{color:#d1bc8b}.quest-step span{color:var(--gold)}.primary-button{background:#b8a172;border:1px solid #dbc48b;color:#17251e;padding:12px 22px;margin-top:15px;width:100%;font-size:14px}.primary-button:hover{background:#dcc58f;color:#15231d}.secondary-button{border:1px solid #6a7157;color:#c7cfb7;padding:10px 15px;margin-top:10px;width:100%}.help-grid{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:13px;color:#b7c0a9;margin:20px 0}.help-grid>span:nth-child(even){text-align:right}.save-slot{padding:17px 0;border-bottom:1px solid #45513c;display:flex;align-items:center;justify-content:space-between;gap:12px}.save-slot h3{font-size:15px;margin:0 0 6px}.save-slot small{color:#9daa8e;font:10px Arial,sans-serif}.slot-buttons{display:flex;gap:7px}.slot-buttons button{border:1px solid #727658;padding:8px 10px;color:var(--gold);font-size:11px}.name-field{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:center;margin:11px 0}.name-field label{color:#b8c5aa;font-size:13px}input{width:100%;background:#121d17;border:1px solid #556346;color:#e1dbc3;padding:10px;font:14px Georgia,serif}#large-map{display:block;width:min(100%,400px);height:auto;margin:0 auto;image-rendering:pixelated;border:1px solid #5b694d}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#2b3829;color:#e0d4b0;border:1px solid #a29968;padding:13px 23px;font-size:13px;z-index:10;box-shadow:0 5px 30px #0008}.error{color:#e3a28a!important}.end-mark{font-size:60px;text-align:center;color:#dac389;margin:10px 0 20px}[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.progression-table-wrap{max-width:100%;overflow:auto;margin:12px 0}.progression-table{min-width:650px;width:100%;border-collapse:collapse;font:10px Arial,sans-serif;color:#d6d9cf}.progression-table th,.progression-table td{padding:6px 5px;border:1px solid #405563;text-align:center;white-space:nowrap}.progression-table thead th{color:#d6c188;background:#17242f}.progression-table tbody th{text-align:left;color:#c5d6d6}

/* Accueil et création : même palette que l’expédition, rythme plus contemplatif. */
.home-screen{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:#0c1716;display:flex;flex-direction:column;padding:30px 50px}.home-landscape{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 72% 32%,#83927938,transparent 37%),linear-gradient(160deg,#112320 15%,#203a34 56%,#0b1715 86%)}.home-landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c1716b8,transparent 75%),linear-gradient(0deg,#0c1716 2%,transparent 45%);z-index:4}.home-moon{position:absolute;width:135px;height:135px;border-radius:50%;top:12%;right:24%;background:#cbd1a8;box-shadow:0 0 100px 45px #c4cba31a;opacity:.55}.home-ridge{position:absolute;inset:28% -2% 0;background:#17342b;clip-path:polygon(0 90%,0 45%,5% 10%,9% 44%,13% 19%,16% 42%,22% 0,27% 48%,31% 8%,37% 52%,42% 20%,46% 54%,53% 5%,57% 40%,62% 11%,66% 43%,72% 0,78% 49%,83% 17%,89% 45%,96% 8%,100% 36%,100% 100%)}.ridge-front{inset:38% -7% -8%;background:#10271f;transform:scaleX(-1);opacity:.9}.home-arch{position:absolute;right:14%;bottom:11%;height:420px;width:280px;border:44px solid #465044;border-bottom:0;border-radius:160px 160px 0 0;background:radial-gradient(ellipse at 50% 62%,#a3b68788,#324e3e55 42%,#0e211c 75%);box-shadow:inset 9px 2px 0 #1e3229,9px 0 0 #1a2e26,-4px -4px 0 #76816a44,0 0 80px #9fb87619;transform:rotate(-3deg)}.home-arch:before,.home-arch:after{content:'';position:absolute;left:-58px;top:95px;width:70px;height:14px;background:#5b6450;box-shadow:0 90px #394938,0 210px #3e4c3d;transform:rotate(3deg)}.home-arch:after{left:auto;right:-58px;top:100px}.arch-rune{display:block;text-align:center;color:#cde3a5;font-size:75px;margin-top:100px;text-shadow:0 0 25px #d8f5ba;opacity:.65}.home-mist{position:absolute;inset:56% -20% 0;background:radial-gradient(ellipse,#839b7445,transparent 64%);transform:rotate(-8deg);z-index:3}.home-top,.home-footer{display:flex;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:2px;color:#9ba68b;gap:20px}.home-content{padding:35px 0 38px;width:600px;max-width:56%;text-align:center;margin:0 0 0 4%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.home-emblem{margin-bottom:17px}.home-emblem img{opacity:.9}.home-content .eyebrow{letter-spacing:4px;font-size:10px}.home-content h1{font-size:clamp(45px,5.7vw,83px);line-height:1.15;color:#e5dfc4;letter-spacing:-3px;text-shadow:0 2px 25px #0007;margin:8px 0 15px}.home-content h1 span{color:var(--gold)}.title-divider{display:flex;align-items:center;gap:14px;width:220px;color:#b59f6c;font-size:10px}.title-divider:before,.title-divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#aa936a80)}.title-divider:after{transform:rotate(180deg)}.home-tagline{font-size:17px;color:#b5c2aa;font-style:italic;line-height:1.8;margin:20px 0}.home-menu{width:300px;max-width:100%;display:grid;gap:8px;margin:4px 0 16px}.home-menu button{display:flex;align-items:center;justify-content:space-between;border:1px solid #5c6b505c;background:#15241dcc;padding:14px 20px;font-size:16px;color:#c1cbb4;text-align:left}.home-menu button>span{color:#9ea77f;font-size:15px}.home-menu button:hover{border-color:#a59264;background:#354331;color:#efddad}.home-menu .home-primary{border-color:#a28d5f;color:#edd7a1;background:linear-gradient(110deg,#544d30aa,#283a25aa);box-shadow:inset 0 0 0 3px #14221b66}.home-description{font-size:12px;line-height:1.8;color:#96a38a;margin:7px 0}.home-footer{border-top:1px solid #8293722b;padding:19px 0 0;margin:0;font-size:8px}.creator-shell{max-width:1440px;padding:30px 40px 0;margin:auto}.creator-header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:5px 0 27px}.creator-header>.text-button{width:auto;min-width:90px;border:0;padding:10px 0;font-size:12px}.creator-header>div{text-align:center}.creator-header h1{font-size:30px}.creator-counter{font:9px Arial,sans-serif;letter-spacing:1.7px;color:#a2b096;min-width:150px;text-align:right}.creator-roster{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.creator-roster>button{display:flex;gap:12px;align-items:center;text-align:left;padding:10px;border:1px solid #485540;background:#18251de6;min-width:0}.creator-roster>button.active{border-color:#bea575;background:linear-gradient(110deg,#3b422d,#1c2b21);box-shadow:inset 0 0 0 2px #0f1e1766}.roster-portrait{display:block;width:43px;min-width:43px;height:48px;border:1px solid #697158}.roster-portrait canvas{width:100%;height:100%;image-rendering:pixelated}.creator-roster button>span:nth-child(2){min-width:0;flex:1}.creator-roster small{display:block;font:7px Arial,sans-serif;color:#9aa98d;letter-spacing:1.3px}.roster-name{display:block;font-size:15px;font-weight:400;color:#ddcfac;margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creator-roster em{display:block;font-size:10px;font-style:normal;color:#9fae93}.roster-mark{font-size:14px;color:#bba572;margin-right:3px}.creator-body{display:grid;grid-template-columns:245px minmax(300px,1fr) 245px;gap:25px;align-items:stretch;min-height:565px}.character-sheet{padding:22px}.creation-portrait{width:144px;height:158px;margin:22px auto 18px;padding:5px;border:1px solid #a49061;box-shadow:inset 0 0 0 2px #111f17,0 7px 20px #0004;background:#101f19}.creation-portrait canvas{width:100%;height:100%;image-rendering:pixelated}.character-sheet h2{font-size:25px;text-align:center;font-weight:400;color:#e0d4b3;margin:0 0 8px;overflow-wrap:anywhere}.sheet-subtitle{text-align:center;font-size:11px;color:#9fac92;margin:0 0 22px}.sheet-stat{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:12px;margin-top:13px;color:#aab59c;gap:8px}.sheet-stat b{color:#d4dcc4;font-size:13px;font-weight:400}.sheet-stat i{width:100%;height:5px;background:linear-gradient(to right,var(--bar) var(--stat),#2c3a29 var(--stat));border:1px solid #364530}.sheet-power{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #404b37;font-size:13px;color:#aab59c}.sheet-power b{font-weight:400;color:#d4dcc4}.sheet-skill{margin-top:18px}.sheet-skill span{font:8px Arial,sans-serif;color:#9aa98c;letter-spacing:1.5px}.sheet-skill strong{display:block;font-size:16px;font-weight:400;color:#d5bd88;margin:9px 0 6px}.sheet-skill small{font-size:10px;color:#9cae91}.sheet-footnote{font-size:10px;line-height:1.7;color:#84967e;margin:18px 0 0}.creation-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #46543c;gap:5px}.creation-steps button{font-size:11px;color:#99a98d;padding:12px 5px 15px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.creation-steps button span{font:8px Arial,sans-serif;display:block;margin-bottom:8px;color:#7c9076}.creation-steps button[aria-current=step]{color:#e4cb92;border-bottom-color:#c2a472}.creation-steps button[aria-current=step] span{color:#c2a472}.step-content{padding-top:27px}.step-content h2{font-size:29px;font-weight:400;color:#dfd6b8;margin:0 0 12px}.step-intro{color:#99aa8f;line-height:1.7;font-size:13px;margin:0 0 22px;max-width:480px}.creation-options{display:grid;gap:10px}.choice-card{display:flex;align-items:center;gap:16px;padding:15px 17px;text-align:left;border:1px solid #45563d;background:linear-gradient(100deg,#263628bb,#1b2920bb);min-height:84px}.choice-card.chosen{border-color:#bda16d;box-shadow:inset 0 0 0 2px #d6c2820c;background:linear-gradient(100deg,#414932bb,#243628bb)}.choice-card:hover{background:#34492f;border-color:#9b9d6c}.choice-symbol{font-size:30px;color:#b5bb93;width:35px;text-align:center;flex-shrink:0}.choice-card>span:nth-child(2){flex:1}.choice-card strong{display:block;font-size:18px;font-weight:400;color:#ddd1ad}.choice-card small{display:block;font-size:11px;line-height:1.6;color:#a8b99c;margin-top:5px}.choice-card em{display:block;font-style:normal;font-size:10px;color:#bba879;margin-top:5px;line-height:1.4}.choice-check{color:#bba572;font-size:10px}.creator-lore{padding:28px 24px;background:linear-gradient(150deg,#28372a66,#13221a)}.lore-symbol{font-size:68px;color:#b6ae79;display:block;text-align:center;margin:15px 0 25px;text-shadow:0 0 30px #b4d78b22}.creator-lore h2{font-size:26px;font-weight:400;color:#d4c59e;margin:15px 0}.creator-lore p{font-size:13px;line-height:1.9;color:#a3b397}.lore-rule{width:55px;height:1px;background:#b29b6555;margin:25px 0}.creator-lore h3{font-size:15px;font-weight:400;color:#c9b888}.creator-lore .lore-trait{font-size:12px;color:#b5bd9d}.creator-lore .lore-quote{font-style:italic;font-size:12px;color:#849a80;margin-top:35px}.creator-footer{margin-top:24px;padding:23px 0;border-color:#45533b;gap:20px}.creator-footer .secondary-button,.creator-footer .primary-button{margin:0;width:auto;white-space:nowrap}.creator-footer>.secondary-button{min-width:130px}.creator-footer>span{font-size:11px;line-height:1.6;color:#8fa382;flex:1}.creator-next{display:flex;align-items:center;gap:22px}.creator-next .text-button{border:0;width:auto;padding:8px 0;font-size:11px;white-space:nowrap}.creator-label{display:block;font:9px Arial,sans-serif;color:#b8c1a0;letter-spacing:1.3px;margin:20px 0 10px}#creator-name{border-color:#657455;padding:12px 14px;background:#14241b;font-size:17px;max-width:100%}#creator-name:focus{outline:1px solid var(--gold);border-color:var(--gold)}.portrait-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:360px}.portrait-options button{padding:4px;border:1px solid #526547;background:#14241b}.portrait-options button.chosen{border-color:#d2b578;box-shadow:0 0 0 1px #d2b57855}.portrait-options canvas{width:100%;height:auto;display:block;image-rendering:pixelated}.attribute-heading{display:flex;justify-content:space-between;align-items:center;margin:22px 0 8px;gap:10px}.attribute-heading h3{font-weight:400;font-size:17px;color:#d5c7a0;margin:0}.attribute-heading>span{font:8px Arial,sans-serif;letter-spacing:.8px;color:var(--gold)}.attribute-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #364a32;padding:9px 0}.attribute-row strong{font-size:13px;font-weight:400;display:block;color:#c5d1b7}.attribute-row small{font-size:10px;color:#8fa584;display:block;margin-top:3px}.attribute-row>div{display:flex;align-items:center;gap:15px}.attribute-row button{width:27px;height:27px;border:1px solid #677453;color:#d6c28e;font-size:18px;background:#243623}.attribute-row b{font-size:15px;font-weight:400;width:10px;text-align:center}.step-note{font-size:10px;line-height:1.7;color:#91a585;margin:13px 0 0}.skill-options .choice-card{min-height:130px;align-items:flex-start;padding:22px 17px}.skill-options small{line-height:1.9;font-size:12px}.creator-tip{margin-top:28px;padding:18px 16px;border:1px solid #435a3a;display:flex;gap:15px;color:#9fb18f}.creator-tip>span{color:var(--gold);font-size:24px}.creator-tip p{font-size:12px;line-height:1.8;margin:0}.review-intro{font-size:15px;color:#a7b89a;text-align:center;margin:29px 0}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.review-hero{padding:22px;text-align:center}.review-portrait{width:120px;height:132px;padding:4px;border:1px solid #928a5f;margin:0 auto 18px}.review-portrait canvas{width:100%;height:100%;image-rendering:pixelated}.review-hero h2{font-weight:400;font-size:24px;color:#e1cf9f;overflow-wrap:anywhere;margin:10px 0}.review-hero>p{font-size:12px;color:#9fb08f}.review-stats{display:flex;justify-content:space-between;gap:8px;margin:24px 0 15px;padding:18px 0;border-block:1px solid #405537}.review-stats span{font:7px Arial,sans-serif;letter-spacing:1px;color:#96aa85}.review-stats b{display:block;font:23px Georgia,serif;color:#cbd8b8;margin-bottom:7px}.review-hero h3{font-weight:400;font-size:16px;color:#d0bf8a;margin:18px 0 8px}.review-hero>small{color:#9db18e;font-size:11px}.review-hero .secondary-button{font-size:11px;margin-top:20px}.review-notes{margin:22px 0;background:#20311e66;border:1px solid #405438;padding:14px 21px}.review-notes p{font-size:12px;color:#b6bd99;line-height:1.7;margin:6px 0}
@media(min-width:1500px){.home-content{margin-left:9%}.home-arch{right:20%}}
@media(max-width:1100px){.creator-shell{padding:25px 24px 0}.creator-body{grid-template-columns:205px 1fr;gap:22px}.creator-lore{display:none}.creator-counter{font-size:8px;min-width:120px}.creator-header h1{font-size:26px}.creator-roster>button{gap:8px;padding:8px}.roster-portrait{width:34px;min-width:34px;height:40px}.roster-mark{display:none}.creator-roster em{font-size:9px}.creator-footer>span{display:none}.creator-footer>.secondary-button{margin-right:auto}.home-screen{padding:28px}.home-content{margin:0;max-width:65%}.home-arch{right:9%;height:365px;width:250px;border-width:37px}.review-grid{gap:12px}.review-hero{padding:18px 12px}.review-portrait{width:100px;height:110px}.review-hero h2{font-size:21px}}
@media(max-width:380px){.home-content h1{font-size:49px}.creator-next{flex-direction:column;align-items:flex-end;gap:5px}.creator-roster em{font-size:8px}.roster-portrait{width:29px;min-width:29px;height:34px}}
/* Audio : volumes indépendants et crédits accessibles depuis tous les écrans. */
.home-audio{width:300px;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 18px;margin:2px 0 12px}.home-audio button{font-size:11px;color:#c1ad7e;padding:5px 0}.home-audio small{width:100%;font-size:10px;line-height:1.6;color:#94a68b;min-height:32px}.audio-now{margin:22px 0;padding:16px;background:#122119;border:1px solid #43543b}.audio-now>span{font:8px Arial,sans-serif;letter-spacing:2px;color:#b7a779}.audio-now p{font-size:13px;line-height:1.7;margin:8px 0 0;color:#b7c4a6}.audio-volume{display:block;margin:24px 0}.audio-volume>span{display:flex;justify-content:space-between;color:#cfc6a5;font-size:14px}.audio-volume output{color:#aebd9c;font:11px Arial,sans-serif}.audio-volume input{display:block;width:100%;height:22px;margin-top:10px;padding:0;accent-color:#c4ac76;cursor:pointer;background:transparent;border:0}.audio-volume input:focus-visible,#music-choice:focus-visible{outline:2px solid #dfc58c;outline-offset:4px}#music-choice{font:13px Georgia,serif;color:#d9d1b7;background:#14231b;border:1px solid #657455;width:100%;padding:12px;white-space:normal}.audio-actions{display:flex;gap:10px}.audio-actions button{font-size:11px;padding:10px}.audio-note{font-size:11px!important;line-height:1.8!important;color:#92a586!important}.music-credit{border-bottom:1px solid #42533b;padding-bottom:18px}.music-credit h3{margin-bottom:8px}.music-credit p{font-size:13px;margin:8px 0}.music-credit small{color:#bda979;font-size:11px}.music-credit>div{font-size:10px;color:#aabd99;margin-top:10px;line-height:1.8}dialog a{text-decoration:underline;text-underline-offset:3px}#sound.audio-enabled{color:var(--gold);border-color:#8b8057}
@media(max-width:650px){#sound{display:inline-block;margin-left:5px}.home-audio{margin-bottom:5px}.audio-actions{flex-wrap:wrap}.audio-actions button{margin-top:5px}}
/* Portraits illustrés et choix de genre. */
.roster-portrait img,.creation-portrait img,.review-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%;image-rendering:pixelated}
.portrait-options{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));max-width:480px}
.portrait-options button{aspect-ratio:1;padding:3px;overflow:hidden}
.portrait-options img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.gender-options{display:flex;gap:10px;margin:8px 0 20px}
.gender-options button{min-width:120px;padding:10px 18px;border:1px solid #526547;background:#14241b;color:#c1cbb4}
.gender-options button.chosen{border-color:#d2b578;box-shadow:0 0 0 1px #d2b57855;color:#edd7a1}
.hero,.hero-select,.portrait-wrap{min-width:0}
.portrait-wrap{overflow:hidden}
.portrait-wrap img{display:block;width:100%;max-width:100%;height:102px;object-fit:cover;object-position:center 35%;image-rendering:pixelated}

/* Interface de jeu : scène prioritaire, panneaux appelés depuis le menu. */
:root{--bg:#0a1019;--panel:#172331;--line:#354557;--gold:#e6b96d;--muted:#94a6b8;--text:#e3e8ed;--green:#72c9b0;--red:#ed806d}
body:has(.app-shell:not([hidden])){height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 48% 32%,#203c4a 0,#101a27 48%,#080d15 100%)}
.app-shell{height:100dvh;max-width:none;margin:0;padding:0 18px;display:flex;flex-direction:column;overflow:hidden}
.masthead{height:54px;min-height:54px;flex:none;gap:12px;border-color:#71869b55}
.brand{font-size:20px;gap:8px}.brand img{width:31px;height:31px}.brand small{font-size:7px;letter-spacing:1.7px;margin-top:3px}.chapter-label{color:#a4c4d4;font-size:8px;letter-spacing:1.4px}
.masthead nav{gap:0}.masthead nav .save-button{padding:8px 12px;border-color:#b58e54;background:linear-gradient(135deg,#263644,#17232e);color:#f0cc88}
.app-shell>main{min-height:0;flex:1;display:flex;flex-direction:column}
.location-heading{min-height:59px;flex:none;padding:7px 2px 8px}.location-heading .eyebrow{font-size:8px;margin:0 0 3px;letter-spacing:1.5px;color:#89c8c0}.location-heading h1{font-size:21px}.world-status{font-size:11px}.separator{margin:0 3px}
.game-layout{flex:1;min-height:0;grid-template-columns:minmax(150px,190px) minmax(0,1fr) minmax(190px,220px);gap:12px;align-items:stretch;padding-bottom:10px}
.left-column,.right-column{display:flex;flex-direction:column;gap:9px;min-height:0}.map-panel{margin:0;padding:9px 10px 7px;background:linear-gradient(145deg,#1d3040ee,#111c29ee);border-color:#486477}.map-panel .section-title{margin-bottom:4px}.map-trigger{width:100%;display:block;padding:0;position:relative}.map-trigger canvas{width:min(100%,174px);height:auto;aspect-ratio:1;display:block;margin:auto}.map-caption{font-size:9px;margin-top:4px}.resources{margin:0;padding:8px 9px;display:flex;justify-content:space-around;background:#1a2934;border:1px solid #405665}.resources>span{gap:5px}.resources small{font-size:7px}
.center-column{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto 105px;gap:0}.scene-frame{min-height:0;aspect-ratio:auto;border-color:#688191;box-shadow:0 12px 36px #0008,inset 0 0 0 1px #d4e1e51c;background:#101b24}.scene-frame #scene{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.scene-top{top:9px;left:11px;right:11px}.area-tag,.compass{background:#101922c9;border-color:#8ab8bd55;color:#d9ebdf}.scene-bottom{left:10px;right:10px;bottom:9px}.scene-bottom>span{font-size:10px}.scene-bottom button{padding:7px 10px;background:#192b36e8;border-color:#83b7a8;color:#e3d5a8}.enemy-banner{top:42px}.action-bar{padding:8px 2px;gap:9px;justify-content:space-between}.movement{gap:4px}.movement button{width:32px;height:30px;border:1px solid #526c7a;background:linear-gradient(#263a48,#172632);color:#d6e6e5}.movement-label strong{font-size:11px;color:#d8c990}.movement-label span{font-size:9px}.utility-actions{gap:5px}.utility-actions button{padding:6px 7px;border:1px solid #465b68;background:#15232e;font-size:10px}.utility-actions button span{color:#e6b96d}.log-panel{height:105px;min-height:105px;padding:9px 12px;background:#101b26e8;border-color:#3d5664}.log-panel .section-title{font-size:8px;color:#9ecac8}.log-panel #event-log{max-height:62px;overflow:auto}.log-panel #event-log p{margin:4px 0;font-size:11px;line-height:1.35}
.party-heading{flex:none;padding:8px 9px;background:#1b2a37;border:1px solid #405a68;color:#b8d3d5}.party{flex:1;min-height:0;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:5px}.hero{min-height:0;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:1fr auto;gap:0 8px;padding:5px;background:linear-gradient(115deg,#1d2c37,#17212c);border-color:#405462}.hero-select{grid-column:1/3;grid-row:1/3;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:1fr auto;gap:0 8px;padding:0}.portrait-wrap{grid-column:1;grid-row:1/3;align-self:stretch;height:auto;border-color:#536d75}.portrait-wrap img{height:100%;min-height:45px;object-position:center 30%}.hero-name{grid-column:2;grid-row:1;align-self:end;padding:0}.hero-name span{font-size:12px}.hero-name small{font-size:7px}.hero-role{grid-column:2;grid-row:1;align-self:start;font-size:8px}.hero .stat{grid-column:2;z-index:1;margin-top:3px}.hero .stat-line{font-size:7px}.hero .stat-bar{height:3px}.hero-actions{position:absolute;right:5px;top:5px;display:flex;gap:3px}.hero-actions button{width:19px;height:20px;background:#293b47;border-color:#586d73}.experience{flex:none;margin:0;padding:8px;background:#1b2a37;border-color:#405a68}.experience>span{font-size:7px}.inventory-open{flex:none;width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid #526c79;background:linear-gradient(120deg,#263b49,#182631);color:#d9c48f;text-align:left;font-size:11px}.inventory-open span{font:8px Arial,sans-serif;color:#a7bdc2}
.panel{background:linear-gradient(140deg,#1d2c38,#131f2b);border-color:#405563}.section-title{color:#bdd0d0}.status-dot{background:#67dfb7;box-shadow:0 0 10px #67dfb777}
dialog{background:linear-gradient(145deg,#1c2b37,#111b26);border-color:#67818a;box-shadow:0 24px 90px #000b}dialog::backdrop{background:#050a10c9;backdrop-filter:blur(4px)}.game-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-menu-grid button{min-height:45px;padding:10px;text-align:left;border:1px solid #405a68;background:#1b2b37;color:#d9dfd9}.game-menu-grid .primary-button,.game-menu-grid .secondary-button{width:auto;margin:0;text-align:center}.game-menu-grid kbd{float:right}.modal-inventory{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.modal-inventory .item{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #526c79;background:#1a2a36}.modal-inventory .item b{font-size:10px;font-weight:400}.modal-inventory .item small{position:static}.modal-inventory .item.empty{opacity:.5}

/* Final viewport constraints: keep the game canvas at its native 16:10 ratio. */
.app-shell{width:100%;max-width:1580px;margin-inline:auto}
.center-column{display:flex;min-height:0;flex-direction:column;justify-content:space-between;gap:0}
.scene-frame{flex:none;align-self:center;width:min(100%,calc((100dvh - 300px)*1.6));height:auto;max-height:calc(100dvh - 300px);min-height:0;aspect-ratio:1.6}
.scene-frame #scene{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain}
.action-bar,.log-panel{flex:none}

/* Le HUD occupe toute la fenêtre ; aucune barre de site ni défilement de page en jeu. */
body:has(.app-shell:not([hidden])){width:100vw;height:100dvh;overflow:hidden}
.app-shell{width:100%;height:100dvh;max-width:none;margin:0;padding:6px 10px;overflow:hidden}
.app-shell>.masthead{display:none}
.app-shell>main{width:100%;height:100%;min-height:0;justify-content:center;overflow:hidden}
.location-heading{flex:none;min-height:48px;padding:4px 5px}
.location-heading .eyebrow{margin-bottom:2px;font-size:8px}
.location-heading h1{font-size:20px}
.world-status{gap:9px}
.hud-menu{height:30px;padding:0 10px;border:1px solid #8a7750;background:linear-gradient(135deg,#273642,#17232d);color:#e9c879;font-size:11px}
.game-layout{width:100%;height:min(calc(100dvh - 72px),calc(70vw - 50px));max-height:calc(100dvh - 72px);flex:none;grid-template-columns:minmax(180px,22vw) minmax(0,1fr) minmax(220px,23vw);gap:12px;align-items:stretch;padding:0}
.left-column{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0}
.map-panel{margin:0;width:100%;padding:10px;display:flex;flex:0 1 auto;flex-direction:column;align-items:stretch}
.map-panel .section-title{flex:none}
.map-trigger{width:100%;max-width:min(100%,calc(100dvh - 250px));margin:0 auto}
.map-trigger canvas{display:block;width:100%;height:auto;aspect-ratio:1}
.resources{margin:0;flex:none}
.center-column{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:0}
.scene-frame{flex:none;align-self:center;width:min(100%,calc((100dvh - 250px)*1.6));height:auto;max-height:calc(100dvh - 250px);aspect-ratio:1.6}
.scene-frame #scene{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain}
.action-bar,.log-panel{flex:none}
.right-column{min-height:0;overflow:hidden}
.hero{min-height:0;overflow:hidden}

@media(max-width:1100px){.creator-shell{padding:25px 24px 0}.creator-body{grid-template-columns:205px 1fr;gap:22px}.creator-lore{display:none}.creator-counter{font-size:8px;min-width:120px}.creator-header h1{font-size:26px}.creator-roster>button{gap:8px;padding:8px}.roster-portrait{width:34px;min-width:34px;height:40px}.roster-mark{display:none}.creator-roster em{font-size:9px}.creator-footer>span{display:none}.creator-footer>.secondary-button{margin-right:auto}.home-screen{padding:28px}.home-content{margin:0;max-width:65%}.home-arch{right:9%;height:365px;width:250px;border-width:37px}.review-grid{gap:12px}.review-hero{padding:18px 12px}.review-portrait{width:100px;height:110px}.review-hero h2{font-size:21px}}
.bag-item-image{display:block;width:30px;height:30px;max-width:calc(100% - 8px);max-height:calc(100% - 10px);object-fit:contain;flex:0 1 auto;pointer-events:none;transition:transform .14s ease}.bag-slot:not(.empty):hover .bag-item-image,.modal-inventory .item:not(.empty):hover .bag-item-image{transform:scale(1.25)}.modal-inventory .bag-item-image{width:36px;height:36px;max-height:42px}
.modal-bag-category{margin:18px 0 24px}.modal-bag-category h3{padding-bottom:8px;border-bottom:1px solid #405a68}.modal-inventory .item{min-width:0;overflow:hidden;padding:7px}.modal-inventory .item b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-detail-icon{display:grid;place-items:center;width:72px;height:72px;margin:6px auto 14px;border:1px solid #526c79;background:#101b26}.item-detail-icon img{display:block;width:54px;height:54px;max-width:calc(100% - 8px);max-height:calc(100% - 8px);object-fit:contain}.item-detail-icon .bag-object-icon{font-size:42px}.item-detail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.item-detail h2{font-size:23px;line-height:1.2;margin:0}.item-detail-heading>span{flex:none;color:#d2bc80;font:10px Arial,sans-serif}.item-detail h3{margin:20px 0 6px!important;font:8px Arial,sans-serif!important;letter-spacing:1.5px}.item-detail p{margin:8px 0;font-size:13px;line-height:1.6}.item-detail-pending{padding:10px;border-left:2px solid #8c7653;background:#26313a;color:#c1b796!important;font-size:11px!important}.item-detail .primary-button,.item-detail .secondary-button{margin-top:9px}
