/* Profile windows share the game's ivory shell. Custom art is used only on the
   profile itself and its explicit preview; controls keep their existing art. */
html body dialog.public-profile-sheet{padding:0;width:min(448px,calc(var(--safe-width,100vw) - 24px));height:min(740px,calc(var(--safe-height,100dvh) - 24px));overflow:hidden;color:var(--kit-ink,#292724);font-family:var(--font-ui);background:#f4f0e6;border-image:var(--kit-panel-main) var(--kit-slice) fill / 48px / 0 stretch}
html body dialog.public-profile-sheet[open]{display:grid;grid-template-rows:64px auto minmax(0,1fr) auto}
html body dialog.public-profile-dialog{border-image:var(--public-profile-frame,var(--kit-panel-main)) var(--public-profile-frame-slice,20.414673%) fill / var(--public-profile-frame-width,48px) / 0 stretch}
.public-profile-header{min-width:0;display:grid;place-items:center;padding:0 64px;border-bottom:1px solid #aa854530}.public-profile-header>.sheet-title{padding:0;margin:0;text-align:center;font-size:22px;line-height:1.3;white-space:nowrap}
.public-profile-status{padding:8px 20px 0;margin:0;font-size:12px;line-height:1.5;color:#983e27;overflow-wrap:anywhere}.public-profile-status:empty{padding:0}.public-profile-scroll{padding:16px 22px 22px;overflow:auto;min-height:0;min-width:0;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}.public-profile-footer{display:flex;gap:10px;align-items:center;padding:12px 20px 18px;border-top:1px solid #aa854530}.public-profile-footer>button{min-height:46px;flex:1;font-family:var(--font-ui)}.public-profile-footer>.public-profile-confirm{flex:0 0 64px;border:0;background:none;color:#766340;font-size:14px}
.public-profile-identity{display:flex;flex-direction:column;align-items:center;gap:7px;padding:0 0 14px}.public-profile-name-row{display:flex;align-items:center;justify-content:center;gap:6px;max-width:100%}.public-profile-nickname{min-width:0;overflow-wrap:anywhere;font-size:23px;font-weight:400;line-height:1.4;text-align:center}.public-profile-name-edit{display:grid;place-items:center;width:44px;height:44px;padding:12px;flex:none;background:none;border:0;color:#977942}.public-profile-name-edit>.button-icon{width:20px;height:20px;fill:currentColor}
.public-profile-ranks{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0;border-top:1px solid #a988452f;border-bottom:1px solid #a988452f}.public-profile-rank{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0}.public-profile-rank-label{font-size:12px;color:#8b7550}.public-profile-rank-name{font-size:14px;line-height:1.35;font-weight:400;text-align:center;word-break:keep-all}.public-profile-no-rank{height:72px;display:grid;place-items:center;font:26px var(--font-stats);color:#baa983}
.public-profile-stats{display:grid;grid-template-columns:1fr 1fr;padding:18px 0 12px;gap:14px}.public-profile-stat{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.public-profile-stat-value{font:24px/1.2 var(--font-stats);color:#765a2f;overflow-wrap:anywhere}.public-profile-stat-label{font-size:12px;color:#847458}.public-profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.public-profile-section-head>h3{font-size:15px;font-weight:400;margin:0;color:#6f5a39}.public-profile-link{min-height:44px;padding:6px 0 6px 12px;border:0;background:none;color:#94743f;font:12px var(--font-ui)}
.public-profile-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 0 15px}.public-profile-badge{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:7px 2px 9px;min-width:0;min-height:106px;border:1px solid transparent;background:none;color:#615137;touch-action:pan-y}.public-profile-badge-art{display:block;width:70px;height:70px;max-width:100%;object-fit:contain}.public-profile-badge-name{font-size:11px;line-height:1.35;text-align:center;overflow-wrap:anywhere;word-break:keep-all}.public-profile-empty-slot{display:block;min-width:0;min-height:106px;border:1px dashed #a48c5945;border-radius:8px;background:radial-gradient(ellipse,#ad966211,transparent 74%);padding:0}.public-profile-earned{padding-top:4px;border-top:1px solid #a9884528}.public-profile-earned-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.public-profile-empty{grid-column:1/-1;margin:20px 0;text-align:center;color:#9a8b6d;font-size:13px;line-height:1.65}
.public-profile-showcase-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.public-profile-badge[aria-pressed=true]{border-color:#b39356;background:#bea76f24;border-radius:8px}.public-profile-condition{font-size:12px;line-height:1.6;color:#8a7756;white-space:pre-wrap;overflow-wrap:anywhere}.public-profile-achievement-list{display:flex;flex-direction:column;gap:10px}.public-profile-achievement-row{display:grid;grid-template-columns:58px minmax(0,1fr) 62px;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #b2945a2b}.public-profile-achievement-inspect{width:58px;min-height:58px;padding:0;border:0;background:none}.public-profile-achievement-copy>strong{font-size:14px;font-weight:400;line-height:1.4}.public-profile-achievement-copy>.public-profile-condition{font-size:11px;margin:5px 0}.public-profile-progress-value{font:11px var(--font-stats);color:#997e49}.public-profile-achievement-claim{min-height:44px;padding:8px 4px;border:1px solid #ad8c4d66;background:#c9b1742a;color:#80612c;font:12px var(--font-ui);border-radius:6px}.public-profile-achievement-claim:disabled{opacity:.45}.public-profile-earned-label{font-size:11px;line-height:1.5;color:#9c8351;text-align:center}.public-profile-achievement-detail{display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center;padding:10px 4px 24px}.public-profile-achievement-detail>h3{font-size:22px;line-height:1.4;font-weight:400;margin:0}.public-profile-achievement-detail>p{font-size:14px;line-height:1.7;margin:0}.public-profile-achievement-hero{width:170px;height:170px;object-fit:contain}.public-profile-earned-date{color:#9e8962;font-size:11px!important}
.public-profile-customization-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.public-profile-tab{min-height:44px;border:0;border-bottom:2px solid transparent;background:none;color:#8c7b5b;padding:5px 2px;font:12px var(--font-ui)}.public-profile-tab[aria-pressed=true]{border-bottom-color:#aa8545;background:#b7995f20;color:#62491f}.public-profile-customization-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:14px auto 18px;width:min(280px,100%);padding:20px 22px;min-height:180px;background:#f4f0e6;border-image:var(--public-profile-frame) var(--public-profile-frame-slice) fill / 32px / 0 stretch}.public-profile-customization-preview>strong{font-size:14px;font-weight:400;text-align:center}.public-profile-customization-preview>.public-profile-condition{text-align:center;font-size:11px;margin:0}.public-profile-customization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 8px}.public-profile-cosmetic{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 2px;min-width:0;border:1px solid transparent;border-radius:7px;background:none;color:#75613e}.public-profile-cosmetic[aria-pressed=true]{border-color:#b79859;background:#b7985921}.public-profile-cosmetic[data-owned=false]{opacity:.58}.public-profile-cosmetic-name{font:11px/1.4 var(--font-ui);text-align:center;overflow-wrap:anywhere}.public-profile-cosmetic-state{font:10px/1.3 var(--font-ui);color:#a0844e}.public-profile-frame-preview{display:block;width:72px;height:92px;max-width:100%;background:#f4f0e6;border-image:var(--public-profile-frame) var(--public-profile-frame-slice) fill / 16px / 0 stretch}
.public-profile-nickname-input{display:block;width:100%;min-height:44px;padding:9px 10px;border:1px solid #a98b5466;background:#fffaf0;color:#49402f;font:16px var(--font-ui);border-radius:6px}.public-profile-rename-form{padding-top:18px}.public-profile-rename-form>.public-profile-condition{margin-top:16px}.public-profile-sheet button:disabled{cursor:default}.public-profile-sheet button:focus-visible,.public-profile-nickname-input:focus-visible{outline:none;}
html body dialog.public-profile-achievement-info{height:min(530px,calc(var(--safe-height,100dvh) - 24px))}html body dialog.public-profile-rename{height:min(320px,calc(var(--safe-height,100dvh) - 24px))}
@media(max-width:350px){.public-profile-scroll{padding:12px 16px 18px}.public-profile-footer{padding-inline:16px}.public-profile-nickname{font-size:21px}.public-profile-header>.sheet-title{font-size:20px}.public-profile-ranks{gap:8px}.public-profile-rank-name{font-size:12px}.public-profile-badge-art{width:62px;height:62px}.public-profile-badge,.public-profile-empty-slot{min-height:96px}.public-profile-achievement-row{grid-template-columns:48px minmax(0,1fr) 54px;gap:7px}.public-profile-achievement-inspect{width:48px}.public-profile-achievement-copy>strong{font-size:12px}.public-profile-condition{font-size:11px}.public-profile-tab{font-size:11px}}
@media(prefers-reduced-motion:reduce){.public-profile-sheet *{scroll-behavior:auto}}
/* This original has an opaque cream center: paint it beneath the content, not
   as an overlay, and keep all text and controls in the normal document layer. */
html body dialog.public-profile-dialog[data-popup-frame=profile-popup-laurel],.public-profile-customization-preview[data-popup-frame=profile-popup-laurel],.public-profile-frame-preview[data-popup-frame=profile-popup-laurel]{border-image:none;border-color:transparent;background:#f4f0e6 var(--public-profile-frame) center/contain no-repeat}

/* The approved laurel canvas is 1024 × 1536. Preserve that portrait ratio;
   the central content scrolls independently inside the painted cream panel. */
html body dialog.public-profile-dialog[data-frame-render=background]{border:0;width:min(448px,calc(var(--safe-width,100vw) - 24px),calc((var(--safe-height,100dvh) - 24px) / 1.5));height:auto;min-height:0;max-height:calc(var(--safe-height,100dvh) - 24px);aspect-ratio:2 / 3;background-color:#f4f0e6;background-size:contain;border-image:none}
.public-profile-customization-preview[data-frame-render=background]{width:min(220px,100%);height:auto;min-height:0;aspect-ratio:2 / 3;padding:30px 18px;background-size:contain;border-image:none}
.public-profile-frame-preview[data-frame-render=background]{height:auto;aspect-ratio:2 / 3;background-size:contain;border-image:none}
