
:root{color-scheme:dark;--bg:#060b19;--ink:#f4f6fc;--muted:#b7c1d8;--cyan:#77e2ff;--border:#34435e;--gold:#ffcf72}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 0% 12%,#102542 0%,transparent 49%),radial-gradient(ellipse at 100% 75%,#211641 0%,transparent 44%),var(--bg);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif;min-height:100vh}
.shell{width:min(1100px,calc(100% - 40px));margin:auto}
header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 0;border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:10px;font-weight:bold}.brand img{width:44px;height:44px;object-fit:contain}
nav{display:flex;gap:5px;flex-wrap:wrap}
button,input,textarea,select{font:inherit}
button{cursor:pointer;color:inherit}
nav button,.secondary{border:1px solid transparent;border-radius:10px;background:transparent;padding:8px 12px;color:var(--muted);font-size:14px}
nav button[aria-current="page"],.secondary{background:#162039;border-color:var(--border);color:#e8f6ff}
main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,7vw,100px);align-items:start;padding:clamp(32px,7vw,76px) 0 54px}
.intro{padding:25px 0}h1,h2,p{margin-top:0}h1{font-size:clamp(36px,5vw,65px);line-height:1.02;letter-spacing:-.055em;margin-bottom:20px}
h1 span{background:linear-gradient(100deg,var(--cyan),#b4a1ff);background-clip:text;color:transparent}
h2{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin-bottom:10px}
p,small{color:var(--muted)}.intro p{max-width:35ch}.tag{color:var(--cyan);font-size:13px;font-weight:700;margin-bottom:13px}
.panel{padding:clamp(20px,4vw,34px);border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,#132039,#10182a 60%,#191632);box-shadow:0 24px 80px #03061270}
fieldset{margin:0 0 18px;padding:0;border:0;min-width:0}legend,.label{font-size:15px;font-weight:700}
.stars{display:flex;gap:5px;margin:8px 0 4px}.star{display:grid;place-items:center;width:51px;height:48px;font-size:29px;line-height:1;background:#0a1428;border:1px solid var(--border);border-radius:10px;color:#a9b4ce}.star.on{color:var(--gold);background:#362b33;border-color:#836746}
.hint{margin:0;font-size:13px;min-height:20px}
.field{margin-bottom:15px}.label{display:block;margin-bottom:5px}.optional{font-size:13px;font-weight:400;color:var(--muted)}
textarea,input[type=text],select{width:100%;min-width:0;background:#0a1428;color:var(--ink);padding:10px 12px;border-radius:10px;border:1px solid var(--border)}
textarea{resize:vertical;min-height:72px}::placeholder{color:#a2aec9}
.check{display:flex;align-items:flex-start;gap:9px;color:#e1e7f4;font-size:14px;margin-bottom:13px;cursor:pointer}.check input{accent-color:#83bfff;margin:4px 0 0;width:17px;height:17px;flex:none}
.primary{border:0;border-radius:11px;padding:12px 18px;background:linear-gradient(100deg,#73dfff,#b8a6ff);color:#071129;font-weight:700;width:100%}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.message{font-size:14px;margin:0 0 9px;color:#ffb1bb}
.review-stars{color:var(--gold);font-size:24px;letter-spacing:2px}.review{border:1px solid var(--border);border-radius:14px;padding:19px;background:#0b1427;overflow-wrap:anywhere}.review p{white-space:pre-wrap;margin:10px 0}
footer{border-top:1px solid var(--border);padding:17px 0 24px;color:var(--muted);font-size:13px}
[hidden]{display:none!important}
@media(max-width:700px){main{grid-template-columns:1fr;gap:16px;padding-top:26px}.intro{padding:0}.intro p{margin-bottom:4px}.brand span{display:none}header{padding:13px 0}.star{width:46px;height:44px}}

.panel .secondary{display:inline-block;text-decoration:none}
.manage{padding:34px 0 55px;max-width:760px;margin:auto}
.manage .panel{margin-bottom:16px}
.manage h1{font-size:clamp(34px,6vw,54px)}
.manage .review{margin-top:12px}
.manage form{margin:12px 0}
.manage label{display:block;font-weight:bold}
.manage input{margin:8px 0 10px}
.manage .primary{width:auto}
.manage .hint{margin-bottom:8px}
.review-actions{margin-top:12px}
.invitation-link{overflow-wrap:anywhere;color:var(--cyan)}

@media(max-width:700px){.brand span{display:inline}}
