/* Textabrúin – eigin ritunarumhverfi innan Stafsetningarheimsins. */
.tb-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[hidden] { display:none !important; }
.tb-view { --tb-ink:#18273d; --tb-teal:#147c72; --tb-coral:#eb7655; --tb-cream:#fffaf2; color:var(--tb-ink); }
.tb-view button, .tb-home-launch button { cursor:pointer; }
.tb-kicker { display:inline-block; color:#f4ddaa; font-size:.73rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.tb-kicker-dark { color:#9a624b; }
.tb-home-launch { position:relative; display:grid; grid-template-columns:1.3fr .7fr; align-items:center; min-height:240px; overflow:hidden; margin:1.25rem 0 1.7rem; padding:2rem 3rem; border-radius:28px; color:#fff; background:linear-gradient(115deg,#163c4b 0%,#286d69 55%,#609878 100%); box-shadow:0 16px 36px rgba(18,73,76,.18); }
.tb-home-launch::before { content:""; position:absolute; width:450px; height:450px; top:-250px; right:-65px; border:1px solid #ffffff3a; border-radius:50%; box-shadow:0 0 0 70px #ffffff0b,0 0 0 140px #ffffff0b; }
.tb-home-launch-copy { position:relative; z-index:1; max-width:630px; }
.tb-home-launch h2 { margin:.35rem 0 .6rem; font-family:Georgia,serif; font-size:clamp(1.9rem,3vw,3.2rem); font-weight:500; letter-spacing:-.045em; }
.tb-home-launch p { max-width:570px; margin:0 0 1.25rem; color:#e4f5ef; }
.tb-launch-button { display:inline-flex; align-items:center; gap:1.5rem; border:0; border-radius:999px; padding:.85rem 1.25rem; color:#143c42; background:#f8d58c; font-weight:900; box-shadow:0 7px 0 #caac71; }
.tb-launch-button:hover { transform:translateY(-2px); }
.tb-home-paper { position:relative; display:flex; flex-direction:column; width:min(235px,90%); min-height:170px; justify-self:center; padding:1.35rem; transform:rotate(7deg); border-radius:7px; color:#244453; background:#fff9ea; box-shadow:12px 16px 0 #ffffff31,0 18px 35px #12304777; }
.tb-home-paper span { color:#b96850; font-size:.62rem; font-weight:900; letter-spacing:.2em; }
.tb-home-paper strong { margin:.8rem 0 .6rem; font:italic 1.25rem Georgia,serif; }
.tb-home-paper i { height:1px; margin:.35rem 0; background:#d5c9b7; }.tb-home-paper i:nth-of-type(2){width:85%}.tb-home-paper i:nth-of-type(3){width:60%}
.tb-home-paper small { margin-top:auto; color:#498879; }
.tb-hero { position:relative; display:grid; grid-template-columns:1.12fr .88fr; min-height:420px; overflow:hidden; border-radius:30px; background:#153d49; color:#fff; box-shadow:0 24px 60px #133f4933; }
.tb-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 86% 78%,#78ac8b60,transparent 42%),linear-gradient(110deg,transparent 55%,#ffffff09); }
.tb-hero-copy { position:relative; z-index:2; padding:clamp(2rem,5vw,4.8rem); }
.tb-hero h1 { max-width:650px; margin:.65rem 0 1.25rem; font:500 clamp(3rem,5.2vw,5.5rem)/1.01 Georgia,serif; letter-spacing:-.065em; }
.tb-hero h1 em { color:#f7d796; font-weight:400; }
.tb-hero p { max-width:530px; color:#d5e7e2; font-size:1.1rem; line-height:1.65; }
.tb-hero-link { display:inline-flex; gap:2rem; align-items:center; margin-top:.85rem; padding:.72rem 0; border:0; border-bottom:1px solid #f7d796; background:transparent; color:#f7d796; font-weight:800; text-decoration:none; }
.tb-hero-art { position:relative; z-index:1; min-height:340px; }
.tb-orbit { position:absolute; width:380px; height:380px; top:10px; left:10%; border:1px solid #ffffff30; border-radius:50%; }.tb-orbit-b { width:530px; height:530px; top:-60px; left:-10%; }
.tb-feather { position:absolute; top:22px; right:25%; color:#efce8b; font-size:4rem; transform:rotate(-15deg); }
.tb-art-sheet { position:absolute; display:flex; flex-direction:column; width:290px; min-height:280px; top:83px; left:14%; padding:2rem 1.7rem; transform:rotate(9deg); border-radius:7px; color:#203f48; background:#fff8ec; box-shadow:22px 24px 0 #b3d6bb66,0 28px 60px #071e2990; }
.tb-art-sheet span { color:#a46a4d; font-size:.66rem; font-weight:900; letter-spacing:.15em; }
.tb-art-sheet strong { margin:2rem 0 1rem; font:italic 1.7rem Georgia,serif; }.tb-art-sheet i { height:1px; margin:.46rem 0; background:#d7cbb8; }.tb-art-sheet i:nth-of-type(2){width:85%}.tb-art-sheet i:nth-of-type(3){width:66%}.tb-art-sheet b { align-self:end; margin-top:auto; color:#c17257; font-size:2rem; }
.tb-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:3rem 0 1.25rem; }
.tb-section-heading h2 { margin:.25rem 0 0; font:500 clamp(1.8rem,3vw,2.5rem) Georgia,serif; letter-spacing:-.045em; }
.tb-section-heading p { max-width:310px; margin:0; color:#63747d; }
.tb-genre-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.tb-genre-card { position:relative; display:flex; flex-direction:column; min-height:245px; align-items:start; overflow:hidden; border:1px solid #d9e2df; border-radius:21px; padding:1.45rem; text-align:left; color:#1c3340; background:#fffdfa; box-shadow:0 5px 20px #23383f08; transition:transform .2s,box-shadow .2s; }
.tb-genre-card:hover { transform:translateY(-5px); box-shadow:0 18px 35px #1d3c4320; }
.tb-genre-card::after { content:""; position:absolute; width:160px; height:160px; top:-70px; right:-70px; border-radius:50%; background:var(--genre-color); opacity:.14; }
.tb-genre-icon { display:grid; width:51px; height:51px; place-items:center; border-radius:15px; color:#fff; background:var(--genre-color); font:1.6rem Georgia,serif; }
.tb-genre-card strong { margin:1.8rem 0 .35rem; font:500 1.55rem Georgia,serif; }
.tb-genre-card small { color:#60727c; line-height:1.5; font-size:.88rem; }.tb-genre-card .tb-card-arrow { margin-top:auto; align-self:end; color:var(--genre-color); font-size:1.4rem; font-weight:800; }
.tb-shelf { margin:3.2rem 0; padding:1px 2rem 2rem; border:1px solid #dce4e2; border-radius:24px; background:#fff; }.tb-shelf .tb-section-heading { margin:1.8rem 0 .35rem; }
.tb-shelf-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.tb-shelf-actions button,.tb-import-label { display:inline-block; border:1px solid #b9d0cc; border-radius:10px; padding:.55rem .75rem; background:#f7fbf9; color:#285c59; font-size:.82rem; font-weight:800; cursor:pointer; }
.tb-shelf-note { margin:0 0 1.25rem; color:#697b82; font-size:.9rem; }
.tb-draft-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.tb-draft-card { display:flex; flex-direction:column; min-height:155px; border:1px solid #e2e9e6; border-radius:15px; padding:1rem; background:#fbfcfa; }
.tb-draft-card span { color:#a16b52; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.tb-draft-card strong { overflow:hidden; margin:.45rem 0; text-overflow:ellipsis; white-space:nowrap; font:500 1.3rem Georgia,serif; }
.tb-draft-card small { color:#6c7c82; }.tb-draft-actions { display:flex; justify-content:space-between; gap:.6rem; margin-top:auto; padding-top:.7rem; }.tb-draft-actions button { border:0; background:none; color:#27776d; font-weight:800; }.tb-draft-actions .tb-delete { color:#a95552; }
.tb-empty { grid-column:1/-1; display:flex; align-items:center; gap:1rem; padding:1.4rem; border:1px dashed #b6d1ca; border-radius:13px; color:#52716d; background:#f7faf6; }.tb-empty span { font:2rem Georgia,serif; color:#c97758; }.tb-empty p { margin:0; }
.tb-connection { display:flex; align-items:center; gap:1.2rem; margin:2rem 0 1rem; padding:1.2rem 1.4rem; border-radius:17px; background:#edf5ef; }.tb-connection>span { color:#31907a; font-size:2rem; }.tb-connection p { margin:.15rem 0 0; color:#62746f; }.tb-connection button { margin-left:auto; flex:none; border:0; background:transparent; color:#14766b; font-weight:850; }
.tb-work-top { display:flex; align-items:center; justify-content:space-between; margin:.5rem 0 1.8rem; }.tb-back { border:0; background:none; color:#236d67; font-weight:850; }.tb-save-status { color:#5f7975; font-size:.82rem; }.tb-save-status.is-error { color:#bd514d; }
.tb-work-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }.tb-work-head input { display:block; width:min(750px,100%); margin-top:.4rem; border:0; border-bottom:2px solid transparent; padding:.1rem 0; outline:none; background:transparent; color:#163843; font:500 clamp(2rem,4vw,3.4rem) Georgia,serif; letter-spacing:-.045em; }.tb-work-head input:focus { border-color:#62a391; }.tb-work-emblem { display:grid; width:60px; height:60px; flex:none; place-items:center; border-radius:50%; color:#fff; background:#d58561; font-size:2rem; }
.tb-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:.45rem; margin-bottom:1.15rem; border-bottom:1px solid #d8e2df; scroll-margin-top:100px; }.tb-steps button { display:flex; align-items:center; gap:.5rem; border:0; border-bottom:3px solid transparent; padding:.8rem .45rem; background:transparent; color:#677a80; font-weight:800; text-align:left; }.tb-steps button small { color:#aa7762; font-size:.7rem; }.tb-steps button[aria-current="step"] { border-color:#227d72; color:#185c58; }
.tb-work-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(245px,310px); align-items:start; gap:1.1rem; }
.tb-stage { min-width:0; min-height:560px; border:1px solid #e0e7e3; border-radius:24px; padding:clamp(1.25rem,3vw,2.7rem); background:#fffdfa; box-shadow:0 10px 36px #2b473d0d; }
.tb-step-kicker { color:#a36a50; font-size:.72rem; font-weight:900; letter-spacing:.17em; }.tb-stage h2 { margin:.4rem 0 .7rem; font:500 clamp(1.8rem,3vw,2.65rem) Georgia,serif; letter-spacing:-.055em; }.tb-stage-intro { max-width:690px; margin-bottom:1.7rem; color:#657781; }
.tb-prompt-card { position:relative; padding:1.5rem 1.7rem; border-left:5px solid #dc8e68; border-radius:6px 15px 15px 6px; background:#f8ede0; }.tb-prompt-card span { color:#a15e42; font-size:.73rem; font-weight:900; letter-spacing:.12em; }.tb-prompt-card p { max-width:650px; margin:.65rem 0 .8rem; font:500 clamp(1.2rem,2vw,1.65rem)/1.38 Georgia,serif; }.tb-prompt-card button { border:0; padding:0; background:none; color:#95614c; font-weight:850; }
.tb-field-label,.tb-editor-head label { display:block; margin:1.8rem 0 .55rem; font-weight:850; }.tb-stage textarea:not(.tb-editor),.tb-plan-grid textarea { display:block; width:100%; resize:vertical; border:1px solid #c9d9d4; border-radius:12px; padding:.85rem 1rem; background:#fff; color:#263841; line-height:1.6; }.tb-stage textarea:focus { outline:2px solid #77b6a5; outline-offset:1px; }
.tb-stage-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }.tb-main-action { display:inline-flex; align-items:center; justify-content:center; gap:1.2rem; margin-left:auto; border:0; border-radius:12px; padding:.8rem 1.25rem; background:#1d716a; color:#fff; font-weight:850; }.tb-main-action:hover { background:#125d57; }.tb-quiet-action { border:1px solid #cadcd5; border-radius:11px; padding:.75rem 1rem; background:#fff; color:#2e6b66; font-weight:800; }
.tb-support-selector { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.7rem; margin-bottom:1.4rem; padding:1rem; border-radius:14px; background:#eef6f1; }.tb-support-selector span { font-weight:800; }.tb-support-selector div { display:flex; flex-wrap:wrap; gap:.35rem; }.tb-support-selector button { border:1px solid #b3d1c6; border-radius:9px; padding:.4rem .65rem; background:#fff; font-size:.85rem; }.tb-support-selector button[aria-pressed="true"] { background:#206c64; color:#fff; }
.tb-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.tb-plan-field { border:1px solid #e4e9e4; border-radius:15px; padding:1rem; background:#fff; }.tb-plan-field label { display:block; margin-bottom:.35rem; font-weight:850; }.tb-plan-field p { margin-bottom:.65rem; color:#71807f; font-size:.82rem; }.tb-plan-field textarea { min-height:95px; }.tb-plan-grid.is-free { grid-template-columns:1fr; }.tb-plan-grid.is-free .tb-plan-field { background:#f6faf7; }
.tb-editor-head { display:flex; justify-content:space-between; align-items:center; }.tb-editor-head label { margin:0 0 .5rem; }.tb-editor-head span { color:#5d8277; font-size:.85rem; font-weight:800; }.tb-editor { display:block; width:100%; min-height:445px; resize:vertical; border:1px solid #d4ded6; border-radius:15px; padding:1.4rem 1.6rem; background:repeating-linear-gradient(#fff 0,#fff 37px,#e9ede9 38px); color:#26343b; font:1.1rem/2.15 Georgia,serif; }.tb-editor::placeholder { color:#929e9e; }
.tb-sidebar { display:grid; gap:.8rem; }.tb-side-card { border:1px solid #dfe7e1; border-radius:18px; padding:1.3rem; background:#fff; }.tb-side-card p { margin:.55rem 0 1rem; color:#687a78; font-size:.9rem; }.tb-side-label { color:#916c54; font-size:.68rem; font-weight:900; letter-spacing:.16em; }.tb-side-card-dark { position:relative; overflow:hidden; min-height:205px; color:#fff; background:#194d55; }.tb-side-card-dark p { position:relative; z-index:1; color:#eef9f3; font:500 1.3rem/1.35 Georgia,serif; }.tb-side-card-dark .tb-side-label { color:#f4d29a; }.tb-side-card-dark button { position:relative; z-index:1; border:0; padding:0; background:none; color:#f3d298; font-weight:850; }.tb-side-spark { position:absolute; right:5px; bottom:-66px; color:#ffffff13; font-size:13rem; line-height:1; }
.tb-chip-group { display:flex; flex-wrap:wrap; gap:.4rem; margin:.7rem 0; }.tb-chip { border:1px solid #b9d8ce; border-radius:999px; padding:.37rem .63rem; background:#eff8f2; color:#245f59; font-size:.84rem; font-weight:700; }.tb-chip:hover { background:#d6efe1; }.tb-word-divider { height:1px; margin:1rem 0; background:#e2ebe7; }.tb-side-link { border:0; padding:0; background:none; color:#2c736b; font-size:.82rem; font-weight:850; }.tb-side-card-note { display:flex; gap:.8rem; background:#f9f2e8; }.tb-side-card-note span { color:#c78f61; font:2rem Georgia,serif; }.tb-side-card-note p { margin:0; }
.tb-review-hints { display:grid; gap:.65rem; }.tb-review-hint { display:flex; gap:.8rem; align-items:start; padding:1rem; border:1px solid #e4e3d9; border-radius:12px; background:#faf7ee; }.tb-review-hint b { color:#c17c53; }.tb-review-hint p { margin:0; }.tb-subheading { margin:1.8rem 0 .8rem; font:500 1.45rem Georgia,serif; }.tb-checklist { display:grid; gap:.5rem; }.tb-checklist label { display:flex; align-items:start; gap:.7rem; border:1px solid #dce8e0; border-radius:10px; padding:.75rem; background:#fff; cursor:pointer; }.tb-checklist input { width:19px; height:19px; accent-color:#217c6e; flex:none; }
.tb-version-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.5rem; padding:1.1rem; border-radius:13px; background:#eaf4ed; }.tb-version-card p { margin:.2rem 0 0; color:#647d71; font-size:.85rem; }.tb-version-card button { flex:none; border:1px solid #94c3ac; border-radius:9px; padding:.6rem; background:#fff; color:#1b695e; font-size:.82rem; font-weight:850; }.tb-compare { margin-top:1rem; }.tb-compare summary { color:#2b736c; font-weight:850; cursor:pointer; }.tb-compare article { margin:.8rem 0; border-left:3px solid #a8c9ba; padding:.65rem 1rem; background:#f7faf6; }.tb-compare article p { white-space:pre-wrap; color:#566b67; }.tb-compare small { color:#6e847e; }
.tb-preview { min-height:300px; padding:2.5rem clamp(1rem,4vw,3rem); border:1px solid #e8e2d5; background:#fff; box-shadow:0 12px 30px #183f4320; }.tb-preview .tb-preview-meta { color:#a47959; font-size:.72rem; font-weight:900; letter-spacing:.13em; }.tb-preview h3 { margin:.8rem 0 1.8rem; font:500 clamp(1.8rem,3vw,2.7rem) Georgia,serif; }.tb-preview p { margin:0 0 1em; font:1.08rem/1.85 Georgia,serif; white-space:pre-wrap; overflow-wrap:anywhere; }.tb-preview .tb-preview-empty { color:#879191; font-style:italic; }.tb-publish-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.4rem; }.tb-publish-actions .tb-main-action { margin-left:0; }
.tb-toast { position:fixed; z-index:90; left:50%; bottom:1.5rem; max-width:calc(100vw - 2rem); padding:.75rem 1.2rem; border-radius:10px; background:#173f45; color:#fff; font-size:.9rem; box-shadow:0 10px 25px #112b3270; opacity:0; pointer-events:none; transform:translate(-50%,16px); transition:opacity .2s,transform .2s; }.tb-toast.is-visible { opacity:1; transform:translate(-50%,0); }
#tbPrintSheet { display:none; }
@media (max-width:1100px) { .tb-genre-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.tb-genre-card { min-height:195px; }.tb-work-layout { grid-template-columns:minmax(0,1fr) 245px; } }
@media (max-width:760px) {
  .tb-home-launch { grid-template-columns:1fr; padding:1.7rem; }.tb-home-paper { display:none; }
  .tb-hero { grid-template-columns:1fr; }.tb-hero-copy { padding:2.1rem; }.tb-hero h1 { font-size:clamp(2.9rem,9vw,4.2rem); }.tb-hero-art { display:none; }
  .tb-section-heading { align-items:start; flex-direction:column; }.tb-section-heading p { max-width:none; }
  .tb-work-layout { grid-template-columns:1fr; }.tb-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }.tb-side-card-note { grid-column:1/-1; }
  .tb-shelf { padding:1px 1rem 1.4rem; }.tb-draft-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tb-steps { overflow-x:auto; }.tb-steps button { min-width:92px; white-space:nowrap; }
}
@media (max-width:520px) {
  .tb-genre-grid,.tb-draft-list,.tb-plan-grid,.tb-sidebar { grid-template-columns:1fr; }
  .tb-genre-card { min-height:160px; }.tb-genre-card strong { margin:.65rem 0 .25rem; }
  .tb-connection { align-items:start; flex-wrap:wrap; }.tb-connection button { margin-left:0; }
  .tb-work-head input { font-size:2rem; }.tb-work-emblem { width:44px; height:44px; }
  .tb-stage { padding:1.2rem; }.tb-editor { min-height:390px; padding:1rem; }
  .tb-version-card { align-items:start; flex-direction:column; }.tb-stage-actions { align-items:stretch; }.tb-stage-actions button { flex:1; }
}
body.high-contrast .tb-view { --tb-ink:#081c22; }.high-contrast .tb-genre-card,.high-contrast .tb-stage,.high-contrast .tb-side-card { border-width:2px; }
body.large-text .tb-editor { font-size:1.25rem; }body.readable-font .tb-editor,body.readable-font .tb-preview p { font-family:Arial,Verdana,sans-serif; }
@media print {
  body.tb-printing .view,body.tb-printing .site-header,body.tb-printing .site-footer { display:none !important; }
  body.tb-printing #view-textabru.is-active { display:block !important; width:100%; padding:0; }
  body.tb-printing #tbLanding,body.tb-printing #tbWorkspace,body.tb-printing #tbToast { display:none !important; }
  body.tb-printing #tbPrintSheet { display:block !important; padding:8mm 12mm; color:#111; }
  body.tb-printing #tbPrintSheet h1 { margin:0 0 1.2em; font:normal 24pt Georgia,serif; }
  body.tb-printing #tbPrintSheet .tb-print-meta { margin:0 0 .7rem; color:#555; font:9pt Arial,sans-serif; }
  body.tb-printing #tbPrintSheet p { margin:0 0 1em; font:12pt/1.55 Georgia,serif; white-space:pre-wrap; overflow-wrap:anywhere; }
}
