:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{position:absolute;top:0;right:0;bottom:0;left:0}#app .hidden{display:none}.A1,.C1,.E1,.G1,.B2,.D2,.F2,.H2,.A3,.C3,.E3,.G3,.B4,.D4,.F4,.H4,.A5,.C5,.E5,.G5,.B6,.D6,.F6,.H6,.A7,.C7,.E7,.G7,.B8,.D8,.F8,.H8{background-image:url(/ucui.svg);background-size:contain}.to-button{position:absolute;top:45%;font-size:medium;font-weight:700;padding:.5em;margin:.5em;border:2px solid;border-radius:6px;color:#888}.clock{position:absolute;top:0;display:flex;width:100%;justify-content:center;font-size:24pt;line-height:48pt;font-family:monospace}.clock .time{width:50%;text-align:center;color:#a2a2a2}.clock .time.white{background-color:#fff;border-left:6px solid #a2a2a2}.clock .time.black{background-color:#000;border-right:6px solid #a2a2a2}.clock .time.active{font-weight:700}.clock .time.active.white{color:#000;border-left:6px solid black}.clock .time.active.black{color:#fff;border-right:6px solid white}.clock .time.active .flag{background-color:#000;color:#12488b}.engine{position:absolute;top:0;bottom:0;width:100%;text-align:center;font-size:64pt;padding-top:30%;background-color:#000;color:#fff}.engine .to-list{right:0}.engine .gone{font-size:xx-large;color:#a2a2a2}.engine .info{font-size:medium;font-style:italic;position:absolute;top:calc(48pt + 1em);width:100%}.engine .score{position:absolute;font-size:small;bottom:128pt;width:100%;text-align:center;font-weight:700}.engine .score .score-cp,.engine .score .score-none{position:absolute;width:3em;height:3em;text-align:center;background-color:#000;color:#fff;color:gray;border:1px solid;border-radius:1.5em;line-height:3em;left:calc(50% - 1.5em)}.engine .idle{font-size:x-large}.engine .compute-animation{width:96px;height:24px;display:inline-block;background-color:#fff;border:1px solid #fff;border-radius:4px;background:linear-gradient(45deg,transparent 49%,#fff 50%,#fff 50%,transparent 51%,transparent),linear-gradient(-45deg,transparent 49%,#fff 50%,#fff 50%,transparent 51%,transparent);font-size:15px;background-size:1em 1em;box-sizing:border-box;animation:barStripe .6s linear infinite}@keyframes barStripe{0%{background-position:1em 0}to{background-position:0 0}}.input{position:absolute;bottom:0;width:100%;text-align:center;background-color:#fff}.input .pieces{width:100%;bottom:0;line-height:64pt;display:flex;justify-content:space-evenly}.input .pieces .piece{font-size:32pt;color:#888}.input .pieces .piece.selected{color:#000}.input.input-san .square-select{display:flex;align-items:baseline;justify-content:space-evenly;width:100%;border-bottom:1px solid #888;margin-bottom:2em;padding-bottom:2em}.input.input-san .square-select .button-select{font-size:xx-large;color:#888;width:38px}.input.input-san .square-select .button-select.candidate{font-weight:700;color:#000}.input.input-san .square-select .button-select.selected{font-weight:700;color:#fff;background-color:#000;border-radius:3px}.input .moves{width:100%;bottom:64pt;display:flex;flex-wrap:wrap;align-content:flex-end;justify-content:center;padding-top:2em}.input .moves .select{display:flex;flex-wrap:wrap;width:100%;justify-content:flex-start;margin-bottom:2em;padding-bottom:2em;padding-left:1em;border-bottom:1px solid}.input .moves .select .move{color:#fff;font-size:22pt;font-weight:700;margin:4pt;padding:4pt;min-width:32pt;border:2px solid black;background:#000;border-radius:5px}.input .moves .rank--old{display:flex;justify-content:center;height:10vw;width:100%}.input .moves .rank--old .ord{height:10vw;line-height:10vw;width:10vw;background-color:#fff;color:#888}.input .moves .rank--old .ord.selected{color:#000;font-weight:700}.input .moves .rank--old .square{height:10vw;width:10vw}.input .moves .rank--old .square.dim{filter:opacity(50%)}.input .moves .rank--old .square.target .label{background-color:#fff;font-weight:700;line-height:10vw}.input .moves .rank--old .square.target.selected-file,.input .moves .rank--old .square.target.selected-rank{color:#888}.input .moves .rank--old .square.target.selected{color:#fff}.input .moves .rank--old .square.target.selected .label{background-color:#000}.home{margin:2em}.home .header{margin-bottom:1em;padding-bottom:1em;border-bottom:1px solid}.home .header .title{font-size:large;font-weight:700}.home .intro .ucui{font-style:italic}.home .intro .board-image{width:100%}.home .button{font-weight:700;text-decoration:underline}.home .button-play{font-size:xxx-large;margin-top:2em}.home .button-config{font-size:large}.home .button-history{font-size:medium}.home .create-game{width:100%;text-align:center;padding:.5em;margin-top:3em;border-top:1px solid;border-bottom:1px solid}.home .create-game .button{text-decoration:none}.home .button-arena{width:100%;text-align:center;padding:.5em;margin-top:1em;border-top:1px solid;border-bottom:1px solid;text-decoration:none}.home .footer{left:0;position:absolute;width:100%;bottom:1em;text-align:center}.home .footer .link{font-size:small;color:#12488b}.home .login .user{display:flex;justify-content:flex-end;align-items:center}.home .login .user .username{font-size:small}.home .login .user .username a{color:#000}.home .login .user .button-logout{text-decoration:none;font-size:large;margin-left:.5em;font-weight:400}.home .login .actions{border-top:1px solid;margin-top:1em}.home .challenge-block{margin-top:1em;border-top:1px solid;padding-top:1em}.home .challenge-block .section{margin-bottom:.5em}.home .challenge-block .section .title{font-size:large;color:#888}.home .challenge-block .challenge{margin:1em 0;padding:.5em;border-top:1px solid;border-bottom:1px solid;display:flex;justify-content:space-between;align-items:center}.home .challenge-block .challenge .spec{text-align:left}.home .challenge-block .challenge .spec .challenger{font-size:large;font-weight:700}.home .challenge-block .challenge .actions{text-align:right}.home .challenge-block .challenge .actions .button{font-weight:400;margin:auto}.home .challenge-block .challenge .actions .button.button-decline{color:#888}.home .challenge-block .challenge .actions .button.button-accept{font-size:larger;line-height:3em}.home .waiting{font-size:small;font-style:italic}.movelist{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 4em);margin:2em}.movelist .to-game{left:0}.movelist .listing{flex-grow:10;overflow-y:auto;font-family:Courier New,Courier,monospace}.movelist .listing .ply{font-size:large}.movelist .listing .ply .ord{color:#888;display:inline-block;width:1.5em}.movelist .listing .ply .ord .replay{color:#000}.movelist .listing .ply .moves .move{display:inline-block;width:4em}.movelist .listing .ply .moves .pending{width:1em;height:1em;display:inline-block;background-color:#000;border:1px solid black;border-radius:4px;background:linear-gradient(45deg,transparent 49%,black 50%,black 50%,transparent 51%,transparent),linear-gradient(-45deg,transparent 49%,black 50%,black 50%,transparent 51%,transparent);font-size:15px;background-size:1em 1em;box-sizing:border-box;animation:barStripe .6s linear infinite}.movelist .listing .outcome{font-style:italic;font-weight:700;margin-top:1em}.movelist .actions{display:flex;display:none;margin-top:1em;justify-content:space-around;width:100%}.movelist .actions .button{text-align:center;text-decoration:underline;font-weight:700}.movelist .actions .button.disabled{color:#888;text-decoration:none}.movelist .position .pos-details .top{margin-left:-.5em;margin-top:1em;position:relative;display:flex;align-items:flex-end}.movelist .position .pos-details .top .r{line-height:10vw;width:1em;flex-shrink:0;color:#888}.movelist .position .pos-details .f{margin-left:.5em;width:10vw;text-align:center;color:#888}.movelist .position .board{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center}.movelist .position .board .rank{display:flex;width:288px}.movelist .position .board .rank .square{width:36px;height:36px;line-height:36px;text-align:center;font-size:25.2px;background:none}.history{margin:2em}.history .listing{text-align:left}.history .listing .item{justify-content:space-between;font-size:small;padding:3px 0;border-bottom:1px solid gray}.history .listing .item .names{display:flex;justify-content:flex-start}.history .listing .item .names .name{font-style:italic}.history .listing .item .names .code{font-weight:700;padding-right:1em}.history .listing .item .moves{margin-right:1em;font-size:smaller;font-family:Courier New,Courier,monospace;padding-top:.5em}.history .listing .item .actions{display:flex;justify-content:space-between;align-items:flex-end;padding-top:.5em}.history .listing .item .actions .play{width:2em;line-height:2em;text-align:center}.history .listing .item .actions .delete{color:red}.history .pgn-play{border-top:1px solid;padding:1em 0;margin-top:1em}.history .pgn-play .help{margin-bottom:1em}.history .pgn-play .ply{display:flex;flex-wrap:nowrap;flex-direction:row;justify-content:flex-start;font-size:larger;font-family:Courier New,Courier,monospace;margin-left:1em}.history .pgn-play .ply .ord{width:2em;color:#888}.history .pgn-play .ply .m0,.history .pgn-play .ply .m1{width:3em}.history .pgn-play .fen-play .updatable-board{-webkit-user-select:none;user-select:none}.history .pgn-play .fen-play .updatable-board .board{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;margin:1em}.history .pgn-play .fen-play .updatable-board .board .rank{display:flex;width:256px}.history .pgn-play .fen-play .updatable-board .board .rank .square{width:32px;height:32px;line-height:32px;text-align:center;font-size:22.4px;background:none}.history .pgn-play .fen-play .updatable-board .nav-game{display:flex;justify-content:center}.history .pgn-play .fen-play .updatable-board .nav-game .prev-button,.history .pgn-play .fen-play .updatable-board .nav-game .next-button{margin:0 2em;font-size:larger}.history .pgn-play .fen-play .updatable-board .nav-game .prev-button.disabled,.history .pgn-play .fen-play .updatable-board .nav-game .next-button.disabled{color:#888}.history .pgn-play .fen-play .updatable-board .play-button{font-weight:700;text-decoration:underline}.history .pgn-play .fen-play .updatable-board .cancel-button{text-decoration:underline}.lock{width:100%;height:.5em;position:absolute;bottom:0;background-color:#12488b}.lock.locked{background-color:#888}.header{display:flex;justify-content:space-between;align-items:flex-start}.header .title{margin-top:0}.header .to-button{position:initial;margin:0;padding:.2em}.challenge-page{margin:2em}.challenge-page .title{font-size:large;font-weight:700}.challenge-page .config{margin-top:1em;padding-top:1em;border-top:1px solid}.challenge-page .config .color-selector .select{display:flex;justify-content:center;font-size:xx-large}.challenge-page .config .color-selector .select>div{color:#888;margin:0 .6em}.challenge-page .config .color-selector .select>div.selected{color:#000;border-bottom:1px solid}.challenge-page .config .rated-selector{margin-top:1em}.challenge-page .config .rated-selector .toggle{display:flex;justify-content:center;align-items:baseline}.challenge-page .config .rated-selector .toggle>div{font-size:large;font-weight:700;color:#888;margin:0 1em;padding:.3em}.challenge-page .config .rated-selector .toggle>div.selected{color:#000;border-bottom:1px solid}.challenge-page .choices{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;margin-top:2em}.challenge-page .choices .challenge-create{width:20%;display:flex;justify-content:center;align-items:center;height:80px;padding:6px;margin:6px;border-top:1px solid;border-bottom:1px solid}.challenge-page .choices .challenge-create .time-control{display:flex;flex-direction:column;justify-content:center;align-items:center}.challenge-page .choices .challenge-create .time-control .time{font-weight:700;font-size:xx-large}.challenge-page .choices .challenge-create .time-control .increment{font-weight:700;font-size:xx-small}.challenge-page .choices .challenge-create .time-control .label{font-size:x-small}.challenge-page .choices .waiting{font-size:xx-large;font-style:italic}.challenge-page .choices .button-stop-waiting{margin-top:2em;text-align:left;width:100%;text-decoration:underline}.players-inner .section{display:flex;justify-content:space-between;align-items:center}.players-inner .section .title{font-size:large;color:#888}.players-inner .section .button-refresh{font-weight:400;text-align:right;font-size:small;color:#888}.players-inner .users{max-height:20vh;overflow-y:auto;margin-top:1em}.players-inner .users .user{font-size:large;display:flex;justify-content:space-between;align-items:center}.players-inner .users .user .activity{width:10px;height:10px;border-radius:6px;border:1px solid #888}.players-inner .users .user.online .activity{width:10px;height:10px;border-radius:6px;background-color:#888}.players-inner .lichess-ai{padding-top:1em;border-top:1px solid}.players-inner .lichess-ai .section{font-size:large;color:#888}.players-inner .lichess-ai .levels{margin-top:.5em;display:flex;justify-content:space-between;align-items:baseline}.players-inner .lichess-ai .levels .level{text-align:center;width:1em;font-weight:700}.players-inner .lichess-ai .levels .level-1{font-weight:100}.players-inner .lichess-ai .levels .level-2{font-weight:200}.players-inner .lichess-ai .levels .level-3{font-weight:300}.players-inner .lichess-ai .levels .level-4{font-weight:400}.players-inner .lichess-ai .levels .level-5{font-weight:500}.players-inner .lichess-ai .levels .level-6{font-weight:600}.players-inner .lichess-ai .levels .level-7{font-weight:700}.players-inner .lichess-ai .levels .level-8{font-weight:800}.players-inner .lookup{margin-top:1em;padding-top:1em;border-top:1px solid}.players-inner .lookup .search-block{margin-top:1em;display:flex;justify-content:space-between;align-items:flex-end}.players-inner .lookup .results{margin-top:1em}.players-inner .lookup .results .result .username{font-size:x-large;font-weight:700;text-decoration:underline}.players-inner .lookup .results .result .perfs{font-size:small;font-weight:400;font-style:italic;text-decoration:none}.chat-box{position:absolute;top:3em;left:1em;right:1em;background-color:#fff;border-radius:3px;border:1px solid black}.chat-box.hidden{display:none}.chat-box .message{border-bottom:1px solid;padding-bottom:.5em;margin:1em 1em .2em}.chat-box .message .from{font-size:small;font-style:italic}.chat-box .button.button-close{text-align:right;margin:0 1em .5em 0;font-weight:700}.help{text-align:left;font-size:medium;color:#888;padding:.5em;background-color:#fff}.online-status{position:absolute;top:40%;left:.5em;right:.5em;margin:.5em;padding:.5em;color:#fff;background-color:#888;display:flex;justify-content:center;align-items:center;font-size:x-large;border:1px solid;border-radius:6px}.online-status .icon{margin:.5em;width:20px;height:20px;border-radius:12px;background-color:#888;border:2px solid white}.online-status.ok{display:none}.end{margin:2em}.end .header .title{font-weight:700;font-size:large}.end .info .result{margin:1em 0;padding:.5em 0;font-size:xx-large}.end .info .status{font-style:italic;font-size:small}.end .section{margin:1em 0;padding-top:1em;border-top:1px solid}.end .button-rematch{text-decoration:underline}.game-actions{position:absolute;bottom:102px;font-size:xx-large;font-weight:700;padding:.5em;margin:.5em;border:2px solid;border-radius:6px;border-color:#888;color:#fff}.game-actions.actions-view{left:0}.game-actions.actions-game{right:0}.game-actions .button-fullscreen-on{color:#fff}.game-actions .button-fullscreen-off{color:#888}.game-actions .anti-slip{color:#eb0a0a}.game-actions .anti-slip.on{background-color:#ffffff1a;color:#fff}.game-actions .anti-slip.on>div{pointer-events:none}.game-actions .draw-answer{display:flex;align-items:center}.game-actions .draw-answer .button{margin-left:1em;font-size:medium}.italic{font-style:italic}.arena-page{margin:2em}.arena-page .header{margin-bottom:2em}.arena-page .header .title{font-size:large;font-weight:700}.arena-page .arena-title{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:small}.arena-page .arena-title .name{font-weight:700;max-width:50%}.arena-page .arena-title .time-control{font-size:large;font-weight:700}.arena-page .tournament{padding-top:2em;margin-top:2em;border-top:1px solid}.arena-page .tournament summary{display:flex}.arena-page .tournament .button-join{border-top:1px solid;border-bottom:1px solid;margin-top:1em;margin-bottom:6px;text-align:center;font-size:large;padding:6px}.arena-page .tournament .info{display:flex;justify-content:space-between;align-items:baseline}.arena-page .tournament .info .key{font-size:small}.arena-page .tournament .info.undefined{display:none}.arena-page .tournament.created{color:#888}.arena-page .tournament.created .remaining{color:#000;text-align:right;font-weight:700;font-family:monospace;padding:.5em 0}.arena-persist{position:absolute;bottom:-1em;text-align:center;font-size:large;font-weight:700;padding-bottom:2em;background-color:#fff;left:1em;right:1em;border:1px solid;border-top-left-radius:1em;border-top-right-radius:1em;border-bottom:none;padding-top:1em}.arena-persist.hidden,#confirm{display:none}#confirm.active{display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}#confirm .inner-message{margin:3em 1em 1em;text-align:center;font-size:large}#confirm .inner-buttons{margin:3em 1em 1em;display:flex;align-items:baseline;justify-content:space-around;font-size:x-large;font-weight:700}
