.device-photo-notice{grid-column:1/-1;color:#6c705f;font-size:12px;line-height:1.6;padding:10px;background:#f4f4e9;border-radius:10px}
.device-photo-thumb{position:relative;min-width:0;border-radius:12px;overflow:hidden;background:#e5eadb;aspect-ratio:1}
.device-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer}
.device-photo-thumb button:not(.device-photo-open){position:absolute;right:2px;bottom:2px;min-height:44px;padding:4px 10px;background:#fffdf3e8;font-size:12px;border:0;border-radius:8px}
.device-photo-add{min-height:72px;padding:10px!important;font-size:13px!important}
.device-photo-tools{margin:14px 0;padding:14px;border:1px solid #d7decb;border-radius:14px;background:#faf8ef;color:#355844}
.device-photo-tools h3{margin:0 0 8px;font-size:17px}.device-photo-tools p,.device-photo-tools small{display:block;font-size:12px;line-height:1.7;margin:8px 0}.device-photo-tools button{min-height:44px;margin:2px;white-space:normal}.device-backup-link{display:block;padding:12px;color:#355844}
.device-photo-album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px}.device-photo-album-grid p{font-size:12px;line-height:1.5;margin:4px 0;color:#665d4e}.device-photo-error{grid-column:1/-1;color:#914e38;font-size:12px;line-height:1.6}
.device-card-overlay{position:fixed;inset:0;z-index:2147483645;background:#172c25aa;display:grid;place-items:center;padding:12px;overflow:auto;overscroll-behavior:contain}
.device-card-panel{box-sizing:border-box;width:min(100%,530px);max-height:calc(100dvh - 24px);overflow:auto;padding:14px;border-radius:18px;background:#faf8ef;color:#355844;box-shadow:0 12px 50px #14231c44}
.device-card-panel>h2{font-size:20px;margin:10px 0}.device-card{position:relative;width:min(100%,390px);margin:auto;aspect-ratio:3/4;border:1px solid #b69a5c;border-radius:12px;overflow:hidden;background:#faf8ef}
.device-card:after{content:'';position:absolute;inset:7px;border:1px solid #b69a5c88;border-radius:7px;pointer-events:none}.device-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.device-card-number{position:absolute;top:14px;left:16px;font:600 17px/1.5 system-ui;letter-spacing:.07em;color:#45634d;background:#faf8efc9;padding:4px 8px;border-radius:6px}
.device-card-copy{position:absolute;inset:auto 0 0;padding:55px 20px 22px;background:linear-gradient(transparent,#faf8efdf 40%,#faf8ef);color:#355844;z-index:2}.device-card-copy h3{font:700 26px/1.35 serif;margin:4px 0;overflow-wrap:anywhere}.device-card-copy p{font-size:14px;margin:6px 0}.device-card-copy span{font-size:12px;color:#846d43}
.device-card-monk{position:absolute;left:6%;bottom:25%;width:26%;height:auto}.device-card-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.device-card-controls>*{min-height:44px;max-width:100%;font-size:13px}.device-card-help,.device-card-panel>[role=status],.device-card-panel>p{font-size:12px;line-height:1.7;color:#75705c}.device-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-card-list button{padding:0 0 10px;overflow:hidden;white-space:normal}.device-card-list img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;margin-bottom:6px}
.lotus-party{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:12px;background:#182f26b8;overflow:hidden;isolation:isolate}.lotus-party canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.lotus-party-panel{position:relative;box-sizing:border-box;width:min(100%,440px);max-height:calc(100dvh - 24px);overflow:auto;text-align:center;border:1px solid #bba05f;border-radius:22px;padding:18px;background:#faf8eff5;color:#355844;box-shadow:0 15px 60px #14281d55}
.lotus-party-panel h2{font:700 23px/1.4 serif;margin:12px 0 6px}.lotus-party-panel>p{font-size:14px;color:#78653f;margin:8px 0 16px}.lotus-party button{min-height:44px;border:1px solid #cbd5bd;border-radius:10px;padding:8px 12px;color:#355844;background:#fffdf5;font:600 13px/1.4 system-ui;cursor:pointer}.lotus-party-skip{position:relative;display:block;margin-left:auto;font-size:12px!important}
.lotus-party-monk{position:absolute;left:0;bottom:105px;width:130px;max-height:190px;object-fit:contain;z-index:2;animation:lotusMonkJump .8s ease-out .35s both;pointer-events:none}
.lotus-party-card{position:relative;width:min(62vw,235px);aspect-ratio:3/4;margin:12px auto 20px;border:2px solid #bda464;border-radius:13px;background:#faf8ef;overflow:hidden;opacity:0;transform:translateY(60px) scale(.6);transition:transform .65s ease-out,opacity .45s}
.lotus-party-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lotus-party-card strong,.lotus-party-card b,.lotus-party-card span{position:absolute;left:8px;right:8px;z-index:1}.lotus-party-card strong{top:12px;font-size:14px;padding:5px;background:#faf8efde;border-radius:6px;color:#7e642f}.lotus-party-card b{bottom:42px;font:700 22px/1.4 serif;background:#faf8efce}.lotus-party-card span{bottom:15px;font-size:11px;color:#6e664b;background:#faf8efe8}
.has-card .lotus-party-card,.is-finished .lotus-party-card{opacity:1;transform:none}.has-card .lotus-party-card:after{content:'';position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 40%,#fff7cf66 50%,transparent 60%);animation:lotusCardGleam 1s ease-out both;pointer-events:none}
.lotus-party-options,.lotus-party-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.lotus-party-options button{font-size:11px;color:#7b755e;background:transparent}.lotus-party-actions{opacity:0;pointer-events:none;transition:opacity .2s}.is-finished .lotus-party-actions{opacity:1;pointer-events:auto}.is-finished .lotus-party-monk{animation:none;transform:none}.lotus-party-actions button:first-child{background:#456c53;color:#fff}
@keyframes lotusMonkJump{0%{opacity:0;transform:translateY(100px) scale(.6)}55%{opacity:1;transform:translateY(-32px) scale(1.08)}100%{opacity:1;transform:none}}
@keyframes lotusCardGleam{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-height:650px){.lotus-party-panel{padding:10px}.lotus-party-panel h2{font-size:18px}.lotus-party-card{width:155px;margin:6px auto}.lotus-party-monk{width:95px}.lotus-party-panel>p{margin:5px 0}}
@media(prefers-reduced-motion:reduce){.lotus-party *{animation:none!important;transition:none!important}.lotus-party-card{opacity:1;transform:none}.lotus-party-actions{opacity:1;pointer-events:auto}.lotus-party canvas{display:none}}

.device-photo-thumb .device-photo-open{position:static;display:block;width:100%;height:100%;padding:0!important;border:0;border-radius:0;background:transparent}.device-photo-viewer{z-index:2147483644!important}
.device-card-controls label{display:flex;align-items:center;gap:8px;width:100%;font-size:12px;color:#736d57}.device-card-controls input[type=checkbox]{width:20px;height:20px;accent-color:#456c53}
.device-card-list .device-card-tile{width:100%;aspect-ratio:3/4;padding:0!important;border:1px solid #b69a5c!important;border-radius:10px;min-height:0}.device-card-tile .device-card-number{font-size:11px;top:8px;left:7px;padding:2px 4px}.device-card-tile .device-card-copy{padding:30px 10px 12px}.device-card-tile .device-card-copy h3{font-size:16px;line-height:1.4}.device-card-tile .device-card-copy p{font-size:11px;margin:3px 0}.device-card-tile .device-card-copy span{font-size:10px}.device-card-list .device-card-art{aspect-ratio:auto;margin:0}
@media(max-height:500px) and (orientation:landscape){.lotus-party-panel{width:min(96vw,620px);display:grid;grid-template-columns:minmax(0,1fr)155px;gap:4px 10px;padding:10px}.lotus-party-skip{grid-column:1/3}.lotus-party-panel h2,.lotus-party-panel>p,.lotus-party-options,.lotus-party-actions{grid-column:1;margin:4px 0}.lotus-party-card{grid-column:2;grid-row:2/6;width:150px;margin:0}.lotus-party-monk{left:auto;right:8px;bottom:8px;width:80px}.lotus-party-panel h2{font-size:19px}}
.device-photo-backup{grid-column:1/-1;min-height:44px;font-size:12px}
/* Readers opened from the catalog/settings must appear above their source modal. */
.device-card-overlay{z-index:2147483647!important}
.device-card-tile .device-card-copy{display:flex;flex-direction:column;gap:2px}
.device-card-tile .device-card-monk{width:30%;height:auto;aspect-ratio:auto;left:6%;bottom:41%;margin:0;z-index:1}
.device-backup-link.btn-primary{display:flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;color:#fff!important;text-decoration:none;font-weight:700}
.device-card[data-card-theme=forest]{border-color:#6f987c;background:#edf2e7}.device-card[data-card-theme=forest] .device-card-copy{background:linear-gradient(transparent,#edf2e7df 40%,#edf2e7)}
.device-card[data-card-theme=moon]{background:#153c47;border-color:#b9d2b8}.device-card[data-card-theme=moon] .device-card-art{filter:brightness(.45) saturate(.65)}.device-card[data-card-theme=moon] .device-card-copy{background:linear-gradient(transparent,#153c47dd 40%,#153c47)}.device-card[data-card-theme=moon] .device-card-copy :is(h3,p,span){color:#dce9d8}
.device-card[data-card-theme=lotus]{border-color:#b99b65;background:#fff0ed}.device-card[data-card-theme=lotus] .device-card-copy{background:linear-gradient(transparent,#fff0eddd 40%,#fff0ed)}
.device-card[data-card-theme=journal]{border-style:dashed;background:#f1e4cc}.device-card[data-card-theme=journal] .device-card-art{filter:sepia(.35)}.device-card[data-card-theme=journal] .device-card-copy{background:linear-gradient(transparent,#f1e4ccdd 40%,#f1e4cc)}
.device-theme-detail{position:absolute;right:8%;top:16%;z-index:1;font-size:34px;color:#f7e6ad;pointer-events:none}.device-card[data-card-theme=journal] .device-theme-detail{font-size:12px;padding:8px;border:1px dashed #937a55;border-radius:50%;color:#68503c}
.device-card[data-card-decoration="5"]:after{border-style:double}.device-card[data-card-decoration="10"]:after{border-width:3px}.device-card[data-card-decoration="20"]:after{border-style:dashed;border-width:3px}.device-card[data-card-decoration="50"]:after{border-width:5px;border-style:double;box-shadow:inset 0 0 15px #d5ad5966}
.device-card[data-card-theme=forest] .device-card-art{filter:saturate(.85)}.device-card-png-link{display:flex;align-items:center;justify-content:center;min-height:48px;color:#fff!important;background:#456b54;padding:10px;border-radius:10px;text-decoration:none}

#deviceCardOverlay .device-card[data-card-theme=moon] .device-card-copy :is(h3,p,span){color:#dce9d8!important}
