/* Jednokratne tajne — vizual preuzet iz korisnikove PDF reference.
   Originalna tekstura naslovnice iz dokumenta; boje #E30613 / #111827;
   fontovi Tektur (naslovi) + IBM Plex Sans (tekst). */
:root{--brand:#e30613;--brand-hover:#bd0510;--brand-soft:#fef2f2;--ink:#111827;--muted:#6b7280;--soft:#f9fafb;--surface:#fff;--line:#e8eaee;--radius:12px;--font-body:'IBM Plex Sans',Arial,sans-serif;--font-heading:'Tektur',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{min-height:100%;font-size:16px}
body{margin:0;min-height:100vh;background:#fff;color:var(--ink);font:400 16px/1.55 var(--font-body);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.58;cursor:wait}
a{color:inherit;text-decoration:none}
svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
h1,h2,p{margin-top:0}
.layout{width:min(calc(100% - 48px),1440px);margin-inline:auto}
.site-header{height:68px;flex:0 0 auto;position:relative;z-index:20;background:#fff;border-bottom:1px solid #ececef}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{display:inline-flex;gap:9px;align-items:center;color:var(--brand);font:800 21px/1 var(--font-heading);letter-spacing:-.6px;white-space:nowrap}
.logo-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--brand)}
.logo-icon svg{width:29px;height:29px;stroke-width:2.5}
.logo-light{color:inherit;font-weight:800}
.accent{color:var(--brand)}
.header-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;font-weight:600;transition:color .2s}
.header-link span{color:var(--brand);font-size:18px}
.header-link:hover{color:var(--brand)}
.main-area{flex:1;position:relative;isolation:isolate;overflow:hidden;background:#fff;padding:74px 0 112px}
/* Originalna crvena linijska grafika s naslovnice, bez dupliciranih tekstova. */
.main-area::before{content:'';position:absolute;inset:0 0 auto;z-index:-2;height:min(1100px,120vh);pointer-events:none;background:#fff url('hero-texture.webp') center top/cover no-repeat;opacity:.75;mask-image:linear-gradient(to bottom,#000 0%,#000 35%,rgba(0,0,0,.5) 64%,transparent 100%)}
.main-area::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 42% 36% at 50% 29%,rgba(255,255,255,.53),transparent 90%),linear-gradient(to bottom,transparent 56%,#fff 100%)}
.work-area{max-width:750px;position:relative;z-index:1}
.page-heading{text-align:center;margin:0 auto 35px}
.page-heading h1{display:flex;flex-direction:column;align-items:center;margin:0;font:800 clamp(49px,5.5vw,74px)/.96 var(--font-heading);letter-spacing:-.055em;color:var(--ink)}
.page-heading h1 em{display:block;font-style:normal;color:var(--brand)}
.panel{position:relative;background:rgba(255,255,255,.985);border:1px solid #e8e8eb;border-radius:17px;padding:35px 40px 37px;box-shadow:0 12px 42px rgba(17,24,39,.065),0 2px 8px rgba(17,24,39,.02)}
.label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
label{display:block;font-size:13px;font-weight:700;color:var(--ink)}
.counter{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.muted{color:var(--muted);font-weight:400}
textarea,input,select,.custom-select-trigger{width:100%;background:var(--soft);color:var(--ink);border:1px solid #e4e6e9;border-radius:10px;outline:0;transition:background .18s,border-color .18s,box-shadow .18s}
textarea:hover,input:hover,select:hover,.custom-select-trigger:hover{border-color:#cbd0d9}
textarea:focus,input:focus,select:focus,.custom-select-trigger:focus-visible{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(227,6,19,.095)}
textarea{display:block;resize:vertical;min-height:206px;max-height:570px;padding:16px 17px;font-size:14px;line-height:1.7;font-weight:400}
textarea::placeholder,input::placeholder{color:#9ca3af;opacity:1}
.settings{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.field{min-width:0}
.field>label{margin-bottom:9px}
.field input,.field select{height:49px;padding:0 14px;font-size:13px}
.select-wrap,.password-wrap{position:relative}
.password-wrap input{padding-right:50px}
.password-toggle{position:absolute;right:0;top:0;bottom:0;display:grid;place-items:center;width:48px;border:0;background:transparent;color:var(--muted);border-radius:0 10px 10px 0}
.password-toggle:hover{color:var(--brand)}
.password-toggle svg{width:18px;height:18px}
.custom-select{position:relative}
.custom-select-trigger{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;text-align:left;font-size:13px}
.custom-select-trigger svg{width:17px;height:17px;color:var(--muted);transition:transform .18s}
.custom-select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.custom-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:9;padding:5px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 35px rgba(17,24,39,.12)}
.custom-select-menu button{width:100%;display:block;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--ink);padding:10px 12px;font-size:13px}
.custom-select-menu button:hover,.custom-select-menu button:focus-visible{background:var(--soft);outline:0}
.custom-select-menu button[aria-selected=true]{background:var(--brand-soft);color:var(--brand);font-weight:700}
.primary-button{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;padding:12px 24px;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:#fff;font-size:14px;font-weight:700;line-height:1.3;transition:background .2s,transform .2s,box-shadow .2s}
.primary-button:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:0 5px 16px rgba(227,6,19,.13);transform:translateY(-1px)}
.primary-button svg{width:18px;height:18px;stroke-width:2}
.primary-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,.password-toggle:focus-visible,.share-field button:focus-visible,.header-link:focus-visible,.logo:focus-visible{outline:3px solid rgba(227,6,19,.32);outline-offset:3px}
.error-message{margin-top:16px;padding:12px 13px;background:var(--brand-soft);color:#ae0716;border:1px solid #fecdd3;border-radius:9px;font-size:13px;line-height:1.5}
.result-state h2,.reader-panel h2{margin:0 0 23px;color:var(--ink);font:800 clamp(23px,3vw,29px)/1.15 var(--font-heading);letter-spacing:-.04em}
.state-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:18px;border-radius:11px;background:var(--brand-soft);color:var(--brand)}
.state-icon svg{width:24px;height:24px;stroke-width:2}
.result-state label{margin-bottom:9px}
.share-field{position:relative;display:flex}
.share-field input{min-height:50px;padding:0 59px 0 13px;font-size:13px}
.share-field button{position:absolute;top:1px;right:1px;bottom:1px;border:0;border-left:1px solid var(--line);border-radius:0 9px 9px 0;background:transparent;color:var(--ink);width:50px;display:grid;place-items:center}
.share-field button:hover{color:var(--brand)}
.share-field svg{width:18px;height:18px}
.result-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
.result-meta span:last-child{color:var(--brand);font-weight:600}
.result-state .primary-button{margin-top:23px}
.text-button{display:flex;gap:8px;align-items:center;margin:16px auto 0;padding:7px 8px;background:transparent;border:0;color:var(--ink);font-size:13px;font-weight:600}
.text-button:hover,.text-button span{color:var(--brand)}
.loading-state{display:flex;justify-content:center;align-items:center;gap:13px;padding:42px 0;color:var(--muted);font-size:13px}
.spinner{width:24px;height:24px;border:2px solid #f3d4d6;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.reader-panel{min-height:150px}
.reader-panel .primary-button{margin-top:23px}
.reader-meta{margin:0;padding-bottom:5px}
.read-password{margin:0 0 24px}
.unavailable-icon{color:var(--brand);background:var(--brand-soft)}
.state-description{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 23px}
.button-link{display:flex}
.revealed-message{max-height:380px;min-height:88px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:17px 18px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.7;user-select:text}
.read-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.secondary-button{display:flex;justify-content:center;align-items:center;gap:9px;height:49px;background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:10px;font-size:13px;font-weight:600}
.secondary-button:hover{color:var(--brand);border-color:var(--brand)}
.secondary-button svg{width:18px;height:18px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 18px;background:var(--ink);border:1px solid #374151;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2);color:#fff;font-size:13px;font-weight:600;z-index:40;text-align:center}
@media(max-width:760px){.layout{width:calc(100% - 36px)}.site-header{height:65px}.main-area{padding:60px 0 85px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:clamp(46px,9.2vw,65px)}.panel{padding:28px 27px 31px}.settings{grid-template-columns:1fr;gap:18px}textarea{min-height:185px}.main-area::before{height:890px;background-position:center top}}
@media(max-width:420px){.layout{width:calc(100% - 28px)}.logo{font-size:18px}.logo-icon{width:28px;height:28px}.logo-icon svg{width:26px;height:26px}.header-link{font-size:12px}.main-area{padding:53px 0 72px}.page-heading h1{font-size:clamp(45px,12.2vw,56px)}.panel{padding:23px 19px 26px;border-radius:14px}.primary-button{padding:12px 17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
