@font-face{font-family:FontSans;src:url(/demo/fonts/NotoSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:FontSans;src:url(/demo/fonts/NotoSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:FontSans;src:url(/demo/fonts/NotoSans-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:FontSans;src:url(/demo/fonts/NotoSans-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:FontSerif;src:url(/demo/fonts/NotoSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:FontSerif;src:url(/demo/fonts/NotoSerif-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:FontSerif;src:url(/demo/fonts/NotoSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:FontSerif;src:url(/demo/fonts/NotoSerif-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:FontMono;src:url(/demo/fonts/RobotoMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:FontMono;src:url(/demo/fonts/RobotoMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:FontMono;src:url(/demo/fonts/RobotoMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:FontMono;src:url(/demo/fonts/RobotoMono-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f3f4f6;color:#1f2937;overflow:hidden}#app{height:100%;width:100%;position:relative}html:not(.demo) .demo-only{display:none!important}button{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;transition:all .2s;background-color:#fff;color:#1f2937;border:1px solid #e5e7eb}button:hover{background-color:#f9fafb;border-color:#d1d5db}button.primary{background-color:#2563eb;color:#fff;border:1px solid transparent}button.primary:hover{background-color:#1d4ed8}button.danger{color:#dc2626;border-color:#fee2e2;background-color:#fef2f2}button.danger:hover{background-color:#fee2e2}input{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}select{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.hidden{display:none!important}.form-input{margin-bottom:1rem}label{display:block;text-align:left;margin-bottom:.5rem;font-weight:600;color:#6b7280;font-size:.875rem}[data-view]{display:none!important}[data-view].active{display:flex!important;flex-direction:column;height:100%;animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#login-view{display:flex;align-items:center;justify-content:center;height:100vh;background-color:#f3f4f6}#login-view .login-card{background:#fff;padding:3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:400px;border:1px solid #e5e7eb}#login-view .login-card h1{color:#1f2937;font-size:1.75rem;margin-bottom:2rem;font-weight:700}#login-view .login-card #btn-login{width:100%;margin-top:1rem;background-color:#2563eb;color:#fff;padding:.8rem;font-size:1rem;border:none}#login-view .login-card #btn-login:hover{background-color:#134cca}#login-view .login-card #error-msg{color:#dc2626;font-size:.875rem;margin-top:10px;margin-bottom:0}#login-view .login-card #error-msg:empty{display:none}#waiting-view{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f4f7f6;padding:20px;font-family:NotoSans-Regular,sans-serif}#waiting-view .waiting-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 30px #0000000d;text-align:center;max-width:500px;width:100%}#waiting-view .waiting-spinner{width:50px;height:50px;border:4px solid #e0e0e0;border-top-color:#007bff;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}#waiting-view .waiting-title{font-size:24px;color:#333;margin-bottom:25px;font-family:NotoSans-Bold,sans-serif}#waiting-view .waiting-hint-box{background-color:#fff8e1;border-left:4px solid #ffc107;padding:15px;border-radius:4px;margin-bottom:25px;text-align:left}#waiting-view .waiting-hint-box h3{margin:0 0 5px;font-size:16px;color:#b38600}#waiting-view .waiting-hint-box p{margin:0;font-size:14px;color:#555;line-height:1.5}#waiting-view .waiting-footer-text{font-size:14px;color:#777;line-height:1.5}#waiting-view .waiting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;text-align:left}#waiting-view .waiting-user-info{display:flex;flex-direction:column}#waiting-view .waiting-fullname{font-size:16px;font-family:sans-serif;color:#333}#waiting-view .waiting-username{font-size:13px;color:#777;margin-top:2px}#waiting-view .waiting-username--prominent{font-size:16px;color:#333}#waiting-view .waiting-logout-btn{background-color:transparent;border:1px solid #dc3545;color:#dc3545;padding:6px 14px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;font-family:sans-serif}#waiting-view .waiting-logout-btn:hover{background-color:#dc3545;color:#fff}#waiting-view .waiting-divider{border:0;height:1px;background:#eaeaea;margin-bottom:30px}@keyframes spin{to{transform:rotate(360deg)}}@font-face{font-family:icons;src:url(/demo/fonts/icons.ttf?khc1x3) format("truetype"),url(/demo/fonts/icons.woff?khc1x3) format("woff"),url(/demo/fonts/icons.svg?khc1x3#icons) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=icon-],[class*=" icon-"]{font-family:icons!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-showtime:before{content:""}.icon-lock:before{content:""}.icon-handin:before{content:""}.icon-toilette:before{content:""}.icon-find:before{content:""}.icon-caret-up:before{content:""}.icon-caret-down:before{content:""}.icon-pagebreak:before{content:""}.icon-print:before{content:""}.icon-logout:before{content:""}.icon-hidetime:before{content:""}.icon-pause:before{content:""}.icon-sand:before{content:""}.icon-pause2:before{content:""}.icon-help2:before{content:""}.icon-accessibility:before{content:""}.icon-help:before{content:""}.icon-bold:before{content:""}.icon-underline:before{content:""}.icon-fullscreen-22:before{content:""}.icon-undo:before{content:""}.icon-redo:before{content:""}.icon-left:before{content:""}.icon-center:before{content:""}.icon-right:before{content:""}.icon-justify:before{content:""}.icon-pdf:before{content:""}.icon-italic:before{content:""}.icon-fontsize:before{content:""}.icon-numbers:before{content:""}.icon-bullets:before{content:""}.icon-list-in:before{content:""}.icon-list-out:before{content:""}#exam-view{display:flex;height:100vh;flex-direction:column;align-items:center;background-color:#f3f4f6}#exam-view .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s;font-size:.95rem}#exam-view .btn-primary{background-color:#2563eb;color:#fff;box-shadow:0 4px 6px -1px #0000001a}#exam-view .btn-primary:hover{background-color:#1d4ed8;transform:scale(1.02)}#exam-view .btn-default{background-color:#fff;color:#1f2937;border:1px solid #e5e7eb}#exam-view .btn-default:hover{background-color:#f9fafb;border-color:#d1d5db}#exam-view .btn-success{background-color:#10b981;color:#fff;width:100%}#exam-view .btn-success:hover{background-color:#0c8a60}#exam-view .btn-danger{background-color:#fff;color:#dc2626;border:1px solid #fee2e2;width:100%}#exam-view .btn-danger:hover{background-color:#fef2f2;border-color:#fee2e2}#exam-view .btn-icon{padding:.4rem;background:transparent;color:#6b7280;border-radius:.375rem;border:1px solid transparent}#exam-view .btn-icon:hover{background-color:#f9fafb;border-color:#d1d5db;color:#1f2937}#exam-view #editor{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;padding:12px;background-color:#f3f4f6;font-family:FontSans,sans-serif;color:#1f2937}#exam-view #editor .tiptap{margin:0 auto;outline:none!important;transition:zoom .2s ease-in-out}#exam-view .search-result{background-color:#ffff0080}#exam-view .search-result-current{background-color:#ffa500cc}#exam-view .search-input{width:100%;padding:6px 8px;border:1px solid #e5e7eb;border-radius:4px;background-color:#fff;color:#1f2937;font-size:.9em;outline:none;transition:border-color .2s}#exam-view .search-input:focus{border-color:#2563eb}#exam-view .floatwindow .btn-text{width:auto;height:28px;padding:0 10px;font-size:.85em;border:1px solid transparent;background-color:#f9fafb}#exam-view .floatwindow .btn-text:hover{background-color:#2563eb;color:#fff}#exam-view .toolbar{width:100%;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d;padding:0 12px;z-index:960}#exam-view .toolbar>div{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;justify-content:center;align-items:center}#exam-view .toolbar button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:4px;font-size:1.2em;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:6px;color:#6b7280;transition:all .2s ease-in-out}#exam-view .toolbar button:hover{background:#f9fafb;border-color:#d1d5db;color:#2563eb}#exam-view .toolbar button.is-active{background:#2563eb;border-color:#2563eb;color:#fff}#exam-view .toolbar button.is-active:hover{background:#1d4ed8;border-color:#1d4ed8}#exam-view .toolbar button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}#exam-view .toolbar select{height:36px;width:auto;padding:0 8px 0 4px;font-size:1em;cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#1f2937;transition:border-color .2s}#exam-view .toolbar select:hover,#exam-view .toolbar select:focus{border-color:#2563eb;background-color:#f9fafb;outline:none}#exam-view .toolbar .selectItem{justify-content:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px;font-size:1em}#exam-view .toolbar #grpZoom,#exam-view .toolbar #grpFontFamily,#exam-view .toolbar #grpFontStyle,#exam-view .toolbar #grpFontSize{display:flex}#exam-view .toolbar #grpZoom button,#exam-view .toolbar #grpFontFamily button,#exam-view .toolbar #grpFontStyle button,#exam-view .toolbar #grpFontSize button{background-color:#fff;border:1px solid #e5e7eb;height:36px;cursor:pointer;color:#1f2937;transition:all .2s ease-in-out}#exam-view .toolbar #grpZoom button:hover,#exam-view .toolbar #grpFontFamily button:hover,#exam-view .toolbar #grpFontStyle button:hover,#exam-view .toolbar #grpFontSize button:hover{background-color:#f9fafb;border-color:#2563eb;color:#2563eb}#exam-view .toolbar #grpZoom .btn-dropdown-arrow,#exam-view .toolbar #grpFontFamily .btn-dropdown-arrow,#exam-view .toolbar #grpFontStyle .btn-dropdown-arrow,#exam-view .toolbar #grpFontSize .btn-dropdown-arrow{background-color:transparent;border-left:1px solid #e5e7eb}#exam-view .toolbar .font-dropdown{width:400px;background:#fff;border:1px solid #dddddd;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:6px 0;margin-top:4px}#exam-view .toolbar .font-dropdown button{width:100%;display:block;background:none!important;text-align:left;padding:8px 16px;cursor:pointer;transition:all .15s ease-in-out;border:none!important;border-radius:0!important;color:#333}#exam-view .toolbar .font-dropdown button:hover{background-color:#eff6ff!important;color:#2563eb!important}#exam-view .toolbar .font-dropdown button:hover span,#exam-view .toolbar .font-dropdown button:hover .font-name{color:#2563eb!important}#exam-view .toolbar .font-dropdown button:hover .font-desc{color:#60a5fa!important}#exam-view .toolbar .font-dropdown button.is-selected{background-color:#2563eb!important;color:#fff!important;border-left:3px solid #0044aa!important}#exam-view .toolbar .font-dropdown button.is-selected span,#exam-view .toolbar .font-dropdown button.is-selected .font-name,#exam-view .toolbar .font-dropdown button.is-selected .font-desc{color:#fff!important}#exam-view .toolbar .font-dropdown button .font-name{display:block;width:120px;flex-shrink:0;font-size:1.1em;color:#222;transition:color .15s}#exam-view .toolbar .font-dropdown button .font-desc{display:block;font-size:.85em;color:#666;font-family:FontSans,sans-serif!important;transition:color .15s;align-self:center}#exam-view .toolbar #ddZoom button,#exam-view .toolbar #btnZoom{justify-content:end}#exam-view .toolbar #btnColor{-webkit-text-stroke:3px #ffffff;paint-order:stroke fill;font-weight:700;font-size:1.1em}#exam-view .toolbar .separator{width:1px;height:24px;background:#e5e7eb;margin:0 4px}#exam-view .toolbar .separator.invisible{visibility:hidden}#exam-view .toolbar .stretch{flex-grow:1}#exam-view .toolbar .btn-group{display:inline-flex;align-items:center;position:relative;margin-right:4px}#exam-view .toolbar .btn-group>button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}#exam-view .toolbar .btn-group>button:nth-of-type(2){border-top-left-radius:0;border-bottom-left-radius:0;width:24px;padding:0;justify-content:center}#exam-view .toolbar .custom-dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:980;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #00000026;padding:4px;min-width:180px}#exam-view .toolbar .custom-dropdown-menu.is-open{display:flex;flex-direction:column;gap:1px;animation:fadeIn .1s ease-out}#exam-view .toolbar .custom-dropdown-menu button{display:flex!important;align-items:center!important;justify-content:flex-start;width:100%;background:transparent;border:none;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:14px;color:#333;text-align:left;gap:10px}#exam-view .toolbar .custom-dropdown-menu button:hover{background:#f3f4f6;color:#2563eb}#exam-view .toolbar .custom-dropdown-menu button:hover .preview-icon{color:#2563eb}#exam-view .toolbar .custom-dropdown-menu button.is-selected{background:#eff6ff;color:#2563eb;font-weight:600}#exam-view .toolbar .custom-dropdown-menu button.is-selected .preview-icon{color:#2563eb;font-weight:700}#exam-view .toolbar .custom-dropdown-menu button .preview-icon{display:inline-block;width:25px;text-align:center;flex-shrink:0;font-weight:500;color:#9ca3af}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}#exam-view #fontSize:before{content:"";font-family:icons!important;font-size:1.5em;display:inline-block;transform:translateY(-2px);color:inherit}#exam-view .floatwindow{position:fixed;top:calc(var(--toolbar-height, 60px) + 20px);left:20px;z-index:951;width:200px;max-width:90%;padding:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001a;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}#exam-view .floatwindow.right{left:auto;right:20px;flex-direction:column;width:auto;min-width:140px;gap:4px}#exam-view .floatwindow.right.bottom{top:auto;bottom:20px}#exam-view .floatwindow.right button{width:100%;height:auto;padding:8px 12px;justify-content:flex-start;gap:10px;font-size:.75rem;white-space:nowrap;font-family:sans-serif!important}#exam-view .floatwindow.right button:before{font-size:1.2rem;font-family:icons!important}#exam-view .floatwindow.right .stretch{flex-grow:1;min-height:10px}#exam-view .floatwindow .header{width:100%;text-align:center;font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}#exam-view .floatwindow button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}#exam-view .floatwindow button.noborder{border:none}#exam-view .floatwindow button:hover{background:#f9fafb;color:#2563eb}#exam-view .floatwindow button.is-active{background:#2563eb;color:#fff}#exam-view #search-replace-dialog{opacity:0;transform:scale(.95);transition:opacity .2s ease,transform .2s ease}#exam-view #search-replace-dialog.visible{opacity:1;transform:scale(1)}#exam-view .modal-wrapper{position:fixed;inset:0;z-index:980;display:none;align-items:center;justify-content:center}#exam-view .modal-wrapper.open{display:flex}#exam-view .modal-backdrop{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}#exam-view .modal-container{position:relative;z-index:10;width:90vw;height:85vh;background-color:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;display:flex;overflow:hidden;opacity:0;transform:scale(.95) translateY(1rem);transition:all .3s ease}#exam-view .modal-wrapper.visible .modal-backdrop{opacity:1}#exam-view .modal-wrapper.visible .modal-container{opacity:1;transform:scale(1) translateY(0)}#exam-view .pdf-viewer{width:100%;height:100%;overflow-y:auto;border:1px solid #ccc;background-color:#f0f0f0;display:flex;flex-direction:column;align-items:center;outline:none}#exam-view canvas{margin-top:10px;margin-bottom:10px;box-shadow:0 2px 5px #0003}#exam-view .modal-left{flex:1;background-color:#f3f4f6;display:flex;flex-direction:column;border-right:1px solid #e5e7eb;position:relative}#exam-view .viewer-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}#exam-view .modal-right{width:320px;display:flex;flex-direction:column;flex-shrink:0;background:#fff}#exam-view .sidebar-header{padding:1.25rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:start}#exam-view .sidebar-header h3{font-size:1.125rem;font-weight:700;color:#1f2937}#exam-view .sidebar-header p{font-size:.75rem;color:#6b7280;margin-top:.25rem}#exam-view .sidebar-content{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}#exam-view .sidebar-footer{padding:1.25rem;background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem}#exam-view .text-block{font-size:.875rem;color:#1f2937;line-height:1.6;text-align:justify}#exam-view .icon{width:1.25em;height:1.25em;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}#exam-view .icon-lg{width:4rem;height:4rem}#exam-view ::-webkit-scrollbar{width:6px}#exam-view ::-webkit-scrollbar-track{background:transparent}#exam-view ::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px}#exam-view .ProseMirror{font-size:16px}#exam-view .ProseMirror h1{font-size:28px;margin-top:4px;margin-bottom:19px}#exam-view .ProseMirror h2{font-size:23px;margin-top:.7em;margin-bottom:.7em}#exam-view .ProseMirror h3{font-size:18px;margin-top:.7em;margin-bottom:.7em}#exam-view .ProseMirror p{margin-top:1em;margin-bottom:1em}#exam-view .page-break{page-break-after:always;break-after:page;height:0;visibility:hidden}#exam-view #editor>div{background:#fff;margin:auto;outline:none}#exam-view .rm-pagination-gap{background:#f7f7f7}#exam-view .rm-first-page-header{cursor:default!important;-webkit-user-select:none!important;user-select:none!important;width:672px!important;transform:translate(-205px)}#exam-view .rm-page-footer,#exam-view .rm-page-header{cursor:default!important;-webkit-user-select:none!important;user-select:none!important}#exam-view .rm-page-header-left,#exam-view .rm-page-footer-left{margin-left:60px}#exam-view .rm-page-footer-right,#exam-view .rm-page-header-right{margin-right:60px}#exam-view ul{list-style-type:disc}#exam-view #toilet-overlay{background-color:#fff}#exam-view #toilet-overlay[x-status=pending] div[x-view=pending]{display:block}#exam-view #pause-overlay,#exam-view #student-pause-overlay{background-color:#fff}#exam-view div[x-view]{display:none}#exam-view #pause-overlay[x-status=pending] div[x-view=pending]{display:block}#exam-view #custom-context-menu{display:none;position:fixed;z-index:990;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;min-width:160px;-webkit-user-select:none;user-select:none}#exam-view #custom-context-menu .context-menu-divider{margin:4px 0;border:none;border-top:1px solid #e5e7eb}#exam-view #custom-context-menu button{display:block;width:100%;padding:7px 16px;text-align:left;background:none;border:none;cursor:pointer;font-size:14px;color:#1f2937}#exam-view #custom-context-menu button:hover{background:#f9fafb}#exam-view #custom-context-menu button:active{background:#e5e7eb}
