:root{--terminal-bg: #0a0a0a;--terminal-color: #33ff00;--terminal-glow: rgba(51, 255, 0, .6);--terminal-dim: #aaaaaa;--terminal-error: #ff3333;--terminal-warn: #ffd24a;color-scheme:dark;font-family:NeoDunggeunmo,Courier New,monospace;letter-spacing:0}*{box-sizing:border-box}body,html,#app{margin:0;padding:0;height:100%;background-color:var(--terminal-bg);color:var(--terminal-color);font-family:NeoDunggeunmo,Courier New,monospace;font-size:1.2rem;line-height:1.5;overflow:hidden}body:after{content:" ";display:block;position:absolute;inset:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);z-index:100;background-size:100% 2px,3px 100%;pointer-events:none}body:before{content:" ";display:block;position:absolute;inset:0;background:radial-gradient(circle,#0000 60%,#0006);z-index:101;pointer-events:none}@keyframes crt-flicker{0%{opacity:.98}50%{opacity:.95}to{opacity:.98}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes boot-print{to{opacity:1}}.crt-screen{animation:crt-flicker .15s infinite;height:100%;width:100%;position:relative}.booting .boot-item,.booting .prompt-line,.booting #output>:not(.boot-item){opacity:0}.booting .boot-item{animation:boot-print .02s steps(1,end) forwards;animation-delay:var(--boot-delay, 0s)}.booting .prompt-line{animation:boot-print .02s steps(1,end) forwards;animation-delay:2.4s}.terminal-container{height:100%;padding:2rem;overflow-y:auto;overflow-x:hidden;text-shadow:0 0 5px var(--terminal-glow);scrollbar-width:thin;scrollbar-color:var(--terminal-color) var(--terminal-bg)}.terminal-container::-webkit-scrollbar{width:10px}.terminal-container::-webkit-scrollbar-track{background:var(--terminal-bg)}.terminal-container::-webkit-scrollbar-thumb{background:var(--terminal-color)}pre{font-family:inherit;margin:0 0 1rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}table{width:100%;min-width:0;border-collapse:collapse;margin-bottom:1rem}th,td{text-align:left;padding:.2rem .35rem .2rem 0;vertical-align:top}th{border-bottom:1px dashed var(--terminal-color)}button,input,select,textarea{font:inherit}.file-tool{min-height:2rem;border:1px dashed var(--terminal-color);background:transparent;color:var(--terminal-color);cursor:pointer;padding:.2rem .65rem;text-shadow:0 0 5px var(--terminal-glow)}button:hover,button:focus-visible,.file-tool:hover,.file-tool:focus-within,.interactive-row:hover,.keyboard-selected{background-color:var(--terminal-color);color:var(--terminal-bg);text-shadow:none}input,select,textarea,.editor-surface{width:100%;min-height:2rem;border:1px solid var(--terminal-color);background:var(--terminal-bg);color:var(--terminal-color);outline:none;padding:.3rem .45rem;text-shadow:0 0 5px var(--terminal-glow)}textarea{min-height:5rem;resize:vertical}label{display:grid;gap:.25rem}.prompt-line{display:flex;align-items:center;margin-top:1rem;padding-bottom:2rem;min-height:2rem;min-width:0}.prompt-label{flex:0 0 auto;margin-right:10px;white-space:nowrap}.command-input{flex:1 1 auto;min-width:0;width:100%;border:none;outline:none;padding:0;background:transparent;color:var(--terminal-color);text-shadow:0 0 5px var(--terminal-glow);caret-color:var(--terminal-color)}.system-msg{color:var(--terminal-dim);text-shadow:0 0 5px rgba(170,170,170,.6)}.error-msg{color:var(--terminal-error);text-shadow:0 0 5px rgba(255,51,51,.6)}.warn-msg{color:var(--terminal-warn);text-shadow:0 0 5px rgba(255,210,74,.5)}.highlight{font-weight:700}.ascii-art{margin-bottom:.5rem}.terminal-section{margin:1rem 0 1.5rem;min-width:0;max-width:100%}.board-directory-layout{display:block}.notification-panel{border-top:1px dashed rgba(51,255,0,.7);border-bottom:1px dashed rgba(51,255,0,.7);padding:.45rem 0;margin-bottom:.7rem;min-width:0}.notification-panel.has-unread{border-top-color:var(--terminal-warn);border-bottom-color:var(--terminal-warn);color:var(--terminal-warn)}.notification-head{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:0;white-space:nowrap;cursor:pointer}.notification-panel.expanded .notification-head{margin-bottom:.4rem}.notification-browser,.notification-row{color:var(--terminal-dim);font-size:.92rem}.notification-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;align-items:baseline;padding:.1rem 0}.notification-row.unread{color:var(--terminal-warn)}.notification-message{overflow-wrap:anywhere}.notification-row-actions{display:inline-flex;gap:.25rem;justify-content:flex-end;white-space:nowrap}.notification-actions{margin-top:.55rem}.notification-browser-toggle{white-space:nowrap}.bbs-box{border:1px solid var(--terminal-color);padding:1rem;margin:.5rem 0 1rem}.bbs-box.dashed{border-style:dashed}.table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:hidden;margin-bottom:1rem}.table-wrap>table{table-layout:fixed}.interactive-row{cursor:pointer;transition:background-color .1s,color .1s}.selected-row{color:var(--terminal-warn)}.notice-row td{color:var(--terminal-warn);border-top:1px dashed var(--terminal-warn);border-bottom:1px dashed rgba(255,210,74,.55)}.admin-notice-row td{background:#ffd24a1f}.notice-row:hover td,.notice-row.keyboard-selected td{color:var(--terminal-bg);background:var(--terminal-warn);text-shadow:none}.notice-badge{display:inline-block;color:var(--terminal-bg);background:var(--terminal-warn);padding:0 .25rem;text-shadow:none}.notice-source{color:var(--terminal-dim)}.notice-row:hover .notice-source,.notice-row.keyboard-selected .notice-source{color:var(--terminal-bg)}.keyboard-nav-active .interactive-row:hover:not(.keyboard-selected),.keyboard-nav-active .command-button:hover:not(.keyboard-selected),.keyboard-nav-active .terminal-choice:hover:not(.keyboard-selected){background-color:transparent;color:inherit;text-shadow:inherit}.keyboard-nav-active .notice-row:hover:not(.keyboard-selected) td{color:var(--terminal-warn);background:transparent;text-shadow:0 0 5px var(--terminal-glow)}.keyboard-nav-active .admin-notice-row:hover:not(.keyboard-selected) td{background:#ffd24a1f}.keyboard-nav-active .notice-row:hover:not(.keyboard-selected) .notice-source{color:var(--terminal-dim)}.col-id{width:110px}td:first-child,th:first-child{white-space:nowrap}.col-title{width:auto}.col-author{width:130px}.col-date{width:15ch}.post-list-table{width:calc(100% - clamp(.5rem,1vw,.9rem));min-width:0;table-layout:fixed}.post-list-table .col-author,.post-list-author-cell{width:clamp(7ch,14vw,13ch);white-space:normal;overflow-wrap:anywhere;word-break:break-word}.post-list-title-cell{min-width:0;max-width:none;padding-right:4ch;overflow:hidden;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.post-list-table .col-date,.post-list-table .date-cell{padding-left:0}.date-cell,.date-cell time{white-space:nowrap;overflow-wrap:normal;word-break:normal}.post-list-left-shift{display:inline-block;transform:translate(-2ch)}.terminal-actions,.button-row,.permission-line,.editor-tools,.context-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 1rem}.context-actions{gap:.35rem}.session-home-actions{display:grid;grid-template-columns:1fr;justify-items:start}.command-button{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .25rem;width:auto;color:inherit;text-decoration:none}.command-button:before{content:"["}.command-button:after{content:"]"}.command-button.is-pending{color:var(--terminal-dim);pointer-events:none}.command-button.active{background:var(--terminal-color);color:var(--terminal-bg);box-shadow:0 0 12px var(--terminal-glow)}.command-button.error.active{background:var(--terminal-error);color:var(--terminal-bg);box-shadow:0 0 12px #ff3333a6}.terminal-form,.editor-panel,.comments,.admin-column,.member-row{display:grid;gap:.75rem}.auth-panel{max-width:760px}.auth-fields,.permission-grid,.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,620px);gap:.75rem;margin-bottom:1rem}.admin-section-head,.team-admin-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.admin-section-head pre,.team-admin-head pre,.team-admin-label{margin-bottom:0}.admin-create-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.5rem;align-items:center}.team-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.team-admin-card{display:grid;gap:.75rem;border-top:1px dashed rgba(51,255,0,.75);border-bottom:1px dashed rgba(51,255,0,.35);padding:.75rem 0 .85rem}.team-admin-block{display:grid;gap:.35rem}.team-admin-users{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.scope-disclosure{min-width:0}.scope-disclosure-actions{margin:0}.scope-toggle{min-height:2rem}.scope-panel{display:grid;gap:.6rem;margin-top:.35rem;padding:.65rem 0 0;border-top:1px dashed rgba(51,255,0,.55)}.scope-panel[hidden]{display:none}.status-line{min-height:1.5rem;margin:.75rem 0}.plain-block,.comment-body{border-left:0;padding-left:0;white-space:pre-wrap;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.blocks{display:grid;gap:1rem}.crt-image,.crt-video{position:relative;display:inline-grid;gap:.3rem;margin:.5rem 0 1rem;max-width:100%;border:1px solid var(--terminal-color);padding:.5rem;background:var(--terminal-bg)}.crt-image:after,.crt-video:after{content:"";position:absolute;inset:.5rem;pointer-events:none;background:linear-gradient(#12101000 50%,#00000038 50%),linear-gradient(90deg,#ff00000d,#00ff0005,#0000ff0d);background-size:100% 2px,3px 100%}.crt-image img,.crt-video video{display:block;max-width:min(100%,920px);height:auto;background:#000;filter:contrast(1.16) saturate(.78) brightness(.9) sepia(.15) drop-shadow(0 0 8px var(--terminal-glow))}.crt-video video{width:min(100%,920px);max-height:70vh}.crt-image figcaption,.crt-video figcaption{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:var(--terminal-dim);font-size:.85rem}.attachment-meta{color:var(--terminal-dim);text-shadow:0 0 5px rgba(170,170,170,.6)}.download-button{color:var(--terminal-color)}.file-attachment{display:grid;gap:.35rem;width:fit-content;max-width:100%;margin:.25rem 0 .75rem;padding:.55rem .65rem;border:1px dashed var(--terminal-color);background:var(--terminal-bg)}.file-attachment pre{margin-bottom:0;max-width:min(76ch,100%);overflow-wrap:anywhere;word-break:break-word}.post-read-box,.comment-box{border:1px solid var(--terminal-color);padding:1rem;margin:.5rem 0 1rem;max-width:100%;min-width:0;overflow:hidden}.view-audit-box{border-top:1px dashed rgba(51,255,0,.65);margin-top:.75rem;padding-top:.65rem;color:var(--terminal-dim)}.view-audit-box pre{margin-bottom:0}.notice-post-box{border-color:var(--terminal-warn);box-shadow:inset 0 0 0 1px #ffd24a33,0 0 12px #ffd24a2e}.admin-notice-post-box{background:#ffd24a14}.post-blocks{display:grid;gap:.65rem;min-width:0;max-width:100%}.post-blocks>*{min-width:0;max-width:100%}.post-read-box .crt-image{display:grid;width:fit-content;max-width:100%;margin:.25rem 0 .75rem}.post-read-box .file-attachment{max-width:100%}.comment-panel{margin-top:1rem}.comment-compose{display:grid;grid-template-columns:minmax(240px,1fr);gap:.65rem;align-items:end;margin-top:.75rem}.comment-submit{justify-self:start;min-height:2rem}.diff-remove{color:var(--terminal-error)}.diff-add{color:var(--terminal-warn)}.editor-surface{min-height:340px;overflow:auto}.editor-text-block{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.editor-caret-pad{min-height:1.4rem}.editor-surface:focus{border-style:dashed}.editor-surface .post-attachment{cursor:pointer}.editor-surface .post-attachment.attachment-selected{outline:2px solid var(--terminal-warn);box-shadow:0 0 14px #ffd24a59,inset 0 0 0 1px #ffd24a47}.attachment-action-bar{margin:-.35rem 0 .75rem;color:var(--terminal-warn)}.attachment-action-confirmDelete{color:var(--terminal-error)}.attachment-move-status{min-width:min(100%,24ch)}.file-tool{display:inline-grid;position:relative;width:auto}.file-tool input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}.row{border:1px dashed var(--terminal-color);padding:.35rem .5rem}.choice-grid{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.delete-list{display:grid;gap:.15rem;margin:.5rem 0 1rem}.terminal-choice{display:inline-flex;position:relative;width:auto;min-height:1.5rem;align-items:center;padding:0 .25rem}.terminal-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:1px;pointer-events:none}.terminal-choice span:before{content:"[ ] "}.terminal-choice input[type=radio]+span:before{content:"( ) "}.terminal-choice input:checked+span:before{content:"[x] "}.terminal-choice input[type=radio]:checked+span:before{content:"(*) "}.delete-choice{width:100%;justify-content:flex-start}.delete-choice .delete-marker{min-width:3ch;margin-right:.35rem}.delete-choice .delete-marker:before,.delete-choice .delete-title:before,.delete-choice input:checked+.delete-marker:before{content:none}.check{display:flex;align-items:center;gap:.4rem}.check input{width:auto;min-height:auto}.empty{color:var(--terminal-dim);border:1px dashed var(--terminal-color);padding:.75rem}@media(max-width:760px){body,html,#app{font-size:1rem}.terminal-container{padding:.85rem}.ascii-art{font-size:.72rem}.prompt-line{align-items:center;flex-wrap:nowrap;overflow-x:auto}.prompt-label{flex:0 0 auto;width:auto}th,td{padding-right:.65rem;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.col-id{width:5ch}.post-list-table .col-author,.post-list-author-cell{width:clamp(6ch,18vw,9ch)}.post-list-table .col-date,.post-list-table .date-cell{width:15ch;padding-left:0;padding-right:0;font-size:.9rem}.notification-panel{border-top:1px dashed rgba(51,255,0,.7);padding-top:.65rem}.notification-row{grid-template-columns:auto minmax(0,1fr)}.notification-row-actions{grid-column:2;justify-content:flex-start}.admin-create-row,.admin-section-head,.team-admin-head{grid-template-columns:1fr;display:grid}.team-admin-grid{grid-template-columns:1fr}.plain-block,.comment-body{padding-left:.6rem}.editor-surface{min-height:260px}}.scheduler-screen{height:100%;min-height:0;width:100%;padding:22px;color:var(--terminal-color);max-width:1240px;margin:0 auto;overflow-y:auto;overflow-x:hidden;animation:crt-flicker .15s infinite}.scheduler-panel,.scheduler-login-box{border:1px solid var(--terminal-color);background:#000000b8;box-shadow:0 0 18px #33ff0029,inset 0 0 24px #33ff000d}.scheduler-panel{padding:1rem}.scheduler-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px dashed var(--terminal-color);padding-bottom:.75rem;margin-bottom:.75rem}.scheduler-header h1{margin:0 0 .25rem;font-size:clamp(1.2rem,2.5vw,2rem)}.scheduler-user{color:var(--terminal-dim)}.scheduler-target{margin-top:.25rem;color:var(--terminal-warn)}.scheduler-top-actions,.scheduler-login-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.scheduler-status{border:1px solid currentColor;padding:.45rem .65rem;margin:.75rem 0;font-weight:700;text-align:center;background:#33ff0014;box-shadow:inset 0 0 12px #33ff000f}.scheduler-status.impossible{color:var(--terminal-error);background:#ff333314}.scheduler-controls{margin-bottom:.75rem}.scheduler-participants,.scheduler-admin-panel{border:1px dashed var(--terminal-dim);background:#33ff000b;padding:.65rem;margin-bottom:.75rem}.scheduler-name-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.scheduler-name-chip{border:1px solid var(--terminal-color);padding:.25rem .45rem;color:var(--terminal-color);background:#00000059}.scheduler-empty{color:var(--terminal-dim)}.scheduler-admin-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.scheduler-admin-title{color:var(--terminal-warn)}.scheduler-admin-list{display:grid;gap:.4rem;max-height:min(360px,34vh);overflow-y:auto;padding-right:.25rem;margin-top:.55rem;scrollbar-width:thin;scrollbar-color:var(--terminal-color) var(--terminal-bg)}.scheduler-admin-row{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:.5rem;align-items:center;padding:.35rem;border:1px solid rgba(51,255,0,.18);cursor:pointer}.scheduler-admin-row.active{border-color:var(--terminal-warn);background:#ffb30014;box-shadow:inset 0 0 0 1px #ffb30038,0 0 10px #ffb3001f}.scheduler-admin-name{min-width:0;overflow-wrap:anywhere}.scheduler-admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.scheduler-target-cancel{margin-left:.35rem}.scheduler-save-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:15px}.scheduler-control-label{color:var(--terminal-dim)}.schedule-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:2px;background-color:var(--terminal-dim);border:1px solid var(--terminal-color);margin-top:10px}.grid-header{background-color:var(--terminal-bg);color:var(--terminal-color);text-align:center;padding:5px;font-weight:700;border-bottom:1px solid var(--terminal-color)}.time-label{background-color:var(--terminal-bg);color:var(--terminal-dim);text-align:right;padding:5px;border-right:1px solid var(--terminal-color);font-size:.8rem}.grid-cell{background-color:var(--terminal-bg);height:30px;cursor:pointer;transition:background-color .1s;display:flex;align-items:center;justify-content:center;font-size:.7rem}.grid-cell:hover{background-color:#222}.grid-cell.impossible{background-color:var(--terminal-error);color:var(--terminal-bg)}.grid-cell.preferred{background-color:var(--terminal-color);color:var(--terminal-bg)}.grid-cell.heatmap{color:var(--terminal-bg);font-weight:700;cursor:default}.grid-cell.heatmap:hover,.grid-cell.heatmap:focus{outline:2px solid var(--terminal-warn);outline-offset:-2px}.scheduler-hover-info{min-height:2.2rem;margin-top:.75rem;padding:.55rem .7rem;border:1px dashed var(--terminal-dim);color:var(--terminal-warn);background:#ffb30014}.scheduler-btn{font-weight:700;animation:blink 2s infinite;color:var(--terminal-warn);border-color:var(--terminal-warn)}.scheduler-btn:hover{background-color:var(--terminal-warn);color:var(--terminal-bg)}.scheduler-login{min-height:82vh;display:grid;place-items:center}.scheduler-login-box{width:min(560px,100%);padding:1.4rem}.scheduler-login-box h1{margin-bottom:1rem}.scheduler-auth-fields{display:grid;gap:.75rem;margin:1rem 0}.scheduler-auth-fields label{display:grid;gap:.35rem;color:var(--terminal-dim)}.scheduler-back{color:var(--terminal-warn);border-color:var(--terminal-warn)}@media(max-width:720px){.scheduler-screen{padding:10px}.scheduler-header{display:block}.scheduler-top-actions{justify-content:flex-start;margin-top:.75rem}.scheduler-admin-row{grid-template-columns:1fr}.scheduler-admin-head{align-items:flex-start;display:grid}.scheduler-admin-actions{justify-content:flex-start}.schedule-grid{grid-template-columns:46px repeat(7,minmax(34px,1fr));font-size:.76rem}.grid-cell{min-width:0}}
