:root{--color-background: #f5f1ed;--color-background-soft: #f8f3ee;--color-background-mute: #ede5de;--color-card: #e8ddd3;--color-border: rgba(26, 26, 26, .12);--color-border-hover: rgba(26, 26, 26, .2);--color-heading: #1a1a1a;--color-text: #1a1a1a;--color-text-muted: #6b5f58;--color-accent: #e07856;--color-accent-strong: #d4735e}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1200px;margin:0 auto;padding:0 1.5rem;font-weight:400}a{text-decoration:none;color:inherit}.app-shell[data-v-98ddbf15]{min-height:100vh;display:flex;flex-direction:column}.site-header[data-v-98ddbf15]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0 1rem;border-bottom:1px solid var(--color-border)}.brand-title[data-v-98ddbf15]{position:relative;font-size:2rem;font-weight:700;letter-spacing:.05rem;text-decoration:none;color:inherit;cursor:pointer}.brand-title[data-v-98ddbf15]:hover{opacity:.8}.brand-title[data-v-98ddbf15]:after{content:attr(data-tooltip);position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:.5rem;padding:.5rem .75rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;font-weight:400;color:var(--color-text-muted);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:100}.brand-title[data-v-98ddbf15]:hover:after{opacity:1;visibility:visible}.header-actions[data-v-98ddbf15]{display:flex;align-items:center;gap:.75rem}.desktop-only[data-v-98ddbf15]{display:inline-flex}.mobile-only[data-v-98ddbf15]{display:none}.search-input[data-v-98ddbf15]{min-width:220px;padding:.55rem .9rem;border-radius:999px;border:1px solid var(--color-border);background:#fff;color:var(--color-text);font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-input[data-v-98ddbf15]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e0785633}.submit-link[data-v-98ddbf15]{background:var(--color-accent);color:#fff;padding:.6rem 1.2rem;border-radius:999px;font-size:.95rem;font-weight:600;transition:transform .2s ease,background-color .2s ease}.submit-link[data-v-98ddbf15]:hover{background:var(--color-accent-strong);transform:translateY(-1px)}.search-toggle[data-v-98ddbf15]{border:1px solid var(--color-border);background:#fff;color:var(--color-text);padding:.5rem 1rem;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-toggle.has-query[data-v-98ddbf15]{border-color:var(--color-accent);color:var(--color-accent)}.search-toggle[data-v-98ddbf15]:hover{border-color:var(--color-accent)}.search-modal[data-v-98ddbf15]{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:1.25rem}.search-modal-backdrop[data-v-98ddbf15]{position:absolute;inset:0;background:#00000059}.search-modal-panel[data-v-98ddbf15]{position:relative;width:min(480px,100%);background:#fff;border-radius:16px;padding:1rem;box-shadow:0 20px 50px #0003}.search-modal-header[data-v-98ddbf15]{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:.75rem}.search-modal-close[data-v-98ddbf15]{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.9rem}.search-modal-input[data-v-98ddbf15]{width:100%;padding:.6rem .9rem;border-radius:12px;border:1px solid var(--color-border);font-size:.95rem;outline:none}.search-modal-input[data-v-98ddbf15]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e0785633}.site-main[data-v-98ddbf15]{flex:1;padding:2rem 0 3rem}@media(max-width:768px){.site-header[data-v-98ddbf15]{flex-direction:row;align-items:center;justify-content:space-between;padding:.85rem 0;gap:.5rem}.brand-title[data-v-98ddbf15]{font-size:1.35rem}.brand-title[data-v-98ddbf15]:after{display:none}.header-actions[data-v-98ddbf15]{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex:1;justify-content:flex-end}.desktop-only[data-v-98ddbf15]{display:none}.mobile-only[data-v-98ddbf15]{display:inline-flex}.search-toggle[data-v-98ddbf15]{padding:.4rem .7rem;font-size:.8rem}.search-toggle.has-query[data-v-98ddbf15]{flex:1;max-width:none}.submit-link[data-v-98ddbf15]{padding:.4rem .7rem;font-size:.8rem}.search-modal[data-v-98ddbf15]{padding:.75rem;align-items:flex-start}.search-modal-panel[data-v-98ddbf15]{border-radius:12px;padding:.85rem}.site-main[data-v-98ddbf15]{padding:1rem 0 2rem}}.home[data-v-cb32ce7a]{display:flex;flex-direction:column;gap:2rem}.notice[data-v-cb32ce7a]{background:#e078561f;border:1px solid rgba(224,120,86,.28);color:var(--color-text);padding:.75rem 1rem;border-radius:12px;font-size:.95rem}.loading[data-v-cb32ce7a]{grid-column:1 / -1;color:var(--color-text-muted);font-weight:600}.category-bar[data-v-cb32ce7a]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.category-label[data-v-cb32ce7a]{font-weight:600}.category-list[data-v-cb32ce7a]{display:flex;flex-wrap:wrap;gap:.75rem}.category-item[data-v-cb32ce7a]{border:1px solid transparent;background:var(--color-background-soft);color:var(--color-text);padding:.4rem .9rem;border-radius:999px;font-size:.9rem;cursor:pointer;transition:border-color .2s ease,color .2s ease}.category-item.is-active[data-v-cb32ce7a]{border-color:var(--color-accent);color:var(--color-accent);background:#fff6f2}.card-grid[data-v-cb32ce7a]{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}.memory-card[data-v-cb32ce7a]{background:var(--color-card);border-radius:20px;padding:1.5rem;box-shadow:0 12px 30px #1a1a1a14;display:flex;flex-direction:column;gap:.75rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.memory-card[data-v-cb32ce7a]:hover{transform:translateY(-2px);box-shadow:0 16px 36px #1a1a1a1f}.memory-card[data-v-cb32ce7a]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.card-meta[data-v-cb32ce7a]{display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-text-muted)}.card-category[data-v-cb32ce7a]{font-weight:600}.card-title[data-v-cb32ce7a]{font-size:1.25rem;font-weight:700;margin:0}.card-summary[data-v-cb32ce7a]{margin:0;color:var(--color-text-muted);line-height:1.6}.card-actions[data-v-cb32ce7a]{display:flex;gap:.75rem;margin-top:.5rem}.action-button[data-v-cb32ce7a]{border:1px solid transparent;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.action-button.primary[data-v-cb32ce7a]{background:var(--color-accent);color:#fff}.action-button.ghost[data-v-cb32ce7a]{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}.action-button[data-v-cb32ce7a]:hover{transform:translateY(-1px)}@media(max-width:1024px){.home[data-v-cb32ce7a]{gap:1.25rem}.category-bar[data-v-cb32ce7a]{flex-direction:row;align-items:center;gap:0;position:relative}.category-label[data-v-cb32ce7a]{font-size:.9rem;flex-shrink:0;position:relative;z-index:2;background:var(--color-background);padding-right:.75rem}.category-list[data-v-cb32ce7a]{flex:1;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.category-list[data-v-cb32ce7a]::-webkit-scrollbar{display:none}.category-item[data-v-cb32ce7a]{flex:0 0 auto;white-space:nowrap;padding:.35rem .7rem;font-size:.8rem}.memory-card[data-v-cb32ce7a]{padding:1rem;border-radius:14px;gap:.6rem}.card-meta[data-v-cb32ce7a]{font-size:.75rem}.card-title[data-v-cb32ce7a]{font-size:1.05rem}.card-summary[data-v-cb32ce7a]{font-size:.88rem;line-height:1.5}.card-actions[data-v-cb32ce7a]{gap:.5rem;flex-wrap:wrap}.action-button[data-v-cb32ce7a]{padding:.4rem .75rem;font-size:.8rem}}@media(min-width:900px){.card-grid[data-v-cb32ce7a]{grid-template-columns:repeat(3,minmax(0,1fr))}}.submit[data-v-778b7b8e]{display:flex;flex-direction:column;gap:2rem}.submit-header h1[data-v-778b7b8e]{font-size:1.8rem;margin-bottom:.5rem}.submit-header p[data-v-778b7b8e]{color:var(--color-text-muted)}.submit-grid[data-v-778b7b8e]{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}.submit-card[data-v-778b7b8e]{background:var(--color-card);border-radius:20px;padding:1.5rem;box-shadow:0 12px 30px #1a1a1a14;display:flex;flex-direction:column;min-height:280px}.submit-card h2[data-v-778b7b8e]{margin-bottom:1rem}.submit-card ul[data-v-778b7b8e]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;flex:1}.platform-name[data-v-778b7b8e]{font-weight:600;font-size:2rem;margin-right:.5rem}.platform-detail[data-v-778b7b8e]{color:var(--color-text-muted);font-size:2rem;font-weight:600;word-break:break-all}.qrcode-placeholder[data-v-778b7b8e]{height:200px;background:#f2e9e4;border:2px dashed var(--color-border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);gap:.25rem}.qrcode-note[data-v-778b7b8e]{margin-top:.75rem;color:var(--color-text-muted)}.qrcode-container[data-v-778b7b8e]{display:flex;align-items:center;justify-content:center;flex:1}.qrcode-img[data-v-778b7b8e]{max-width:200px;max-height:200px;border-radius:12px;object-fit:contain}.search-img[data-v-778b7b8e]{margin-top:1rem;max-width:100%;border-radius:12px}@media(min-width:900px){.submit-grid[data-v-778b7b8e]{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail[data-v-1abd2f89]{display:flex;flex-direction:column;gap:1.5rem}.detail-card[data-v-1abd2f89]{background:var(--color-card);border-radius:20px;padding:2rem;box-shadow:0 12px 30px #1a1a1a14}.detail-header[data-v-1abd2f89]{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.detail-actions[data-v-1abd2f89]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.action-button[data-v-1abd2f89]{border:1px solid transparent;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s ease,border-color .2s ease,opacity .2s ease}.action-button.primary[data-v-1abd2f89]{background:var(--color-accent);color:#fff}.action-button.ghost[data-v-1abd2f89]{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}.action-button[data-v-1abd2f89]:hover{transform:translateY(-1px)}.back-link[data-v-1abd2f89]{align-self:flex-start;color:var(--color-accent);font-weight:600;text-decoration:none}.back-link[data-v-1abd2f89]:hover{opacity:.85}.detail-title[data-v-1abd2f89]{font-size:1.8rem;font-weight:700;margin:0;overflow-wrap:anywhere;word-break:break-word}.detail-meta[data-v-1abd2f89]{display:flex;flex-wrap:wrap;gap:1rem;color:var(--color-text-muted);font-size:.95rem}.meta-item[data-v-1abd2f89]{font-weight:600}.detail-body[data-v-1abd2f89]{display:flex;flex-direction:column;gap:1.5rem;padding-top:1.5rem}.detail-section h2[data-v-1abd2f89]{font-size:1.1rem;margin-bottom:.5rem}.detail-section p[data-v-1abd2f89]{color:var(--color-text-muted);margin:0;line-height:1.7;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}.image-grid[data-v-1abd2f89]{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.image-item[data-v-1abd2f89]{padding:0;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;cursor:pointer;background:#fff;width:100%;aspect-ratio:4 / 3;transition:transform .2s ease,box-shadow .2s ease}.image-item[data-v-1abd2f89]:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1a1a1a1f}.image-item img[data-v-1abd2f89]{display:block;width:100%;height:100%;object-fit:cover}.detail-link[data-v-1abd2f89]{color:var(--color-accent);word-break:break-all;text-decoration:underline}.detail-empty[data-v-1abd2f89]{text-align:center;background:var(--color-card);border-radius:20px;padding:2rem;box-shadow:0 12px 30px #1a1a1a14;display:flex;flex-direction:column;gap:.75rem;align-items:center}.preview-modal[data-v-1abd2f89]{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0000008c}.preview-panel[data-v-1abd2f89]{width:min(980px,100%);max-height:min(86vh,900px);background:#0b0b0b;border-radius:16px;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 30px 80px #00000059}.preview-close[data-v-1abd2f89]{align-self:flex-end;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:.35rem .7rem;border-radius:999px;cursor:pointer;font-weight:600}.preview-image[data-v-1abd2f89]{width:100%;height:100%;max-height:78vh;object-fit:contain;border-radius:12px;background:#000}@media(max-width:768px){.detail-card[data-v-1abd2f89]{padding:1.5rem}.detail-title[data-v-1abd2f89]{font-size:1.4rem}.detail-meta[data-v-1abd2f89]{font-size:.85rem}}.admin[data-v-c993ba1a]{display:flex;flex-direction:column;gap:1.25rem}.admin-header[data-v-c993ba1a]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-title[data-v-c993ba1a]{font-size:1.6rem;font-weight:800;margin:0}.tabs[data-v-c993ba1a]{display:flex;gap:.75rem;flex-wrap:wrap}.tab[data-v-c993ba1a]{border:1px solid var(--color-border);background:#fff;color:var(--color-text);padding:.5rem 1rem;border-radius:999px;font-size:.9rem;font-weight:800;cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease}.tab[data-v-c993ba1a]:hover{border-color:var(--color-accent);transform:translateY(-1px)}.tab.is-active[data-v-c993ba1a]{border-color:var(--color-accent);color:var(--color-accent);background:#fff6f2}.panel[data-v-c993ba1a]{background:var(--color-card);border-radius:20px;padding:1.5rem;box-shadow:0 12px 30px #1a1a1a14;display:flex;flex-direction:column;gap:1rem}.panel-header[data-v-c993ba1a]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.notice[data-v-c993ba1a]{border-radius:12px;padding:.75rem 1rem;font-weight:600}.notice.error[data-v-c993ba1a]{background:#9b2c2c1f;border:1px solid rgba(155,44,44,.25)}.notice.success[data-v-c993ba1a]{background:#2e7d321f;border:1px solid rgba(46,125,50,.22)}.grid[data-v-c993ba1a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.field[data-v-c993ba1a]{display:flex;flex-direction:column;gap:.35rem}.field.full[data-v-c993ba1a]{grid-column:1 / -1}.field label[data-v-c993ba1a]{font-weight:700;font-size:.95rem}.field-header[data-v-c993ba1a]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.input[data-v-c993ba1a],.textarea[data-v-c993ba1a]{border:1px solid var(--color-border);border-radius:12px;padding:.65rem .85rem;background:#fff;font-size:.95rem;outline:none}.textarea[data-v-c993ba1a]{resize:vertical}.input[data-v-c993ba1a]:focus,.textarea[data-v-c993ba1a]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e0785633}.actions[data-v-c993ba1a]{display:flex;gap:.75rem;flex-wrap:wrap}.button[data-v-c993ba1a]{border:1px solid var(--color-border);background:#fff;color:var(--color-text);padding:.55rem 1rem;border-radius:999px;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,border-color .2s ease,opacity .2s ease}.button[data-v-c993ba1a]:hover{border-color:var(--color-accent);transform:translateY(-1px)}.button[data-v-c993ba1a]:disabled{cursor:not-allowed;opacity:.6;transform:none}.button.primary[data-v-c993ba1a]{background:var(--color-accent);color:#fff;border-color:transparent}.button.ghost[data-v-c993ba1a]{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}.button.small[data-v-c993ba1a]{padding:.4rem .8rem;font-size:.82rem}.button.danger[data-v-c993ba1a]{background:#9b2c2c;color:#fff;border-color:transparent}.hint[data-v-c993ba1a]{color:var(--color-text-muted);font-size:.9rem}.category-add[data-v-c993ba1a]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.category-admin-list[data-v-c993ba1a]{display:flex;flex-direction:column;gap:.6rem}.category-row[data-v-c993ba1a]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .85rem;border-radius:14px;border:1px solid var(--color-border);background:#fff}.category-name[data-v-c993ba1a]{display:flex;align-items:center;gap:.5rem;font-weight:700}.badge[data-v-c993ba1a]{font-size:.75rem;font-weight:800;padding:.2rem .55rem;border-radius:999px;background:#e078561f;border:1px solid rgba(224,120,86,.25);color:var(--color-accent)}.category-actions[data-v-c993ba1a]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.upload-row[data-v-c993ba1a]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.create-image-grid[data-v-c993ba1a]{margin-top:.75rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.create-image-item[data-v-c993ba1a]{border:1px solid var(--color-border);background:#fff;border-radius:14px;padding:.65rem;display:flex;flex-direction:column;gap:.5rem}.create-image-thumb[data-v-c993ba1a]{aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;background:#f2e9e4}.create-image-thumb img[data-v-c993ba1a]{width:100%;height:100%;object-fit:cover;display:block}.create-image-actions[data-v-c993ba1a]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.content-toolbar[data-v-c993ba1a]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.content-search[data-v-c993ba1a]{flex:1;min-width:240px}.content-table[data-v-c993ba1a]{display:flex;flex-direction:column;gap:.6rem;overflow-x:auto}.content-head[data-v-c993ba1a],.content-row[data-v-c993ba1a]{display:grid;grid-template-columns:72px minmax(220px,1.6fr) 140px 140px 180px 90px;gap:.75rem;align-items:center;min-width:820px}.content-head[data-v-c993ba1a]{font-weight:800;font-size:.85rem;color:var(--color-text-muted);padding:0 .6rem}.content-row[data-v-c993ba1a]{padding:.65rem .75rem;border-radius:14px;border:1px solid var(--color-border);background:#fff}.content-cell[data-v-c993ba1a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-title[data-v-c993ba1a]{font-weight:800}.content-select[data-v-c993ba1a]{padding:.5rem .65rem}.mono[data-v-c993ba1a]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums}.content-pagination[data-v-c993ba1a]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.editor-wrap[data-v-c993ba1a]{display:flex;flex-direction:column;gap:1rem}.image-admin[data-v-c993ba1a]{display:flex;flex-direction:column;gap:.75rem}.image-admin-grid[data-v-c993ba1a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.image-admin-item[data-v-c993ba1a]{border:1px solid var(--color-border);background:#fff;border-radius:14px;padding:.65rem;display:flex;flex-direction:column;gap:.6rem}.image-admin-thumb[data-v-c993ba1a]{width:100%;height:140px;object-fit:cover;border-radius:12px;border:1px solid var(--color-border);background:#fff}.image-admin-actions[data-v-c993ba1a]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.file-input[data-v-c993ba1a]{display:none}@media(max-width:768px){.grid[data-v-c993ba1a]{grid-template-columns:1fr}}
