/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.action-links{margin:1em 0;padding:0;list-style:none;}[dir="rtl"] .action-links{margin-right:0;}.action-links li{display:inline-block;margin:0 0.3em;}.action-links li:first-child{margin-left:0;}[dir="rtl"] .action-links li:first-child{margin-right:0;margin-left:0.3em;}.button-action{display:inline-block;padding:0.2em 0.5em 0.3em;text-decoration:none;line-height:160%;}.button-action::before{margin-left:-0.1em;padding-right:0.2em;content:"+";font-weight:900;}[dir="rtl"] .button-action::before{margin-right:-0.1em;margin-left:0;padding-right:0;padding-left:0.2em;}
.breadcrumb{padding-bottom:0.5em;}.breadcrumb ol{margin:0;padding:0;}[dir="rtl"] .breadcrumb ol{margin-right:0;}.breadcrumb li{display:inline;margin:0;padding:0;list-style-type:none;}.breadcrumb li::before{content:" \BB ";}.breadcrumb li:first-child::before{content:none;}
.button,.image-button{margin-right:1em;margin-left:1em;}.button:first-child,.image-button:first-child{margin-right:0;margin-left:0;}
.container-inline label::after,.container-inline .label::after{content:":";}.form-type-radios .container-inline label::after,.form-type-checkboxes .container-inline label::after{content:"";}.form-type-radios .container-inline .form-type-radio,.form-type-checkboxes .container-inline .form-type-checkbox{margin:0 1em;}.container-inline .form-actions,.container-inline.form-actions{margin-top:0;margin-bottom:0;}
details{margin-top:1em;margin-bottom:1em;border:1px solid #ccc;}details > .details-wrapper{padding:0.5em 1.5em;}summary{padding:0.2em 0.5em;cursor:pointer;}
.exposed-filters .filters{float:left;margin-right:1em;}[dir="rtl"] .exposed-filters .filters{float:right;margin-right:0;margin-left:1em;}.exposed-filters .form-item{margin:0 0 0.1em 0;padding:0;}.exposed-filters .form-item label{float:left;width:10em;font-weight:normal;}[dir="rtl"] .exposed-filters .form-item label{float:right;}.exposed-filters .form-select{width:14em;}.exposed-filters .current-filters{margin-bottom:1em;}.exposed-filters .current-filters .placeholder{font-weight:bold;font-style:normal;}.exposed-filters .additional-filters{float:left;margin-right:1em;}[dir="rtl"] .exposed-filters .additional-filters{float:right;margin-right:0;margin-left:1em;}
.field__label{font-weight:bold;}.field--label-inline .field__label,.field--label-inline .field__items{float:left;}.field--label-inline .field__label,.field--label-inline > .field__item,.field--label-inline .field__items{padding-right:0.5em;}[dir="rtl"] .field--label-inline .field__label,[dir="rtl"] .field--label-inline .field__items{padding-right:0;padding-left:0.5em;}.field--label-inline .field__label::after{content:":";}
form .field-multiple-table{margin:0;}form .field-multiple-table .field-multiple-drag{width:30px;padding-right:0;}[dir="rtl"] form .field-multiple-table .field-multiple-drag{padding-left:0;}form .field-multiple-table .field-multiple-drag .tabledrag-handle{padding-right:0.5em;}[dir="rtl"] form .field-multiple-table .field-multiple-drag .tabledrag-handle{padding-right:0;padding-left:0.5em;}form .field-add-more-submit{margin:0.5em 0 0;}.form-item,.form-actions{margin-top:1em;margin-bottom:1em;}tr.odd .form-item,tr.even .form-item{margin-top:0;margin-bottom:0;}.form-composite > .fieldset-wrapper > .description,.form-item .description{font-size:0.85em;}label.option{display:inline;font-weight:normal;}.form-composite > legend,.label{display:inline;margin:0;padding:0;font-size:inherit;font-weight:bold;}.form-checkboxes .form-item,.form-radios .form-item{margin-top:0.4em;margin-bottom:0.4em;}.form-type-radio .description,.form-type-checkbox .description{margin-left:2.4em;}[dir="rtl"] .form-type-radio .description,[dir="rtl"] .form-type-checkbox .description{margin-right:2.4em;margin-left:0;}.marker{color:#e00;}.form-required::after{display:inline-block;width:6px;height:6px;margin:0 0.3em;content:"";vertical-align:super;background-image:url(/themes/custom/veneily_oppimateriaali/images/icons/required.svg);background-repeat:no-repeat;background-size:6px 6px;}abbr.tabledrag-changed,abbr.ajax-changed{border-bottom:none;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid red;}.form-item--error-message::before{display:inline-block;width:14px;height:14px;content:"";vertical-align:sub;background:url(/themes/custom/veneily_oppimateriaali/images/icons/error.svg) no-repeat;background-size:contain;}
.icon-help{padding:1px 0 1px 20px;background:url(/themes/custom/veneily_oppimateriaali/images/icons/help.png) 0 50% no-repeat;}[dir="rtl"] .icon-help{padding:1px 20px 1px 0;background-position:100% 50%;}.feed-icon{display:block;overflow:hidden;width:16px;height:16px;text-indent:-9999px;background:url(/themes/custom/veneily_oppimateriaali/images/icons/feed.svg) no-repeat;}
.form--inline .form-item{float:left;margin-right:0.5em;}[dir="rtl"] .form--inline .form-item{float:right;margin-right:0;margin-left:0.5em;}[dir="rtl"] .views-filterable-options-controls .form-item{margin-right:2%;}.form--inline .form-item-separator{margin-top:2.3em;margin-right:1em;margin-left:0.5em;}[dir="rtl"] .form--inline .form-item-separator{margin-right:0.5em;margin-left:1em;}.form--inline .form-actions{clear:left;}[dir="rtl"] .form--inline .form-actions{clear:right;}
button.link{margin:0;padding:0;cursor:pointer;border:0;background:transparent;font-size:1em;}label button.link{font-weight:bold;}
ul.inline,ul.links.inline{display:inline;padding-left:0;}[dir="rtl"] ul.inline,[dir="rtl"] ul.links.inline{padding-right:0;padding-left:15px;}ul.inline li{display:inline;padding:0 0.5em;list-style-type:none;}ul.links a.is-active{color:#000;}
ul.menu{margin-left:1em;padding:0;list-style:none outside;text-align:left;}[dir="rtl"] ul.menu{margin-right:1em;margin-left:0;text-align:right;}.menu-item--expanded{list-style-type:circle;list-style-image:url(/themes/custom/veneily_oppimateriaali/images/icons/menu-expanded.png);}.menu-item--collapsed{list-style-type:disc;list-style-image:url(/themes/custom/veneily_oppimateriaali/images/icons/menu-collapsed.png);}[dir="rtl"] .menu-item--collapsed{list-style-image:url(/themes/custom/veneily_oppimateriaali/images/icons/menu-collapsed-rtl.png);}.menu-item{margin:0;padding-top:0.2em;}ul.menu a.is-active{color:#000;}
.more-link{display:block;text-align:right;}[dir="rtl"] .more-link{text-align:left;}
.pager__items{clear:both;text-align:center;}.pager__item{display:inline;padding:0.5em;}.pager__item.is-active{font-weight:bold;}
tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}body div.tabledrag-changed-warning{margin-bottom:0.5em;}
tr.selected td{background:#ffc;}td.checkbox,th.checkbox{text-align:center;}[dir="rtl"] td.checkbox,[dir="rtl"] th.checkbox{text-align:center;}
div.tabs{margin:1em 0;}ul.tabs{margin:0 0 0.5em;padding:0;list-style:none;}.tabs > li{display:inline-block;margin-right:0.3em;}[dir="rtl"] .tabs > li{margin-right:0;margin-left:0.3em;}.tabs a{display:block;padding:0.2em 1em;text-decoration:none;}.tabs a.is-active{background-color:#eee;}.tabs a:focus,.tabs a:hover{background-color:#f5f5f5;}
.form-textarea-wrapper textarea{display:block;box-sizing:border-box;width:100%;margin:0;}
.ui-dialog--narrow{max-width:500px;}@media screen and (max-width:600px){.ui-dialog--narrow{min-width:95%;max-width:95%;}}
.messages{padding:15px 20px 15px 35px;word-wrap:break-word;border:1px solid;border-width:1px 1px 1px 0;border-radius:2px;background:no-repeat 10px 17px;overflow-wrap:break-word;}[dir="rtl"] .messages{padding-right:35px;padding-left:20px;text-align:right;border-width:1px 0 1px 1px;background-position:right 10px top 17px;}.messages + .messages{margin-top:1.538em;}.messages__list{margin:0;padding:0;list-style:none;}.messages__item + .messages__item{margin-top:0.769em;}.messages--status{color:#325e1c;border-color:#c9e1bd #c9e1bd #c9e1bd transparent;background-color:#f3faef;background-image:url(/themes/custom/veneily_oppimateriaali/images/icons/check.svg);box-shadow:-8px 0 0 #77b259;}[dir="rtl"] .messages--status{margin-left:0;border-color:#c9e1bd transparent #c9e1bd #c9e1bd;box-shadow:8px 0 0 #77b259;}.messages--warning{color:#734c00;border-color:#f4daa6 #f4daa6 #f4daa6 transparent;background-color:#fdf8ed;background-image:url(/themes/custom/veneily_oppimateriaali/images/icons/warning.svg);box-shadow:-8px 0 0 #e09600;}[dir="rtl"] .messages--warning{border-color:#f4daa6 transparent #f4daa6 #f4daa6;box-shadow:8px 0 0 #e09600;}.messages--error{color:#a51b00;border-color:#f9c9bf #f9c9bf #f9c9bf transparent;background-color:#fcf4f2;background-image:url(/themes/custom/veneily_oppimateriaali/images/icons/error.svg);box-shadow:-8px 0 0 #e62600;}[dir="rtl"] .messages--error{border-color:#f9c9bf transparent #f9c9bf #f9c9bf;box-shadow:8px 0 0 #e62600;}.messages--error p.error{color:#a51b00;}
:root{--color-bg:#060a11;--color-surface:#0d1520;--color-surface-raised:#111b28;--color-border:#263448;--color-text:#dde5ef;--color-text-muted:#a0aec0;--color-accent:#d9a34b;--color-accent-text:#1b1306;--color-success:#27e889;--color-danger:#ff788e;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font:1rem/1.7 system-ui,sans-serif}a{color:var(--color-accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,.button,input[type=submit]{cursor:pointer}img,video{max-width:100%;height:auto}iframe{max-width:100%}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(1.9rem,4vw,3rem);margin:1.5rem 0}h2{font-size:clamp(1.4rem,2.5vw,2rem)}p{margin:0 0 1.3rem}a,button,input,select,textarea,summary{scroll-margin-top:1rem}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-accent-text)}.visually-hidden.focusable:focus{z-index:1000;background:var(--color-accent);color:var(--color-accent-text);padding:1rem}.site-shell{max-width:1440px;margin:auto;padding:0 clamp(1rem,4vw,4rem)}.site-header{padding:1.6rem 0;display:flex;align-items:center;gap:1.5rem;justify-content:space-between;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.wordmark{font-family:'Arial Narrow',system-ui,sans-serif;font-stretch:condensed;font-size:1.5rem;font-weight:800;letter-spacing:.14em;line-height:1.25;color:var(--color-text);text-decoration:none}.wordmark>span{color:var(--color-accent)}.wordmark small{font:500 .58rem/2 system-ui,sans-serif;letter-spacing:.22em;display:block;color:var(--color-text-muted)}#site-navigation{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}#site-navigation a{display:inline-flex;padding:.65rem .8rem;min-height:44px;text-decoration:none;color:var(--color-text-muted);font-size:.85rem;border-radius:6px}#site-navigation a:hover,#site-navigation a.is-active{color:var(--color-accent);background:var(--color-surface-raised)}#site-navigation .nav-login{border:1px solid var(--color-border);color:var(--color-text);gap:1rem}.menu-toggle{display:none}.main-content{min-height:65vh;padding-bottom:4rem;min-width:0}.site-footer{border-top:1px solid var(--color-border);padding:1.8rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--color-text-muted);font-size:.75rem}.site-footer span span{padding:0 1rem;color:var(--color-accent)}.eyebrow{text-transform:uppercase;color:var(--color-accent);font:600 .68rem/1.5 ui-monospace,monospace;letter-spacing:.18em;margin-bottom:1.2rem}.home-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:5%;align-items:center;padding:3rem 0 4rem}.home-hero h2{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.08;margin:0 0 1.5rem;font-weight:650;letter-spacing:-.05em}.home-hero h2 span{color:var(--color-text-muted)}.lead{max-width:52ch;color:var(--color-text-muted);font-size:1.05rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}.hero-actions>a:not(.button){font-size:.85rem}.button,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.7rem 1.15rem;min-height:44px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-raised);color:var(--color-text);text-decoration:none;font-weight:600}.button--primary,input[type=submit]{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.bearing-panel{padding:2rem;border:1px solid var(--color-border);border-radius:12px;background:radial-gradient(ellipse at center,#152337 0%,var(--color-surface) 70%);text-align:center}.bearing-panel>.eyebrow{color:var(--color-text-muted);font-size:.6rem}.compass{border:1px solid #3b4b60;border-radius:50%;aspect-ratio:1;max-width:270px;margin:1.5rem auto;position:relative;box-shadow:inset 0 0 0 15px var(--color-surface),inset 0 0 0 16px var(--color-border);background:repeating-conic-gradient(from 0deg,#526074 0deg 1deg,transparent 1deg 15deg)}.compass:before{content:'';position:absolute;inset:24px;border-radius:50%;background:#101b29;border:1px solid var(--color-border)}.compass>span{position:absolute;font:10px ui-monospace,monospace;color:var(--color-text-muted)}.north{top:9%;left:48%}.south{bottom:9%;left:48%}.east{right:10%;top:47%}.west{left:10%;top:47%}.needle{position:absolute;left:45%;top:25%;width:10%;height:50%;background:linear-gradient(var(--color-accent) 50%,#526074 50%);clip-path:polygon(50% 0,100% 65%,50% 52%,0 65%);transform:rotate(35deg)}.compass .center-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%;left:calc(50% - 4px);top:calc(50% - 4px)}.bearing-reading{font:1.7rem ui-monospace,monospace;color:var(--color-accent)}.bearing-reading small{display:block;font-size:.55rem;letter-spacing:.2em;color:var(--color-text-muted);margin-top:.7rem}.learning-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.learning-steps article{padding:2rem}.learning-steps article+article{border-left:1px solid var(--color-border)}.step-number{font:1rem ui-monospace,monospace;color:var(--color-accent)}.learning-steps h2{font-size:1.15rem;margin:1rem 0}.learning-steps p{color:var(--color-text-muted);font-size:.9rem;margin:0}.course-card,.student-card{border:1px solid var(--color-border);border-radius:10px;padding:1.6rem;margin:1.25rem 0;background:var(--color-surface)}.course-card h2{margin:.5rem 0 1rem}.course-card h2 a{color:var(--color-text)}.course-card .course-open{display:inline-flex;gap:3rem;min-height:44px;align-items:center}.course-intro{max-width:72ch}.course-intro .field--name-field-summary{font-size:1.2rem;color:var(--color-text-muted);margin-bottom:2rem}.lesson-list{padding:0;list-style:none;max-width:960px;border-top:1px solid var(--color-border)}.lesson-list li{border-bottom:1px solid var(--color-border)}.lesson-list a{display:flex;align-items:center;gap:1.5rem;padding:1.3rem 1rem;text-decoration:none;color:var(--color-text)}.lesson-list a:hover{background:var(--color-surface-raised)}.lesson-number{font:1rem ui-monospace,monospace;color:var(--color-accent)}.lesson-list small{margin-left:auto;white-space:nowrap;color:var(--color-text-muted)}.lesson-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,3fr);gap:2.5rem;align-items:start}.lesson-article{max-width:75ch;background:var(--color-surface);padding:clamp(1rem,3vw,2.5rem);border:1px solid var(--color-border);border-radius:10px;min-width:0}.lesson-article h2{margin-top:2.3rem}.lesson-article li{padding:.25rem 0}.course-toc{border:1px solid var(--color-border);border-radius:8px;padding:1rem;background:var(--color-surface)}summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-weight:600}.course-toc ol{padding-left:1.25rem;margin:1rem 0 0}.course-toc a{display:block;padding:.65rem .35rem;color:var(--color-text-muted);font-size:.85rem}.course-toc a[aria-current]{color:var(--color-accent);background:var(--color-surface-raised);font-weight:700}.course-toc .toc-course{color:var(--color-text)}.lesson-pagination{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid var(--color-border);padding-top:1.5rem;margin-top:2.5rem;flex-wrap:wrap}.lesson-pagination a{flex:1;min-width:140px}.lesson-pagination small{display:block;font-size:.65rem;letter-spacing:.1em;color:var(--color-text-muted)}.notice,.tip,.warning{background:var(--color-surface-raised);border-left:3px solid var(--color-accent);padding:1.1rem;border-radius:0 6px 6px 0}.tip{border-color:var(--color-success)}.warning{border-color:var(--color-danger)}.messages{background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);box-shadow:none}.messages--error{border-color:var(--color-danger)}.messages--status{border-color:var(--color-success)}form{max-width:75ch}label{display:block;font-weight:600;margin-bottom:.4rem}input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea{width:100%;max-width:100%;min-width:0;min-height:44px;padding:.7rem;background:var(--color-surface);color:var(--color-text);border:1px solid #526074;border-radius:6px}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--color-accent);vertical-align:middle}input+label{display:inline}input.error{border-color:var(--color-danger)}.description,.form-item .description{color:var(--color-text-muted);font-size:.82rem}.form-item{margin:1.2rem 0}.form-item label.option{display:inline;padding:.6rem}.user-login-form,.user-pass{max-width:480px;margin:2rem auto;padding:clamp(1rem,4vw,2.5rem);border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.user-login-form input{background:var(--color-bg)!important}.user-login-form input[type=submit]{width:100%;background:var(--color-accent)!important}.table-scroll{overflow-x:auto;max-width:100%;margin:1.5rem 0}table{border-collapse:collapse;width:100%}th,td{padding:.8rem;text-align:left;border:1px solid var(--color-border)}th{background:var(--color-surface-raised)}.breadcrumb{font-size:.8rem;padding-top:1.3rem}.tabs a{min-height:44px;padding:.6rem 1rem!important;background:var(--color-surface)!important;color:var(--color-text)}.tabs a.is-active{color:var(--color-accent)}.practice-frame{width:100%;height:calc(100dvh - 185px);min-height:480px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);display:block}.is-practice .site-header{padding:.8rem 0}.is-practice .main-content{padding-bottom:1rem}.is-practice h1{font-size:1.5rem;margin:1rem 0}.is-practice .site-footer{display:none}.embed-help{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem}.print-only{display:none}.student-card h2{font-size:1.3rem}.student-card ul{padding-left:1.2rem}.student-card{overflow-wrap:anywhere}.field--name-field-attachments{margin-top:2rem}.field--name-field-image{margin-bottom:1.5rem}.field--name-field-image img{border-radius:8px}.ck-editor{color:#17212e;color-scheme:light}.ck-content{background:white!important;color:#17212e!important}@media(max-width:1023px){.lesson-layout{grid-template-columns:1fr;gap:1rem}.lesson-article{max-width:none}.site-header{gap:1rem}.menu-toggle:not([hidden]){display:inline-flex;margin-left:auto}#site-navigation{width:100%}#site-navigation.collapsible:not(.is-open){display:none}.home-hero{gap:1.5rem}.learning-steps article{padding:1.4rem}}@media(max-width:600px){.home-hero{grid-template-columns:1fr;padding:1.5rem 0 2rem}.home-hero h2{font-size:2.6rem}.bearing-panel{padding:1rem}.compass{max-width:200px}.learning-steps{grid-template-columns:1fr}.learning-steps article+article{border-left:0;border-top:1px solid var(--color-border)}.lesson-list a{gap:.7rem;padding:1rem .3rem}.lesson-list small{font-size:.7rem}.site-shell{padding:0 1rem}.wordmark{font-size:1.3rem}.site-header{padding:1rem 0}.practice-frame{height:calc(100dvh - 220px);min-height:450px}.hero-actions{gap:1rem}.site-footer{font-size:.65rem}.form-actions{display:flex;gap:.5rem;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body{background:white;color:black;font:11pt/1.5 sans-serif}.site-header,.site-footer,.lesson-sidebar,.tabs,.breadcrumb,.lesson-pagination,.practice-frame,.embed-help,.bearing-panel,.menu-toggle{display:none!important}.site-shell,.lesson-article{max-width:none;padding:0;border:0;background:none}.lesson-layout{display:block}a{color:black}a[href^="https"]:after{content:' (' attr(href) ')';font-size:9pt}.print-only{display:block}.notice,.tip,.warning,.course-card{background:none;border:1px solid #555;break-inside:avoid}h1,h2,h3{break-after:avoid}.table-scroll{overflow:visible}th,td{border:1px solid #555}}
