:root {
  --bg:#0a0804; --surface:#110f0a; --gold:#c9a84c; --gold-dim:#7a6330;
  --gold-glow:rgba(201,168,76,0.12); --cream:#e8dfc8; --muted:#6b6050;
  --border:rgba(201,168,76,0.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--cream);font-family:'Cormorant Garamond',serif;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:60px 20px 80px;position:relative;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 15% 15%,rgba(201,168,76,0.05) 0%,transparent 55%),radial-gradient(ellipse at 85% 85%,rgba(139,26,26,0.07) 0%,transparent 55%);pointer-events:none;z-index:0;}
.container{width:100%;max-width:680px;position:relative;z-index:1;}

/* Home btn */
.home-btn{position:fixed;top:12px;left:20px;z-index:101;display:flex;align-items:center;gap:6px;background:rgba(10,8,4,0.88);border:1px solid rgba(201,168,76,0.18);border-radius:2px;padding:7px 13px;font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-decoration:none;backdrop-filter:blur(8px);transition:border-color 0.2s,color 0.2s;}
.home-btn:hover{border-color:rgba(201,168,76,0.4);color:var(--gold);}

/* Topbar */
.topbar{position:fixed;top:12px;right:20px;z-index:100;pointer-events:all;}
.topbar-trigger{display:flex;align-items:center;gap:7px;background:rgba(10,8,4,0.88);border:1px solid rgba(201,168,76,0.18);border-radius:2px;padding:7px 13px;cursor:pointer;backdrop-filter:blur(8px);transition:border-color 0.2s;}
.topbar-trigger:hover{border-color:rgba(201,168,76,0.4);}
.topbar-trigger span{font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.topbar-trigger .caret{font-size:8px;color:var(--gold-dim);transition:transform 0.2s;}
.topbar.open .caret{transform:rotate(180deg);}
.topbar-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:rgba(10,8,4,0.96);border:1px solid rgba(201,168,76,0.18);border-radius:2px;padding:14px 16px;min-width:200px;backdrop-filter:blur(10px);display:none;flex-direction:column;gap:14px;}
.topbar.open .topbar-dropdown{display:flex;}
.dd-section{display:flex;flex-direction:column;gap:8px;}
.dd-label{font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);}
.dd-sep{height:1px;background:rgba(201,168,76,0.1);}
.dd-themes{display:flex;gap:8px;align-items:center;}
.theme-dot{width:16px;height:16px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all 0.2s;flex-shrink:0;}
.theme-dot:hover{transform:scale(1.2);}
.theme-dot.active{border-color:var(--cream);}
.theme-name{font-family:'Cormorant Garamond',serif;font-size:12px;font-style:italic;color:var(--muted);margin-left:2px;}
.dd-btn{background:transparent;border:1px solid rgba(201,168,76,0.15);color:var(--muted);font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;text-transform:uppercase;padding:7px 10px;cursor:pointer;border-radius:1px;transition:all 0.25s;text-align:left;text-decoration:none;display:block;}
.dd-btn:hover{border-color:var(--gold-dim);color:var(--gold);}

/* Header */
.grim-header{text-align:center;margin-bottom:36px;}
.header-rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold-dim);margin-bottom:14px;}
.header-rule::before,.header-rule::after{content:'';width:60px;height:1px;background:linear-gradient(to right,transparent,var(--gold-dim));}
.header-rule::after{background:linear-gradient(to left,transparent,var(--gold-dim));}
.grim-title{font-family:'Cinzel',serif;font-size:clamp(20px,3.5vw,28px);font-weight:600;color:var(--gold);letter-spacing:6px;text-transform:uppercase;margin-bottom:8px;}
.grim-subtitle{font-family:'IM Fell English',serif;font-style:italic;font-size:15px;color:var(--muted);letter-spacing:1px;}

