:root{--sh-bg-primary: #2d1b4e;--sh-bg-secondary: #1a1a2e;--sh-bg-surface: #3d2a5e;--sh-border: #6b4aa3;--sh-accent: #ffd700;--sh-accent-hover: #ffb300;--sh-text-primary: #ffffff;--sh-text-secondary: #c9a0dc;--sh-text-muted: #8a6fb0;--sh-success-bg: #1a472a;--sh-success-border: #4ade80;--sh-success-text: #4ade80;--sh-error-bg: #4a1a1a;--sh-error-border: #ff6b6b;--sh-error-text: #ff6b6b;--sh-warning-bg: #4a3a1a;--sh-warning-border: #ffd700;--sh-warning-text: #ffd700;--sh-font-display: "Bungee", Impact, sans-serif;--sh-font-heading: "Space Grotesk", sans-serif;--sh-font-body: "DM Sans", "Segoe UI", Arial, sans-serif;--sh-weight-display: 700;--sh-weight-heading: 600;--sh-weight-body: 400;--sh-transform-display: none;--sh-transform-heading: none;--sh-transform-body: none;--sh-radius-sm: 8px;--sh-radius-md: 12px;--sh-radius-lg: 16px;--sh-radius-xl: 20px;--sh-shadow-card: 0 4px 20px rgba(0, 0, 0, .3);--sh-shadow-glow: 0 0 40px rgba(107, 74, 163, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sh-font-body);background:var(--sh-bg-secondary);color:var(--sh-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.sh-card{background:linear-gradient(135deg,var(--sh-bg-primary) 0%,var(--sh-bg-secondary) 100%);border:2px solid var(--sh-border);border-radius:var(--sh-radius-lg);padding:24px;box-shadow:var(--sh-shadow-card)}.sh-title{font-family:var(--sh-font-display);font-weight:var(--sh-weight-display);text-transform:var(--sh-transform-display);color:var(--sh-accent);text-shadow:0 2px 4px rgba(0,0,0,.5)}.sh-subtitle{font-family:var(--sh-font-heading);font-weight:var(--sh-weight-heading);text-transform:var(--sh-transform-heading);color:var(--sh-text-secondary)}.sh-btn{padding:10px 24px;font-size:14px;font-weight:var(--sh-weight-heading);font-family:var(--sh-font-body);border:none;border-radius:var(--sh-radius-sm);cursor:pointer;transition:all .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.sh-btn-primary{background:linear-gradient(135deg,gold,#ffb300);color:#1a1a2e}.sh-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffd70066}.sh-btn-secondary{background:#ffffff14;color:var(--sh-text-secondary);border:1px solid rgba(107,74,163,.4)}.sh-btn-secondary:hover{background:#ffffff1f}.sh-btn-danger{background:linear-gradient(135deg,#f44,#c00);color:#fff}.sh-btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f446}.sh-input{width:100%;padding:10px 14px;font-size:15px;font-family:var(--sh-font-body);border:2px solid var(--sh-border);border-radius:var(--sh-radius-sm);background:#ffffff0f;color:var(--sh-text-primary);outline:none;transition:border-color .15s}.sh-input:focus{border-color:var(--sh-accent);box-shadow:0 0 8px #ffd70033}.sh-label{display:block;font-size:13px;font-weight:var(--sh-weight-heading);color:var(--sh-text-secondary);margin-bottom:6px}.sh-badge{display:inline-block;padding:3px 10px;font-size:11px;font-weight:var(--sh-weight-display);border-radius:20px;text-transform:var(--sh-transform-display);letter-spacing:.5px}.sh-badge-gold{background:#ffd70026;color:var(--sh-accent)}.sh-badge-green{background:#4ade8026;color:var(--sh-success-text)}.sh-badge-red{background:#ff6b6b26;color:var(--sh-error-text)}.sh-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.sh-icon.spin{animation:sh-spin 1s linear infinite}@keyframes sh-spin{to{transform:rotate(360deg)}}:root{--app-bg: #1a0f2e;--app-surface: #2a1a4a;--app-surface-2: #34225a;--app-text: #f3e8d6;--app-text-dim: #b8a890;--app-accent: #d4af37;--app-border: #4a3a6a;--app-radius: 12px}*{box-sizing:border-box}html,body{margin:0;background:var(--app-bg);color:var(--app-text);font-family:DM Sans,system-ui,sans-serif;min-height:100vh}h1,h2,h3,p{margin:0}.app-header{padding:20px 16px 4px;max-width:1100px;margin:0 auto}.app-header h1{font-size:22px;letter-spacing:.01em;color:var(--app-accent)}.container{padding:16px;max-width:1100px;margin:0 auto}.loading{color:var(--app-text-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:8px;border:1px solid transparent;font:inherit;font-weight:600;font-size:14px;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--app-accent);color:var(--app-bg)}.btn-primary:hover{background:#e5c04a}.btn-ghost{background:transparent;color:var(--app-text);border-color:var(--app-border)}.btn-ghost:hover{border-color:var(--app-accent);color:var(--app-accent)}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border-radius:8px;color:var(--app-accent);border:1px solid var(--app-border)}.icon-btn:hover{border-color:var(--app-accent);background:var(--app-surface-2)}.gate{display:flex;flex-direction:column;gap:10px;max-width:320px;margin:12vh auto 0;padding:28px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius)}.gate-icon{color:var(--app-accent);align-self:center;margin-bottom:4px}.gate-label{font-size:14px;color:var(--app-text-dim)}.gate input{padding:10px 12px;border-radius:8px;border:1px solid var(--app-border);background:var(--app-bg);color:var(--app-text);font:inherit;font-size:16px}.gate input:focus{outline:2px solid var(--app-accent);outline-offset:1px}.gate-error{color:#ff8a8a;font-size:13px;min-height:1em}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}@media (max-width: 360px){.grid{grid-template-columns:1fr}}.card{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius)}.card-head{display:flex;gap:12px;align-items:flex-start}.monogram{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--app-surface-2);color:var(--app-accent);font-weight:700;font-size:18px;border:1px solid var(--app-border)}.card-title h2{font-size:18px}.card-title p{color:var(--app-text-dim);font-size:14px;margin-top:2px;line-height:1.4}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--app-border);color:var(--app-text-dim)}.tag-current{color:var(--app-accent);border-color:var(--app-accent);margin-left:4px}.note{color:var(--app-text-dim);font-size:13px;font-style:italic}.open{align-self:flex-start}.dl{padding:12px;background:var(--app-bg);border:1px solid var(--app-border);border-radius:10px}.dl-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.dl h3{font-size:15px}.dl-blurb{font-size:12px;color:var(--app-text-dim);margin-top:1px}.dl-meta{font-size:13px;color:var(--app-text-dim);margin-top:4px}.history details{margin-top:10px}.history summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:13px;color:var(--app-text-dim);padding:4px 0}.history summary::-webkit-details-marker{display:none}.history summary:hover,.history details[open] summary{color:var(--app-accent)}.history ul{list-style:none;margin:6px 0 0;padding:0}.history li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--app-border);font-size:13px}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + 6px);white-space:nowrap;background:var(--app-surface-2);color:var(--app-text);border:1px solid var(--app-border);padding:4px 8px;border-radius:6px;font-size:12px;pointer-events:none;z-index:1}
