#vocations{max-width:1320px;min-height:70vh;padding-bottom:70px}.voc-intro{max-width:780px;margin-bottom:30px}.voc-toolbar{display:flex;align-items:end;gap:24px;justify-content:space-between;margin-bottom:15px}.voc-search{display:grid;gap:8px;color:#c6cfdf;font-size:13px}.voc-search input{width:260px;background:#0c1420;color:#fff;border:1px solid #4b4232;border-radius:7px;padding:13px 15px;font:inherit;font-size:15px}.voc-search input:focus{outline:2px solid #d3a355;outline-offset:2px}.voc-filters{display:flex;flex-wrap:wrap;gap:7px}.voc-filters button,.voc-tabs button{background:#0c1420;border:1px solid #4b4232;border-radius:6px;color:#bac5d8;padding:11px 15px;font:inherit;cursor:pointer}.voc-filters [aria-pressed=true]{color:#f6d596;background:#30251a;border-color:#bc8d46}.voc-count{font-size:13px;color:#8d9bb3;margin:20px 0}.voc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.voc-card{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#eff2f9;border:1px solid #403727;background:linear-gradient(150deg,#121c2bf2,#080f1bf2);border-radius:10px;padding:22px 10px 18px;transition:border-color .18s,background .18s;overflow:hidden}.voc-card:hover,.voc-card:focus-visible{border-color:#d6a451;background:#172130;outline:2px solid #d6a451;outline-offset:2px}.voc-sprite{display:grid;place-items:center;position:relative;height:144px;width:100%;margin-bottom:20px}.voc-sprite img{grid-area:1/1;height:128px;width:auto;max-width:100%;object-fit:contain;image-rendering:pixelated}.voc-sprite .voc-walk{visibility:hidden}.voc-card:hover .voc-walk,.voc-card:focus-visible .voc-walk,.voc-form:hover .voc-walk,.voc-form:focus-visible .voc-walk,.voc-feature:hover .voc-walk,.voc-feature:focus-visible .voc-walk{visibility:visible}.voc-card:hover .voc-sprite img:first-child,.voc-card:focus-visible .voc-sprite img:first-child,.voc-form:hover .voc-sprite img:first-child,.voc-form:focus-visible .voc-sprite img:first-child,.voc-feature:hover .voc-sprite img:first-child,.voc-feature:focus-visible .voc-sprite img:first-child{visibility:hidden}.voc-card>strong{font-size:19px}.voc-role{font-size:12px;color:#d3ad70;margin-top:7px}.voc-more{font-size:11px;color:#8e9ab0;margin-top:20px}.voc-more span{margin-left:8px;color:#d3ad70}.voc-back{color:#e4bd7b;text-decoration:none;display:inline-block;margin:5px 0 30px}.voc-detail-head{display:flex;gap:45px;align-items:center;padding:25px 0 40px}.voc-detail-head h1{font-size:clamp(32px,5vw,55px);margin:10px 0 15px}.voc-detail-head p{color:#bac5d8}.voc-feature{width:200px;flex-shrink:0;background:radial-gradient(ellipse,#21354b90,transparent 70%)}.voc-feature .voc-sprite{height:230px;margin:0}.voc-feature img{height:192px}.voc-stats{display:flex;gap:35px;margin-top:30px}.voc-stats div{display:flex;flex-direction:column;gap:8px}.voc-stats strong{color:#e9c386;font-size:24px}.voc-stats span{font-size:12px;color:#99a7bd}.voc-tabs{display:flex;gap:6px;margin-bottom:25px;border-bottom:1px solid #463a28}.voc-tabs button{border:none;background:none;border-radius:0;padding:16px 22px;border-bottom:2px solid transparent}.voc-tabs button[aria-selected=true]{color:#f3cf90;border-bottom-color:#d0a155}.voc-tabs button span{display:inline-block;font-size:11px;margin-left:10px;border-radius:15px;background:#242e3f;padding:3px 7px;color:#b6c2d6}.voc-spells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.voc-spell,.voc-empty-panel{background:#0d1624e8;border:1px solid #443927;border-radius:10px;padding:26px}.voc-spell-top{display:flex;gap:17px;align-items:center}.voc-special-icon{font-size:27px;color:#d9af6c;display:grid;place-items:center;width:50px;height:50px;background:#a7792220;border:1px solid #9b723c;border-radius:10px;flex-shrink:0}.voc-spell h2{font-size:20px;color:#f0d29e;margin:0 0 7px}.voc-spell code{font-size:12px;color:#8fa1bb;overflow-wrap:anywhere}.voc-spell p{font-size:15px;line-height:1.8;color:#bfcadd;min-height:80px}.voc-spell-meta{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid #293246;padding-top:17px;color:#94a3bc;font-size:12px}.voc-spell-meta strong{color:#e2c48b;margin-left:5px}.voc-forms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.voc-form{display:flex;flex-direction:column;align-items:center;text-align:center;background:#0d1624e8;border:1px solid #403727;border-radius:10px;padding:20px 12px;gap:8px}.voc-form strong{font-size:14px;color:#e8cfaa}.voc-form>span:last-child{font-size:12px;color:#95a4be}.voc-jutsu-table{overflow:auto;background:#0d1624e8;border:1px solid #403727;border-radius:10px}.voc-jutsu-table table{width:100%;border-collapse:collapse;text-align:left}.voc-jutsu-table th,.voc-jutsu-table td{padding:17px 25px;border-bottom:1px solid #263144}.voc-jutsu-table th{color:#ddb87e}.voc-jutsu-table td{color:#c0cadb;font-size:14px}.voc-jutsu-table small{display:block;color:#8b9ab2;margin-top:6px}.voc-neighbors{display:flex;justify-content:space-between;border-top:1px solid #403727;margin-top:40px;padding-top:25px}.voc-neighbors a{color:#e6bd80;text-decoration:none}.voc-loading{padding:70px 0;text-align:center;color:#d4bb92}
@media(max-width:1100px){.voc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.voc-toolbar{align-items:start;flex-direction:column}.voc-forms{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.voc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.voc-card{padding:15px 5px}.voc-card>strong{font-size:15px}.voc-sprite{height:120px}.voc-sprite img{height:100px}.voc-more{font-size:10px}.voc-detail-head{gap:15px;align-items:center}.voc-feature{width:110px}.voc-feature .voc-sprite{height:160px}.voc-feature img{height:140px}.voc-stats{gap:15px;flex-wrap:wrap}.voc-stats strong{font-size:18px}.voc-spells{grid-template-columns:1fr}.voc-forms{grid-template-columns:repeat(3,minmax(0,1fr))}.voc-tabs button{padding:14px 10px}.voc-tabs button span{margin-left:5px}.voc-search input{width:100%}.voc-search{width:100%}.voc-filters button{font-size:12px;padding:9px 11px}}@media(max-width:420px){.voc-grid,.voc-forms{grid-template-columns:repeat(2,minmax(0,1fr))}.voc-detail-head{flex-direction:column;align-items:start}.voc-feature{align-self:center}.voc-stats{gap:25px}.voc-spell{padding:20px}.voc-jutsu-table th,.voc-jutsu-table td{padding:14px}}
@media(prefers-reduced-motion:reduce){.voc-walk{display:none!important}.voc-card .voc-sprite img:first-child,.voc-form .voc-sprite img:first-child,.voc-feature .voc-sprite img:first-child{visibility:visible!important}}

/* Full-width backdrop, centered content and separate purchasable skins. */
#vocations{width:100%;max-width:none;padding:58px clamp(20px,4vw,90px) 70px}
.voc-content{width:100%;max-width:1760px;margin-inline:auto}
.voc-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}
.voc-forms{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.voc-outfit-group{margin-top:30px}.voc-outfit-group h2{font-size:21px;color:#f0d29e;margin:0 0 20px}.voc-outfit-group h2 span{display:inline-block;margin-left:12px;padding:6px 10px;border:1px solid #826336;border-radius:5px;font-size:11px;color:#d8b77e;vertical-align:middle}.voc-skin-note{color:#aebad0;line-height:1.7;margin:-7px 0 22px;font-size:13px}.voc-skin{border-color:#776039}.voc-skin>span:last-child{color:#e0bd80}.voc-form small{color:#95a4be;font-size:11px}
@media(max-width:700px){#vocations{padding:30px 20px 50px}.voc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.voc-forms{grid-template-columns:repeat(3,minmax(0,1fr))}.voc-outfit-group h2{font-size:18px}}
@media(max-width:480px){.voc-grid,.voc-forms{grid-template-columns:repeat(2,minmax(0,1fr))}.voc-outfit-group h2 span{margin-left:6px}.voc-form{min-width:0}.voc-form strong{overflow-wrap:anywhere}}

.voc-availability{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:5px;border:1px solid;font-size:11px;font-weight:700;letter-spacing:.3px;line-height:1.4}.voc-card>.voc-availability{margin-bottom:12px}.voc-availability-free{color:#9fe2b8;background:#173329;border-color:#427c59}.voc-availability-vip{color:#f4d598;background:#352a19;border-color:#997442}.voc-availability-soon{color:#b9c4d8;background:#202938;border-color:#536077}.voc-detail-head h1+.voc-availability{margin-bottom:6px}

/* Wide illustrated catalog cards; in-game outfits remain in the detail tabs. */
.voc-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.voc-card--portrait{position:relative;isolation:isolate;align-items:stretch;padding:0 0 21px;border-radius:14px;background:#101a2b;box-shadow:0 10px 28px #0003;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.voc-card--portrait:hover,.voc-card--portrait:focus-visible{transform:translateY(-6px);box-shadow:0 18px 38px #0006,0 0 22px #d6a45114;outline-offset:4px}
.voc-card--portrait>.voc-availability{position:absolute;z-index:2;top:16px;left:16px;margin:0;backdrop-filter:blur(10px)}
.voc-portrait{display:block;position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#101c30}
.voc-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#04102105 65%,#101a2b)}
.voc-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%;image-rendering:auto;transition:transform .55s ease;transform:scale(1.001)}
.voc-card--portrait:hover .voc-portrait img,.voc-card--portrait:focus-visible .voc-portrait img{transform:scale(1.045)}
.voc-card--portrait>strong{position:relative;margin:2px 23px 0;font-size:23px;line-height:1.3}
.voc-card--portrait>.voc-role{margin:9px 23px 0;font-size:12px}
.voc-card--portrait>.voc-more{margin:19px 23px 0;padding-top:14px;border-top:1px solid #ffffff10;color:#bbc5d7;font-size:12px;display:flex;justify-content:space-between}
@media(max-width:700px){.voc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.voc-portrait{aspect-ratio:3/4}.voc-card--portrait{padding-bottom:16px}.voc-card--portrait>strong{margin:0 14px;font-size:19px}.voc-card--portrait>.voc-role{margin:8px 14px 0}.voc-card--portrait>.voc-more{margin:14px 14px 0;font-size:10px}.voc-card--portrait>.voc-availability{top:10px;left:10px;padding:4px 7px;font-size:9px}}
@media(max-width:350px){.voc-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.voc-card--portrait,.voc-portrait img{transition:none!important}.voc-card--portrait:hover{transform:none}}


.voc-passive-badge{position:absolute;top:48px;left:14px;color:#f0d394;background:#111c2ce8;border:1px solid #b69a5866;border-radius:20px;font-size:10px;padding:5px 10px;z-index:3}.voc-passive{padding:28px;border:1px solid #b69a5866;border-radius:16px;background:linear-gradient(125deg,#322a1950,#101e30);margin:20px 0}.voc-passive-head{display:flex;gap:18px;align-items:center}.voc-passive-icon{display:grid;place-items:center;width:68px;height:68px;border:1px solid #b69a5888;border-radius:50%;font-size:36px;color:#edd39a;background:#b89b5d0a;flex-shrink:0}.voc-passive h2{margin:5px 0;font-size:25px}.voc-passive .eyebrow{font-size:10px;margin:0;color:#d7bb7b}.voc-passive dl{margin:25px 0;display:grid;gap:14px}.voc-passive dl>div{display:grid;grid-template-columns:135px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #ffffff0c}.voc-passive dt{font-size:12px;color:#d7bb7b}.voc-passive dd{margin:0;font-size:13px;line-height:1.9;color:#c3cddd}.voc-passive-limit{padding:17px 20px;border-left:2px solid #d7bb7b;background:#d7bb7b08}.voc-passive-limit strong{font-size:12px;color:#e4c885}.voc-passive-limit p,.voc-passive-note{font-size:12px;line-height:1.9;color:#b8c6d8}.voc-passive h3{font-size:13px;color:#d7bb7b}.voc-dimensions{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.voc-dimensions li{border:1px solid #7e8eac55;background:#15243b;padding:7px 12px;border-radius:16px;font-size:11px;color:#becce0}@media(max-width:600px){.voc-passive{padding:20px}.voc-passive dl>div{grid-template-columns:1fr;gap:8px}.voc-passive h2{font-size:22px}.voc-passive-icon{width:55px;height:55px}.voc-passive-head{gap:12px}}

.voc-availability-promo{color:#f6d596;background:#30251a;border-color:#bc8d46}.voc-collectible{display:grid;grid-template-columns:1fr minmax(180px,320px);gap:28px;align-items:center;margin-top:30px;padding:28px;border:1px solid #443927;border-radius:10px;background:#0d1624e8}.voc-collectible p{color:#bac5d8;line-height:1.7}.voc-full-card{width:100%;height:auto;display:block;border-radius:12px}.voc-mini-card{width:100px;height:150px;display:block;margin-top:20px;border-radius:6px}@media(max-width:600px){.voc-collectible{grid-template-columns:1fr;padding:20px}.voc-collectible>a{max-width:260px;justify-self:center}}
.voc-card[hidden]{display:none!important}

.voc-availability-available{color:#9fe2b8;background:#173329;border-color:#427c59}

/* Availability first: open on free, then let players choose their next category. */
.voc-availability-picker{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 22px}
.voc-availability-picker button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 18px;border:1px solid #394455;border-radius:12px;background:#111b27;color:#c6d4e5;font:inherit;font-weight:700;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.voc-availability-picker button span{display:inline-grid;place-items:center;min-width:24px;min-height:24px;padding:0 5px;border-radius:7px;background:#213044;color:#b7c8df;font-size:12px}
.voc-availability-picker button:hover{border-color:#cfa860;color:#fff}
.voc-availability-picker button[aria-pressed="true"]{border-color:#deb871;background:#2d251b;color:#ffe3ac;box-shadow:inset 0 0 0 1px #deb87144}
.voc-availability-picker button[aria-pressed="true"] span{background:#5e482b;color:#ffe7bd}
.voc-availability-picker button:focus-visible{outline:2px solid #ffe0a1;outline-offset:3px}
@media(max-width:550px){.voc-availability-picker{gap:8px}.voc-availability-picker button{flex:1 1 135px;justify-content:space-between;padding:10px 12px}}

/* Founder Legacy remains distinct from ordinary promotional gifts. */
.voc-legacy{display:inline-flex;align-items:center;gap:5px;margin:5px 5px 5px 0;padding:5px 9px;border:1px solid #a46dc9;border-radius:6px;color:#e4c8ff;background:#38214e;font-size:10px;font-weight:800;letter-spacing:1px;vertical-align:middle}.voc-card--portrait>.voc-legacy{position:absolute;z-index:2;top:82px;left:16px;margin:0}@media(max-width:700px){.voc-card--portrait>.voc-legacy{top:78px;left:10px;font-size:9px;padding:4px 7px}}