/* Form blocks */
.grimorio-container{display:flex;flex-direction:column;gap:0;}
.grim-block{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:24px 26px;margin-bottom:16px;display:flex;flex-direction:column;gap:18px;}
.grim-block-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-dim);padding-bottom:4px;border-bottom:1px solid rgba(201,168,76,0.1);}

/* Fields */
.grim-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.grim-field{display:flex;flex-direction:column;gap:7px;}
.grim-label{font-family:'Cinzel',serif;font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);}
.grim-input{width:100%;background:rgba(0,0,0,0.4);border:1px solid rgba(201,168,76,0.15);border-radius:1px;color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:15px;padding:9px 12px;outline:none;transition:border-color 0.3s,box-shadow 0.3s;}
.grim-input::placeholder{color:var(--muted);font-style:italic;}
.grim-input:focus{border-color:var(--gold-dim);box-shadow:0 0 0 2px rgba(201,168,76,0.07);}
/* Custom dropdown */
.grim-dd{position:relative;user-select:none;}
.grim-dd-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(0,0,0,0.4);border:1px solid rgba(201,168,76,0.15);border-radius:1px;padding:9px 12px;cursor:pointer;transition:border-color 0.3s;}
.grim-dd-trigger:hover{border-color:var(--gold-dim);}
.grim-dd.open .grim-dd-trigger{border-color:var(--gold-dim);}
.grim-dd-val{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--cream);}
.grim-dd-val.placeholder{color:var(--muted);font-style:italic;}
.grim-dd-arrow{font-size:9px;color:var(--gold-dim);transition:transform 0.2s;flex-shrink:0;}
.grim-dd.open .grim-dd-arrow{transform:rotate(180deg);}
.grim-dd-list{position:absolute;top:calc(100% + 3px);left:0;right:0;background:#0e0c08;border:1px solid rgba(201,168,76,0.2);z-index:50;display:none;flex-direction:column;max-height:200px;overflow-y:auto;}
.grim-dd.open .grim-dd-list{display:flex;}
.grim-dd-opt{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--muted);padding:8px 12px;cursor:pointer;transition:background 0.15s,color 0.15s;border-bottom:1px solid rgba(201,168,76,0.05);}
.grim-dd-opt:last-child{border-bottom:none;}
.grim-dd-opt:hover{background:rgba(201,168,76,0.07);color:var(--cream);}
.grim-dd-opt.selected{color:var(--gold);}
/* Scrollbar for dropdown */
.grim-dd-list::-webkit-scrollbar{width:4px;}
.grim-dd-list::-webkit-scrollbar-track{background:transparent;}
.grim-dd-list::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px;}

/* Toggle group — fase da lua */
.grim-toggle-group{display:flex;gap:8px;flex-wrap:wrap;}
.grim-toggle{background:rgba(0,0,0,0.3);border:1px solid rgba(201,168,76,0.15);color:var(--muted);font-family:'Cinzel',serif;font-size:8.5px;letter-spacing:1px;text-transform:uppercase;padding:9px 14px;cursor:pointer;border-radius:1px;transition:all 0.25s;white-space:nowrap;}
.grim-toggle:hover{border-color:rgba(201,168,76,0.3);color:var(--cream);}
.grim-toggle.active{background:rgba(201,168,76,0.1);border-color:var(--gold-dim);color:var(--gold);}
.grim-textarea{min-height:100px;resize:vertical;line-height:1.6;}
.grim-textarea-sm{min-height:72px;}
input[type="date"],input[type="time"]{color-scheme:dark;}

/* Generate */
.grim-generate{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 0 4px;}
.grim-btn-pdf{background:transparent;border:1px solid var(--gold-dim);color:var(--gold);font-family:'Cinzel',serif;font-size:11px;letter-spacing:5px;text-transform:uppercase;padding:16px 40px;cursor:pointer;border-radius:1px;transition:all 0.4s;position:relative;overflow:hidden;width:100%;}
.grim-btn-pdf::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--gold-glow),transparent 60%);opacity:0;transition:opacity 0.4s;}
.grim-btn-pdf:hover{border-color:var(--gold);color:var(--cream);box-shadow:0 0 40px rgba(201,168,76,0.12);}
.grim-btn-pdf:hover::after{opacity:1;}
.grim-btn-pdf:active{transform:scale(0.998);}
.grim-generate-hint{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;color:var(--muted);}



