.purchased-charm-art{width:min(100%,280px);aspect-ratio:1;background-image:url('/assets/omamori-sheet.png');background-size:300% 200%;background-repeat:no-repeat;border-radius:18px;margin:16px auto}.owned-charm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.owned-charm-card{padding:12px;border:1px solid #ceb887;border-radius:14px;background:#fffaf0;color:#46261c;text-decoration:none;display:flex;flex-direction:column;gap:8px;text-align:center}.owned-charm-card .purchased-charm-art{margin:0 auto;width:160px;max-width:100%}.owned-charm-card span{font-size:14px}.site-guide{max-width:850px;margin:24px auto;padding:24px;background:#fffaf0;border:1px solid #ceb887;border-radius:18px}.site-guide details{border-bottom:1px solid #ded2b9;padding:16px 0}.site-guide summary{cursor:pointer;font-size:18px;font-weight:700}.site-guide p,.site-guide li{font-size:16px;line-height:1.8}.charm-viewer{margin:0;background:#fff9ec;color:#42281e;font-family:system-ui,sans-serif;line-height:1.7}.charm-viewer header{display:flex;justify-content:space-between;padding:16px;gap:16px}.charm-viewer a{color:#8d2222}.charm-viewer main{max-width:540px;margin:auto;padding:16px 24px 60px;text-align:center}.charm-viewer h1{font-family:serif;font-size:32px}.charm-viewer button,#buyDigitalCharm,#refreshPurchasedCharms,#confirmCharmPurchase{font:inherit;min-height:44px;padding:10px 18px;border-radius:10px;border:1px solid #ab3028;background:#a51f1c;color:#fff;cursor:pointer}.charm-viewer button:disabled,#buyDigitalCharm:disabled{opacity:.6;cursor:default}.charm-viewer [hidden]{display:none!important}.charm-viewer details{text-align:left;padding:20px;margin-top:24px;border:1px solid #ceb887;border-radius:14px}.charm-viewer summary{cursor:pointer;font-weight:bold}.charm-viewer .purchased-charm-art{width:min(100%,360px)}.viewer-eyebrow{color:#80634b;font-size:14px}
/* Owned charms are complete, non-clickable cards rather than links to detail screens. */
.owned-charm-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}.owned-charm-card{padding:22px 18px;gap:12px;min-width:0}.owned-charm-card h3{margin:0;font-family:serif;font-size:24px}.owned-charm-card .purchased-charm-art{width:min(100%,300px)}.owned-charm-card p{margin:0;line-height:1.8}.owned-charm-description{font-size:16px;text-align:left}.owned-charm-dates,.owned-charm-validity{font-size:14px}.charm-browser-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;text-align:left;min-width:0}.charm-browser-actions>a,.charm-browser-actions>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:1 1 190px;min-height:48px;padding:10px 14px;font:inherit;font-size:16px;border-radius:10px;border:1px solid #a83229;background:#a51f1c;color:white;text-decoration:none;cursor:pointer}.charm-browser-actions>button{background:#fff9eb;color:#8d2222}.charm-browser-help{width:100%;box-sizing:border-box;border:1px solid #ceb887;border-radius:10px;padding:12px;margin:0!important}.charm-browser-help summary{font-size:14px;line-height:1.6;cursor:pointer}.charm-browser-help p{font-size:14px;line-height:1.8;margin:12px 0}.charm-browser-help label{display:block;font-size:14px;margin-top:14px}.charm-browser-help input{display:block;box-sizing:border-box;width:100%;min-width:0;padding:10px;font-size:16px;background:white;color:#42281e;border:1px solid #ba9b6c;border-radius:6px}.charm-browser-status{width:100%;font-size:14px;line-height:1.7;margin:0}.charm-browser-status:empty{display:none}.charm-browser-actions :focus-visible{outline:3px solid #416f9d;outline-offset:3px}

.charm-viewer header{align-items:center;flex-wrap:wrap}
.charm-viewer .charm-book-return{display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:10px 16px;border:1px solid #a83229;border-radius:10px;background:#a51f1c;color:#fff;font-size:16px;font-weight:700;text-decoration:none}
.charm-viewer .charm-book-return:focus-visible{outline:3px solid #416f9d;outline-offset:3px}

.charm-install-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border-radius:10px;background:#a51f1c;color:#fff;text-decoration:none;font-size:16px;font-weight:700}
.charm-install-link:focus-visible{outline:3px solid #416f9d;outline-offset:3px}

.charm-image-tools{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;text-align:left;padding:18px 0;border-top:1px solid #ceb887}.charm-image-tools label{font-size:16px;line-height:1.7}.charm-image-tools input{display:block;box-sizing:border-box;width:100%;font:inherit;font-size:16px;padding:12px;margin-top:8px;border:1px solid #ba9b6c;border-radius:8px;background:white;color:#42281e}.charm-image-tools button,.charm-image-tools>a{min-height:48px;padding:12px;box-sizing:border-box;font:inherit;font-size:16px;background:#a51f1c;color:white;border:0;border-radius:10px;text-align:center;text-decoration:none;cursor:pointer}.charm-image-tools img{width:100%;height:auto;border-radius:8px}.charm-image-tools [hidden]{display:none!important}.charm-image-tools .charm-image-help{font-size:14px;line-height:1.8}.charm-image-tools :focus-visible{outline:3px solid #416f9d;outline-offset:3px}
