@font-face { font-family: Mondwest; src: url('/assets/PPMondwest-Regular.otf'); font-display: swap; }
:root { color-scheme: light; --ink:#151716; --paper:#f3f4f0; --line:#cdd1cb; --muted:#606860; --green:#a8f759; }
* { box-sizing:border-box; letter-spacing:0; }
body { margin:0; background:var(--paper); color:var(--ink); font:14px/1.5 Arial,Helvetica,sans-serif; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.5; }
a { color:inherit; }
[hidden] { display:none!important; }
.topbar { height:72px; padding:0 36px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--ink); }
.brand { text-decoration:none; display:flex; align-items:center; gap:12px; font-weight:800; font-size:13px; line-height:1; }
.brand small { display:block; color:var(--muted); font-size:10px; letter-spacing:2px; padding-top:5px; }
.mark { display:grid; place-items:center; width:38px; height:38px; border:2px solid currentColor; font:20px Mondwest,serif; }
.mark span { color:#619326; }
.userbar { display:flex; align-items:center; gap:20px; }
.userbar button { border:0; background:none; text-decoration:underline; text-underline-offset:4px; }
.password-dialog { width:min(440px,calc(100vw - 30px)); border:1px solid var(--ink); padding:25px; background:var(--paper); color:var(--ink); }
.password-dialog::backdrop { background:#0009; }
.password-dialog form { display:grid; gap:18px; }
.eyebrow { margin:0 0 14px; font-size:11px; font-weight:800; letter-spacing:1.7px; }
.auth-view { max-width:560px; margin:10vh auto; padding:36px; }
.auth-view h1,.intro-band h1 { font:normal 68px/1 Mondwest,Georgia,serif; margin:0 0 32px; }
.auth-form { max-width:420px; display:grid; gap:20px; }
label { display:block; font-size:12px; font-weight:700; }
input:not([type=color]):not([type=file]), textarea,select { display:block; width:100%; min-height:44px; padding:10px 11px; margin-top:7px; border:1px solid #9da69d; background:#fbfcf8; border-radius:2px; color:var(--ink); outline-offset:2px; }
textarea { resize:vertical; }
input[type=color] { display:block; width:100%; height:45px; margin-top:7px; padding:3px; background:#fff; border:1px solid #9da69d; cursor:pointer; }
input[type=file] { display:block; margin-top:8px; width:100%; }
.button { min-height:44px; padding:11px 17px; border:1px solid var(--ink); border-radius:2px; display:inline-flex; justify-content:center; align-items:center; gap:14px; text-decoration:none; font-weight:800; font-size:12px; }
.button.primary { background:var(--ink); color:white; }
.button.primary:hover { background:#303a32; }
.button.subtle { background:transparent; color:var(--ink); }
.button.subtle:hover { background:#e2e7df; }
.intro-band { padding:40px 36px 34px; border-bottom:1px solid var(--ink); display:grid; grid-template-columns:1fr 1fr; align-items:end; }
.intro-band .eyebrow { grid-column:1/-1; }
.intro-band h1 { margin:0; font-size:58px; }
.intro-band>p:last-child { max-width:360px; margin:0 0 3px auto; color:var(--muted); font-size:15px; }
.workspace { display:grid; grid-template-columns:290px minmax(0,1fr); min-height:calc(100vh - 300px); }
.rail { border-right:1px solid var(--ink); }
.rail-head { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
h2,h3 { margin:0; }
.rail-head h2,.partner-panel h2 { font-size:16px; }
.rail-head h2 span { color:var(--muted); margin-left:5px; font-size:11px; }
.icon-button { border:1px solid var(--ink); background:var(--green); width:34px; height:34px; font-size:24px; line-height:1; }
.events-list { min-height:210px; }
.event-item { width:100%; border:0; border-bottom:1px solid var(--line); background:none; padding:18px 20px; text-align:left; display:grid; gap:6px; }
.event-item:hover,.event-item[aria-current=true] { background:#e6ebdf; }
.event-item strong { font-size:14px; }
.event-item span { color:var(--muted); font-size:11px; }
.event-item em { font-style:normal; text-transform:uppercase; font-size:10px; font-weight:800; }
.partner-panel { border-top:1px solid var(--ink); padding:24px 20px; }
.partner-panel form { display:grid; gap:12px; margin:18px 0; }
.partner-panel input { font-size:13px; }
.partner-panel .button { width:100%; }
#partners-list { display:grid; gap:7px; color:var(--muted); font-size:12px; }
.invite-result { padding:12px; margin-bottom:16px; overflow-wrap:anywhere; background:#dcf3ce; font-size:11px; }
.editor-area { min-width:0; }
.empty-editor { min-height:560px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--muted); }
.empty-plus { font:100px/1 Mondwest,serif; color:#a4b19e; }
.empty-editor h2 { font:32px Mondwest,serif; }
.editor-heading { min-height:102px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px 28px; border-bottom:1px solid var(--line); }
.editor-heading .eyebrow { margin-bottom:5px; }
.editor-heading h2 { font:32px/1 Mondwest,Georgia,serif; }
.status { padding:6px 9px; border:1px solid var(--ink); font-size:10px; text-transform:uppercase; font-weight:800; white-space:nowrap; }
.status.active { background:var(--green); }
.editor-grid { display:grid; grid-template-columns:minmax(360px,.8fr) minmax(380px,1fr); }
.event-form { padding:28px; display:grid; gap:20px; align-content:start; border-right:1px solid var(--line); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-actions,.delivery-actions { display:flex; flex-wrap:wrap; gap:9px; }
.preview-side { min-width:0; padding:28px; }
.preview-heading { display:flex; align-items:center; justify-content:space-between; font-size:11px; font-weight:800; letter-spacing:1px; margin-bottom:12px; }
.mode-switch { display:flex; border:1px solid var(--line); }
.mode-switch button { width:38px; height:32px; border:0; background:none; font-size:20px; }
.mode-switch button[aria-pressed=true] { background:var(--ink); color:white; }
.preview-frame { height:min(550px,70vh); min-height:380px; background:#111; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.preview-frame.mobile iframe { width:375px; max-width:100%; }
.preview-frame iframe { border:0; width:100%; height:100%; background:#111; }
#preview-placeholder { color:#bbb; font-size:12px; padding:24px; text-align:center; }
.preview-links { display:flex; gap:20px; margin-top:13px; }
.link-button { padding:0; background:none; border:0; text-decoration:underline; text-underline-offset:4px; font-size:12px; }
.delivery { padding:28px; border-top:1px solid var(--ink); display:grid; grid-template-columns:1fr 1.5fr auto; align-items:center; gap:24px; }
.delivery .eyebrow { margin-bottom:5px; }
.delivery h3 { font:26px Mondwest,serif; }
.delivery p:last-child { color:var(--muted); font-size:12px; }
.delivery-links { display:grid; gap:6px; min-width:0; }
.delivery-links a { overflow-wrap:anywhere; font-size:12px; }
.delivery-actions { align-items:center; justify-content:flex-end; }
.media-panel { border-top:1px solid var(--ink); padding:24px 28px; }
.media-heading { display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
.media-heading h3 { font:26px Mondwest,serif; }
.media-heading span { color:var(--muted); font-size:11px; }
.media-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0; border-top:1px solid var(--line); font-size:12px; }
.media-row span { min-width:0; overflow-wrap:anywhere; }
.media-row button { border:0; background:transparent; text-decoration:underline; white-space:nowrap; }
#toast { position:fixed; bottom:20px; right:20px; max-width:min(400px,calc(100vw - 40px)); padding:12px 16px; background:var(--ink); color:#fff; opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .2s,transform .2s; z-index:10; }
#toast.show { opacity:1; transform:none; }
@media(max-width:1100px) { .editor-grid { grid-template-columns:1fr; } .event-form { border-right:0; border-bottom:1px solid var(--line); } .delivery { grid-template-columns:1fr; } .delivery-actions { justify-content:flex-start; } }
@media(max-width:720px) { .topbar { height:62px; padding:0 17px; } .userbar span { display:none; } .userbar { gap:10px; font-size:11px; } .intro-band { padding:30px 18px; display:block; } .intro-band h1 { font-size:42px; margin-bottom:13px; } .intro-band>p:last-child { margin:0; } .workspace { display:block; } .rail { border-right:0; border-bottom:1px solid var(--ink); } .events-list { min-height:0; max-height:220px; overflow:auto; } .partner-panel { padding:20px; } .editor-heading,.event-form,.preview-side,.delivery,.media-panel { padding:20px; } .editor-heading h2 { font-size:27px; } .two-col { grid-template-columns:1fr; } .preview-frame { min-height:480px; } .auth-view { margin:8vh auto; padding:22px; } .auth-view h1 { font-size:48px; } }
