@layer components{.module-app.memory-app,.module-app.memory-app.theme-moonlit{height:100%;min-height:100%;color:#faf6ee!important;background:radial-gradient(at 50% -10%,#c9c2b61a,#0000 52%),radial-gradient(circle at 90% 25%,#a7a0920b,#0000 45%),radial-gradient(circle at 10% 65%,#c9c2b606,#0000 40%),linear-gradient(#100e0c 0%,#171411 48%,#0d0c0a 100%)!important;overflow:hidden!important}.module-app.memory-app .memory-body{width:100%;min-width:0;max-width:620px;min-height:0;padding:0 14px calc(42px + var(--safe-area-inset-bottom,0px));scrollbar-width:none;box-sizing:border-box;flex-direction:column;flex:auto;gap:14px;margin:0 auto;display:flex;background:0 0!important;overflow:hidden auto!important}.module-app.memory-app .memory-body::-webkit-scrollbar{display:none}.module-app.memory-app .memory-body>*{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.memory-app .mem-top{z-index:50;box-sizing:border-box;-webkit-backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:100%;height:52px;padding:0 2px;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #0006;background:#120f0df0!important;border-bottom:1px solid #c9c2b62e!important}.memory-app .mem-back,.memory-app .mem-manage-btn{cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;width:34px;min-width:34px;height:34px;transition:all .2s;display:grid;color:#faf6ee!important;background:#c9c2b60f!important;border:1px solid #c9c2b647!important}.memory-app .mem-back:hover,.memory-app .mem-manage-btn:hover{transform:translateY(-1px);background:#c9c2b624!important;border-color:#c9c2b68c!important}.memory-app .mem-back:active,.memory-app .mem-manage-btn:active{transform:translateY(1px)}.memory-app .mem-top-t{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;min-width:0;max-width:100%;padding:0 4px;display:flex;overflow:hidden}.memory-app .mem-top-t b{color:#faf6ee;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:100%;font-size:14px;font-weight:800;overflow:hidden}.memory-app .mem-top-t span{color:#ebdac4a6;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:100%;font-size:9.5px;overflow:hidden}.memory-app .mem-controls-bar{z-index:45;justify-content:space-between;align-items:center;gap:8px;padding:4px 0 2px;display:flex;position:relative}.memory-app .mem-world-picker{flex:0 auto;position:relative}.memory-app .mem-world-btn{color:#faf6ee;cursor:pointer;background:#c9c2b60a;border:1px solid #c9c2b638;border-radius:9px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.memory-app .mem-world-btn:hover{background:#c9c2b614;border-color:#c9c2b673}.memory-app .mem-world-dropdown{z-index:80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#16120ffa;border:1px solid #c9c2b640;border-radius:12px;flex-direction:column;gap:4px;min-width:170px;max-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #0000008c}.memory-app .mem-world-item{color:#faf6eecc;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:11.5px;transition:all .15s;display:flex}.memory-app .mem-world-item:hover{color:#faf6ee;background:#c9c2b614}.memory-app .mem-world-item.active{color:#c9c2b6;background:linear-gradient(135deg,#2e241cf2,#1b1612f2);border-color:#c9c2b68c;font-weight:700}.memory-app .mem-kind-switch{box-sizing:border-box;background:#08070647;border:1px solid #c9c2b62e;border-radius:9px;align-items:center;gap:0;height:31px;padding:2px;display:flex}.memory-app .mem-kind-btn{color:#faf6eea3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:5px;height:25px;min-height:25px;padding:0 10px;font-size:11px;font-weight:700;transition:all .18s;display:inline-flex}.memory-app .mem-kind-btn.active{color:#17110a;background:linear-gradient(135deg,#c9c2b6,#a7a092);border-color:#e8e2d8d1;box-shadow:0 1px 6px #c9c2b633}.memory-app .mem-kind-btn .count{opacity:.75;font-size:9px}.memory-app .mem-sec-t{color:#faf6ee;letter-spacing:.04em;align-items:baseline;gap:8px;padding:4px 2px 0;font-size:13px;font-weight:800;display:flex}.memory-app .mem-sec-t span{color:#ebdac48c;font-size:10.5px;font-weight:400}.memory-app .mem-char-list{flex-direction:column;gap:12px;display:flex}.memory-app .mem-char-card{cursor:pointer;text-align:left;box-sizing:border-box;background:#1a1512db;border:1px solid #c9c2b63d;border-radius:14px;flex-direction:column;gap:10px;width:100%;padding:14px 15px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 8px 24px #00000073}.memory-app .mem-char-card:hover{border-color:#c9c2b68c;transform:translateY(-2px);box-shadow:0 12px 30px #00000094,0 0 14px #c9c2b626}.memory-app .mem-char-card:active{transform:translateY(0)}.memory-app .mem-washi-tape{color:#18120c;letter-spacing:.08em;background:linear-gradient(90deg,#c9c2b6e6,#a7a092e6);border-radius:2px;padding:1.5px 8px;font-size:7.5px;font-weight:800;position:absolute;top:-8px;left:20px;box-shadow:0 2px 5px #00000059}.memory-app .mem-char-top-row{align-items:center;gap:12px;display:flex}.memory-app .mem-char-avatar-box{background:#14100d;border:1.5px solid #c9c2b661;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:22px;display:grid;overflow:hidden;box-shadow:0 3px 10px #0000004d}.memory-app .mem-char-avatar-box img,.memory-app .mem-char-avatar-box .avatar-img{object-fit:cover;width:100%;height:100%}.memory-app .mem-char-main-info{flex:1;min-width:0}.memory-app .mem-char-name-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.memory-app .mem-char-name-line b{color:#faf6ee;font-size:14.5px;font-weight:800}.memory-app .mem-char-role-chip{color:#c9c2b6;background:#c9c2b61f;border:1px solid #c9c2b638;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:600}.memory-app .mem-char-role-chip.bond{color:#faf6ee;background:#c9c2b638;border-color:#e8e2d8a6}.memory-app .mem-char-count-badge{color:#c9c2b6;white-space:nowrap;background:#08070673;border:1px solid #c9c2b633;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.memory-app .mem-char-arrow{color:#c9c2b680;margin-left:4px;font-size:14px}.memory-app .mem-char-latest-preview{background:#0e0b09a6;border:1px solid #c9c2b626;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.memory-app .mem-char-latest-head{justify-content:space-between;align-items:center;gap:6px;font-size:10px;display:flex}.memory-app .mem-char-latest-head .t{color:#faf6ee;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.memory-app .mem-char-latest-head .d{color:#ebdac48c;flex-shrink:0}.memory-app .mem-char-latest-quote{color:#ebdac4c7;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-style:italic;line-height:1.5;display:-webkit-box;overflow:hidden}.memory-app .mem-char-empty-quote{color:#ebdac473;padding:2px 0;font-size:11px;font-style:italic}.memory-app .mem-track-switch{box-sizing:border-box;background:#120e0cd9;border:1px solid #c9c2b638;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;width:100%;min-width:0;max-width:100%;padding:3px;display:grid}.memory-app .mem-track-btn{box-sizing:border-box;color:#faf6eea6;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:4px;width:100%;min-width:0;padding:8px 4px;font-size:11.5px;font-weight:700;transition:all .2s;display:flex}.memory-app .mem-track-btn span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.memory-app .mem-track-btn.active{color:#faf6ee;background:linear-gradient(135deg,#2e261ef2,#1c1611f2);border-color:#c9c2b68c;box-shadow:0 4px 14px #00000059}.memory-app .mem-track-pane{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%;display:flex}.memory-app .mem-search-wrap{width:100%;position:relative}.memory-app .mem-search-icon{color:#c9c2b673;pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.memory-app .mem-search{box-sizing:border-box;width:100%;font-size:12.5px;transition:all .2s;color:#faf6ee!important;background:#120e0cb3!important;border:1px solid #c9c2b638!important;border-radius:9px!important;padding:9px 12px 9px 34px!important}.memory-app .mem-search:focus{outline:none;background:#181310e6!important;border-color:#c9c2b699!important;box-shadow:0 0 12px #c9c2b626!important}.memory-app .mem-cat-row{box-sizing:border-box;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;width:100%;min-width:0;max-width:100%;padding:2px 0 4px;display:flex;overflow-x:auto}.memory-app .mem-cat-row::-webkit-scrollbar{display:none}.memory-app .mem-cat-pill{color:#ebdac4b3;white-space:nowrap;cursor:pointer;background:#14100da6;border:1px solid #c9c2b633;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:5px 11px;font-size:11px;transition:all .18s;display:inline-flex}.memory-app .mem-cat-pill:hover{color:#faf6ee;border-color:#c9c2b673}.memory-app .mem-cat-pill.active{font-weight:800;box-shadow:0 1px 8px #c9c2b64d;color:#17110a!important;background:#c9c2b6!important;border-color:#e8e2d8!important}.memory-app .mem-cards{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%;display:flex}.memory-app .mem-card{cursor:pointer;text-align:left;box-sizing:border-box;background:#1a1512db;border:1px solid #c9c2b63d;border-radius:14px;flex-direction:column;gap:8px;width:100%;padding:13px 14px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 8px 24px #00000073}.memory-app .mem-card:hover{border-color:#c9c2b685;transform:translateY(-2px);box-shadow:0 12px 30px #0000008c,0 0 14px #c9c2b61f}.memory-app .mem-card:active{transform:translateY(0)}.memory-app .mem-card-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.memory-app .mem-level-badge{letter-spacing:.04em;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.memory-app .mem-level-badge .star{font-size:10px;line-height:1}.memory-app .mem-level-badge.lv-a{color:#faf6ee;background:linear-gradient(135deg,#e8e2d840,#c9c2b61f);border:1px solid #e8e2d8d9;box-shadow:0 0 8px #e8e2d847}.memory-app .mem-level-badge.lv-b{color:#e8e2d8;background:#c9c2b629;border:1px solid #c9c2b68c}.memory-app .mem-level-badge.lv-c{color:#c9c2b6;background:#c9c2b614;border:1px solid #c9c2b652}.memory-app .mem-level-badge.lv-d{color:#ebdac4a6;background:#ffffff0a;border:1px solid #c9c2b633}.memory-app .mem-level-badge.lv-e{color:#ebdac473;background:0 0;border:1px dashed #c9c2b633}.memory-app .mem-stamp{color:#ebdac4b8;align-items:center;gap:8px;margin-left:auto;font-size:10.5px;display:inline-flex}.memory-app .mem-stamp .venue{color:#faf6ee;font-weight:600}.memory-app .mem-stamp .time{color:#c9c2b6;font-variant-numeric:tabular-nums}.memory-app .mem-card h4{color:#faf6ee;letter-spacing:.02em;margin:0;font-size:14.5px;font-weight:800;line-height:1.4}.memory-app .mem-anchor-tag{font-family:var(--story-font-mono,monospace);color:#c9c2b6;text-overflow:ellipsis;white-space:nowrap;background:#0c0a08bf;border:1px solid #c9c2b633;border-radius:5px;align-items:center;gap:6px;max-width:100%;padding:3px 8px;font-size:10px;display:inline-flex;overflow:hidden}.memory-app .mem-anchor-tag .anchor-k{color:#e8e2d8;background:#c9c2b629;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:8.5px;font-weight:700}.memory-app .mem-anchor-tag .anchor-v{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.memory-app .mem-quote{color:#faf6eed1;-webkit-line-clamp:2;background:#0e0b098c;border-left:2px solid #c9c2b666;border-radius:0 6px 6px 0;-webkit-box-orient:vertical;margin:0;padding:7px 10px;font-size:12px;font-style:italic;line-height:1.6;display:-webkit-box;overflow:hidden}.memory-app .mem-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:10px;display:flex}.memory-app .mem-foot .cat-tag{color:#c9c2b6;background:#c9c2b61f;border:1px solid #c9c2b633;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-weight:600;display:inline-flex}.memory-app .mem-foot .with-tag{color:#ebdac499}.memory-app .mem-foot .arrow-link{color:#c9c2b6a6;align-items:center;gap:3px;margin-left:auto;font-size:10px;display:inline-flex}.memory-app .mem-cassette-card{cursor:pointer;text-align:left;background:#181411eb;border:1px solid #c9c2b647;border-radius:13px;flex-direction:column;gap:9px;padding:13px 15px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 8px 22px #00000073;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.memory-app .mem-cassette-card:hover{border-color:#c9c2b699;transform:translateY(-2px);box-shadow:0 12px 28px #0000008c,0 0 12px #c9c2b626}.memory-app .mem-cassette-card:active{transform:translateY(0)}.memory-app .mem-cassette-spool{border-bottom:1px solid #c9c2b62e;justify-content:space-between;align-items:center;padding-bottom:7px;display:flex}.memory-app .mem-cassette-spool .hole{background:#0f0d0b;border:1.5px solid #c9c2b68c;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 3px #000c}.memory-app .mem-cassette-spool .tape-line{background:linear-gradient(90deg,#c9c2b640,#c9c2b6a6,#c9c2b640);flex:1;height:2px;margin:0 12px}.memory-app .mem-cassette-title{color:#faf6ee;letter-spacing:.02em;align-items:center;gap:7px;font-size:13.5px;font-weight:800;display:flex}.memory-app .mem-cassette-meta{color:#ebdac4b3;background:#0e0b0973;border-left:2px solid #c9c2b659;border-radius:6px;padding:6px 9px;font-size:11.5px;line-height:1.5}.memory-app .mem-cassette-foot{color:#c9c2b6;justify-content:space-between;align-items:center;padding-top:2px;font-size:10.5px;display:flex}.memory-app .mem-add-box{background:#181411f0;border:1px solid #c9c2b659;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex;box-shadow:0 8px 28px #0000008c}.memory-app .mem-chip-row{flex-wrap:wrap;gap:6px;display:flex}.memory-app .mem-pick-chip{color:#c9c2b6;cursor:pointer;background:#0e0b09b3;border:1px solid #c9c2b640;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;transition:all .15s;display:inline-flex}.memory-app .mem-pick-chip:hover{color:#faf6ee;border-color:#c9c2b680}.memory-app .mem-pick-on{font-weight:800;color:#17110a!important;background:#c9c2b6!important;border-color:#e8e2d8!important}.memory-app .mem-add-keepsake-btn,.memory-app .mem-add-btn{cursor:pointer;justify-content:center;align-items:center;gap:7px;margin-top:4px;transition:all .2s;box-sizing:border-box!important;color:#faf6ee!important;width:100%!important;min-width:0!important;max-width:100%!important;box-shadow:none!important;background:#c9c2b60f!important;border:1.5px dashed #c9c2b661!important;border-radius:12px!important;padding:12px 16px!important;font-size:13px!important;font-weight:700!important;display:flex!important}.memory-app .mem-add-keepsake-btn:hover,.memory-app .mem-add-btn:hover{transform:translateY(-1px);color:#faf6ee!important;background:#c9c2b624!important;border-color:#c9c2b6b3!important}.memory-app .mem-add-keepsake-btn:active,.memory-app .mem-add-btn:active{transform:translateY(1px)}.memory-app .mem-add-ok{color:#17110a;cursor:pointer;background:linear-gradient(135deg,#c9c2b6,#a7a092);border:1px solid #e8e2d8;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:800;box-shadow:0 2px 8px #c9c2b640}.memory-app .mem-add-actions{justify-content:flex-end;gap:8px;display:flex}.memory-app .mem-detail-sheet{background:#1a1512e0;border:1px solid #c9c2b64d;border-radius:16px;flex-direction:column;gap:14px;padding:18px 16px;display:flex;position:relative;box-shadow:0 12px 36px #0000008c}.memory-app .mem-detail-header-block{border-bottom:1px solid #c9c2b633;flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.memory-app .mem-detail-header-block h3{color:#faf6ee;letter-spacing:.03em;margin:0;font-size:17px;font-weight:800}.memory-app .mem-detail-meta-row{flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.memory-app .mem-detail-prose{color:#faf6ee;white-space:pre-wrap;word-break:break-word;background:#0e0b0980;border:1px solid #c9c2b626;border-radius:10px;padding:14px;font-size:13.5px;line-height:1.85}.memory-app .mem-origin{background:#120e0cb3;border:1px dashed #c9c2b659;border-radius:10px;padding:12px 14px}.memory-app .mem-chatlog{flex-direction:column;gap:8px;max-height:50vh;padding:4px 0;display:flex;overflow-y:auto}.memory-app .mem-bubble{overflow-wrap:anywhere;border-radius:8px;max-width:88%;padding:8px 12px;font-size:12.5px;line-height:1.6}.memory-app .mem-bubble.me{color:#17110a;background:linear-gradient(135deg,#c9c2b6,#a7a092);border:1px solid #e8e2d8;border-radius:10px 4px 10px 10px;align-self:flex-end}.memory-app .mem-bubble.npc{color:#faf6ee;background:#1c1713f2;border:1px solid #c9c2b652;align-self:flex-start}.memory-app .mem-bubble.npc.track-a{clip-path:polygon(8px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 8px);border-radius:4px 10px 10px}.memory-app .mem-sheet-mask{z-index:70;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.memory-app .mem-sheet{background:#16120ff7;border-top:1.5px solid #c9c2b659;border-radius:16px 16px 0 0;width:min(620px,100%);max-height:82vh;padding:16px 16px 36px;overflow-y:auto;box-shadow:0 -8px 32px #0009}.memory-app .mem-sheet h3{color:#faf6ee;margin:4px 0 12px;font-size:14.5px;font-weight:800}.memory-app .mem-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.memory-app .mem-btn{color:#faf6ee;cursor:pointer;background:#c9c2b614;border:1px solid #c9c2b647;border-radius:7px;align-items:center;gap:4px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.memory-app .mem-btn:hover{background:#c9c2b626;border-color:#c9c2b68c}.memory-app .mem-btn:active{transform:translateY(1px)}.memory-app .mem-btn.danger{color:#ff8585!important;background:#c81e1e26!important;border-color:#c81e1e80!important}.memory-app .mem-btn:disabled{opacity:.35;cursor:not-allowed}.memory-app .form-input,.memory-app .form-textarea{box-sizing:border-box;width:100%;color:#faf6ee!important;background:#0e0b09b3!important;border:1px solid #c9c2b638!important;border-radius:8px!important;padding:8px 10px!important;font-size:12.5px!important}.memory-app .form-input:focus,.memory-app .form-textarea:focus{outline:none;border-color:#c9c2b699!important}.memory-app .mem-empty{text-align:center;color:#ebdac473;padding:32px 0;font-size:12px;font-style:italic}.memory-app .mem-more{color:#faf6ee;cursor:pointer;background:#c9c2b60f;border:1px solid #c9c2b64d;border-radius:8px;width:100%;padding:9px;font-size:12px}.memory-app .mem-section-label{color:#c9c2b6;margin:8px 0 4px;font-size:11px;font-weight:700}.memory-app .mem-hint{color:#ebdac480;font-size:11px;line-height:1.5}.memory-app .mem-archviewer{flex-direction:column;width:min(620px,100%);height:100%;display:flex;background:#120e0bfa!important}.memory-app .mem-arch-head{background:#181410fa;border-bottom:1px solid #c9c2b638;align-items:center;gap:8px;padding:12px 14px;display:flex}.memory-app .mem-arch-nameplate{letter-spacing:.15em;color:#17110a;background:#c9c2b6;border-radius:3px;margin-right:4px;padding:1px 6px;font-size:9px;font-weight:800;display:inline-block}@media (width<=360px){.memory-app .mem-top-t b,.memory-app .mem-card h4{font-size:13.5px}}@media (prefers-reduced-motion:reduce){.mem-card,.mem-char-card,.mem-btn,.mem-cat-pill,.mem-back,.mem-manage-btn{transition:none!important}}}
