:root{--deco-gold: #d9b25a;--deco-gold-deep: #b98e3c;--deco-ivory: #f3e7cf;--deco-ink: #0e1428;--deco-teal-deep: #123f3a}*{box-sizing:border-box}.hermes-scroller{position:absolute;inset:0;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--deco-ink);scroll-snap-type:y mandatory}.hermes-stage{position:fixed;inset:0}.hermes-stage,.hermes-stage *{pointer-events:none!important}.hermes-stage.is-interactive canvas{pointer-events:auto!important}.deco-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden}.deco-rays{position:absolute;top:34%;left:50%;width:260vmax;height:260vmax;transform:translate(-50%,-50%);animation:deco-spin 150s linear infinite;will-change:transform}.deco-sun{position:absolute;top:34%;left:50%;width:46vw;max-width:18rem;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;opacity:.9}@keyframes deco-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media (prefers-reduced-motion: reduce){.deco-rays{animation:none}}.deco-frame{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none}.hermes-veil{position:absolute;inset:0;z-index:2;background:var(--deco-ivory);pointer-events:none}.hermes-panel{position:relative;z-index:3;pointer-events:none;width:100%;display:flex;align-items:flex-end;justify-content:center;scroll-snap-align:center;scroll-snap-stop:always}.hermes-caption{width:min(84vw,30rem);margin-bottom:15vh;padding:.85rem 1.15rem;text-align:center;background:#0e14288c;border-top:2px solid var(--deco-gold);border-bottom:2px solid var(--deco-gold);box-shadow:inset 0 0 0 1px #d9b25a40;backdrop-filter:blur(3px);transition:opacity .2s ease}.hermes-line{margin:.2rem 0;font-family:Poiret One,ui-rounded,system-ui,sans-serif;font-size:clamp(1.25rem,5.6vw,1.8rem);line-height:1.4;font-weight:700;letter-spacing:.04em;color:inherit;text-shadow:0 1px 10px rgba(0,0,0,.55)}.hermes-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:6;background:#d9b25a2e}.hermes-progress-fill{height:100%;background:var(--deco-gold);transition:width .1s linear}.hermes-hint,.hermes-nudge{position:fixed;left:50%;transform:translate(-50%);z-index:6;padding:.5rem 1.2rem;font-family:Poiret One,ui-rounded,system-ui,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--deco-ink);background:var(--deco-gold);border:1px solid var(--deco-gold-deep)}.hermes-hint{bottom:2.2rem}.hermes-nudge{bottom:1.6rem;background:transparent;color:var(--deco-gold);border:none;letter-spacing:.2em;animation:hermes-bob 1.6s ease-in-out infinite}@keyframes hermes-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,6px)}}.creator-float{position:fixed;bottom:1rem;right:1rem;z-index:20;padding:.55rem 1rem;border:1px solid var(--deco-gold-deep);border-radius:999px;background:var(--deco-gold);color:var(--deco-ink);font-family:Poiret One,system-ui,sans-serif;font-weight:700;letter-spacing:.08em;cursor:pointer}.creator{position:absolute;inset:0;display:flex;flex-direction:column;background:#11151f;color:#e8e6df;font-family:ui-sans-serif,system-ui,sans-serif}.creator-head{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;background:#0c0f17;border-bottom:1px solid #2a2f3c}.creator-head strong{letter-spacing:.04em}.creator-spacer{flex:1}.creator-head button,.creator button{background:#232a38;color:#e8e6df;border:1px solid #353d4d;border-radius:6px;padding:.35rem .7rem;cursor:pointer;font:inherit}.creator button:hover{background:#2c3446}.creator-danger{border-color:#5a2f2f!important;background:#3a2222!important}.creator-body{flex:1;display:flex;min-height:0}.creator-rail{width:240px;flex:none;padding:.8rem;border-right:1px solid #2a2f3c;overflow-y:auto}.creator-main{flex:1;padding:1rem 1.2rem;overflow-y:auto}.creator-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.8rem;font-size:.85rem}.creator-field>span{color:#9aa3b5;letter-spacing:.04em}.creator-field input,.creator-field select,.creator-grow{background:#1a1f2b;color:#e8e6df;border:1px solid #353d4d;border-radius:6px;padding:.4rem .5rem;font:inherit}.creator-beatlist-head{display:flex;align-items:center;justify-content:space-between;margin:.6rem 0 .4rem;color:#9aa3b5;font-size:.8rem}.creator-beat{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;margin-bottom:.3rem}.creator-beat.is-sel{outline:2px solid var(--deco-gold)}.creator-beat-n{display:inline-flex;width:1.4rem;height:1.4rem;align-items:center;justify-content:center;border-radius:50%;background:#353d4d;font-size:.75rem}.creator-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem}.creator-grow{flex:1}.creator-group{border:1px solid #2a2f3c;border-radius:8px;padding:.7rem .9rem;margin-bottom:1rem}.creator-group legend,.creator-group summary{color:#9aa3b5;font-size:.8rem;letter-spacing:.05em;cursor:pointer}.creator-range{display:flex;align-items:center;gap:.6rem}.creator-range input{flex:1}.creator-range code{color:var(--deco-gold);min-width:2.5rem}.creator-json{width:100%;height:220px;margin-top:.6rem;background:#0c0f17;color:#cde3c9;border:1px solid #353d4d;border-radius:6px;font-family:ui-monospace,monospace;font-size:.75rem}.creator-float{font-family:Poiret One,system-ui,sans-serif}.lib{position:absolute;inset:0;overflow-y:auto;background:#0f1320;color:#e8e6df;font-family:ui-sans-serif,system-ui,sans-serif;padding-bottom:3rem}.lib-head{display:flex;align-items:baseline;gap:.6rem;padding:1rem 1.2rem;border-bottom:1px solid #232838}.lib-head strong{font-family:Poiret One,system-ui,sans-serif;font-size:1.4rem;letter-spacing:.08em;color:var(--deco-gold)}.lib-sub{color:#8c95ab;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.lib h2{font-size:.95rem;font-weight:700;letter-spacing:.04em;margin:0 0 .6rem}.lib-generate{margin:1.2rem;padding:1rem 1.1rem;border:1px solid #2a3145;border-radius:12px;background:#141a2a}.lib-prose{width:100%;min-height:84px;resize:vertical;background:#0c1018;color:#e8e6df;border:1px solid #2a3145;border-radius:8px;padding:.7rem .8rem;font:inherit;line-height:1.4}.lib-generate-row{display:flex;align-items:center;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}.lib-generate-row select{background:#0c1018;color:#e8e6df;border:1px solid #2a3145;border-radius:8px;padding:.5rem .6rem;font:inherit}.lib-primary{background:var(--deco-gold);color:var(--deco-ink);border:none;border-radius:8px;padding:.55rem 1.1rem;font:inherit;font-weight:700;letter-spacing:.04em;cursor:pointer}.lib-primary:disabled{opacity:.5;cursor:default}.lib-note{color:#8c95ab;font-size:.85rem}.lib-grid-wrap{margin:.4rem 1.2rem}.lib-grid-head{display:flex;align-items:center;justify-content:space-between}.lib-grid-head button{background:#232a38;color:#e8e6df;border:1px solid #353d4d;border-radius:8px;padding:.45rem .8rem;cursor:pointer;font:inherit}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem;margin-top:.8rem}.lib-card{border:1px solid #2a3145;border-radius:12px;overflow:hidden;background:#141a2a;display:flex;flex-direction:column}.lib-card-cover{display:flex;height:70px}.lib-card-cover span{flex:1}.lib-card-title{font-weight:700;padding:.6rem .7rem .1rem;line-height:1.25}.lib-card-meta{color:#8c95ab;font-size:.78rem;padding:0 .7rem .5rem}.lib-card-actions{display:flex;gap:.4rem;padding:0 .7rem .7rem;margin-top:auto;flex-wrap:wrap}.lib-card-actions button{flex:1;background:#232a38;color:#e8e6df;border:1px solid #353d4d;border-radius:7px;padding:.4rem .5rem;cursor:pointer;font:inherit;font-size:.85rem}.lib-card-del{flex:0 0 auto!important;border-color:#5a2f2f!important;background:#3a2222!important}.landing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4rem;background:radial-gradient(120% 90% at 50% 12%,#1a2236,#0c1018 70%);color:#e8e6df;font-family:ui-sans-serif,system-ui,sans-serif;padding:2rem}.landing-head{text-align:center}.landing-head h1{font-family:Poiret One,system-ui,sans-serif;font-size:clamp(2.6rem,9vw,4rem);letter-spacing:.12em;color:var(--deco-gold);margin:0}.landing-head p{color:#9aa3b5;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin:.3rem 0 0}.landing-choices{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center}.landing-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:220px;padding:1.8rem 1.2rem;border:1px solid #2a3145;border-radius:16px;background:#141a2a;color:#e8e6df;cursor:pointer;transition:border-color .15s,transform .1s}.landing-card:hover{border-color:var(--deco-gold);transform:translateY(-2px)}.landing-emoji{font-size:2.4rem}.landing-card-title{font-size:1.2rem;font-weight:700;letter-spacing:.03em}.landing-card-sub{color:#9aa3b5;font-size:.85rem}.screen{position:absolute;inset:0;overflow-y:auto;background:#0f1320;color:#e8e6df;font-family:ui-sans-serif,system-ui,sans-serif;padding-bottom:3rem}.screen-head{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.1rem;border-bottom:1px solid #232838;position:sticky;top:0;background:#0c0f17;z-index:2}.screen-head strong{font-family:Poiret One,system-ui,sans-serif;letter-spacing:.06em;font-size:1.15rem}.screen-spacer{flex:1}.screen-head button{background:#232a38;color:#e8e6df;border:1px solid #353d4d;border-radius:8px;padding:.4rem .8rem;cursor:pointer;font:inherit}.browse-banner{margin:.9rem 1.2rem .2rem;color:#9aa3b5;font-size:.85rem}.browse-loading{padding:2rem 1.2rem;color:#9aa3b5}.create-body{max-width:640px;margin:1.4rem auto;padding:0 1.2rem}.create-label{display:block;margin-bottom:.5rem;color:#c7ccd8}.create-prose{width:100%;min-height:160px;resize:vertical;background:#0c1018;color:#e8e6df;border:1px solid #2a3145;border-radius:10px;padding:.9rem 1rem;font:inherit;line-height:1.5}.create-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap}.create-theme{display:flex;flex-direction:column;gap:.3rem;color:#9aa3b5;font-size:.85rem}.create-theme select{background:#0c1018;color:#e8e6df;border:1px solid #2a3145;border-radius:8px;padding:.5rem .6rem;font:inherit}.create-go{background:var(--deco-gold);color:var(--deco-ink);border:none;border-radius:10px;padding:.7rem 1.4rem;font:inherit;font-weight:700;letter-spacing:.04em;cursor:pointer}.create-go:disabled{opacity:.5;cursor:default}.create-status{margin-top:1rem;color:var(--deco-gold);letter-spacing:.03em}
