:root{color-scheme:dark;--night:#1b1427;--gold:#d6b77c;--paper:#f3e8cf;--ink:#352b34;--muted:#b8aabe}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0%,#51336166,transparent 55%),radial-gradient(ellipse at 0% 90%,#48305f66,transparent 50%),var(--night);color:#eee6ef;font:15px/1.65 system-ui,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit}button,.button{cursor:pointer;border:1px solid #b79964;background:var(--gold);color:#241b2e;border-radius:5px;padding:10px 18px;text-decoration:none;font-weight:600}button:hover,.button:hover{filter:brightness(1.1)}button.secondary,.button.secondary{background:transparent;color:inherit;border-color:#a18aab66}button.danger{color:#a03434;background:transparent;border-color:#a0343455}button:disabled{opacity:.5;cursor:wait}header{border-bottom:1px solid #d6b77c25;display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;gap:20px}.brand{font:27px Georgia,serif;letter-spacing:1px;color:var(--gold);text-decoration:none}.brand small{display:block;font:9px system-ui;letter-spacing:3px;color:#b7a7bf;margin-left:32px;text-transform:uppercase}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}nav a{text-decoration:none;font-size:13px}main{max-width:1180px;margin:auto;padding:48px 28px 80px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.18}h1{font-size:clamp(36px,5vw,58px);margin:12px 0 20px}h2{font-size:30px}h3{font-size:24px;margin:12px 0}.eyebrow{letter-spacing:3px;text-transform:uppercase;font-size:10px;color:var(--gold)}.intro{color:var(--muted);max-width:650px}.hero{padding:6px 0 28px;position:relative}.hero:after{content:'✧';position:absolute;right:40px;top:0;color:#d6b77c55;font-size:110px;font-family:Georgia}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.toolbar input{flex:1;min-width:220px}input,select,textarea{background:#30243c;border:1px solid #8e759750;color:#f4edf3;border-radius:5px;padding:12px;width:100%}select{width:auto}label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}textarea{resize:vertical;min-height:150px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:linear-gradient(115deg,#f7efdc,#eaddbd);color:var(--ink);border:1px solid #d6b77c80;border-radius:5px;padding:25px;box-shadow:0 10px 25px #0002;text-decoration:none;display:block;transition:transform .15s}.card:hover{transform:translateY(-3px)}.card p{font-size:14px;color:#655963}.card .tag{color:#775934}.card img{width:100%;height:150px;object-fit:cover;border-radius:3px;margin-bottom:15px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold)}.card footer{border-top:1px solid #b79c7033;padding-top:15px;font-size:12px;display:flex;justify-content:space-between}.empty{border:1px dashed #d6b77c55;border-radius:5px;padding:55px 25px;text-align:center;grid-column:1/-1}.empty p{color:var(--muted)}.paper{background:linear-gradient(120deg,#f8efdc,#ecdfc1);color:var(--ink);padding:clamp(24px,5vw,65px);border:1px solid #d6b77c;border-radius:5px;margin-top:25px;box-shadow:0 20px 70px #0003}.paper h1{font-size:44px}.paper .tag{color:#816234}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:17px;max-width:800px}.spell{display:grid;grid-template-columns:1fr 1fr;gap:20px 38px;border-top:1px solid #ad8f5b55;margin-top:30px;padding-top:20px}.spell dt{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#89652f}.spell dd{margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.illustration{max-width:100%;max-height:500px;display:block;object-fit:contain;margin:25px auto}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.auth{max-width:470px;margin:5vh auto;background:#251b32dd;border:1px solid #d6b77c44;border-radius:8px;padding:36px}.auth h1{font-size:42px}.auth .seal{text-align:center;font:68px Georgia;color:var(--gold)}.auth button{width:100%;margin-top:25px}.small{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid .wide{grid-column:1/-1}.editor{max-width:850px}.editor>form{background:#281e35;border:1px solid #d6b77c33;padding:28px;border-radius:5px}.row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #d6b77c22;align-items:center}.row p{margin:0;overflow-wrap:anywhere}.row small{color:var(--muted)}#notice:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 24px;border:1px solid var(--gold);border-radius:5px;background:#32243e;color:white;box-shadow:0 10px 30px #0005;z-index:20;max-width:90vw}.loading{text-align:center;padding:20vh 20px}.count{font-size:12px;color:var(--muted);margin-bottom:18px}.invitation-link{overflow-wrap:anywhere;color:var(--gold)}.error{color:#ffd2c0}.site-footer{text-align:center;color:#9c8caa;font-size:10px;letter-spacing:2px;padding:25px;border-top:1px solid #d6b77c18}dialog{background:#2c2038;color:white;border:1px solid var(--gold);border-radius:8px;max-width:440px;padding:28px}dialog::backdrop{background:#090511bb}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.hero:after{display:none}header{align-items:flex-start}nav{gap:10px}nav span{display:none}}@media(max-width:540px){header{padding:18px;flex-direction:column;gap:15px}.brand{font-size:25px}main{padding:30px 18px 50px}.grid,.spell,.form-grid{grid-template-columns:1fr}.toolbar>*{width:100%}.auth{margin:15px auto;padding:26px}.paper h1{font-size:34px}.row{align-items:flex-start;flex-direction:column}.form-grid .wide{grid-column:auto}.editor>form{padding:18px}.actions button{padding:9px 12px}}
