/* Vizualni sustav: topli papir, duboka zelena i prigušeno zlato; bez vanjskih fontova. */
:root{--paper:#f7f5ee;--ink:#1b3935;--muted:#6f7a73;--green:#143f3b;--gold:#c1a16b;--line:#dedfd5;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--sans);color:var(--ink)}body{background:var(--paper)}button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:3px solid #af873d;outline-offset:5px}input:focus-visible{outline:2px solid var(--green);outline-offset:2px}::selection{background:#d8e5d9}h1,h2,p{margin-top:0}.skip-link{position:fixed;left:20px;top:-80px;padding:12px 18px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:16px}
.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;line-height:1.6}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;border-radius:6px;background:var(--green);color:#fff;text-decoration:none;padding:16px 19px;font-size:14px;font-weight:600;transition:background .18s,transform .18s}.primary-button:hover{background:#20564d}.primary-button:active{transform:translateY(1px)}
/* Prijava je namjerno jednostavna i bez enigmatske ilustracije. */
.login-page{background:#fafaf7}.login-stage{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px 30px}.login-card{width:100%;max-width:366px}.login-mark{display:block;margin-bottom:29px}.login-card .eyebrow{color:var(--muted);margin-bottom:14px;font-size:9px;letter-spacing:1.8px}.login-card h1{font:400 37px/1.2 var(--serif);letter-spacing:-1.2px;margin-bottom:12px}.login-intro{font-size:14px;color:var(--muted);margin-bottom:33px}.login-form{display:grid;gap:22px}.field{display:grid;gap:9px}.field label{font-size:12px;font-weight:600}.field input{width:100%;border:1px solid #d9ded6;border-radius:5px;background:#fff;padding:14px;color:var(--ink);font-size:14px;min-height:49px}.field input::placeholder{color:#929a95}.password-wrap{position:relative}.password-wrap input{padding-right:77px}.password-toggle{position:absolute;right:7px;top:7px;height:35px;padding:0 9px;border:0;background:transparent;font-size:11px;color:#62756a}.password-toggle:hover{color:var(--green);text-decoration:underline}.login-submit{margin-top:3px}.login-submit span{font-size:21px;font-weight:400}.login-help{border-top:1px solid #e6e7de;margin-top:29px;padding-top:22px;color:#6b776f;font-size:11px;line-height:1.8}.login-footer{font-size:10px;color:#7b857d;margin-top:70px}.form-alert{padding:13px;border:1px solid #dfb8ac;background:#fcf1eb;color:#8b3f28;font-size:12px;line-height:1.6;border-radius:5px}.field-error{font-size:12px;color:#8b3f28}.field-error:empty{display:none}
/* Početna prikazuje samo identitet, pristup modulima i kontrole aktivne sesije. */
.home-page{min-height:100svh;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow-x:hidden}.puzzle-background{position:absolute;inset:0;z-index:-2;background:url('../assets/enigma-background.svg') center center/cover no-repeat;pointer-events:none}.home-page::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 42%,#f7f5eef5 0%,#f7f5eeaa 39%,#f7f5ee10 76%);pointer-events:none}.session-header{width:100%;padding:28px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:10px;letter-spacing:2px;font-weight:700}.brand-link img{border-radius:9px}.session-controls{display:flex;align-items:center;gap:19px;font-size:12px}.user-name{color:#647469;max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.header-divider{height:18px;border-left:1px solid #d5d9cd}.logout-button{display:flex;align-items:center;gap:9px;padding:7px 0;border:0;background:transparent;color:var(--ink);font-size:12px}.logout-button:hover{text-decoration:underline}.logout-button span{font-size:17px}.home-main{width:min(1240px,calc(100% - 96px));margin:auto; padding:38px 0 90px}.home-title{text-align:center;margin:0 auto 66px}.hero-mark{box-shadow:0 8px 20px #183b3210;border-radius:18px;margin-bottom:25px}.home-title h1{font-weight:400;margin:0}.company-title{display:block;font-size:14px;font-weight:500;letter-spacing:4px;margin-bottom:10px}.product-title{display:block;font:400 clamp(65px,7.1vw,106px)/1.12 var(--serif);letter-spacing:-5px}.title-dot{color:var(--gold)}.title-rule{height:2px;width:42px;background:var(--gold);margin:27px auto 0}.module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.module-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-width:0;min-height:213px;padding:23px 22px 21px;border:1px solid #d9ddd2;border-radius:9px;background:#fafaf5da;color:#66776c;text-decoration:none;box-shadow:0 3px 0 #314b3502;transition:transform .2s,box-shadow .2s}.module-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.module-number{font:400 12px/1 var(--serif);color:#839184}.module-status{font-size:9px;letter-spacing:.2px;color:#6d7b6e}.module-icon{height:43px;width:43px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin:31px 0 28px}.module-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px}.module-name{font:400 clamp(17px,1.6vw,23px)/1.2 var(--serif);letter-spacing:-.4px}.module-arrow{font-size:20px;color:#849285}.module-active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 12px 24px #153c3420}.module-active .module-status{color:#d4e5d7;display:flex;gap:5px;align-items:center}.module-active .module-status::before{content:'';height:4px;width:4px;border-radius:50%;background:#cfddb9}.module-active .module-number{color:#b7c7b8}.module-active .module-arrow{color:var(--gold)}.module-active .module-icon{color:#e4d5a9}.module-active:hover{transform:translateY(-5px);box-shadow:0 19px 30px #153c3430}.module-card:disabled{opacity:1}.home-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 42px 27px;font-size:10px;color:#788273}.home-footer span:last-child{font-size:8px;letter-spacing:2px}
/* Odvojena ulazna stranica modula Rječnik; uređivanje dolazi u sljedećoj fazi. */
.dictionary-page{min-height:100svh}.dictionary-main{width:min(1000px,calc(100% - 64px));margin:70px auto}.back-link{display:inline-block;font-size:12px;color:var(--muted);text-decoration:none;margin-bottom:58px}.back-link:hover{text-decoration:underline}.dictionary-main .eyebrow{color:#8b794e;margin-bottom:18px}.dictionary-main h1{font:400 clamp(36px,5vw,60px)/1.15 var(--serif);letter-spacing:-1.5px;margin-bottom:17px}.dictionary-lead{color:var(--muted);font-size:16px}.coming-panel{margin-top:48px;border:1px solid var(--line);background:#fffaf1;border-radius:10px;padding:34px;display:flex;align-items:center;gap:30px}.coming-panel h2{font:400 25px var(--serif);margin-bottom:12px}.coming-panel p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:480px}.small-grid{display:grid;grid-template-columns:repeat(3,27px);color:var(--green)}.small-grid span{height:27px;border:1px solid #b7c7b8;margin:-.5px;display:grid;place-items:center;font:15px var(--serif)}.message-page{max-width:500px;margin:15vh auto;padding:24px}.message-page h1{font:36px var(--serif);margin-top:20px}.message-page p{color:var(--muted);line-height:1.8}.message-page .primary-button{margin-top:30px;display:inline-flex}
@media(min-width:1600px){.home-main{padding-bottom:115px}.home-title{margin-bottom:75px}.module-card{min-height:230px}}
@media(max-width:1050px){.home-main{width:calc(100% - 64px)}.module-grid{gap:10px}.module-card{padding:20px 15px;min-height:195px}.module-status{font-size:8px}.module-name{font-size:19px}.module-icon{margin:28px 0}.home-title{margin-bottom:48px}.product-title{letter-spacing:-3px}}
@media(max-width:760px){.session-header{padding:22px 24px}.brand-link{font-size:8px;letter-spacing:1.3px;gap:9px}.brand-link img{width:32px;height:32px}.session-controls{gap:12px}.user-name{max-width:120px;font-size:11px}.home-main{padding:35px 0 55px;width:calc(100% - 40px)}.home-title{margin-bottom:38px}.hero-mark{width:62px;height:62px;margin-bottom:22px}.company-title{font-size:12px;letter-spacing:3px}.product-title{font-size:70px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-card{min-height:182px;padding:20px}.module-active{grid-column:span 2;min-height:165px;position:relative}.module-active .module-icon{position:absolute;right:25px;top:36px;margin:0;width:55px;height:55px}.module-active .module-bottom{margin-top:auto}.module-active .module-name{font-size:29px}.module-active .module-arrow{font-size:26px}.module-active .module-status{margin-right:0}.module-icon{margin:22px 0}.home-footer{padding:18px 24px 24px}.puzzle-background{background-size:auto 100%;opacity:.7}.dictionary-main{margin-top:35px}.coming-panel{padding:24px;align-items:flex-start;gap:20px}.header-divider{display:none}}
@media(max-width:380px){.session-controls .user-name{display:none}.product-title{font-size:60px}.module-card{padding:17px}.module-name{font-size:19px}.module-status{font-size:8px}.home-footer span:last-child{display:none}.coming-panel{flex-direction:column}.login-stage{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* Izdanje 0.2: tipografska radna ploča i polja križaljke, bez vanjskih resursa. */
.home-page{background:#f4f1e8}.puzzle-background{opacity:.24;background-size:1400px}.home-page::before{background:linear-gradient(90deg,#f4f1e8e8,#f4f1e899)}.session-header{padding:24px 5%;border-bottom:1px solid #183e3920;background:#f4f1e8d9}.home-main{width:min(1280px,90%);padding:50px 0 70px}.home-title{display:flex;align-items:center;justify-content:space-between;text-align:left;margin:0 0 52px;gap:40px;padding:20px 35px 0 0}.hero-copy .eyebrow{letter-spacing:5px;color:#56685c;margin-bottom:20px}.home-title h1{font:400 clamp(60px,7vw,108px)/1 Georgia,serif;letter-spacing:-5px}.title-rule{margin:28px 0 0;width:70px;height:3px}.crossword-art{display:grid;grid-template-columns:repeat(5,48px);gap:3px;transform:rotate(8deg);filter:drop-shadow(10px 16px 0 #193b3510)}.crossword-art span{height:48px;background:#fffdf6;border:1px solid #b9c0b4;display:grid;place-items:center;font-size:24px;font-weight:500;color:#344b40}.crossword-art .black{background:#173e37;border-color:#173e37}.crossword-art span:nth-child(13){background:#e5bd77}.module-grid{gap:0;border:1px solid #ccd2c4;box-shadow:0 20px 50px #143c3510}.module-card{border:0;border-right:1px solid #ccd2c4;border-radius:0;min-height:230px;background:#faf9f2;transition:background .2s,transform .2s}.module-card:last-child{border-right:0}.module-active{background:#183e37;color:#fffdf2;box-shadow:none}.module-active:hover{background:#24574b;transform:translateY(-5px);box-shadow:0 10px 20px #183e3920}.module-active .module-number,.module-active .module-status{color:#e7d8ae}.module-active .module-icon{color:#dfc28c}.module-card:disabled{opacity:1;color:#6e786d;background:#f1f0e7}.module-status{font-size:10px}.module-name{font-size:18px}.admin-link{text-decoration:none;border:1px solid #aab8a8;padding:9px 14px;border-radius:4px;font-weight:600}.login-page{background:#fafaf7}.login-card{max-width:366px}.admin-main{max-width:1180px;width:90%;margin:45px auto 80px}.admin-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.admin-heading h1{font:42px Georgia,serif;margin:0 0 10px}.admin-heading p,.muted{color:#667467;font-size:13px}.admin-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:28px}.panel{background:#fffdf7;border:1px solid #d9ded1;padding:28px;border-radius:10px}.panel h2{font:25px Georgia,serif;margin-bottom:24px}.user-row{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid #e1e4da}.user-row small{display:block;margin-top:5px;color:#647366}.admin-form{display:grid;gap:20px}.permission-list{border:1px solid #d9ded1;padding:18px;border-radius:6px;display:grid;gap:13px}.permission-list legend{font-size:13px;font-weight:600;padding:0 8px}.permission-list label{display:flex;align-items:center;gap:9px;font-size:13px}.permission-list input{accent-color:#153e39;width:17px;height:17px}.success{border:1px solid #8da98d;background:#edf5e9;padding:15px;margin-bottom:24px}.text-link{font-size:13px}.form-actions{display:flex;gap:20px;align-items:center}.panel-note{margin-top:28px;line-height:1.7}
@media(max-width:900px){.module-grid{grid-template-columns:repeat(2,1fr)}.module-card{border-bottom:1px solid #ccd2c4}.home-title{padding:0;gap:20px}.crossword-art{grid-template-columns:repeat(5,32px)}.crossword-art span{height:32px;font-size:18px}.admin-grid{grid-template-columns:1fr}.session-controls{gap:10px}.user-name{max-width:120px}}
@media(max-width:560px){.home-title{align-items:flex-start}.home-title h1{font-size:53px;letter-spacing:-3px}.crossword-art{display:none}.session-header{padding:18px 5%}.brand-link span,.header-divider,.user-name{display:none}.module-card{min-height:185px;padding:18px}.module-name{font-size:16px}.admin-heading{align-items:flex-start;flex-direction:column}.panel{padding:20px}.home-main{padding-top:38px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.validation-summary-valid{display:none}
