/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#19231f;--muted:#69736e;--line:#e3e7e4;--paper:#f5f6f2;--purple:#6252d8;--purple-dark:#4d3fc4;--mint:#d7f3e2}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.shell{max-width:1240px;margin:0 auto;padding:0 30px 70px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:84px;display:flex}.brand{color:var(--ink);letter-spacing:-.4px;align-items:center;gap:11px;font-size:19px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--purple);border-radius:10px 10px 10px 3px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.top-actions{color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.status-dot{background:#35b96f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #dff3e7}.avatar{color:#473b99;background:#ded9ff;border:0;border-radius:50%;width:38px;height:38px;margin-left:16px;font-weight:800}.hero{justify-content:space-between;align-items:flex-end;padding:56px 0 36px;display:flex}.eyebrow{color:var(--purple);letter-spacing:1.7px;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:800}h1{letter-spacing:-1.7px;margin:0;font-size:42px;line-height:1.05}.hero-copy{color:var(--muted);margin:12px 0 0;font-size:16px}.primary{color:#fff;background:var(--purple);border:0;border-radius:12px;padding:14px 19px;font-weight:750;box-shadow:0 8px 20px #6252d833}.primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.primary span{vertical-align:-1px;margin-right:5px;font-size:20px}.metrics{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:118px;padding:22px;display:grid;box-shadow:0 3px 12px #1b282209}.metric-icon{border-radius:12px;place-items:center;width:45px;height:45px;font-size:20px;font-weight:800;display:grid}.purple{color:var(--purple);background:#eeeaff}.mint{background:var(--mint);color:#278052}.amber{color:#aa7116;background:#fff0ca}.metrics b{letter-spacing:-.7px;font-size:27px;display:block}.metrics small{color:var(--muted);font-size:13px}.metrics em{color:#6d7772;background:#f3f5f2;border-radius:7px;padding:6px 8px;font-size:11px;font-style:normal}.section-head{justify-content:space-between;align-items:flex-end;margin:48px 0 18px;display:flex}.section-head h2{letter-spacing:-.6px;margin:0 0 6px;font-size:23px}.section-head p{color:var(--muted);margin:0;font-size:14px}.text-button{color:var(--purple);background:0 0;border:0;font-weight:700}.sessions{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.session-card,.new-card{border-radius:17px;min-height:254px;padding:22px}.session-card{border:1px solid var(--line);background:#fff;box-shadow:0 4px 16px #18231e0a}.session-card.featured{border:1.5px solid #c8c0ff;box-shadow:0 9px 26px #5240be14}.card-top{justify-content:space-between;align-items:center;display:flex}.live,.scheduled{letter-spacing:.8px;font-size:10px;font-weight:850}.live{color:#298357}.live i{background:#38b875;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.scheduled{color:#775fd2;background:#eeeaff;border-radius:6px;padding:6px 8px}.more{color:#929993;letter-spacing:2px;background:0 0;border:0}.session-card h3{margin:24px 0 7px;font-size:19px}.session-card>p{color:var(--muted);margin:0 0 25px;font-size:13px}.progress-row{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.progress-row b{color:var(--ink)}.bar{background:#ecefeb;border-radius:9px;height:5px;margin:10px 0 23px;overflow:hidden}.bar i{background:var(--purple);border-radius:inherit;height:100%;display:block}.card-bottom{justify-content:space-between;align-items:center;display:flex}.stack{display:flex}.stack span{background:#dcd8ff;border:2px solid #fff;border-radius:50%;place-items:center;width:29px;height:29px;margin-right:-7px;font-size:9px;font-weight:800;display:grid}.stack span:nth-child(2){background:#d4eedc}.stack span:nth-child(3){color:#66706b;background:#eef0ec}.enter{color:var(--purple);background:0 0;border:0;font-size:12px;font-weight:800}.enter b{margin-left:7px}.secondary{color:#626b66}.new-card{color:var(--muted);background:#ffffff52;border:1.5px dashed #c9ceca;flex-direction:column;justify-content:center;align-items:center;display:flex}.new-card>span{width:46px;height:46px;color:var(--purple);background:#ece9ff;border-radius:50%;place-items:center;margin-bottom:15px;font-size:24px;display:grid}.new-card b{color:var(--ink);font-size:14px}.new-card small{margin-top:7px}.new-card:hover{border-color:var(--purple);background:#fff}.activity-title{margin-top:45px}.activity{border:1px solid var(--line);background:#fff;border-radius:16px;padding:3px 22px}.activity-row{border-bottom:1px solid #edf0ed;grid-template-columns:auto 1fr auto auto;align-items:center;gap:15px;padding:17px 0;display:grid}.activity-row:last-child{border:0}.doc-icon,.score-icon{color:#c44e57;background:#ffeaeb;border-radius:10px;place-items:center;width:42px;height:42px;font-size:9px;font-weight:900;display:grid}.score-icon{color:#9a6919;background:#fff0c9;font-size:11px}.activity-row b{font-size:13px}.activity-row p{color:var(--muted);margin:4px 0 0;font-size:12px}.activity-row time{color:#8b938e;font-size:11px}.tag{color:#6453b9;background:#f0edff;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:800}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#12191673;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(460px,100%);padding:32px;position:relative;box-shadow:0 25px 80px #00000038}.modal h2{margin:0 0 25px;font-size:27px}.modal label{margin:15px 0;font-size:12px;font-weight:800;display:block}.modal input{border:1px solid #d8ded9;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:13px 14px}.modal input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #eeebff}.modal-close{color:#7a827d;background:0 0;border:0;font-size:24px;position:absolute;top:16px;right:18px}.full{width:100%;margin-top:8px}@media (max-width:850px){.metrics{grid-template-columns:1fr}.hero{align-items:flex-start}.metrics article{min-height:95px}.sessions{grid-template-columns:1fr 1fr}.new-card{min-height:254px}}@media (max-width:600px){.shell{padding:0 18px 50px}.top-actions{font-size:0}.top-actions .status-dot{display:none}.hero{flex-direction:column;gap:25px;padding-top:38px}.hero .primary{width:100%}h1{font-size:35px}.sessions{grid-template-columns:1fr}.metrics{gap:10px}.section-head{margin-top:36px}.activity-row{grid-template-columns:auto 1fr auto}.activity-row time{display:none}}.modal select{background:#fff;border:1px solid #d8ded9;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:13px 14px}.session-code{font:800 12px var(--font-geist-mono),monospace;letter-spacing:1px;color:var(--muted)}.share-preview{color:#68706c;background:#f5f6f3;border-radius:9px;justify-content:space-between;align-items:center;margin:18px 0 21px;padding:9px 10px;font-size:11px;display:flex}.share-preview button{color:var(--purple);background:0 0;border:0;font-size:11px;font-weight:800}.muted-caption{color:#9aa09c;font-size:11px}.card-bottom a{text-decoration:none}.empty-note{color:var(--muted);border:1px dashed #cdd2ce;border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin-top:18px;padding:22px;font-size:13px;display:flex}.empty-note b{color:var(--ink)}.form-error{background:#fff0f1;border-radius:8px;padding:9px 11px;color:#b23d46!important;font-size:12px!important}.room-shell{background:#f4f5f1;min-height:100vh}.room-header{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 32px;display:grid}.room-title{text-align:center;flex-direction:column;gap:3px;font-size:13px;display:flex}.room-title span{color:var(--muted);font-size:11px}.live-users{color:#4d5b54;justify-self:end;font-size:12px}.live-users i,.online i,.waiting-note i{background:#3ab977;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.admin-grid{grid-template-columns:minmax(0,1fr) 285px;gap:28px;max-width:1220px;margin:0 auto;padding:42px 30px 70px;display:grid}.admin-main{min-width:0}.session-hero{justify-content:space-between;align-items:flex-start;display:flex}.session-hero h1{font-size:36px}.session-hero>div>p:last-child{color:var(--muted);margin:10px 0}.code-box{text-align:center;background:#e9e5ff;border:1px solid #d1c9ff;border-radius:14px;padding:16px 24px}.code-box small{color:#6f64a7;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:800;display:block}.code-box b{font:900 25px var(--font-geist-mono),monospace;letter-spacing:4px;color:#4f41bc}.share-box{color:#fff;background:#202a26;border-radius:16px;justify-content:space-between;align-items:center;margin:28px 0;padding:19px 20px;display:flex}.share-box div{flex-direction:column;gap:6px;display:flex}.share-box small{color:#acb6b1;text-transform:uppercase;letter-spacing:1px;font-size:10px}.share-box strong{font-size:14px}.outline-button{color:#fff;background:0 0;border:1px solid #65716b;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:700}.list-head{justify-content:space-between;align-items:flex-end;margin:32px 0 13px;display:flex}.list-head>div{align-items:center;gap:8px;display:flex}.list-head h2{margin:0;font-size:20px}.list-head div span{color:#5d4fc8;background:#e8e4ff;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:800}.list-head small{color:var(--muted)}.presentation-list{flex-direction:column;gap:9px;display:flex}.presentation-row{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:14px;display:grid}.order{color:#9ca39f;font:700 11px var(--font-geist-mono),monospace}.pdf-badge{color:#c65059;background:#ffebec;border-radius:8px;place-items:center;width:38px;height:38px;font-size:9px;font-weight:900;display:grid}.presentation-row>div{min-width:0}.presentation-row div b,.presentation-row div small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.presentation-row div b{font-size:13px}.presentation-row div small{color:var(--muted);margin-top:4px;font-size:10px}.compact{box-shadow:none;padding:10px 12px;font-size:11px}.mini-score{color:#9a6b17;background:#fff1cf;border-radius:7px;padding:6px;font-size:11px}.empty-upload{min-height:210px;color:var(--muted);border:1.5px dashed #cdd2ce;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-upload>span{color:var(--purple);font-size:28px}.empty-upload b{color:var(--ink);margin:8px;font-size:14px}.empty-upload p{margin:0;font-size:12px}.admin-aside{border:1px solid var(--line);background:#fff;border-radius:16px;height:max-content;padding:22px}.admin-aside h3{margin:0;font-size:16px}.admin-aside ol{counter-reset:steps;margin:22px 0;padding:0;list-style:none}.admin-aside li{counter-increment:steps;flex-direction:column;gap:4px;padding:0 0 22px 36px;display:flex;position:relative}.admin-aside li:before{content:counter(steps);width:24px;height:24px;color:var(--purple);background:#ece9ff;border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid;position:absolute;left:0}.admin-aside li:not(:last-child):after{content:"";background:#dfe3df;width:1px;height:22px;position:absolute;top:27px;left:12px}.admin-aside li b{font-size:12px}.admin-aside li span{color:var(--muted);font-size:10px;line-height:1.4}.tip{background:#edf8f1;border-radius:11px;padding:14px}.tip b{color:#27784e;font-size:11px}.tip p{color:#617069;margin:5px 0 0;font-size:10px;line-height:1.5}.stage{background:#171d1a;grid-template-rows:auto minmax(0,1fr) auto;gap:15px;min-height:calc(100vh - 76px);padding:20px 30px 24px;display:grid}.stage-bar{color:#fff;justify-content:space-between;align-items:center;display:flex}.stage-bar>div{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;display:grid}.stage-bar .live{grid-row:span 2}.stage-bar b{font-size:14px}.stage-bar small{color:#9ea8a3}.danger-button{color:#fff;background:0 0;border:1px solid #6e7772;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:700}.pdf-stage{justify-content:center;min-height:0;display:flex}.pdf-stage iframe{background:#313936;border:0;border-radius:8px;width:min(1120px,100%);height:100%}.stage-controls{color:#fff;justify-content:center;align-items:center;gap:12px;display:flex}.stage-controls button{color:#fff;background:#2a322e;border:1px solid #505954;border-radius:8px;width:40px;height:36px;font-size:18px}.stage-controls button:disabled{opacity:.3}.stage-controls span{font-size:12px}.stage-controls small{color:#7f8984;font-size:10px;position:absolute;right:35px}.mode-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 76px);padding:30px;display:flex}.mode-screen h1{max-width:700px}.mode-screen>p:not(.eyebrow){color:var(--muted);max-width:560px}.mode-icon,.success-big{color:#a66e14;background:#fff0c9;border-radius:20px;place-items:center;width:70px;height:70px;margin-bottom:22px;font-size:28px;display:grid}.vote-counter{flex-direction:column;margin:28px 0;display:flex}.vote-counter b{color:var(--purple);font-size:52px}.vote-counter span{color:var(--muted);font-size:12px}.wide{min-width:240px}.results-screen{grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px;max-width:1050px;min-height:calc(100vh - 76px);margin:0 auto;padding:70px 35px;display:grid}.result-copy>p:not(.eyebrow){color:var(--muted)}.overall{color:#fff;background:#202a26;border-radius:18px;grid-template-columns:1fr auto auto;align-items:end;margin:30px 0;padding:22px;display:grid}.overall span{color:#aeb7b2;font-size:12px}.overall b{color:#ae9fff;font-size:55px;line-height:.8}.overall small{color:#bbc2be;font-size:12px}.result-chart{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px}.score-row{grid-template-columns:100px 1fr 30px;align-items:center;gap:12px;margin:23px 0;font-size:12px;display:grid}.score-row>div{background:#eceeeb;border-radius:9px;height:9px;overflow:hidden}.score-row i{background:linear-gradient(90deg,var(--purple),#8e80ef);border-radius:inherit;height:100%;display:block}.score-row b{text-align:right}.result-note{border-top:1px solid var(--line);color:var(--muted);margin-top:30px;padding-top:18px;font-size:10px}.toast{color:#fff;background:#202a26;border-radius:10px;padding:12px 15px;font-size:12px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #0003}.toast.error{background:#a23d45}.center-state{flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;display:flex}.center-state a{color:var(--purple)}.loader{border:3px solid #d8d5ef;border-top-color:var(--purple);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.student-page{background:#f1f3ee;flex-direction:column;align-items:center;min-height:100vh;padding:22px;display:flex}.student-brand{align-items:center;gap:10px;margin:30px 0;font-weight:800;display:flex}.student-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(600px,100%);padding:34px;box-shadow:0 10px 40px #202b260f}.join-card,.upload-card{margin:auto}.student-card h1{font-size:32px}.student-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.room-chip{color:#5b4bc3;font:800 10px var(--font-geist-mono),monospace;letter-spacing:.6px;background:#ece9ff;border-radius:7px;margin-bottom:25px;padding:7px 9px;display:inline-block}.student-card label{margin:20px 0;font-size:12px;font-weight:800;display:block}.student-card input[type=text],.student-card input:not([type]),.student-card textarea{border:1px solid #d7dcd8;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:13px}.student-card input:focus,.student-card textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #eeebff}.student-top{justify-content:space-between;align-items:center;width:min(900px,100%);padding:4px 0 30px;display:flex}.student-top>div{align-items:center;gap:12px;font-size:11px;display:flex}.online{color:#33835c}.file-drop{min-height:155px;color:var(--muted);border:1.5px dashed #bdc5bf;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;position:relative;display:flex!important}.file-drop input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-drop>span{color:var(--purple);font-size:26px}.file-drop>b{color:var(--ink);margin:7px}.file-drop small{font-weight:400}.success-panel{text-align:center;background:#eef8f1;border-radius:14px;margin:22px 0;padding:22px}.success-panel>span,.success-big{color:#2e885a;background:#d4efdd;border-radius:50%;place-items:center;width:45px;height:45px;margin:0 auto 12px;font-size:22px;display:grid}.success-panel h2{margin:8px;font-size:17px}.success-panel p{color:#617069;margin:0;font-size:12px;line-height:1.5}.waiting-note{color:var(--muted);margin:20px 0;font-size:11px}.student-stage{color:#fff;background:#151b18;grid-template-rows:auto 1fr auto;height:100vh;padding:15px 20px;display:grid}.student-stage header{grid-template-columns:auto 1fr auto;align-items:center;gap:25px;height:57px;display:grid}.student-stage header>div{flex-direction:column;display:flex}.student-stage header b{font-size:13px}.student-stage header small{color:#a2aba6;font-size:10px}.follow{color:#b6beb9;font-size:11px}.student-stage iframe{background:#303835;border:0;border-radius:8px;width:100%;height:100%}.student-stage footer{text-align:center;color:#808b85;padding:13px;font-size:10px}.center-card{text-align:center;flex-direction:column;align-items:center;gap:10px;margin:auto;display:flex}.center-card>p{max-width:390px}.voting-card{width:min(720px,100%);margin:auto}.criteria fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:18px 0}.criteria legend{float:left;width:170px}.criteria legend b,.criteria legend small{display:block}.criteria legend small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;line-height:1.4}.rating{grid-template-columns:repeat(10,1fr);gap:5px;margin-left:180px;display:grid}.rating label{margin:0}.rating input{opacity:0;position:absolute}.rating span{border:1px solid #d9dedb;border-radius:7px;place-items:center;height:33px;font-size:10px;display:grid}.rating input:checked+span{background:var(--purple);color:#fff;border-color:var(--purple)}.voting-card textarea{resize:vertical;height:75px}.voting-card label>small{color:var(--muted);font-weight:400}.student-results{text-align:center;margin:auto}.compact-overall{max-width:340px;margin:28px auto}.student-results>p:last-child{font-size:12px}.primary:disabled{opacity:.55;cursor:wait}@media (max-width:850px){.admin-grid{grid-template-columns:1fr}.admin-aside{display:none}.results-screen{grid-template-columns:1fr;gap:25px}.room-header{grid-template-columns:1fr auto}.room-title,.stage-controls small{display:none}}@media (max-width:600px){.room-header{padding:0 16px}.live-users{font-size:0}.admin-grid{padding:28px 16px}.session-hero{display:block}.code-box{width:max-content;margin-top:20px}.share-box{flex-direction:column;align-items:flex-start;gap:14px}.share-box strong{word-break:break-all;font-size:11px}.presentation-row{grid-template-columns:auto auto 1fr}.presentation-row>.primary{grid-column:3;width:max-content}.mini-score{display:none}.student-card{padding:25px}.student-card h1{font-size:27px}.student-stage{padding:8px}.student-stage header{grid-template-columns:auto 1fr}.follow{display:none}.criteria legend{float:none;width:auto;margin-bottom:12px}.rating{margin-left:0}.result-copy h1{font-size:32px}.results-screen{padding:45px 20px}.room-shell .brand>span:last-child{display:none}}.modal-backdrop[open]{border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0}.login-page{background:linear-gradient(#f6f7f3 0%,#eceaff 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px 20px;display:flex}.login-brand{letter-spacing:-.4px;align-items:center;gap:11px;margin-bottom:22px;font-size:19px;font-weight:800;display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(420px,100%);padding:34px;box-shadow:0 18px 60px #202b261a}.login-card h1{margin:0 0 10px;font-size:29px}.login-hint{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.55}.login-card label{margin:16px 0;font-size:12px;font-weight:800;display:block}.login-card input{border:1px solid #d8ded9;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:13px 14px}.login-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #eeebff}.login-card .form-error{margin:14px 0 0}.sign-out{border:1px solid var(--line);color:#5c6661;background:#fff;border-radius:9px;margin-left:10px;padding:8px 12px;font-size:12px;font-weight:700}.sign-out:hover{border-color:var(--purple);color:var(--purple)}.sign-out:disabled{opacity:.55;cursor:wait}@media (max-width:600px){.login-card{padding:26px}}.file-drop.has-file{color:#3d7557;background:#f0faf4;border-style:solid;border-color:#55af7d}.file-drop.has-file>span{color:#278052;background:#d5efdf;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.file-drop.has-file>b{text-overflow:ellipsis;white-space:nowrap;max-width:90%;overflow:hidden}.upload-confirmation{background:#edf9f2;border:1px solid #9ed5b5;border-radius:12px;align-items:center;gap:13px;margin:20px 0;padding:15px 16px;animation:.35s ease-out confirm-in;display:flex}.upload-confirmation>span{color:#fff;background:#35a86a;border-radius:50%;flex:0 0 36px;place-items:center;height:36px;font-weight:900;display:grid}.upload-confirmation div{flex-direction:column;gap:4px;display:flex}.upload-confirmation b{color:#216642;font-size:14px}.upload-confirmation small{color:#577265;font-size:11px}.my-uploads{margin:20px 0 26px}.my-uploads h2{align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.my-uploads h2 span{color:#28774d;background:#e5f4eb;border-radius:6px;padding:3px 7px;font-size:10px}.my-upload-row{background:#fbfcfa;border:1px solid #e1e7e3;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:8px;padding:11px;display:grid}.my-upload-row>div{min-width:0}.my-upload-row b,.my-upload-row small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.my-upload-row b{font-size:12px}.my-upload-row small{color:var(--muted);margin-top:4px;font-size:10px}.my-upload-row strong{color:#2c8456;font-size:10px}.upload-progress{color:#5043b5;grid-template-columns:1fr auto;align-items:center;gap:5px 12px;margin:14px 0;display:grid}.upload-progress>div{background:#e5e2f8;border-radius:8px;grid-column:1/-1;height:7px;overflow:hidden}.upload-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--purple),#9184ec);height:100%;transition:width .2s;display:block}.upload-progress b{font-size:11px}.upload-progress small{color:var(--muted);font-size:10px}@keyframes confirm-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (max-width:600px){.my-upload-row{grid-template-columns:auto 1fr}.my-upload-row strong{grid-column:2}.upload-confirmation{align-items:flex-start}}.stage-actions{align-items:center;gap:10px;display:flex}.ghost-button{color:#fff;white-space:nowrap;background:#2a322e;border:1px solid #505954;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:700}.ghost-button:hover{background:#333c37;border-color:#8e80ef}.pdf-stage{position:relative}.slide-zone{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;width:100%;padding:0 0 14px;display:flex;position:absolute;inset:0}.slide-hint{opacity:0;color:#dfe5e1;background:#171d1ad6;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600;transition:opacity .2s}:is(.slide-zone:hover .slide-hint,.slide-zone:focus-visible .slide-hint){opacity:1}.slide-zone:focus-visible{outline-offset:-4px;outline:2px solid #8e80ef}.stage:-webkit-full-screen{min-height:100vh;padding:18px 24px 20px}.stage:fullscreen{min-height:100vh;padding:18px 24px 20px}.stage:-webkit-full-screen .pdf-stage iframe{width:100%;max-width:none}.stage:fullscreen .pdf-stage iframe{width:100%;max-width:none}.student-stage-actions{align-items:center;gap:12px;display:flex}@media (max-width:600px){.stage-actions{gap:7px}.ghost-button{padding:9px 11px;font-size:10px}}.pdf-canvas{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.pdf-canvas canvas{background:#313936;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 12px 40px #00000052}.pdf-canvas-state{color:#cbd4cf;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.stage:-webkit-full-screen .pdf-canvas canvas{box-shadow:none}.stage:fullscreen .pdf-canvas canvas{box-shadow:none}.student-stage .pdf-canvas{background:0 0}.link-danger{color:#c0393f;background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.link-danger:hover{text-decoration:underline}.header-delete{color:#c0393f;white-space:nowrap;background:#fff;border:1px solid #edcbcd;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:750}.header-delete:hover{background:#fdf2f2;border-color:#dda3a6}.live-users{align-items:center;gap:10px;display:flex}.confirm-modal h2{margin:0 0 14px;font-size:25px}.modal-text{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}.modal-text b{color:var(--ink)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.ghost-plain{color:var(--ink);background:#fff;border:1px solid #d8ded9;border-radius:12px;padding:14px 19px;font-weight:750}.ghost-plain:hover{border-color:#b9c0bb}.primary.danger{background:#c0393f;box-shadow:0 8px 20px #c0393f33}.primary.danger:hover{background:#a52f35}.field-hint{color:var(--muted);margin-top:7px;font-size:11px;font-weight:600;display:block}@media (max-width:600px){.live-users{gap:7px}.header-delete{padding:7px 9px;font-size:10px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
