:root{--bg:#fff;--bg2:#f5f5f5;--t:#1a1a1a;--t2:#666;--a:#2563eb;--a2:#1d4ed8;--b:#e5e5e5;--d:#dc2626;--r:8px}
@media(prefers-color-scheme:dark){:root{--bg:#1a1a1a;--bg2:#2a2a2a;--t:#e5e5e5;--t2:#999;--a:#3b82f6;--a2:#2563eb;--b:#333}}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--t);line-height:1.5}
h1,h2,h3{margin:0 0 .5em}
a{color:var(--a);text-decoration:none}a:hover{text-decoration:underline}
.nav{background:var(--a);color:#fff;padding:.75rem 1rem}
.nav-inner{max-width:800px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.nav-brand{color:#fff;font-weight:700;font-size:1.2rem}
.nav a{text-decoration:none}
.nav-links a{color:rgba(255,255,255,.85);margin-left:1.25rem}
.nav-links a:hover{color:#fff}
.container{max-width:800px;margin:0 auto;padding:1.5rem 1rem}
.hidden{display:none!important}
#drop-zone{border:2px dashed var(--b);border-radius:var(--r);padding:3rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s}
#drop-zone:hover,#drop-zone.active{border-color:var(--a)}
.drop-zone-icon,.drop-zone-text{color:var(--t2);margin:0}
.drop-zone-icon{margin-bottom:.5rem}
.drop-zone-file{margin:.5rem 0 0;font-weight:600;color:var(--a)}
.divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:var(--t2);font-size:.85rem}
.divider::before,.divider::after{content:'';flex:1;border-top:1px solid var(--b)}
textarea,input[type=text],input[type=password],input[type=number],select{width:100%;padding:.5rem .75rem;border:1px solid var(--b);border-radius:var(--r);background:var(--bg);color:var(--t);font:inherit}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--a)}
textarea{resize:vertical}
.form-group{margin-bottom:.75rem}
.form-group label{display:block;font-size:.85rem;color:var(--t2);margin-bottom:.25rem}
.options-panel{margin:1rem 0;border:1px solid var(--b);border-radius:var(--r)}
.options-panel summary{padding:.6rem .75rem;cursor:pointer;font-weight:600}
.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;padding:0 .75rem .75rem}
.toggle{position:relative;display:inline-block;width:44px;height:24px}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:var(--b);border-radius:12px;transition:.2s}
.toggle-slider::before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.2s}
.toggle input:checked+.toggle-slider{background:var(--a)}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px)}
.btn{padding:.5rem 1.2rem;border:none;border-radius:var(--r);font:inherit;font-weight:600;cursor:pointer}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:var(--a);color:#fff}
.btn-primary:hover:not(:disabled){background:var(--a2)}
.btn-danger{background:var(--d);color:#fff}
.btn-ghost{background:0 0;color:var(--a);border:1px solid var(--b)}
.btn-block{width:100%}.btn-sm{padding:.3rem .7rem;font-size:.8rem}
.progress-bar{height:4px;background:var(--bg2);overflow:hidden;margin-top:1rem}
.progress-fill{height:100%;width:0;background:var(--a);transition:width .2s}
.progress-text,.result-label,.result-note{font-size:.8rem;color:var(--t2)}
.progress-text{text-align:center;margin:.4rem 0 0}
.result-card,.card{background:var(--bg2);border-radius:var(--r);padding:1.25rem}
.result-card{margin-top:1.25rem}.card{margin-bottom:1rem}
.result-label{margin:0 0 .4rem}
.result-url-row{display:flex;gap:.5rem}
.result-url-input{flex:1}
.result-note{margin:.6rem 0 0}
.result-card .btn-ghost{margin-top:.75rem}
.share-meta{display:flex;gap:1rem;margin-bottom:1rem}
.share-type-icon{font-size:2rem}
.share-details{list-style:none;padding:0;margin:.25rem 0 0;font-size:.85rem;color:var(--t2)}
#share-actions{margin-bottom:1rem}
.text-display{background:var(--bg);border:1px solid var(--b);border-radius:var(--r);padding:.75rem;margin-bottom:.75rem;max-height:400px;overflow:auto}
.text-display pre{margin:0;white-space:pre-wrap;word-wrap:break-word}
.shares-table{width:100%;border-collapse:collapse}
.shares-table th,.shares-table td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--b)}
.shares-table th{font-size:.8rem;color:var(--t2);font-weight:600}
.loading-state,.error-state{text-align:center;padding:3rem 0;color:var(--t2)}
.spinner{width:28px;height:28px;border:3px solid var(--b);border-top-color:var(--a);border-radius:50%;animation:spin .6s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.error-state h2,.text-danger{color:var(--d)}
.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--t);color:var(--bg);padding:.6rem 1rem;border-radius:var(--r);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:99}
.toast.show{opacity:1;transform:translateY(0)}
.board-card{background:var(--bg2);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between}
.board-card-info{flex:1;min-width:0}
.board-card-info a{font-weight:600;font-size:1.05rem;display:block;margin-bottom:.15rem}
.board-card-info small{color:var(--t2);font-size:.8rem}
.board-card-actions{display:flex;gap:.5rem;flex-shrink:0}
.board-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px}
.board-header-right{display:flex;align-items:center;gap:12px}
.board-tabs{display:flex;border-bottom:1px solid var(--b);margin-bottom:0}
.board-tab{padding:.5rem 1.2rem;background:0 0;border:none;border-bottom:2px solid transparent;color:var(--t2);font:inherit;font-weight:600;cursor:pointer}
.board-tab.active{color:var(--a);border-bottom-color:var(--a)}
.board-tab:hover{color:var(--t)}
.board-editor{width:100%;min-height:60vh;font-family:monospace;font-size:14px;line-height:1.6;resize:vertical;padding:.75rem;border:none;border-radius:0;border-top:none;background:var(--bg);color:var(--t)}
.board-editor:focus{outline:0}
.board-preview{padding:16px;line-height:1.6}
.save-status{font-size:12px;color:var(--t2);opacity:.7}
.save-status.saving{color:var(--a)}
.save-status.error{color:var(--d);opacity:1}
.remote-update-banner{background:var(--bg2);border:1px solid var(--a);border-radius:var(--r);padding:.5rem .75rem;margin-top:.5rem;font-size:.85rem;display:flex;align-items:center;gap:.5rem}
.board-preview h1,.board-preview h2,.board-preview h3,.board-preview h4,.board-preview h5,.board-preview h6{margin:1em 0 .5em}
.board-preview h1{font-size:1.5em;border-bottom:1px solid var(--b);padding-bottom:.3em}
.board-preview h2{font-size:1.3em}
.board-preview h3{font-size:1.15em}
.board-preview code{background:var(--bg2);padding:2px 6px;border-radius:3px;font-size:.9em}
.board-preview pre{background:var(--bg2);padding:12px;border-radius:6px;overflow-x:auto}
.board-preview pre code{background:0 0;padding:0}
.board-preview blockquote{border-left:3px solid var(--a);padding-left:12px;margin:8px 0;opacity:.8}
.board-preview ul,.board-preview ol{padding-left:24px}
.board-preview hr{border:none;border-top:1px solid var(--b);margin:16px 0}
.board-preview a{color:var(--a)}
.board-preview p{margin:.5em 0}
@media(max-width:600px){.container{padding:1rem .75rem}.options-grid{grid-template-columns:1fr}.shares-table .hide-sm{display:none}.board-header{flex-direction:column;align-items:flex-start;gap:.5rem}}
