.character-link{color:#f8d887;text-decoration:underline;text-decoration-color:#b9964866;text-underline-offset:4px;cursor:pointer;overflow-wrap:anywhere}.character-link:hover{color:#fff0ba;text-decoration-color:currentColor}
.character-screen{display:grid;grid-template-columns:248px minmax(0,1fr);gap:20px;align-items:start;margin:24px 0;min-width:0}
.ko-window{border:4px ridge #897842;border-radius:9px;background:linear-gradient(155deg,#313b24,#19251f 35%,#121711);box-shadow:inset 0 0 0 2px #0a100b,inset 0 0 24px #0009,0 10px 22px #0006;padding:10px;position:relative;min-width:0;color:#eadfc4}
.ko-window::before,.ko-window::after{content:'◆';position:absolute;top:-10px;color:#b6a268;font-size:19px;text-shadow:1px 1px #000;pointer-events:none}.ko-window::before{left:-8px}.ko-window::after{right:-8px}
.character-screen .ko-title{margin:-6px 0 14px!important;padding:8px 4px;border:3px ridge #b99842;border-radius:8px;background:linear-gradient(#886000,#bc8d14 45%,#614400);box-shadow:inset 0 0 0 2px #392700,0 2px 5px #0008;color:#fff0c7!important;font-size:15px!important;text-align:center;text-shadow:1px 2px #342400;font-weight:700;line-height:1.2}
.ko-tabs{display:flex;gap:5px;border:1px solid #64775e;background:#173733;padding:5px;margin-bottom:14px;font-size:11px}.ko-tabs span,.ko-tabs a{padding:4px 10px;border:1px solid #788067;background:#2e4139;color:#c9c8b1;text-decoration:none}.ko-tabs .selected{background:#3a4b16;border-color:#ba941e;color:#ffe148}
.ko-name{font-size:16px;margin:0 0 5px;color:#fff6d2;overflow-wrap:anywhere}.ko-job{font-size:11px;color:#d7c97c!important;margin:0 0 14px!important}
.ko-lines{margin:10px 0;min-width:0}.ko-lines>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:6px;align-items:start;margin:6px 0;font-size:11px;line-height:1.5}.ko-lines dt{color:#c2b99b;min-width:0}.ko-lines dd{margin:0;color:#fff9e5;background:#030804b3;border:1px solid #8b835526;padding:2px 5px;min-width:0;overflow-wrap:anywhere;border-radius:3px}
.ko-stat-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:2px groove #7e754a;padding:6px;margin-top:16px}.ko-stat-columns .ko-lines>div{grid-template-columns:minmax(0,1fr) minmax(24px,.9fr);gap:3px;font-size:10px}.ko-stat-columns .ko-lines dd{padding:2px 3px}
.ko-resist{border:2px groove #7e754a;padding:8px;margin-top:14px}.ko-resist h3{font-size:11px;margin:0 0 9px;color:#d9ceaa}.ko-resist .ko-lines{display:grid;grid-template-columns:1fr 1fr;gap:0 9px}.ko-resist .ko-lines>div{grid-template-columns:1fr 1fr;font-size:10px}
#page-body .ko-small{font-size:10px;line-height:1.6;color:#d7c99d;margin:10px 0}.equipment-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(126px,.85fr);gap:10px;min-width:0;margin-bottom:10px}
.character-crest{min-height:260px;border:3px inset #514d2c;background:radial-gradient(ellipse at 50% 30%,#92842a2e,transparent 65%),linear-gradient(110deg,#07100e,#293226 55%,#090f0b);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:8px;text-align:center;overflow:hidden}
.character-crest::before{content:'♜';font-size:clamp(45px,5vw,80px);color:#9e92515c;text-shadow:0 2px 5px #000}.crest-brand{letter-spacing:2px;color:#c7b96b;font-size:11px;font-weight:800}.crest-class{font-size:clamp(14px,1.5vw,22px);color:#f0dfac}.character-crest>span{font-size:11px}.ko-online{color:#b6b6a1!important}.ko-online.active{color:#a5d482!important}
.equip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:5px;align-self:stretch}.inventory-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;border:2px groove #787040;padding:5px;background:#09100b}
.ko-slot{aspect-ratio:1;min-width:0;min-height:0;border:2px ridge #8b835b;border-radius:3px;background:linear-gradient(145deg,#293321,#080f0b 65%);padding:2px;position:relative;display:grid;place-items:center;cursor:pointer;overflow:hidden;color:#d6c37c;box-shadow:inset 0 0 8px #000b}
.ko-slot:disabled{cursor:default;color:#5b664e;border-color:#4c5139;opacity:.85}.ko-slot.occupied{border-color:#c5ba83;background:linear-gradient(140deg,#344427,#0a160e)}.ko-slot:hover:not(:disabled),.ko-slot[aria-pressed=true]{outline:2px solid #f0d876;outline-offset:0;z-index:1}.ko-slot img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;position:absolute;inset:0;padding:2px;box-sizing:border-box}.slot-fallback{font:700 clamp(15px,2vw,26px) Georgia,serif;color:#d7ba46;text-shadow:1px 2px #000}.slot-count{position:absolute;bottom:1px;right:2px;z-index:2;font-size:10px;font-weight:800;color:white;text-shadow:-1px -1px #000,1px 1px #000,-1px 1px #000,1px -1px #000;line-height:1}
.extra-inventory{margin:14px 0;border:1px solid #736a43;padding:10px;border-radius:4px;background:#07100aa3;font-size:12px}.extra-inventory summary{cursor:pointer;color:#eddaa0;font-weight:700;line-height:1.5}.extra-inventory h3{font-size:12px;color:#e7d4a4;margin:14px 0 8px}.cospre-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.magic-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.item-detail{border:2px groove #898050;background:#101b14;padding:13px;min-height:100px;margin-top:14px;overflow-wrap:anywhere}.item-detail h3{font-size:15px;color:#f7dd8c;margin:0 0 12px}.item-detail p{font-size:12px}.item-detail .ko-lines{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.item-detail .ko-lines>div{grid-template-columns:1fr 1fr;font-size:11px}.character-note p{font-size:12px}.character-note h3{color:#e3d7b0;font-size:15px}
@media(max-width:1150px){.character-screen{grid-template-columns:1fr}.character-info{max-width:500px}.inventory-window{max-width:580px}.equipment-area{grid-template-columns:minmax(0,1fr) minmax(170px,.8fr)}.ko-lines>div{font-size:12px}}
@media(max-width:800px){.character-info{max-width:none}.inventory-window{max-width:none}}
@media(max-width:500px){.character-screen{gap:17px;margin-top:20px}.ko-window{padding:8px;border-width:3px}.equipment-area{grid-template-columns:minmax(0,1fr) minmax(118px,1fr);gap:7px}.character-crest{min-height:215px;padding:5px;gap:11px}.crest-brand{letter-spacing:1px;font-size:9px}.equip-grid{gap:4px}.ko-slot{padding:1px;border-width:1px}.inventory-grid{gap:3px;padding:3px}.slot-count{font-size:8px}.cospre-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.magic-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.item-detail .ko-lines{grid-template-columns:1fr}.ko-stat-columns .ko-lines>div{font-size:11px}.character-crest>span{font-size:10px}}
@media(max-width:360px){.equipment-area{grid-template-columns:minmax(0,1fr) minmax(100px,1fr)}.character-crest{min-height:190px}.ko-lines>div{font-size:11px}.slot-count{font-size:7px}}

.equipment-placeholder{border:2px inset #454a35;border-radius:3px;background:#0a100bb3;aspect-ratio:1;align-self:stretch;min-width:0}
/* Beside-slot popup: outside the route animation container. */
.item-detail.floating-item{position:fixed;z-index:1000;width:min(300px,calc(100vw - 16px));max-height:min(520px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain;margin:0;border:2px solid #ad8951;border-radius:7px;background:linear-gradient(140deg,#27251cfb,#101511fc);box-shadow:0 12px 40px #000b,inset 0 1px #f4dfab44;padding:16px;min-height:0;touch-action:pan-y}
.item-detail.floating-item[hidden]{display:none!important}.floating-item h3{padding-right:35px;font-size:16px;line-height:1.4}.floating-item .ko-lines{display:block}.floating-item .ko-lines>div{grid-template-columns:1.1fr 1fr;font-size:12px;gap:9px}.item-popup-close{position:absolute;right:4px;top:4px;width:40px;height:40px;background:#302718;color:#ffe3a6;border:1px solid #907448;border-radius:5px;font-size:26px;cursor:pointer}.ko-slot{touch-action:manipulation}
@media(max-width:540px){.item-detail.floating-item{max-height:min(420px,55dvh);padding:14px}.item-popup-close{width:44px;height:44px}.character-screen{gap:12px}.ko-window{border-radius:7px}.inventory-window{width:100%}.extra-inventory summary{padding:7px 0;min-height:40px}.character-crest{min-height:200px}.inventory-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ko-tabs{min-height:40px;align-items:center}.ko-tabs a{padding:9px 12px}.page-toolbar a{min-height:40px;display:inline-flex;align-items:center}.ko-name{font-size:18px}.ko-lines>div{margin:5px 0}}
@media(max-width:540px){.character-screen .inventory-window{order:-1}.character-note{padding:13px}.character-note p{font-size:11px;line-height:1.6}}