/* Required marker */
.grim-req{color:rgba(192,96,80,0.8);font-size:11px;margin-left:2px;}

/* Error box */
.grim-error-box{display:flex;align-items:center;gap:12px;background:rgba(192,64,64,0.08);border:1px solid rgba(192,64,64,0.3);border-radius:1px;padding:12px 16px;margin-bottom:16px;animation:fadeIn 0.3s ease;}
.grim-error-icon{color:rgba(192,64,64,0.7);font-size:14px;flex-shrink:0;}
#grimErrorMsg{font-family:'Cormorant Garamond',serif;font-size:14px;font-style:italic;color:rgba(220,180,170,0.9);}

/* Signature input */
.grim-input-signature{font-family:'IM Fell English',serif;font-style:italic;font-size:17px;border-bottom:1px solid rgba(201,168,76,0.25);border-top:none;border-left:none;border-right:none;border-radius:0;background:transparent;padding-left:0;padding-bottom:6px;}
.grim-input-signature:focus{border-bottom-color:var(--gold-dim);box-shadow:none;}

/* Entries bar */
.grim-entries-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.2);border-radius:1px;padding:16px 22px;margin-top:16px;flex-wrap:wrap;}
.grim-entries-info{display:flex;flex-direction:column;gap:5px;}
.grim-entries-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);}
.grim-entries-hint{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--muted);}
.grim-btn-compile{background:transparent;border:1px solid var(--gold-dim);color:var(--gold);font-family:'Cinzel',serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;padding:8px 18px;cursor:pointer;border-radius:1px;transition:all 0.3s;}
.grim-btn-compile:hover{background:rgba(201,168,76,0.08);border-color:var(--gold);}

/* Info pills (auto-calculated) */
.grim-info-row{display:flex;flex-wrap:wrap;gap:8px;}
.grim-info-pill{display:inline-flex;align-items:center;background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.15);border-radius:1px;padding:5px 12px;font-family:'Cinzel',serif;font-size:8px;letter-spacing:1.5px;color:var(--gold-dim);}

/* Stars */
.grim-stars{display:flex;gap:8px;}
.grim-star{background:transparent;border:none;font-size:20px;color:rgba(201,168,76,0.2);cursor:pointer;padding:2px;transition:color 0.2s,transform 0.15s;line-height:1;}
.grim-star:hover,.grim-star.active{color:var(--gold);}
.grim-star:hover{transform:scale(1.15);}

/* Error state */
.grim-input-error{border-color:rgba(192,64,64,0.6)!important;box-shadow:0 0 0 2px rgba(192,64,64,0.08)!important;}

/* Footer */
footer{margin-top:40px;text-align:center;padding:20px 0 8px;border-top:1px solid rgba(201,168,76,0.08);width:100%;max-width:680px;}
.footer-block{display:flex;flex-direction:column;align-items:center;gap:5px;}
footer p{font-style:italic;font-size:13px;color:var(--muted);margin-bottom:4px;}
footer a{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:var(--gold-dim);text-decoration:none;border-bottom:1px solid rgba(201,168,76,0.2);padding-bottom:1px;transition:color 0.3s;}
footer a:hover{color:var(--gold);}

/* Responsive */
@media(max-width:640px){
  body{padding:56px 14px 60px;}
  .home-btn{top:8px;left:12px;padding:6px 10px;z-index:101;}
  .topbar{top:8px;right:12px;left:auto;}
  .topbar-dropdown{min-width:0;width:calc(100vw - 24px);max-width:320px;}
  .grim-row{grid-template-columns:1fr;}
  .grim-block{padding:18px 16px;}
}

