:root { --ink:#17231d; --muted:#66746d; --paper:#f4f6f1; --card:#fff; --line:#dce3dd; --green:#1f6b4f; --green-dark:#15543d; --mint:#e4f2e9; --red:#9c2f32; --amber:#8b5c0a; --shadow:0 18px 55px rgba(31,54,43,.08); }
* { box-sizing:border-box; }
html { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 85% 0, #e1eee5 0, transparent 27rem), var(--paper); }
button,input,textarea { font:inherit; }
a { color:inherit; }
.site-header,.site-footer,.page-shell { width:min(1080px,calc(100% - 40px)); margin-inline:auto; }
.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(23,35,29,.09); }
.header-tools { display:flex; align-items:center; gap:14px; }.language-switch { display:grid; place-items:center; min-width:38px; height:32px; padding:0 8px; border:1px solid var(--line); border-radius:8px; color:var(--green); background:white; font-size:12px; font-weight:800; text-decoration:none; }.language-switch:hover { background:var(--mint); }
.brand { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:750; text-decoration:none; letter-spacing:-.02em; }
.brand-mark { width:31px; height:31px; display:grid; place-items:center; color:white; border-radius:9px; background:var(--green); font-family:Georgia,serif; }
.privacy-label { color:var(--muted); font-size:13px; }
.page-shell { padding:64px 0 80px; }
.hero { max-width:810px; margin:0 auto 38px; text-align:center; }
.eyebrow { margin:0 0 10px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,p { margin-top:0; }
h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,6vw,64px); line-height:1.03; letter-spacing:-.035em; font-weight:500; margin-bottom:20px; }
h2 { font-family:Georgia,"Times New Roman",serif; font-size:27px; letter-spacing:-.02em; font-weight:500; }
.lead { max-width:660px; margin:0 auto; color:var(--muted); font-size:18px; line-height:1.65; }
.card { background:rgba(255,255,255,.94); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.create-card,.owner-card { max-width:820px; margin:0 auto 24px; padding:32px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.section-heading>div { display:flex; align-items:center; gap:12px; }
.section-heading h2 { margin:0; }
.section-heading.compact { margin-bottom:12px; }
.step { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--mint); color:var(--green); font-size:11px; font-weight:800; }
.muted { color:var(--muted); }
.tabs { width:max-content; display:flex; padding:4px; background:#edf1ed; border-radius:11px; margin-bottom:22px; }
.tab input { position:absolute; opacity:0; pointer-events:none; }
.tab span { display:block; min-width:105px; padding:9px 18px; text-align:center; border-radius:8px; color:var(--muted); font-weight:650; cursor:pointer; }
.tab input:checked+span { color:var(--ink); background:white; box-shadow:0 2px 8px rgba(23,35,29,.08); }
label { display:block; margin-bottom:8px; font-size:14px; font-weight:700; }
input,textarea { width:100%; color:var(--ink); background:white; border:1px solid #cbd5cd; border-radius:11px; padding:13px 14px; outline:none; transition:border-color .15s,box-shadow .15s; }
textarea { resize:vertical; line-height:1.55; }
input:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(31,107,79,.12); }
.field-meta,.form-actions { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:12px; margin-top:7px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.password-grid { padding-top:25px; margin-top:25px; border-top:1px solid var(--line); }
.password-field { position:relative; }
.password-field input { padding-right:84px; }
.reveal { position:absolute; right:8px; top:7px; padding:7px; border:0; background:none; color:var(--green); font-size:12px; font-weight:700; cursor:pointer; }
.field-hint { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.strength { height:3px; margin-top:7px; overflow:hidden; border-radius:3px; background:#e8ece9; }
.strength span { display:block; width:0; height:100%; background:var(--red); transition:width .2s; }
.strength span[data-level="medium"] { background:#c98919; }.strength span[data-level="high"] { background:var(--green); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:44px; border:1px solid transparent; border-radius:10px; padding:10px 18px; font-weight:750; text-decoration:none; cursor:pointer; }
.button-primary { background:var(--green); color:white; }.button-primary:hover { background:var(--green-dark); }
.button-secondary { color:var(--green); background:var(--mint); }.button-secondary:hover { background:#d5eadc; }
.button-quiet { background:white; border-color:var(--line); color:var(--muted); }
.button-wide { width:100%; margin-top:26px; min-height:52px; }
.file-drop { display:flex; flex-direction:column; align-items:center; padding:34px; border:1.5px dashed #aebeb3; border-radius:14px; background:#f9fbf8; cursor:pointer; text-align:center; }
.file-drop span:last-child { color:var(--muted); font-size:13px; margin-top:5px; }.file-icon { display:grid; place-items:center; width:45px; height:45px; margin-bottom:10px; border-radius:50%; background:var(--mint); color:var(--green); font-size:24px; }
.photo-selection { margin-top:10px; padding:10px 12px; border-radius:9px; color:var(--green); background:var(--mint); font-size:13px; font-weight:700; }
.notice { padding:12px 14px; margin:10px 0 0; border-radius:9px; background:#fff6df; color:var(--amber); font-size:12px; }
.owner-copy { margin-bottom:18px; }.inline-form { display:grid; grid-template-columns:1fr auto; gap:10px; }
.trust-row { max-width:650px; display:flex; justify-content:space-around; margin:40px auto 0; text-align:center; }.trust-row div { display:flex; flex-direction:column; }.trust-row strong { color:var(--green); font:500 28px Georgia,serif; }.trust-row span { color:var(--muted); font-size:12px; }
.alert { max-width:820px; margin:0 auto 20px; padding:13px 15px; border-radius:10px; font-size:14px; line-height:1.5; }.alert-error { color:var(--red); background:#fae9e9; border:1px solid #edcaca; }.alert-warning { color:#694806; background:#fff5d9; border:1px solid #f0dda8; }.alert-success { color:var(--green); background:var(--mint); }
.narrow { max-width:660px; margin:20px auto; padding:44px; text-align:center; }.narrow h1 { font-size:44px; }.narrow p:not(.eyebrow) { color:var(--muted); line-height:1.6; }
.success-mark { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; background:var(--mint); color:var(--green); font-size:26px; }
.copy-box { display:flex; gap:8px; margin:26px 0; }.copy-box input { min-width:0; background:#f7f9f6; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:13px; }
.text-link { display:inline-block; margin-top:10px; color:var(--green); font-weight:700; }
.lock-mark { width:58px; height:52px; position:relative; margin:4px auto 24px; border-radius:12px; background:var(--mint); }.lock-mark:before { content:""; position:absolute; width:25px; height:22px; left:15px; top:-13px; border:4px solid var(--green); border-bottom:0; border-radius:15px 15px 0 0; }.lock-mark span:after { content:""; position:absolute; width:5px; height:12px; left:27px; top:20px; border-radius:5px; background:var(--green); }
.unlock-card form { margin-top:25px; text-align:left; }
.content-head { margin-bottom:24px; }.content-head h1 { font-size:48px; margin-bottom:8px; }.publication-body { padding:36px; margin-bottom:22px; }.user-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }.publication-body audio { display:block; width:100%; margin-top:22px; }.audio-info { display:flex; align-items:center; gap:14px; }.audio-info .file-icon { margin:0; flex:0 0 auto; }.audio-info div { display:flex; flex-direction:column; overflow:hidden; }.audio-info strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.audio-info span { color:var(--muted); font-size:13px; }
.photo-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }.gallery-item { position:relative; min-height:180px; padding:0; overflow:hidden; border:0; border-radius:12px; background:#edf1ed; cursor:zoom-in; }.gallery-item img { display:block; width:100%; height:100%; min-height:180px; max-height:320px; object-fit:cover; }.gallery-item span { position:absolute; right:8px; bottom:8px; display:grid; place-items:center; min-width:27px; height:27px; padding:0 7px; border-radius:14px; color:white; background:rgba(0,0,0,.62); font-size:12px; }.photo-viewer { width:min(96vw,1200px); height:min(94vh,900px); padding:0; overflow:hidden; border:0; border-radius:14px; background:#101310; color:white; }.photo-viewer::backdrop { background:rgba(7,12,9,.86); }.photo-viewer figure { width:100%; height:100%; display:grid; grid-template-rows:1fr auto; place-items:center; margin:0; padding:42px 64px 18px; }.photo-viewer img { max-width:100%; max-height:calc(94vh - 90px); object-fit:contain; }.photo-viewer figcaption { padding-top:10px; color:#d7ddd9; font-size:13px; }.viewer-close,.viewer-nav { position:absolute; z-index:2; display:grid; place-items:center; border:0; border-radius:50%; color:white; background:rgba(0,0,0,.55); cursor:pointer; }.viewer-close { top:10px; right:10px; width:38px; height:38px; font-size:26px; }.viewer-nav { top:50%; width:44px; height:56px; margin-top:-28px; font-size:36px; }.viewer-prev { left:10px; }.viewer-next { right:10px; }
.comment-card { padding:28px 32px; }.comment-card h2 { margin-bottom:5px; }.comment-card .alert { margin:14px 0; }.form-actions { align-items:center; }
.dashboard-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:30px; }.dashboard-head h1 { font-size:52px; margin-bottom:8px; }.publication-list { display:grid; gap:16px; }.publication-item { padding:26px; }.publication-top { display:flex; justify-content:space-between; gap:24px; }.publication-top h2 { max-width:600px; margin:10px 0 6px; overflow-wrap:anywhere; font:600 20px/1.35 ui-sans-serif,system-ui,sans-serif; }.publication-top p { font-size:13px; }.type-badge { padding:5px 9px; color:var(--green); background:var(--mint); border-radius:6px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.stats { display:flex; gap:25px; text-align:right; }.stats div { display:flex; flex-direction:column; }.stats strong { font:500 28px Georgia,serif; }.stats span { color:var(--muted); font-size:11px; }.compact-copy { margin:18px 0; }.compact-copy input { padding-block:10px; }.compact-copy .button { min-height:40px; }
details { border-top:1px solid var(--line); padding-top:17px; }summary { color:var(--green); font-weight:700; cursor:pointer; }summary span { display:inline-grid; place-items:center; min-width:21px; height:21px; margin-left:5px; border-radius:10px; background:var(--mint); font-size:11px; }.comments-list { display:grid; gap:10px; margin-top:15px; }.comment { padding:14px; border-radius:9px; background:#f5f7f4; }.comment time { display:block; margin-bottom:7px; color:var(--muted); font-size:11px; }.empty-inline { margin:14px 0 0; }
.empty-state { padding:50px; text-align:center; }.empty-state>span { font:40px Georgia,serif; color:var(--green); }.empty-state h2 { margin:10px 0; }.empty-state p { color:var(--muted); }
.site-footer { min-height:78px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(23,35,29,.09); color:var(--muted); font-size:12px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
[hidden] { display:none!important; }
.link-settings { padding:24px 0 0; margin:25px 0 0; border:0; border-top:1px solid var(--line); }
.link-settings legend { padding:24px 0 0; font:500 21px Georgia,serif; }
.lifetime-row { display:grid; grid-template-columns:140px 1fr; gap:22px; align-items:end; }
.field-label { display:block; margin-bottom:8px; font-size:14px; font-weight:700; }
.choice-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.choice { margin:0; }.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice span { display:grid; place-items:center; min-height:47px; padding:9px 12px; border:1px solid #cbd5cd; border-radius:10px; color:var(--muted); text-align:center; cursor:pointer; }
.choice input:checked+span { border-color:var(--green); color:var(--green); background:var(--mint); box-shadow:0 0 0 1px var(--green); }
.check-choice { display:flex; gap:11px; align-items:flex-start; margin:18px 0 0; padding:14px; border-radius:11px; background:#f5f8f5; cursor:pointer; }
.check-choice input { width:18px; height:18px; margin:2px 0 0; accent-color:var(--green); }
.check-choice span { display:flex; flex-direction:column; gap:3px; }.check-choice small { color:var(--muted); font-weight:400; line-height:1.4; }
.expired-mark { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; background:#fae9e9; color:var(--red); font-size:32px; }
.link-summary { display:flex; flex-direction:column; gap:4px; margin:-8px 0 24px; color:var(--muted); font-size:13px; }.link-summary strong { color:var(--green); }
.access-status { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; margin:18px 0 4px; padding:11px 13px; border-radius:10px; background:#f3f7f3; color:var(--muted); font-size:12px; }
.access-status strong { color:var(--green); }.status-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(31,107,79,.1); }
.one-time-badge { margin-left:5px; padding:3px 7px; border-radius:5px; background:#fff1cf; color:var(--amber); font-weight:700; }
.content-status { width:max-content; max-width:100%; justify-content:flex-start; margin:12px 0 0; }
.dashboard-lifecycle { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.state-badge { padding:5px 8px; border-radius:6px; background:#f0f5f1; color:var(--green); font-size:11px; font-weight:650; }.state-ended { color:var(--red); background:#fae9e9; }
.manage-details { margin-bottom:16px; }.manage-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px; }
.manage-grid form { padding:16px; border:1px solid var(--line); border-radius:11px; background:#fafbf9; }.manage-grid form>strong,.manage-grid form>label { display:block; margin-bottom:7px; }
.manage-grid p { min-height:34px; margin:6px 0 12px; color:var(--muted); font-size:11px; line-height:1.45; }.manage-grid input { padding-block:10px; }
@media (max-width:700px) { .site-header,.site-footer,.page-shell { width:min(100% - 24px,1080px); }.site-header { height:64px; }.privacy-label { display:none; }.page-shell { padding:40px 0 60px; }.hero { text-align:left; }.hero h1 { font-size:40px; }.lead { font-size:16px; }.create-card,.owner-card,.narrow { padding:22px; border-radius:16px; }.tabs { width:100%; }.tab { flex:1; }.tab span { min-width:0; padding-inline:8px; font-size:13px; }.form-grid,.lifetime-row,.manage-grid { grid-template-columns:1fr; }.choice-row { grid-template-columns:1fr; }.inline-form { grid-template-columns:1fr; }.section-heading>.muted { display:none; }.trust-row { justify-content:space-between; }.copy-box { flex-direction:column; }.content-head h1,.dashboard-head h1 { font-size:40px; }.publication-body,.comment-card,.publication-item { padding:21px; }.photo-gallery { grid-template-columns:repeat(2,1fr); gap:8px; }.gallery-item,.gallery-item img { min-height:130px; }.photo-viewer figure { padding-inline:38px; }.viewer-nav { width:36px; }.dashboard-head,.publication-top { flex-direction:column; }.stats { text-align:left; }.site-footer span:last-child { display:none; } }
