.nav-wrap{z-index:50;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--cp-border);background:#ffffffd1;position:sticky;top:0}.nav-inner{max-width:var(--cp-max-width);justify-content:space-between;align-items:center;gap:20px;height:68px;margin:0 auto;padding:0 28px;display:flex}.nav-brand{letter-spacing:.02em;color:var(--cp-text);white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.nav-brand-logo{object-fit:contain;width:40px;height:40px;filter:drop-shadow(0 2px 8px var(--cp-crimson-glow))}.nav-brand-text span.accent{color:var(--cp-gold)}.nav-links{scrollbar-width:none;flex:1;justify-content:flex-start;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{color:var(--cp-text-dim);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:9px 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.nav-link:hover{background:var(--cp-surface-2);color:var(--cp-text)}.nav-link[data-active=true]{background:var(--cp-surface-3);color:var(--cp-text);font-weight:700}.nav-admin-menu{flex-shrink:0;position:relative}.nav-admin-trigger{cursor:pointer;background:0 0;border:none;font-family:inherit}.nav-admin-dropdown{background:var(--cp-surface,#fff);border:1px solid var(--cp-border);z-index:60;border-radius:12px;flex-direction:column;gap:2px;min-width:160px;padding:6px;display:flex;box-shadow:0 12px 28px #0000001f}.nav-admin-dropdown a{color:var(--cp-text-dim);white-space:nowrap;border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:600}.nav-admin-dropdown a:hover{background:var(--cp-surface-2);color:var(--cp-text)}.nav-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.nav-user{color:var(--cp-text-dim);align-items:center;gap:10px;font-size:13.5px;display:flex}.nav-user-name{color:var(--cp-text);font-weight:700}.nav-logout{border:1px solid var(--cp-border-strong);color:var(--cp-text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 12px;font-size:12.5px}.nav-logout:hover{color:var(--cp-text);border-color:var(--cp-text-muted)}.nav-login-btn{background:linear-gradient(135deg, var(--cp-gold), var(--cp-gold-dim));color:var(--cp-text-on-accent);border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700}@media (max-width:860px){.nav-inner{flex-wrap:wrap;gap:8px;height:auto;padding:10px 14px}.nav-links{order:3;justify-content:flex-start;gap:2px;width:100%;overflow-x:auto}}
.cp-footer{border-top:1px solid var(--cp-border);background:var(--cp-bg-alt);margin-top:60px}.cp-footer-inner{max-width:var(--cp-max-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:24px;display:flex}.cp-footer-brand{color:var(--cp-text);font-size:14px;font-weight:800}.cp-footer-brand .accent{color:var(--cp-gold)}.cp-footer-links{gap:20px;display:flex}.cp-footer-links a{color:var(--cp-text-dim);font-size:13.5px;text-decoration:none}.cp-footer-links a:hover{color:var(--cp-gold);text-decoration:underline}.cp-footer-copy{color:var(--cp-text-muted);font-size:12.5px}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cp-bg:#faf7f2;--cp-bg-alt:#f3eee5;--cp-surface:#fff;--cp-surface-2:#f6f1e9;--cp-surface-3:#efe7d8;--cp-border:#3a2a181a;--cp-border-strong:#3a2a1833;--cp-text:#211a13;--cp-text-dim:#4d4238;--cp-text-muted:#7d7060;--cp-text-on-accent:#fffaf3;--cp-crimson:#b5502f;--cp-crimson-dim:#8c3c22;--cp-crimson-glow:#b5502f33;--cp-gold:#9c6b25;--cp-gold-dim:#74501b;--cp-gold-glow:#9c6b2529;--cp-olive:#6f7a4f;--cp-success:#3f8f5c;--cp-danger:#b3382a;--cp-radius-lg:16px;--cp-radius:12px;--cp-radius-sm:8px;--cp-shadow:0 10px 24px #3a2a181a;--cp-shadow-sm:0 3px 10px #3a2a1814;--cp-max-width:1320px;--cp-font-serif:"Hiragino Mincho ProN", "YuMincho", "Noto Serif JP", serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--cp-bg);color:var(--cp-text);min-height:100vh;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{color:inherit;font-family:inherit}h1,h2,h3,h4,h5,h6,p,span,label,li{color:inherit}.cp-shell{min-height:100vh;padding-bottom:80px}.cp-container{width:100%;max-width:var(--cp-max-width);margin:0 auto;padding:0 28px}.cp-container-wide{width:100%;max-width:1560px;margin:0 auto;padding:0 32px}@media (max-width:720px){.cp-container,.cp-container-wide{padding:0 16px}}.cp-section{padding:48px 0}.cp-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;display:flex}.cp-eyebrow{letter-spacing:.08em;color:var(--cp-gold);margin-bottom:6px;font-size:13px;font-weight:600;display:inline-block}.cp-section-title{font-family:var(--cp-font-serif);color:var(--cp-text);margin:0;font-size:26px;font-weight:700}.cp-section-sub{color:var(--cp-text-muted);margin-top:6px;font-size:14px}.cp-link-more{color:var(--cp-gold);white-space:nowrap;font-size:14px;font-weight:600}.cp-link-more:hover{color:var(--cp-gold-dim)}.cp-grid{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.cp-grid-3{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.cp-grid-2{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}@media (max-width:1100px){.cp-grid{grid-template-columns:repeat(3,1fr)}.cp-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.cp-grid,.cp-grid-3,.cp-grid-2{grid-template-columns:1fr 1fr;gap:14px}}@media (max-width:480px){.cp-grid,.cp-grid-3,.cp-grid-2{grid-template-columns:1fr}}.cp-layout-side{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:32px;display:grid}@media (max-width:960px){.cp-layout-side{grid-template-columns:1fr}}.cp-sticky{position:sticky;top:96px}.cp-card{background:var(--cp-surface);border:1px solid var(--cp-border);border-radius:var(--cp-radius);box-shadow:var(--cp-shadow-sm)}.cp-card-pad{padding:24px}.cp-rcard{background:var(--cp-surface);border:1px solid var(--cp-border);border-radius:var(--cp-radius);flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.cp-rcard:hover{border-color:var(--cp-border-strong);box-shadow:var(--cp-shadow);transform:translateY(-3px)}.cp-thumb{aspect-ratio:4/3;background:linear-gradient(135deg, var(--cp-surface-2), var(--cp-surface-3));justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.cp-thumb img{object-fit:cover;width:100%;height:100%}.cp-thumb-emoji{letter-spacing:.03em;color:var(--cp-text-muted);font-size:13px;font-weight:600}.cp-thumb-rank{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#111111d1;border:1px solid #ffffff80;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:13px;font-weight:800;display:flex;position:absolute;top:10px;left:10px}.cp-rcard-body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.cp-rcard-title{color:var(--cp-text);font-size:15px;font-weight:700;line-height:1.4}.cp-rcard-meta{color:var(--cp-text-muted);align-items:center;gap:10px;font-size:12.5px;display:flex}.cp-badge{background:var(--cp-surface-3);color:var(--cp-text-dim);border:1px solid var(--cp-border);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.cp-badge-gold{color:var(--cp-gold);background:#9c6b251f;border-color:#9c6b2552}.cp-badge-crimson{background:var(--cp-crimson);color:#fff;border-color:var(--cp-crimson)}.cp-badge-olive{color:#55613a;background:#6f7a4f24;border-color:#6f7a4f52}.cp-tag{background:var(--cp-surface-3);border:1px solid var(--cp-border);color:var(--cp-text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.cp-tag[data-active=true]{background:linear-gradient(135deg, var(--cp-crimson), var(--cp-crimson-dim));border-color:var(--cp-crimson);color:var(--cp-text-on-accent)}.cp-btn{border-radius:var(--cp-radius-sm);border:1px solid var(--cp-border);background:var(--cp-surface-3);color:var(--cp-text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:14.5px;font-weight:700;transition:filter .15s,transform .1s;display:inline-flex}.cp-btn:hover{filter:brightness(1.12)}.cp-btn:active{transform:scale(.98)}.cp-btn:disabled{opacity:.5;cursor:not-allowed}.cp-btn-primary{background:linear-gradient(135deg, var(--cp-crimson), var(--cp-crimson-dim));border-color:var(--cp-crimson);color:var(--cp-text-on-accent);box-shadow:0 6px 18px var(--cp-crimson-glow)}.cp-btn-gold{background:linear-gradient(135deg, var(--cp-gold), var(--cp-gold-dim));border-color:var(--cp-gold);color:var(--cp-text-on-accent);box-shadow:0 6px 18px var(--cp-gold-glow)}.cp-btn-ghost{background:0 0}.cp-btn-sm{padding:8px 14px;font-size:13px}.cp-btn-block{width:100%}.cp-field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.cp-field label{color:var(--cp-text-dim);font-size:13.5px;font-weight:700}.cp-hint{color:var(--cp-text-muted);font-size:12.5px}.cp-input,.cp-select,.cp-textarea{background:var(--cp-surface-3);border:1px solid var(--cp-border-strong);border-radius:var(--cp-radius-sm);width:100%;color:var(--cp-text);outline:none;padding:12px 14px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.cp-input::placeholder,.cp-textarea::placeholder{color:var(--cp-text-muted)}.cp-input:focus,.cp-select:focus,.cp-textarea:focus{border-color:var(--cp-gold);box-shadow:0 0 0 3px #0000001a}.cp-textarea{resize:vertical;min-height:120px;line-height:1.6}.cp-empty{text-align:center;color:var(--cp-text-muted);border:1px dashed var(--cp-border-strong);border-radius:var(--cp-radius);background:var(--cp-surface);padding:60px 24px}.cp-alert{border-radius:var(--cp-radius-sm);border:1px solid var(--cp-border);margin-bottom:16px;padding:12px 16px;font-size:13.5px}.cp-alert-error{color:#a5291b;background:#c0392b14;border-color:#c0392b59}.cp-alert-success{color:#1f6b3d;background:#2f9e5b14;border-color:#2f9e5b59}.cp-divider{background:var(--cp-border);border:none;height:1px;margin:28px 0}.cp-skeleton{color:var(--cp-text-muted);text-align:center;padding:60px 0}
